ボリンジャー帯の追跡戦略

作者: リン・ハーンチャオチャン, 開催日:2024年2月29日 10:51:09
タグ:

img

概要

ボリンジャーバンド追跡戦略は,ボリンジャーバンドをベースとした定量的な取引戦略である. 株式のボリンジャーバンドの上下線を計算し,市場を追跡するために買取・売却条件を設定する. 価格がボリンジャーバンドの下線に触ると,株式は過低評価とみなされ,成長により多くの余地を与え,購入信号を生成する. 価格が上昇して上線に触ると,株式は過高評価とみなされ,それ故に売り信号とみなされる.

戦略原則

この戦略の核心指標はボリンジャー帯である.ボリンジャー帯は三つの線で構成される:ミドルレール,上部レール,下部レール.ミドルレールはn日移動平均閉店価格である.上部レールはミドルレール+k倍閉店価格のn日標準偏差;下部レールはミドルレール−k倍閉店価格のn日標準偏差である.k値は通常2に設定される.株価が下部レールより低いとき,それは比較的低い価格レベルにある.したがって,低価値とみなされ,買い信号を生成する.株価が上部レールより高いとき,それは比較的高い価格レベルにあり,過大評価され,売り信号を生成する.

具体的には,この戦略は,まず中間レールとして閉店価格の20日移動平均を計算し,その後,帯域幅として閉店価格の20日標準偏差の2倍を計算する.上部レールは中部レール+帯域幅,下部レールは中部レール-帯域幅である.その後,購入条件を下部レールよりも低い閉店価格と,販売条件を上部レールよりも高い閉店価格に設定する.閉店価格が下部レールを下回るときに購入信号,閉店価格が上部レールを下回るときに販売信号を生成する.

利点分析

この戦略には以下の利点があります.

  1. この原則はシンプルで 分かりやすく 実行できます
  2. 市場動向を追跡し 自動で買い・売る信号を生成します
  3. ストップ・ロスの追跡機能では 引き上げリスクは比較的小さい.
  4. 横向市場での不正な取引を回避できます
  5. 期間や標準偏差倍数などのパラメータは,異なる株式や市場環境に適応するために調整できます.

リスク分析

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

  1. ボリンジャー・バンドは 買い・売るポイントの完璧な指標ではありません 信号が遅れる可能性があります
  2. 金融危機のような ブラック・スワン事件を 予測できません
  3. 株価は長期間帯の片側で動いており,信号が不十分になる可能性があります.
  4. パラメータ設定は,周期長などの最適化が必要で,そうでなければ過度に敏感または惰性かもしれません.

対応する解法:

  1. 取引のタイミングを確認するために他の指標と組み合わせる
  2. 最大損失を制御するためにストップ・ロスを設定し,利益を取ります.
  3. 適応性を向上させるためにパラメータを最適化
  4. 単独依存を避けるための複合戦略を採用する

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

この戦略の主要な最適化方向は以下の通りである.

  1. Bollinger Bandsのパラメータを最適化します. 異なる期間の長さや標準偏差倍数を試し,最適なフィッティングパラメータを見つけます.
  2. KDJ,MACDなどの他の指標を組み込み,購入/売却の決定をフィルタリングし,ボリンジャーバンドの遅延を回避します.
  3. 最適パラメータ設定を導くために機械学習アルゴリズムを適用する.
  4. 価格が帯を突破する確率を予測するために ディープラーニングを使用します
  5. 複合戦略とバックアップ・トレード戦略を採用し,単一の戦略への過剰な依存を避ける.

結論

ボリンジャーバンド追跡戦略は,比較的シンプルで実用的な定量的な取引戦略である.価格動向を自動的に追跡し,買い・売るシグナルも提供することができる.メリットとしては,容易な実装,リスクが小さく,偽ブレイクアウトをフィルタリングする.メリットとしては,一定の遅れ,ブラック・スワンのような極端な市場状況に対処できない.この戦略は,機械学習などのより高度な技術を使用して,パラメータと指標を最適化することによってさらに強化することができる.要約すると,ボリンジャーバンド戦略を他の技術戦略と組み合わせることで,堅牢で効率的な定量的な取引システムを形成することができる.


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

//@version=5
strategy("Bollinger Bands Strategy", shorttitle="BB Strategy", overlay=true)

// Input parameters
length = input(20, title="Bollinger Bands Length")
mult = input(2, title="Multiplier")

// Calculate Bollinger Bands
basis = ta.sma(close, length)
bb_upper = basis + mult * ta.stdev(close, length)
bb_lower = basis - mult * ta.stdev(close, length)

// Buy and sell conditions
buy_condition = close < bb_lower
sell_condition = close > bb_upper

// Execute trades
strategy.entry("Buy", strategy.long, when=buy_condition)
strategy.entry("Sell", strategy.short, when=sell_condition)

// Plotting Bollinger Bands on the chart
plot(bb_upper, color=color.red, title="Upper Band")
plot(bb_lower, color=color.green, title="Lower Band")
plot(basis, color=color.blue, title="Basis")

// Highlighting buy and sell signals on the chart
bgcolor(buy_condition ? color.new(color.green, 90) : na)
bgcolor(sell_condition ? color.new(color.red, 90) : na)


もっと