相対力指数フラット反転戦略


作成日: 2023-11-27 11:25:17 最終変更日: 2023-11-27 11:25:17
コピー: 0 クリック数: 563
1
フォロー
1617
フォロワー

相対力指数フラット反転戦略

概要

相対強度指数フラット逆転戦略 (Relative Strength Index Flat Reversal Strategy) は,RSI指標を利用して超買い超売りシグナルを識別する定量投資戦略である.この戦略は,RSI指標の超売り区と超買い区をベースに長短逆転操作を行い,RSIが超売り区に入るときにポジションを開き,RSIが超売り区から出るときに平仓を行う.

戦略原則

この戦略は,長さ14のRSI指標を使用する. RSIの超売り区は,70以上の定義で,超売り区は30未満の定義で定義されている. RSIが30以下から30を超えると多頭ポジションを開く,RSIが70以上から70を超えると空頭ポジションを開く. ポジションを開いた後,RSIが超売り区を退くまでポジションを保持する.

具体的には,戦略の論理は以下の通りです.

  1. RSIの長さは14サイクルと定義されています.
  2. RSIは30で,買いラインは70で
  3. RSIが30になったとき,追加で入場する.
  4. RSIが70を超えると空き場に入ります.
  5. RSIが30から70の範囲から外れたときの平仓

RSIの反転特性を利用して,超売り区の反転の機会を捉える.

戦略的優位分析

相対強度指数平盤逆転戦略には以下の利点がある.

  1. 操作ロジックはシンプルでわかりやすく,理解しやすい実装
  2. 効率が高く,予測は不要で,指数信号のみで動作する
  3. リスクの低減を回避し,損失のリスクを効果的に管理する
  4. 引き下がりは小さく,ほとんどの人のリスク承受能力に合致します.

戦略的リスク分析

相対強度指数平盤逆転策には以下のリスクもあります.

  1. ストップダメージメカニズムがあるにもかかわらず,一方的な行動による巨大損失は避けられません.
  2. RSIは,過剰買いと過剰売りを反映していないため,誤差がある可能性があります.
  3. 曲の変動を効果的にフィルタリングできず,利益を得ることが困難です.
  4. 超短線操作が頻繁で取引コストが高くなる

これらのリスクを防いで,戦略を最適化したり,Adaptive RSIパラメータを動的に最適化したり,トレンドフィルターを追加したりすることができます.

戦略最適化の方向性

相対強度指数平盤反転戦略は,以下の方向から最適化することができる.

  1. RSIパラメータを動的に調整し,失敗のリスクを減らすための RSI自己適応機能を追加
  2. トレンド判断の指標を高め,逆転の失敗を避ける
  3. 波動率指標と組み合わせて合理的なストップポジションを決定する.
  4. ポジション開設条件を最適化し,無効信号を回避する

要約する

相対強度指数平板逆転戦略は,全体的に見ると,シンプルで実用的ショートライン戦略である.それは,RSI指標の逆転取引特性を利用し,RSIが超売りゾーンに入るときに逆転操作を行う.この戦略は,操作の明快さ,リスクの制御の利点があり,初心者向けに最適である.しかし,一定の利益制限とパラメータの失敗のリスクもある.適応機構,トレンドフィルターなどの最適化手段を導入することにより,戦略の優位性をさらに高め,リスクを軽減し,より信頼性の高い投資収益を得ることができる.

ストラテジーソースコード
/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("RSI OverTrend Strategy (by Marcoweb) v1.0", shorttitle="RSI_L_30_Strat_v1.0", overlay=true)

///////////// RSI
RSIlength = input(14, minval=1, title="RSI Period Length") 
RSIoverSold = 30
RSIoverBought = 70
RSITriggerLine = 30

RSI = rsi(close, RSIlength)
price = close
vrsi = rsi(price, RSIlength)

source = close
buyEntry = crossover(source, RSITriggerLine)
sellEntry = crossunder(source, RSITriggerLine)
plot(RSI, color=red,title="RSI")
p1 = plot(RSIoverSold, color=green,title="30")
p2 = plot(RSIoverBought, color=green,title="70")
p3 = plot(RSITriggerLine, color=green,title="30")


///////////// RSI Level 30 v1.0 Strategy 
if (not na(vrsi))

    if (crossover(RSI, RSITriggerLine))
        strategy.entry("RSI_L", strategy.long,  comment="RSI_L")
    else
        strategy.cancel(id="RSI_L")
        
    if (crossunder(RSI, RSIoverBought))
        strategy.entry("RSI_S", strategy.short,  comment="RSI_S")
    else
        strategy.cancel(id="RSI_S")
        
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)