資源の読み込みに... 荷物...

適応型VWAP帯とガーマンのクラスの波動性ダイナミック追跡戦略

作者: リン・ハーンチャオチャン開催日:2024年12月20日14時51分
タグ:VWAPGKV性感染症マルチVWMA

img

概要

この戦略は,ボリューム・ウェイトド・平均価格 (VWAP) とガーマンクラス・ボラティリティ (GKV) をベースとした適応型取引戦略である.この戦略は,スマートな市場トレンド追跡を達成するために,ボラティリティを通じてVWAPの標準偏差帯を動的に調整する.価格は上部帯を超えるとロングポジションを開き,下部帯を下回るとポジションを閉じる.より高い波動性がより高いブレイクドレッシャーにつながり,より低い波動性がより低いドレッシャーにつながる.

戦略原則

戦略の核心は,VWAPとGKV波動性を組み合わせている.まずVWAPを価格ピボットとして計算し,その後閉値の標準偏差を使用してバンドを構築する.鍵は,波動性計算のためのGKV公式を使用しており,これは4つの価格ポイント (オープン,ハイ,ロー,クローズ) を考慮し,従来の波動性測定値よりも正確である.波動性は波動幅を動的に調整する - 波動性が増加するとバンドが広がり,ブレイクドレッシュルを上昇させる.波動性が低下するとバンドが狭くなって,ブレイクドレッシュルを低下させる.この適応メカニズムは誤ったブレイクドレッシュルを効果的に回避する.

戦略 の 利点

  1. より信頼性の高いシグナルのために,ボリューム・価格関係と波動性の特徴を組み合わせます.
  2. 帯域幅の調整により騒音の干渉が減少します
  3. より正確な市場マイクロ構造の把握のためにGKV波動性を使用する
  4. シンプルで明確な計算論理,実装と保守が簡単
  5. 異なる市場環境に適しており,普遍性が高い

戦略リスク

  1. 市場を頻繁に取引し,コストを増加させる
  2. VWAPの長さと変動期間に敏感である
  3. 急速なトレンド逆転にゆっくりと反応する可能性があります
  4. 高品質の要件を伴うリアルタイム市場データが必要です リスク管理の提案:
  • 合理的なストップ・ロスのレベルを設定する
  • 異なる市場のためのパラメータを最適化
  • 傾向確認指標を追加する
  • 制御位置のサイズ設定

戦略の最適化方向

  1. 信号の信頼性を向上させるため,複数のタイムフレーム分析を導入する
  2. ブレイクアウトの有効性を確認するためにボリューム解析次元を追加する
  3. 波動性計算方法の最適化,EWMAの導入を検討
  4. トレンド強度フィルターを追加
  5. ダイナミックストップ・ロスのメカニズムを追加することを検討する これらの最適化は 戦略の安定性や 収益の質を向上させることができます

概要

この戦略は,VWAPとGKVの変動性の革新的な組み合わせを通じて動的市場追跡を達成する.その適応性性質は,異なる市場環境で安定したパフォーマンスを可能にします.いくつかの潜在的なリスクがある一方で,この戦略は適切なリスク管理と継続的な最適化によって良い応用見通しを示しています.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Adaptive VWAP Bands with Garman Klass Volatility", overlay=true)

// Inputs
length = input.int(25, title="Volatility Length")
vwapLength = input.int(14, title="VWAP Length")
vol_multiplier = input.float(1,title="Volatility Multiplier")

// Function to calculate Garman-Klass Volatility
var float sum_gkv = na
if na(sum_gkv)
    sum_gkv := 0.0

sum_gkv := 0.0
for i = 0 to length - 1
    sum_gkv := sum_gkv + 0.5 * math.pow(math.log(high[i]/low[i]), 2) - (2*math.log(2)-1) * math.pow(math.log(close[i]/open[i]), 2)

gcv = math.sqrt(sum_gkv / length)

// VWAP calculation
vwap = ta.vwma(close, vwapLength)

// Standard deviation for VWAP bands
vwapStdDev = ta.stdev(close, vwapLength)

// Adaptive multiplier based on GCV
multiplier = (gcv / ta.sma(gcv, length)) * vol_multiplier

// Upper and lower bands
upperBand = vwap + (vwapStdDev * multiplier)
lowerBand = vwap - (vwapStdDev * multiplier)

// Plotting VWAP and bands
plot(vwap, title="VWAP", color=color.blue, linewidth=2)
plot(upperBand, title="Upper Band", color=color.green, linewidth=1)
plot(lowerBand, title="Lower Band", color=color.red, linewidth=1)

var barColor = color.black

// Strategy: Enter long above upper band, go to cash below lower band
if (close > upperBand)
    barColor := color.green
    strategy.entry("Long", strategy.long)
else if (close < lowerBand)
    barColor := color.fuchsia
    strategy.close("Long")

barcolor(barColor)


関連性

もっと