振動反転CAT戦略


作成日: 2024-02-19 14:29:51 最終変更日: 2024-02-19 14:29:51
コピー: 2 クリック数: 350
1
フォロー
1166
フォロワー

振動反転CAT戦略

概要

振動反転CAT戦略は,技術指標に基づく定量取引戦略である.この戦略は,MA,EMAなどの指標によって市場の傾向とサポートレジスタンスポジションを判断し,カスタマイズされたブラック天と白天の指標と組み合わせて異常な変動を判断し,低買い高売りのトレンド取引戦略を実現する.

戦略原則

振動反転CAT戦略の核心的な論理は,MA,EMAなどの技術指標によって全体的なトレンドを判断し,カスタマイズされた黒天と白天の指標と組み合わせて異常な波動の機会を捕捉することです.具体的原理は以下のとおりです.

  1. SMA,EMAなどの指標を使用して,全体的なトレンドの方向を判断する.例えば,EMA144のEMA169を打つことは,看板信号とみなされ,EMA144のEMA169を打つことは,下落信号とみなされる.

  2. カスタムブラック天指数,公式は ((閉盘価格 - 開盤価格) /閉盘価格。それは,あるK線の異常波動の程度を反映している。黒天指数が値 (例えば0.0191) を超えるとき,閉盘価格が開盤価格より低いとき,下方異常波動が起きたことを示す,これは空頭取引の機会である。

  3. カスタム白天指数は,黒天指数に類似して,特定のK線の異常波動の程度を反映します.白天指数が値を超え,閉盘価格が開盤価格より高いときは,上向きの異常波動が発生したことを示す,これは多頭取引機会です.

  4. 異常波動の機会を捉えた後,EMAなどの指標が逆転シグナルを発するのを待って,平仓し,低買い高売りを実現する.

この戦略は,平均線が傾向を判断し,カスタム指標が異常を捕捉することを総合的に使用し,低価格で高価格で販売する反転取引を実現し,より典型的な量化取引戦略に属します.

優位分析

震動逆転CAT戦略には以下の利点があります.

  1. 異常波動を捕捉し,高い勝率を有する.黒天と白天の指標は,反転を予兆する傾向にある異常波動を効果的に捕捉し,取引の勝率が高い.

  2. 入場と出場の規則を明確にし,波動を避ける.この戦略の入場と出場の基準は非常に明確であり,トレーダーのランダム性と感情的な操作を回避するのに役立ちます.

  3. 複数のパラメータと指標を最適化調整に用いることができる.MAとEMAの周期パラメータ,黒天と白天のパラメータ値なども,最適化調整によって,戦略を異なる品種と取引環境により適応させることができる.

  4. 高周波と低周波の取引に適しています. この戦略は,トレンドと反転を同時に組み合わせ,高周波と低周波の取引シナリオに適しています.

  5. リスク管理手段は比較的完備である。戦略は取引比率方式の注文を採用し,同時にもストップ・ローズ・プリアージ機構があり,単一損失を効果的に制御することができる。

リスク分析

震動逆転のCAT戦略にはいくつかのリスクがあります.

  1. パラメータ最適化リスク。黒天や白天などのパラメータの設定は,戦略の効果に重大な影響があり,パラメータを正しく設定しなければ,戦略の収益レベルを大幅に低下させることができる。

  2. 撤回リスク 市場が長期にわたる一方的なトレンドに際して,この戦略は一定の連続的な損失と大きな撤回を生む可能性があります.

  3. 偽ブレークリスク.現実には,短期間の偽ブレークがしばしば発生し,パラメータ設定が過度に敏感である場合,不必要な取引が過剰に発生する可能性があります.

上記のリスクに対して,以下のような対策を講じることができます.

  1. パラメータ最適化メカニズムを確立し,歴史的データを用いて厳格な回帰最適化を行い,パラメータ設定が合理的であることを確認する.

  2. 合理的なストップは,1回の損失額と最大回収を効果的に制御する.

  3. パラメータの感度を調整する. パラメータの設定が過度に敏感にならないようにする. 特定のフィルタリング条件を追加し,偽突破の干渉を回避する.

最適化の方向

震動逆転CAT戦略には,大きな最適化余地があり,主な最適化方向は以下の通りである.

  1. ブラック天と白天の指標はさらに精細化され,異なるパラメータの組み合わせが設定され,異常波動の識別がより正確で包括的にできるようになりました.

  2. 機械学習アルゴリズムを追加し,ニューラルネットワークまたは集積学習方法を活用してパラメータ配置を自動的に最適化し,戦略パラメータを動的に調整し,市場の変化に適応させる.

  3. ディープラーニング技術により,グラフィックの形状を認識し,価格逆転信号を判断し,戦略の効果を向上させる.

  4. 曖昧な論理制御のパラメータの感度を増やし,傾向が明らかであるときにパラメータを安定させ,傾向転換点の時にパラメータの感度を増やします.

  5. 無参入遺伝アルゴリズム,模擬消火アルゴリズムなどの全局的な最適化方法と組み合わせて,多パラメータの整体最適化を実現する.

  6. 取引品種を拡大し,株式,デジタル通貨などの他の品種を追加し,市場横断のレバレッジを行います.

モデルとパラメータを体系的に最適化することで,揺れ反転CAT戦略は,戦略のRobustnessをさらに強化し,より優れた取引効果を得ることができます.

要約する

震動逆転CAT戦略は,均線とカスタム指標を総合的に使用し,市場の逆転を効果的に識別する量化取引戦略を実現する.この戦略は,異常な変動,デフォルトの入場出場規則,最適化可能なスペースの優位性を有し,パラメータとモデルの最適化によって戦略の効果をさらに強化することができる.予防が必要なパラメータの最適化リスク,撤回リスク,偽突破リスクなど.全体的に言えば,この戦略は合理的な道筋で,非常に良い実用性を持っています.

ストラテジーソースコード
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4


//适合1分钟-3分钟的k线,发生波动超过百分之二时,自动报警
strategy("BlackSwan strategy", overlay=true,
         initial_capital=10000, currency='USD', default_qty_type=strategy.percent_of_equity,
         default_qty_value=100, commission_type= strategy.commission.percent, commission_value=0.075,pyramiding=3)
//-------------------------------------------
//-------------------------------------------
timecondition =  timeframe.period =="480"  or timeframe.period =="240" or timeframe.period =="D"  or timeframe.period =="720"
// Make input options that configure backtest date range
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
     defval=11, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
     defval=2018, minval=1800, maxval=2100)
