二重移動平均線とRSI指標を組み合わせた定量的取引戦略


作成日: 2024-01-12 13:57:36 最終変更日: 2024-01-12 13:57:36
コピー: 1 クリック数: 675
1
フォロー
1617
フォロワー

二重移動平均線とRSI指標を組み合わせた定量的取引戦略

概要

この策略は,双均線がRSI指標を重ねた定量取引策である.この策略は,株の双均線がRSI指標と重ねて計算され,株の超買い超売り状況を識別し,株が過大評価されたときに多頭ポジションを確立し,過大評価されたときに空頭ポジションを確立し,ヘッジ・シューディングを実現する.

戦略原則

%K線と%D線の交差を計算して超買いと超売りを判断する二平線のRSI指標の量化取引戦略.%K線は,その株の終了価格のK日の単純移動平均を計算し,%D線は,%K線のD日の単純移動平均を計算する.%K線が下から%D線を穿越すると,株式が過小評価されていると考えられ,多項ポジションを確立する.%K線が上から%D線を穿越すると,株式が過大評価されていると考えられ,空頭ポジションを確立する.

また,この戦略はRSI指標と組み合わせて,株の超買い超売り状況を判断する.RSI指標は,株の下落速度の変化を反映し,RSIが50%以下であれば株が過大評価されていることを示す.60%以上であれば株が過大評価されていることを示す.

統合双均線指数とRSI指数で,%K線が底から%D線を貫通し,RSIが50%以下であるとき,株が重く過大評価されていると判断され,多頭ポジションを確立すべきである.%K線が上から%D線を底から貫通し,RSIが60%以上であるとき,株が重く過大評価されていると判断され,空頭ポジションを確立すべきである.

戦略的優位性

  1. 二重均線指数とRSIの判断を組み合わせて,超買超売を判断し,単一の指数の判断の誤差を回避する
  2. 平均線パラメータとRSIパラメータを柔軟に配置し,異なる株の特徴に適合する
  3. 株価の変動をリアルタイムで監視し,ポジションを調整する
  4. 操作リスクを減らすために,多量または空白のみを設定できます.

戦略リスク

  1. 双均線とRSIが遅れているため,ポジション開設の最適なタイミングを逃している可能性があります.
  2. 株の特性を深く研究する必要があり,パラメータを正しく設定しない場合,取引が頻繁になるか,ポジションが開けられない可能性があります.
  3. 損失拡大を防ぐために ストップ・ロース戦略を設定する

リスク対策:

  1. 他の指標と組み合わせた価格上昇による損失を回避する
  2. テストパラメータの設定の安定性
  3. ストップ・ロスを設定し,ポジションを増やすなど,リスクを制御する方法

戦略の最適化

  1. 取引量指数と組み合わせた偽の突破を避ける
  2. ポジション開設条件を高め,高額な取引費用を避ける
  3. ポジション制御モデルを最適化し,高確信度でポジションを拡大する

取引量指標を他の指標と組み合わせて判断を増やす必要があり,突破信号の信頼性を確保し,偽信号による損失を避ける.同時に,ポジションコントロールモデルを最適化し,高い確信度で適切なポジションを拡大することで,より高い利益を得ることができる.

要約する

双均線でRSIを重ねた定量取引戦略は,双均線とRSIを重ねて使用することで,株の超買超売を判断し,株が過大評価されたときに多行し,過大評価されたときに空き,ヘッジ・スウェードを実現する.この戦略は,双均線指標の価格捕捉能力とRSIの超買超売判断能力を充分利用し,単一の指標の判断の制限を回避する.柔軟なパラメータ配置により,異なる株に適用できる.さらに最適化され,リスクを制御した前提でより高い収益を得ることができる.

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

//@version=2
strategy(title="Easy to Use Stochastic + RSI Strategy", overlay=false)


//// Only Enter Long Positions /////
// strategy.risk.allow_entry_in(strategy.direction.long)


///// Backtest Start Date /////
startDate   = input(title="Start Date",   defval=1,    minval=1,    maxval=31)
startMonth  = input(title="Start Month",  defval=1,    minval=1,    maxval=12)
startYear   = input(title="Start Year",   defval=2014, minval=1800, maxval=2100)

afterStartDate = true


///// Create inputs /////
// Stochastics //
periodK = input(14, title="K", minval=1)
periodD = input(3, title="D", minval=1)
smoothK = input(3, title="Smooth", minval=1)

k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)

// RSI Values //
rsivalue = rsi(close, 14)


///// Plot Stochastic Values and Lines /////
plot(k, title="%K", color=lime)
plot(d, title="%D", color=red)
h0 = hline(80)
h1 = hline(20)
fill(h0, h1, color=purple, transp=80)


///// Submit orders /////
if (afterStartDate and crossover(k, d) and k<20 and rsivalue<50)
    strategy.entry(id="BUY", long=true)
if (afterStartDate and crossunder(k, d) and k>80 and rsivalue>60)
    strategy.entry(id="SELL", long=false)