資源の読み込みに... 荷物...

ハイブリッド・バイノミアルZスコア量的な戦略

作者: リン・ハーンチャオチャン開催日:2024年5月28日 17:38:08
タグ:SMABB

img

概要

この戦略は,異なる市場体制を特定するために,二項分布モデルと回帰分析を組み合わせたハイブリッド定量分析アプローチを使用する.この戦略は,まずシンプル・ムービング・アベア (SMA) とボリンジャー・バンド (BB) の指標を計算し,その後,歴史的な収益の平均値と標準偏差に基づいてZスコアを計算する.Zスコアが下限以下で価格が下限以下であるとき,戦略はロングポジションに入ります.Zスコアが上限を超え,価格が上限を超えると,戦略はポジションを閉じる.

戦略原則

この戦略の基本原理は,Zスコアを使用して,過去収益の分布との関係で現在の収益の位置を測定することである.Zスコアを計算する公式は: (現在収益 - 過去収益平均) /過去収益標準偏差.より高いZスコアは,現在の収益がより極端で,過剰購入の可能性が高いことを示唆する.より低いZスコアは,現在の収益がより極端で,過剰販売の可能性が高いことを示唆する.同時に,戦略はボリンジャーバンド指標も組み込み,両バンドの上または下での価格ブレイクを二次確認として使用する.この戦略は,Zスコアとボリンジャーバンドが同時に誤った条件を満たす場合にのみ取引信号を生成する.この組み合わせは,シグナル発生を効果的に減らすことができる.

戦略 の 利点

  1. 定量分析: 戦略は完全には定量指標に基づい,実行し,バックテストを容易にする明確なルールがあります.
  2. 双重確認:この戦略は,Zスコアとボリンジャーバンドの両方の指標を使用し,信号の精度を向上させるための二重フィルタリングメカニズムを形成します.
  3. 統計学基礎:Zスコアは,統計学の正規分布理論から生まれ,理論的な基礎を固め,現在の帰還の極限を客観的に測定することができます.
  4. パラメータの柔軟性:ユーザーはSMA期間,ボリンジャーバンド倍数値,Zスコアの値などのパラメータをニーズに応じて調整し,異なる市場に柔軟に適応できます.

戦略リスク

  1. パラメータ感度:異なるパラメータ設定により戦略のパフォーマンスが大きく異なることがあり,広範なパラメータ最適化と安定性テストが必要です.
  2. トレンドリスク: 市場が強いトレンドを示している場合,Zスコアは長期間にわたって極端な地域にとどまり,戦略信号が頻繁でないか全く存在しないことが原因となります.
  3. 過剰適合リスク:戦略パラメータが過剰に最適化されている場合,過剰適合とサンプル外での不良パフォーマンスにつながる可能性があります.
  4. ブラック・スワンリスク: 極端な市場状況下では,歴史的な統計パターンが失敗し,戦略は重大な引き上げリスクにさらされる可能性があります.

戦略の最適化方向

  1. ダイナミックパラメータ: 適応性を向上させるために,市場変動やトレンド強さなどの指標に基づいて,Zスコアの値とボリンジャーバンドの倍数値をダイナミックに調整することを検討する.
  2. トレンドフィルタリング: 強いトレンド中に過度に無効な信号を避けるために,既存のメカニズムの上に,MAクロスオーバーやDMIなどのトレンド決定指標を重ねる.
  3. ポートフォリオ最適化: この戦略を他の定量戦略 (インパルス,平均逆転など) と組み合わせて,それぞれの強みを活用し,安定性を向上させる.
  4. ストップ・ロストとテイク・プロフィート: 取引ごとにリスクの曝露を制御し,リスク調整収益を改善するために,合理的なストップ・ロストとテイク・プロフィートメカニズムを導入する.

概要

ハイブリッドバイノミアルZスコア定量戦略は,統計的原則に基づいた定量的な取引戦略であり,現在の収益を歴史的な収益の分布と比較することによって潜在的過剰購入および過剰売却機会を特定する.さらに,この戦略は,シグナル信頼性を向上させる二次確認のためにボリンジャーバンド指標を使用している.戦略規則は明確で,実装および最適化するのが簡単ですが,パラメータ敏感性,トレンドリスク,過剰フィットリスクなどの課題に直面している.将来,戦略は,ダイナミックパラメータ,トレンドフィルタリング,ポートフォリオ最適化,ストップ損失および収益メカニズムなどの観点から最適化され,適応性と強度が向上する.全体的に,この戦略は,さらなる調査と精錬に値する,シンプルかつ効果的な定量取引アプローチを提供します.


/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estratégia Híbrida Quantitativa", overlay=true)

// Definição de parâmetros
sma_length = input.int(20, title="Período da SMA")
threshold_high = input.float(1.5, title="Threshold Alto")
threshold_low = input.float(-1.5, title="Threshold Baixo")
lookback_period = input.int(252, title="Período de Retorno Histórico (dias)")

// Funções auxiliares
f_sma(source, length) =>
    ta.sma(source, length)

f_bollinger_band(source, length, mult) =>
    basis = ta.sma(source, length)
    dev = mult * ta.stdev(source, length)
    [basis + dev, basis - dev]

// Cálculo dos indicadores
sma = f_sma(close, sma_length)
[upper_band, lower_band] = f_bollinger_band(close, sma_length, 2)

// Regime de Mercado: Binomial
retornos = ta.change(close, 1)
media_retornos = ta.sma(retornos, lookback_period)
desvio_padrao_retornos = ta.stdev(retornos, lookback_period)

// Indicador de Regime: Z-Score
z_score = (retornos - media_retornos) / desvio_padrao_retornos

// Sinal de Compra e Venda
sinal_compra = z_score < threshold_low and close < lower_band
sinal_venda = z_score > threshold_high and close > upper_band

// Execução de Ordem
if (sinal_compra)
    strategy.entry("Long", strategy.long)
if (sinal_venda)
    strategy.close("Long")

// Plotagem dos Indicadores
plot(sma, title="SMA", color=color.blue)
plot(upper_band, title="Upper Bollinger Band", color=color.red)
plot(lower_band, title="Lower Bollinger Band", color=color.green)
hline(threshold_high, "Threshold Alto", color=color.red, linestyle=hline.style_dashed)
hline(threshold_low, "Threshold Baixo", color=color.green, linestyle=hline.style_dashed)
plot(z_score, title="Z-Score", color=color.purple)


関連性

もっと