相対強度指数 フラット逆転戦略

作者: リン・ハーンチャオチャン, 日付: 2023-11-27 11:25:17
タグ:

img

概要

相対強度指数フラットリバーサル戦略は,RSI指標を使用して過買い・過売り信号を識別する定量投資戦略である.この戦略は,RSI指標の過売り・過買いゾーンに基づいて,RSIが極限ゾーンに入るとポジションを開き,RSIが極限ゾーンから出るとポジションを閉じる.

戦略原則

この戦略は14期間のRSIインジケーターを使用する.オーバーバイトゾーンは70以上,オーバーセールゾーンは30以下と定義される.RSIが30を下から越えるとロングになり,RSIが70を下から越えるとショートになる.ポジションを開いた後,RSIが極端ゾーンから出るまで保持する.

具体的には 戦略の論理は次のとおりです

  1. RSI インディケーターの長さを 14 期間に定義する.
  2. RSIを定義する 30で過剰販売ライン 70で過剰購入ライン
  3. RSIが30を超えると,ロング
  4. RSIが70を下回ったら ショート
  5. RSIが30~70の範囲を抜けると,閉じる

この方法により,RSI指標の逆転特性を用いて,RSIの極端なゾーンからの逆転機会を捕捉します.

戦略のメリット分析

相対強度指数フラット逆転戦略には以下の利点があります.

  1. 操作の論理はシンプルで明確で,理解し,実行するのが簡単です
  2. 高効率で,予測は必要ありません,単に指示信号に従って動作する
  3. 高値を追いかけて低値を殺すのを避け,下向きのリスクを効果的に制御する
  4. 比較的少額で,ほとんどの人のリスク耐性レベルを満たす

戦略リスク分析

Relative Strength Index Flat Reversal 戦略には,次のリスクもあります.

  1. ストップ・ロスのメカニズムはあるが,強烈な一方的なトレンドでは大きな損失を避けることはできない.
  2. RSIの失敗の可能性があり,過剰購入と過剰販売の条件を効果的に反映することはできません.
  3. 利益を得るのは難しい
  4. 超短期取引の取引頻度が高いため,取引コストは高い.

これらのリスクをカバーするために,適応性RSIを設定し,RSIパラメータを動的に最適化したり,トレンドフィルターを追加したりして戦略を最適化することができます.

戦略の最適化

相対強度指数のフラット逆転戦略は,次の側面で最適化することができます:

  1. RSI パラメータを動的に調整するための適応型 RSI 機能を追加し,障害リスクを軽減します
  2. トレンドインジケーターを追加して失敗した逆転リスクを回避する
  3. 適正なストップ・ロスのレベルを決定するために波動性指標と組み合わせる
  4. 無効な信号を避けるためにエントリー条件を最適化

結論

一般的に,相対強度指数フラットリバーサル戦略は,シンプルで実用的な短期戦略である.RSIが極端なゾーンに入ると反対のポジションをとることで,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)

もっと