多変数指標融合戦略

作者: リン・ハーンチャオチャン, 日付: 2023-09-28 12:01:57
タグ:

概要

多変数指標融合戦略は,異なるタイプの複数の技術指標を組み合わせ,それぞれの強みを活用して,より正確な,包括的な市場評価を行い,取引結果を改善します.

戦略の論理

この戦略は3つの技術指標 - 変動指数 (VI),ROC-RSI,価格変動率 (Price ROC) を利用しています.

まず,戦略は,ポジティブな変化指標VIPとマイナス変化指標VIMからなるVIを計算する.VIPとVIMは価格の上昇と下落力を別々に測定する.VIPとVIMの変動率を比較すると,将来の価格上昇または下落の可能性を示します.

第2に,戦略はROCとRSIをROC-RSI指標に組み合わせます.ROCはより長い期間における価格動きを測定し,RSIはより短い期間における過剰購入/過剰販売レベルを反映します.ROC-RSIは,現在の価格が非合理的な極端地帯にあるかどうかを判断するために両方の情報を統合します.

最後に,Price ROCは,PIとROC-RSIとは異なり,価格自体の傾向を評価し,価格動向の強さを直接反映しています.

この戦略は,すべての3つの指標が一致するときにのみ取引信号を生成する.これは,潜在的な誤った信号をフィルタリングし,信頼性を向上させる.

戦略 の 利点

この多変数戦略の最大の利点は,より包括的で正確な評価のために異なる指標の強みを統合することです.

VIは,購入/販売力を測定することによって傾向の変化を把握する.ROC-RSIは価格が過熱または過売されているかどうかを判断する.価格ROCは価格傾向を直接反映する.指標は間違いを避けるために互いに検証する.

複数の指標が一致することを要求することで 誤った信号をフィルタリングすることで 信号の質も向上します

概要すると,多変数戦略は個々の指標の強みを活用し,より信頼性と精度のある取引のために相互検証を提供します.

リスク と 最適化

主なリスクは,パラメータの設定が不適切であるため,インディケーターが矛盾していることです.

例えば,VIとPrice ROCが上昇信号を出すが,ROC-RSIが過剰に買い上げられている場合,購入機会が逃れられる.

この戦略を最適化するために,以下を考慮してください.

  1. 取引信号の適切な調整のために指標パラメータを調整する.

  2. 最適な組み合わせを見つけるために指標やタイプを追加/削除する.例えば移動平均を追加する.

  3. 信号のロジックを変える 圧倒的な信号で取引する

  4. ダウンサイドを制限するためにストップロスを含む.

  5. ポジションのサイズを決めるような 資金管理の最適化

  6. 異なるツールと時間枠で適用性をテストする.

継続的な最適化は,安定した優位性を得るための多変数戦略の可能性を最大化することができます.

結論

マルチ変数指標融合戦略は,より信頼性と包括的な市場評価のためにVI,ROC-RSI,価格ROCなどの指標の強みを組み合わせ,勝利率を改善する.最大の利点は,単一指標のエラーを避けるための相互検証である.一方,指標の組み合わせを最適化することはパフォーマンスを最大化するための鍵である.継続的なテストと最適化により,マルチ変数戦略は取引結果を効果的に向上させることができる.


/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("drnkk Strategy", overlay=true)

//IF Function
IF(input)=>(exp(2*input)-1)/(exp(2*input)+1)

//VI Inputs
VI_pm = input(4, title="VI Period",minval=2)
VI_ps = input(3, title="VI Smoothing Period",minval=0)

//VI Calculation
VMP = sum( abs( high - low[1]), VI_pm )
VMM = sum( abs( low - high[1]), VI_pm )
STR = sum( atr(1), VI_pm )
VIP = VMP / STR
VIM = VMM / STR

//VI Smoothing
wmaVIP = (wma(VIP-1,VI_ps))*10
wmaVIM = (wma(VIM-1,VI_ps))*10

//VI IF Transform
IF_VIP=IF(wmaVIP)*100
IF_VIM=IF(wmaVIM)*100

roc_VIP =(wmaVIP - wmaVIP[VI_ps]) / VI_ps
plot(roc_VIP ? roc_VIP : na, color=lime)

roc_VIM = (wmaVIM - wmaVIM[VI_ps]) / VI_ps
plot(roc_VIM ? roc_VIM : na, color=purple)

//ROC-RSI Inputs
RSI_pm = input(2, title="ROC-RSI Period",minval=2)
RSI_ps = input(2, title="Smooth Period",minval=0)

//ROC Calculation and Smoothing
raw_ROC=(close - close[RSI_pm])/RSI_pm
wma_ROC=wma(raw_ROC,RSI_ps)
IF_ROC = IF(wma_ROC)*100

//RSI Calculation, Smoothing, Inverse Fisher Transformation
raw_RSI=0.1*(rsi(close,RSI_pm)-50)
wma_RSI=wma(raw_RSI,RSI_ps)
IF_RSI = IF(wma_RSI)*100

VI_long = roc_VIP >roc_VIM
VI_short = roc_VIM >roc_VIP

RSI_long = IF_RSI > 80
RSI_short = IF_RSI < -80

ROC_long = IF_ROC > 75
ROC_short = IF_ROC < -75

longCondition = year >= 2018 and VI_long and ROC_long and RSI_long
if (longCondition)
    strategy.entry("BUY", strategy.long)

shortCondition = year >= 2018 and VI_short and ROC_short and RSI_short
if (shortCondition)
    strategy.entry("SELL", strategy.short)
    

もっと