MACD指標がOBV指標の定量的取引戦略を推進


作成日: 2024-01-17 18:01:36 最終変更日: 2024-01-17 18:01:36
コピー: 1 クリック数: 1226
1
フォロー
1617
フォロワー

MACD指標がOBV指標の定量的取引戦略を推進

概要

この戦略は,OBV指標のMACD指標を計算して,OBV量力のトレンドとターニングポイントを判断し,取引決定を駆動する.その基本的考え方は,OBVのMACD柱図が負数領域から0軸線を突破して正数領域に入るときに買入シグナルを生成することであり,正数領域から0軸線を突破して負数領域に入るときに売り信号を生成することである.

戦略原則

この戦略の核心指標は,OBVのMACD指標である.OBV指標は,株式の量能動的傾向を反映することができる.これは,一段の期間における終盤価格の変化の方向と成交量変化の関係を統計的に判断することによって,上昇量能が強化されたか弱まったかを判断することができる.MACD指標は,異なる均線間の差値を表示し,価格変化の動量を反映することができる.したがって,OBV量能指数とMACD動量指標を組み合わせることで,量能の変化の傾向をより明確に判断することができる.

具体的には,この戦略はまずOBV指標を計算し,それは統計的に一段の時間内に閉店価格の方向の変化と取引量との関係を計算し,OBV量能線を計算する.次に,OBV量能線に基づいて,MACD指標を計算し,MACD線,信号線,ヒストグラム柱形図を含む.最後に,macdヒストグラムが負数領域から0軸線を突破して正数領域に入るとき,買入信号を生成する.柱形図が正数領域から0軸線を突破して負数領域に入るとき,売出信号を生成する.

このように,MACDがOBV量力の動量特性を直視的に表示し,量力の変化傾向を判断し,MACDの突破で取引信号を発信することで,取引決定の正確性を向上させることができる.

優位分析

この戦略は,OBV量能分析とMACD動量指標を組み合わせ,対量能変化と価格動向の判断を比較的に正確にし,ALSE信号を効果的にフィルターすることができる.具体的優位性がある.

  1. OBV指標は,買い手と売り手の力の対比と量力の変化の傾向を判断します.
  2. MACD柱形図は,OBV量能転換点を明確に識別できる
  3. 取引信号はより明確で誤判にくい.
  4. 設定可能な取引のパラメータが多く,取引ルールが明確です.

リスク分析

この戦略にはいくつかのリスクがあり,以下のような部分に重点を置いています.

  1. OBVとMACDは取引量に敏感であり,異常な高取引量が発生した場合,誤解が生じます
  2. パラメータを正しく設定しない場合も, ポリシーに影響を及ぼします.
  3. 多空変換では,OBV量能の変化が遅れる可能性があり,取引信号が遅れる.

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

  1. トランザクションをフィルタリングし,異常データを取り除く
  2. 市場環境を考慮して慎重に設定する
  3. MACD周期などのパラメータ設定を適切に調整して,取引信号をタイムリーにします.

最適化の方向

この戦略は,以下の方向に,さらに改善できる.

  1. 戦略の効果を高めるために,他の指標と組み合わせて取引する
  2. リスク管理のための止損メカニズムの追加
  3. パラメータの設定を最適化して,異なる市場環境のニーズに合わせる

この戦略は,継続的にテスト・最適化することで,安定した,効率的な量化取引戦略となる.

要約する

この戦略は,価格の動向を判断し,取引信号を発信するための量化戦略の典型的な量能分析と動量指標の組み合わせである.それは,価格の変動の転換点を明確に識別することができ,取引信号は比較的に信頼性があり,パラメータを合理的な前提で設定すると,優れた戦略効果を得ることができます.しかし,それは,効果を向上させ,リスクを減らすために継続的な最適化が必要であるいくつかのリスクもあります.全体的に,この戦略は,量化取引戦略の典型的な考え方を提供し,さらなる研究と適用に値します.

ストラテジーソースコード
/*backtest
start: 2023-12-17 00:00:00
end: 2024-01-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "MACD of OBV", overlay = false)

//////////////////////// OBV ///////////////////////////

src = close
obv = cum(change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume)


//////////////////////// OBV   //////////////////////////

//////////////// MACD OF OBV ////////////////////////////

sourcemacd = obv 

fastLength = input(12, minval=1), slowLength=input(26,minval=1)
signalLength=input(9,minval=1)


fastMA = ema(sourcemacd, fastLength)
slowMA = ema(sourcemacd, slowLength)

macd = fastMA - slowMA
signal = ema(macd, signalLength)
delta=macd-signal

swap1 = delta>0?green:red

plot(delta,color=swap1,style=columns,title='Histo',histbase=0,transp=20)
p1 = plot(macd,color=blue,title='MACD Line')
p2 = plot(signal,color=red,title='Signal')
fill(p1, p2, color=blue)
hline(0)




/////////////////////////MACD OF OBV //////////////////////////


// Conditions



longCond = na
sellCond = na
longCond :=  crossover(delta,0)
sellCond :=  crossunder(delta,0)




monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  longCond ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( sellCond  ) 

    strategy.close("BUY")