価格オシレーター数値取引戦略

作者: リン・ハーンチャオチャン,日付: 2023-11-24 11:22:30
タグ:

戦略の概要

この戦略は"Detrended Price Oscillator Quantitative Trading Strategy"と呼ばれる.これは典型的な技術指標戦略である"Detrended Price Oscillator"指標に基づいて取引信号を生成する.

戦略の論理

この戦略の核心は,デトレンデッド価格オシレーター (DPO) インジケーターである.DPOは移動平均値に類似しており,周期的な変動をより顕著にするため,価格の長期的傾向をフィルタリングすることができる.具体的には,DPOは価格をN日間の単純な移動平均値と比較する.価格が移動平均値以上になると,DPOは正である.価格が移動平均値以下になると,DPOは負である.その結果,オシレーターは0軸の周りに変動する.我々は傾向との関係で価格の上昇/下落を判断するためにDPOの正/負を使用することができます.

この戦略では,パラメータNを14に設定し,14日間のDPO指標を構築する.DPOが正であれば,長い信号が発信される.DPOが負であれば,短い信号が発信される.

利点

  • DPOは基本的にフィルタリング指標であり,中期的な価格サイクルを効果的に特定できる.これは比較的隠された取引機会を発見するのに非常に役立ちます.
  • DPOはシンプルで理解が容易です.パラメータ選択も比較的柔軟です.
  • 価格自体と比較して,DPO指標パターンはより標準化され,判断が容易になり,規則の策定に適しています.

リスク

  • ほとんどの技術指標戦略と同様に,DPO戦略は,不必要な取引信号を頻繁に生成する傾向があります.これは不必要なスライドと取引コストをもたらす可能性があります.
  • DPOはパラメータNに対して非常に敏感である.異なるパラメータ選択は,非常に異なる戦略の有効性につながる可能性がある.最適なパラメータを見つけるには広範なテストが必要である.
  • トレンド市場では,DPO戦略の保持期間が長すぎると,損失を間に合わずに止めることが可能で,血の損失のリスクもあります.

リスクを軽減するために,最適化は以下の側面から検討できます.

  1. 単一の損失を制御するストップ損失メカニズムを追加します.

  2. パラメータNの値を調整して最適なパラメータを見つけます.

  3. トレンドインジケーターを組み込み,重要なトレンドに対して取引を避ける.

結論

この戦略は,Detrended Price Oscillator指標に基づいて取引信号を生成する.移動平均値と比較することで,この指標は価格の周期的な特徴をより顕著にするために,価格の長期的傾向をフィルタリングする.これは,いくつかの隠された取引機会を発見するのに役立ちます.同時に,パラメータの感度,フィルタリングなどの問題にも直面しています.継続的な最適化を通じて有効性の向上にはまだ大きな余地があります.


/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-20 08:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 31/03/2017
// The Detrend Price Osc indicator is similar to a moving average, 
// in that it filters out trends in prices to more easily identify 
// cycles. The indicator is an attempt to define cycles in a trend 
// by drawing a moving average as a horizontal straight line and 
// placing prices along the line according to their relation to a 
// moving average. It provides a means of identifying underlying 
// cycles not apparent when the moving average is viewed within a 
// price chart. Cycles of a longer duration than the Length (number 
// of bars used to calculate the Detrend Price Osc) are effectively 
// filtered or removed by the oscillator.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Detrended Price Oscillator", shorttitle="DPO")
Length = input(14, minval=1)
Series = input(title="Price",  defval="close")
reverse = input(false, title="Trade reverse")
hline(0, color=green, linestyle=line)
xPrice = close
xsma = sma(xPrice, Length)
nRes = xPrice - xsma
pos = iff(nRes > 0, 1,
	     iff(nRes < 0, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=red, title="Detrended Price Oscillator")

もっと