双帯域フィルター戦略

作者: リン・ハーンチャオチャン開催日:2023年10月24日17時02分
タグ:

概要

デュアルバンドパスフィルタ戦略は,2010年にBroderがStocks & Commodities誌に発表した戦略から改訂されたもので,Broderのバンドパスフィルターの値を計算して取引信号を生成し,株の価格変動を特定する.バンドパスフィルターの値が限界値を超えるとショートになり,傾向を追跡するために低くなるとロングする.

戦略の論理

この戦略の主要なステップは次のとおりです.

  1. バンドパス長を含むパラメータを初期化するLength変動係数Deltaショートゾーンの限界値SellZone長期ゾーン上限BuyZone.

  2. ブロダーバンドパスフィルターを計算するBP trigonometric関数を使って

  3. 位置方向を決定する:BP上にあるSellZone低くなれば長くなってBuyZone; そうでなければ,現在の位置を維持します.

  4. 出力信号:位置方向に基づいて長/短信号を生成する.

  5. 信号結果に基づいてバーの色を設定します.

  6. バンドパスフィルター曲線をグラフ化します

この戦略は,ブロダーバンドパスフィルターを使用して短期変動を捕捉し,変動が特定の大きさに達するとトレンドに従う取引信号を生成します.

利点分析

  1. 短期的な動向を把握できるブロダー・バンドパスフィルターに基づく市場の変動に敏感です

  2. センシビリティはパラメータ調整によって調整され,異なる市場環境に対応できます.

  3. シンプルで明快な戦略論理 分かりやすく実行できます

  4. パラメータを最適化して 最適な組み合わせを見つけることができます

  5. 視覚的帯域フィルター曲線は直感的に市場の変動を示します

リスク分析

  1. 過剰に最適化された帯域パスのフィルターは過度に敏感になり,誤った信号を生成する可能性があります.

  2. 波動の終点を特定できず 損失が増える可能性があります

  3. 高い取引頻度はコストと滑りリスクを増やす可能性があります.

  4. ブラック・スワン事件に脆弱で 誤った信号を誘発します

  5. パラメータは異なる製品や市場に合わせて調整する必要があります.

  6. ストップ・ロスを取引ごとにコントロール・ロストに設定することを検討する.

  7. 退出時間を延長したり 偽信号を減らすためにフィルターを追加したり

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

  1. 最良の組み合わせを見つけるためにパラメータを最適化し 勝率,利益率,シャープ比率などを評価します

  2. 移動平均のクロスや価格パターンのようなフィルターを追加して,トレンドではない領域での取引を避けるのです.

  3. リスクの多様化のために,バスケ取引のための複数のインstrumentのパラメータを組み合わせることを検討する.

  4. ダイナミックストップやトライリングストップのような 取引ごとに損失を制御するストップ・ロジックを追加します

  5. 利益をロックするために移動利益ストップのような利益を取りを追加します.異なるトレンド段階のために異なるレベルを設定できます.

  6. エントリー・シグナルを最適化して,変動市場での誤ったシグナルを避ける.より長い保持期間やブレイクアウト・シグナルを検討する.

  7. クロス・アセット・アービタージ・システムに拡大し,価格差をヘッジに利用する.

  8. バックテストの最適化により 最適な資産選択と再バランス戦略が実現できます

概要

デュアルバンドパスフィルター戦略は,ブロダーのバンドパスフィルターを使用して価格変動を判断し,変動が限界に達すると信号を生成し,短期的なトレンドに対する高い敏感性と容易な実装の利点があります.しかし,パラメータと取引頻度に敏感であり,誤った信号を減らすために最適化およびリスクを管理する必要があります.全体として,短期的なトレンドを捕捉するためのオプションを提供します.しかし,過剰なフィットメントは避けられ,他の技術ツールが取引のために組み合わせることができます.


/*backtest
start: 2022-10-17 00:00:00
end: 2023-10-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/09/2018
// 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...
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Bandpass Filter Strategy ver 2.0")
Length = input(20, minval=1)
Delta = input(0.5)
SellZone = input(5, step = 0.01)
BuyZone = input(-5, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(BuyZone, color=green, linestyle=line)
hline(SellZone, color=red, linestyle=line)
xPrice = hl2
hline(0, 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 > SellZone, 1,
	   iff(BP <= BuyZone, -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(BP, color=red, title="Bandpass Filter Strategy")

もっと