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

取引戦略 取引量比逆転

作者: リン・ハーンチャオチャン開催日:2024年01月12日 12:08:05
タグ:

img

概要

ボリューム比反転取引戦略 (VR Reversal Strategy) は,ボリューム指標に基づいた短期的な反転取引戦略である.この戦略は,取引信号を生成するために,一定期間におけるボリュームと平均ボリュームの比率を計算することによって,主要プレイヤーの市場参加を判断する.この戦略は,主に短期的に強い平均反転資産に適している.

戦略の論理

VR逆転戦略の主な指標は,現在の期間の取引量と一定の期間の平均取引量との比率であるボリューム比率 (簡略にVRと呼ばれます).

VR = 電流体積 / SMA (体積,N)

N が長さパラメータを表す場合,現在のサイクルの取引量は長さサイクルの取引量の単純な移動平均に割られます.

VR > 値では,主要プレイヤー参加のシグナルとみなされます.この時点で,価格の上昇または下落の突破と組み合わせて,購入および販売のシグナルが生成されます.

この戦略には,補助的な方向判断指標dirも導入されている.この指標は,現在のサイクルとNサイクル前の閉盤価格を比較する.1を超えると上昇方向であり,1未満であれば下落方向である.

VRが指定された値を超えると,dir=1の場合,購入信号が生成されます.dir=-1の場合,販売信号が生成されます.

利点

VR逆転戦略の最大の利点は,急激な価格逆転の可能性を把握することである.主要なプレイヤーによる介入の信号があるとき,戦略は迅速に判断し,リバウンドまたはリトラセシションの機会を適時に把握することができる.

その他の利点は以下の通りです.

  • 大手企業に対する判断は,ボリューム指標を用いて比較的信頼性があります
  • シンプルなアルゴリズム,理解し,実装しやすい
  • 柔軟な設定可能なパラメータ,より優れた適応性

リスク

VR 逆転戦略にはいくつかの利点があるが,注意すべきリスクはまだある:

  • 短期戦略として,変動するリターン曲線でいくつかのランダム性があります
  • VR インディケーターは 主要なプレーヤーを正確に特定できない可能性があります
  • 適正 な 基礎 製品 を 選択 し なけれ ば なり ませ ん.変動 が 軽い 場合 は,効果 が 低下 し ます.

また,過剰な取引は避けられ,単一の損失を制御するためにストップロスを設定する必要があります.

最適化 の 提案

VR 逆転戦略のさらなる最適化に余地があります.主な提案は以下の通りです.

  • VRの失敗を避けるために判断のためのより多くの指標を組み合わせる
  • ストップ損失ロジックを追加し,停止損失範囲を設定するためにATRインジケーターを参照することができます
  • パラメータの最適化,特に異なるサイクルと製品のためのサイクルの長さパラメータ
  • バックテスト結果に基づいて,ポジティブとネガティブなVRの値を調整し,信頼性を確保する

結論

VR逆転取引戦略は,シンプルで実行しやすい短期的定量戦略である.主要プレーヤーのシグナルをキャッチすることによって逆転機会を捕獲する.この戦略は,明らかに逆転する不安定な製品に特に適しているが,リスク制御も必要である.さらなる最適化は戦略をより堅牢にし,より多くの偽信号をフィルターすることができます.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

strategy(title="Volume Ratio_30min", shorttitle="VR_30min")//,initial_capital=1000)

// User Input ------------------------------------------------------------------
len = input(20, title="Length", minval=1)
threshold  = input(3,step=0.05, title="閾値")

// Volume Caliculetion ---------------------------------------------------------
vol = volume
sma=sma(volume,len)
vrs = vol / sma

// Direction -------------------------------------------------------------------
dirtime=input(1,"direction picker # bars")
dir=if close/close[dirtime] > 1
    1
else
    -1

// Plot ------------------------------------------------------------------------
plot(vrs, title="VRS",  color=color.green, transp=0)
hline(1, title="baseline")
plot(threshold, color=color.white)

// ️⚠️⚠️Logic -----------------------------------------------------------------

long    = vrs > threshold  and dir == 1
short   = vrs > threshold  and dir ==-1

// Back Test Fnction -----------------------------------------------------------
start = timestamp(input(2019, "Start Year"), input(1, "Start Month"), input(1, "Start Day"), 0, 0)
end = timestamp(input(9999, "End Year"), input(1, "End Month"), input(1, "End Day"), 0, 0)
_testPeriod() => true

// Order -----------------------------------------------------------------------
if _testPeriod()
    if long
        strategy.entry("Long", strategy.long)
    if short
        strategy.entry("Short", strategy.short)


もっと