endDate = input(title="End Date", type=input.integer,
     defval=1, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer,
     defval=11, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer,
     defval=2031, minval=1800, maxval=2100)
// Look if the close time of the current bar
// falls inside the date range
inDateRange = (time >= timestamp(syminfo.timezone, startYear,
         startMonth, startDate, 0, 0)) and
     (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))
     
     

// Inputs
a = input(1,     title = "Key Vaule. 'This changes the sensitivity'")
c = input(10,    title = "ATR Period")
h = input(false, title = "Signals from Heikin Ashi Candles")


ma60 = sma(close,60)
ema144 = ema(close,144)

ema169 = ema(close,169)
ma20=sma(close,20)

     
plot(ema144,color=color.yellow, title="144")
plot(ema169,color=color.orange, title="169")

    
heitiane=(close-open)
heitiane:=abs(heitiane)
heitiane:=heitiane/close

if (inDateRange and  heitiane >0.0191 and close<open) //  and close>f3
    strategy.entry("botsell20", strategy.short, comment = "黑天鹅追空"+tostring(heitiane))

if(crossover(ema144,ema169))
    strategy.close("botsell20", comment = "平空")
if (inDateRange and  heitiane >0.0191 and close>open) //  and close>f3
    strategy.entry("botbuy20", strategy.long, comment = "白天鹅追多"+tostring(heitiane))

if(crossunder(ema144,ema169))
    strategy.close("botbuy20", comment = "平多")