BB%B戦略

作者: リン・ハーンチャオチャン, 日付: 2023-09-25 17:53:36
タグ:

概要

BB%B戦略は,ボリンジャーバンドの百分比B値を投資決定に利用する定量的な取引戦略である.価格がボリンジャーバンドの上下線に近づくときに購入・売却信号を生成することができ,トレンドフォロー戦略に属する.

戦略の論理

この戦略は,最初に指定された期間における閉値のSMAと標準偏差を計算し,ボリンジャーバンドの上下線を得ます. BB%B指標は,公式 (現在の価格 - 下線) / (上線 - 下線) によって計算されたボリンジャーバンド内の現在の価格の位置を表します. BB%Bが過売値を下回ると,購入信号が生成されます. BB%Bが過売値を超えると,販売信号が生成されます. 取引信号が起動した後,BB%Bが逆の値に戻ると,ポジションが閉鎖されます.

具体的には,戦略はまず21日間のSMAと2倍標準偏差を計算し,ボリンジャーバンドの上下線を得ます.その後,現在の閉じる価格のBB%B値を計算します. BB%Bが−0.2 (設定可能) 以下の状態で,現在のポジションがない場合は,ロングします. BB%Bが1.2 (設定可能) 以下の状態で,現在のポジションがない場合は,ショートします.ロングポジションが存在し,BB%Bが1.0 (設定可能) を越えるとき,またはショートポジションが存在し,BB%Bが0.2 (設定可能) を越えるとき,出口信号が起動されます.

この戦略は,現在の価格が上向きまたは下向きに過剰に伸びているかどうかを判断するためにBB%B指標に依存し,また,現在のトレンド方向を判断するためにSMAを使用する.価格がボリンジャーバンドレールを超えると取引信号を生成する.異なるパラメータを調整することで,戦略の頻度を調整することができます.

利点分析

  • ボリンジャー帯を使用し,過買い/過売りレベルを特定する

ボリンジャー帯の上下線は,現在の価格の一定の標準偏差範囲を表している.上下線信号超売状態に近づいたり触れたりする価格が,下下線信号超売状態に近づいたり触れたりしている. BB%B戦略は,適切なエントリーと出口点を決定するためにこの特徴を完全に利用する.

  • 周波数調整のための柔軟な構成

BB%B 値,SMA 期間,プルバック 値はすべて構成可能で,取引頻度を調整する便利性を提供します.より長い SMA とより大きなプルバック 値を使用すると頻度が低下します.

  • トレンドを組み合わせる

ボリンジャー帯で過剰購入/過剰売却の決定に加えて,SMAを組み合わせて全体的な傾向を判断し,トレンドに反する取引を避ける.

  • 誤った信号を回避するための引き戻しメカニズム

価格がボリンジャーバンドレールに初めて触れたとき,オーバーバイト/オーバーセールの可能性は高いが,短期的な偽ブレイクでもあり得る.この戦略はプルバックの値を採用し,BB%Bが明らかに反対側へ引き戻し,偽信号をフィルタリングした後のみポジションを出る.

リスク分析

  • 価格動向を特定できない

この戦略は,トレンドに反して取引と損失につながる可能性のある全体的な傾向を無視して,潜在的な逆転を決定するためにボリンジャーバンド指標のみを見ています.

  • 不適切な引き下げの限界は機会を逃す可能性があります

引き戻し限界が高く設定された場合,トレンドの逆転がタイミングでポジション変更を誘発せず,機会を逃す可能性があります.

  • ボリンジャー・バンドの拡大により価格の幅が広がる

市場変動が増加すると,上下線間の距離も増加し,入口と出口の価格差が大きくなり,取引ごとにリスクが高くなります.

  • 比較的高い取引頻度

長期戦略と比較して,この戦略は取引頻度が高く,取引コストとスライドが高くなります.

改善 の 方向

  • 信号フィルタリングのための傾向指標を組み込む

トレンドを決定する指標をMACDやKDJに追加して トレンドの方向に沿った取引を誘発するだけで,反トレンドの取引を避ける.

  • ストップ・ロスのメカニズムを実行する

取引リスクごとに固定額または百分比ストップ損失を制御し,損失拡大を避ける.

  • パラメータの組み合わせを最適化

最適なパラメータ組み合わせを見つけ,より多くのノイズをフィルタリングし,安定性を改善するために,SMA期間,BB%Bの値,引き戻し値などを調整します.

  • 取引コストを考慮する

異なる製品については,影響を減らすために,取引コストプロファイルに基づいて,取引頻度が低いようにパラメータを調整する.

概要

BB%B戦略は,シンプルで実践的な定量的な取引戦略である.潜在的な逆転価格点を特定するためにボリンジャーバンドを使用し,トレンド方向性のためにSMAと組み合わせ,過買い/過売値の周りに取引する.この戦略は頻度調整に柔軟である.しかし,全体的なトレンド,ストップ損失,取引コストなどの要因を考慮し,さらなる改善を必要とするリスクもあります.安定性と収益性を高めるために.適切に使用すると,BB%B戦略は定量的な取引システムの効果的な構成要素になることができます.


/*backtest
start: 2023-08-25 00:00:00
end: 2023-09-24 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// strategy(title = "BB%B Strat", shorttitle = "BB%B Strat", format=format.price, precision=2, default_qty_type=strategy.percent_of_equity, default_qty_value=20)
length = input.int(21, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
ob = input.float(1.2, "Overbought Line", step=0.1)
ob_close = input.float(1.0, "Overbought Close", step=0.1)
os = input.float(-0.2, "Oversold Line", step=0.1)
os_close = input.float(0.2, "Oversold Close", step=0.1)
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
bbr = (src - lower)/(upper - lower)
p = plot(bbr, "Bollinger Bands %B", color=#26A69A)
ob_hline = hline(ob, "Overbought", color=color.red, linestyle=hline.style_dashed)
obc_hline = hline(ob_close, "Overbought Close", color=color.red, linestyle=hline.style_dashed)
os_hline = hline(os, "Oversold", color=color.green, linestyle=hline.style_dashed)
osc_hline = hline(os_close, "Oversold Close", color=color.green, linestyle=hline.style_dashed)
fill(ob_hline, obc_hline, color=color.new(color.red, 80), title="Overbought")
fill(os_hline, osc_hline, color=color.new(color.green, 80), title="Overbought")
bgcolor(bbr > ob ? color.new(color.fuchsia, 80) : (bbr < os ? color.new(color.lime, 80) : na))

if bbr < os and strategy.position_size == 0
    strategy.entry("L", strategy.long)
if bbr >= os_close and strategy.position_size > 0
    strategy.close_all()

if bbr > ob and strategy.position_size == 0
    strategy.entry("S", strategy.short)
if bbr <= ob_close and strategy.position_size < 0
    strategy.close_all()

もっと