
この戦略は,異なる市場状態を識別するために,二次分布モデルと回帰分析を組み合わせた混合の量化分析方法を使用する.戦略は,まず,SMAとブリン帯の指標を計算し,その後,歴史的なリターンの平均と標準差に基づいてZスコアを計算する.Zスコアが下位値を下回り,価格は下位軌道を下回ったときに,戦略は多めにポジションを開く.Zスコアが上位値を下回り,価格は上位軌道上にあるときに,戦略は平仓する.
この戦略の核心原理は,Zスコアを使用して,現在のリターンと歴史的なリターン分布の位置を測定することです.Zスコアの計算式は: ((現在のリターン - 歴史的リターンの平均) /歴史的リターンの標準差である.Zスコアが高くなるほど,現在のリターンが極限を超え,超買いする可能性が高くなる;Zスコアが低くなるほど,現在のリターンが極限を超え,超売りする可能性が高くなる.また,戦略は,ブリン帯の指標を組み合わせて,価格を突破して下線を二次確認します.Zスコアとブリン帯の信号が同時に条件を満たす場合にのみ,戦略は取引信号の組み合わせを生成します.この組み合わせは,偽信号の発生を効果的に減らすことができます.
ハイブリッドバイモス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)