バンドパスフィルター 逆の戦略

作者: リン・ハーンチャオチャン, 日付: 2024-01-24 15:28:26
タグ:

img

概要

バンドパスフィルター逆転戦略 (Bandpass Filter Reversed Strategy) は,バンドパスフィルターに基づいた株式取引戦略である.バンドパスフィルターをシミュレートするためにコスとシナスの関数を構築し,買い売り信号を生成する.フィルターの出力が特定のトリガーレベルを超えたり下りたとき,戦略は逆転操作,すなわち購入または販売を行う.

戦略原則

この戦略の核は,帯域パスのフィルターBPを構築することである.このフィルターは,中心周波数と帯域幅という2つのパラメータで構成される.センター周波数はフィルタが通過するメインサイクルを決定し,帯域幅は通過サイクルの範囲を決定する.これらのパラメータはフィルターの転送特性を決定する.

具体的には,戦略は次の変数を構築します.

  • 長さ:フィルターの中心サイクル
  • デルタ:帯域幅パラメータ
  • ベータ: 中心周波数に関連する係数
  • ガンマ:帯域幅に関連する係数
  • アルファ:ベータとガンマに関連する中間変数

これらの変数に従って,戦略は第一順位IIR (無限衝動応答) フィルターを構築します.

BP = 0.5*(1 - アルファ) *(xPrice - xPrice[2]) +β*(1 +アルファ) *nz(BP[1]) -alpha*nz(BP[2])

BPがTriggerLevelを超えたり 下げたりすると 戦略は逆方向に 行動します

利点分析

この戦略の主な利点は以下の通りです.

  1. バンドパスフィルタを使用すると,高低周波のノイズを除去し,信号とノイズ比を改善するために中周波サイクル信号のみを抽出することができます.
  2. 比較的シンプルで直感的なもので,さまざまなサイクルや市場環境に適応するために,いくつかのパラメータのみを調整する必要があります.
  3. リバース戦略を採用することで,短期的な価格逆転を及時に把握し,保有リスクを減らすために利益を得てすぐにポジションを閉じることができます.

リスク分析

この戦略にはいくつかのリスクもあります:

  1. バンドパスフィルターのパラメータ設定は,異なるサイクルや市場環境に応じて調整する必要があります.正しく設定されなければ,取引機会を逃したり,より多くの偽信号を生成します.
  2. 逆転戦略は錯覚逆転に易しい.逆転が失敗し,価格が元の方向に続く場合,損失を引き起こす.
  3. 取引頻度は高くなることがあります.過剰な最適化や取引コストの制御を防ぐ必要があります.

これらのリスクを軽減するために,次の最適化方法を検討できます.

  1. 適応フィルタを使用して,市場変化に基づいてパラメータを自動的に調整します.
  2. トレンドフィルターを組み合わせて,トレンドに反するポジションを開設しないようにします.
  3. パラメータの組み合わせを最適化して,より多くの市場条件に適応するための戦略をパラメータ化します.

オプティマイゼーションの方向性

この戦略を最適化できる主な側面は以下の通りです.

  1. サイクルとパラメータの自己適応: サイクルの違いや最近の価格動向に合わせて長さやデルタなどのパラメータを動的に調整し,フィルターはリアルタイムで市場環境の変化に適応します.

  2. トレンド判断を組み合わせる: バンドパスフィルターに基づいて,MACDやMAなどの技術指標が追加され,トレンド方向を決定し,トレンドに反するポジションを開設しない.

  3. 複数のタイムフレームの組み合わせ: 複数のタイムフレーム (例えば5分,15分,30分など) に戦略を展開する. 信号の正確性を向上させるために,異なるタイムフレーム間の信号検証を実行する.

  4. ストップ・ロスのメカニズム: 合理的なストップ・ロスのポジションを設定する. 損失がストップ・ロスのビットに達すると,単一の損失の大きさを効果的に制御するためにポジションを閉鎖するイニシアチブを取る.

上記の最適化により,戦略の安定性,適応性,収益性が大幅に向上できます.

概要

バンドパスフィルター逆転戦略は,バンドパスフィルターを構築することで有用な中周波信号を抽出し,フィルタ出力がレベルをトリガーすると,短期的な価格逆転機会を把握するために逆転操作を行う.戦略は比較的シンプルである.パラメータ最適化によって,さまざまな市場環境に適応することができる.主な最適化方向には,適応フィルター,トレンド判断,マルチタイムフレーム組み合わせ,ストップ損失メカニズムなどが含まれます.


/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/11/2016
// The related article is copyrighted material from
// Stocks & Commodities Mar 2010
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Bandpass Filter Reversed Strategy")
Length = input(20, minval=1)
Delta = input(0.5)
TriggerLevel = input(0)
xPrice = hl2
hline(TriggerLevel, color=blue, linestyle=line)
beta = cos(3.14 * (360 / Length) / 180)
gamma = 1 / cos(3.14 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
BP = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(BP[1]) - alpha * nz(BP[2])
pos = iff(BP > TriggerLevel, -1,
	   iff(BP <= TriggerLevel, 1, nz(pos[1], 0))) 
if (pos == 1) 
    strategy.entry("Long", strategy.long)
if (pos == -1)
    strategy.entry("Short", strategy.short)	    
barcolor(pos == -1 ? red: pos == 1 ? green : blue )
plot(BP, color=red, title="Bandpass Filter Strategy")

もっと