VWAP偏差とOBV-RSI複合平均回帰取引戦略

VWAP RSI OBV WMA MA
作成日: 2025-02-18 15:02:17 最終変更日: 2025-02-18 15:02:17
コピー: 4 クリック数: 539
1
フォロー
1617
フォロワー

VWAP偏差とOBV-RSI複合平均回帰取引戦略

概要

これは,VWAPの偏差とOBVのRSIの複合平均回帰のトレード戦略である.この戦略は,価格がVWAPに相対的に偏差している程度を監視し,OBV-RSIの超買い超売状態を監視し,市場が極端な状態にあるときに取引する.価格がVWAPから特定の程度に偏差し,OBV-RSIが超買いまたは超売状態を示しているときに,戦略は取引信号を発信し,価格がVWAPに戻ると平仓する.

戦略原則

戦略は主に2つの主要指標に基づいています.

  1. VWAP偏差指数:60周期の加重移動平均 ((WMA)) を用いてVWAP基準線を計算し,標準差を計算して上下2倍標準差チャネル。このチャネルは価格の極限偏差を識別するために使用される。
  2. OBV-RSI指標:従来のRSIをOBVに適用し,14サイクル間の相対的な強さを計算する.OBVは,価格運動の強さを累積された取引量によって反映し,RSIは,OBVの超買い超売り状態を識別するために使用される.

ポジション開設条件:

  • オーバー:OBV-RSI <= 30 ((オーバーセール) 価格が下位軌道より低いとき
  • 空調:OBV-RSI >=70 ((オーバーバイ) と上線値より高い価格

ローンの条件:

  • 価格がVWAP基準線に戻ったとき
  • 0.6%のストップを設定し,リスクをコントロールします.

戦略的優位性

  1. 多次元確認:価格,取引量,動向指標を組み合わせ,より信頼性の高い取引シグナルを提供する
  2. リスク管理の完善:固定ストップと平均値戻り平衡メカニズムによる二重保護
  3. 適応性:パラメータの調整により,異なる市場環境に対応できる
  4. 論理的明晰さ:取引信号が明確で,理解し,実行しやすい
  5. 平均値回帰特性:市場の過剰反応による取引機会を利用する

戦略リスク

  1. トレンド市場のリスク: 強いトレンドの市場では誤ったシグナルが頻繁に発生する可能性がある
  2. スリップポイントリスク: 波動が激しい場合,大きなスリップポイントに直面する可能性があります.
  3. 偽の突破リスク:価格がシグナルを触発した後に極端な方向に進む可能性
  4. パラメータ感度: 異なるパラメータの組み合わせにより、戦略のパフォーマンスに大きな違いが生じる可能性があります。
  5. 流動性のリスク:流動性の低い市場では,取引が困難かつ時効性がある可能性がある

戦略最適化の方向性

  1. 動的パラメータ調整:市場変動に応じて自律的にVWAPとRSIのパラメータを調整する
  2. 市場環境フィルター:トレンドフィルターを追加し,トレンドが強い市場での取引頻度を下げる
  3. 停止機構の最適化:動的な停止機構を設計し,利益の持続性を向上させる
  4. ポジション管理の改善:波動率とリスク評価に基づいてポジションサイズを動的に調整する
  5. 信号確認強化: 信号品質を向上させるための追加の技術指標または時間フィルタを追加する

要約する

この戦略は,VWAP偏差とOBV-RSI指標を組み合わせて,安定した平均回帰取引システムを構築している.戦略は,極端な市場状況で取引機会を探し,複数のリスク管理機構によって資金の安全を保護している.一定のリスクがあるにもかかわらず,継続的な最適化と改善により,戦略は,異なる市場環境で安定したパフォーマンスを維持する見込みがある.

ストラテジーソースコード
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-16 08:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy('[Hoss] Combined Strategy', overlay=true)

// Indikator 1: [Hoss] VWAP Deviation
indicator_vwap = input.bool(true, title="Show VWAP Deviation Indicator", group="Visibility")
length = input.int(60, title="VWAP Length", group="VWAP Settings")
src = input(close, title="Source", group="VWAP Settings")

// Berechnungen für VWAP
vwmean = ta.wma(src, length)
dev = ta.stdev(src, length)
basis = vwmean
upper_dev2 = vwmean + dev * 2
lower_dev2 = vwmean - dev * 2

// Plotting VWAP Deviation
plot(indicator_vwap ? basis : na, color=color.gray, title='Basis', linewidth=2)
plot1 = plot(indicator_vwap ? upper_dev2 : na, color=color.red, title='Upper Dev 2', linewidth=2)
plot2 = plot(indicator_vwap ? lower_dev2 : na, color=color.green, title='Lower Dev 2', linewidth=2)
fill(plot1, plot2, color=color.new(color.green, 80), title='Deviation Band')

// Indikator 2: [Hoss] OBV RSI
indicator_obv_rsi = input.bool(true, title="Show OBV RSI Indicator", group="Visibility")
len = input.int(14, title="RSI Length", group="OBV RSI Settings")
obv = ta.cum(ta.change(src) > 0 ? volume : ta.change(src) < 0 ? -volume : 0)
rsi = ta.rsi(obv, len)

// Plotting OBV RSI
plot(indicator_obv_rsi ? rsi : na, color=color.blue, title="OBV RSI", linewidth=2)
hline(70, title="Overbought", color=color.red, linestyle=hline.style_dashed)
hline(30, title="Oversold", color=color.green, linestyle=hline.style_dashed)

// Strategie: Kauf- und Verkaufssignale
long_condition = not na(rsi) and rsi <= 30 and close <= lower_dev2
short_condition = not na(rsi) and rsi >= 70 and close >= upper_dev2

if (long_condition)
    strategy.entry("Long", strategy.long, stop=close * 0.994) // Stop-Loss bei 0.6%

if (short_condition)
    strategy.entry("Short", strategy.short, stop=close * 1.006) // Stop-Loss bei 0.6%

// Flash Close beim Erreichen des VWAP
if (strategy.position_size > 0 and close >= basis)
    strategy.close("Long")

if (strategy.position_size < 0 and close <= basis)
    strategy.close("Short")