Cette stratégie utilise une approche d'analyse quantitative hybride, combinant un modèle de distribution binomiale et une analyse de régression, pour identifier différents régimes de marché. La stratégie calcule d'abord les indicateurs de moyenne mobile simple (SMA) et de bandes de Bollinger (BB), puis calcule le score Z en fonction de la moyenne et de l'écart type des rendements historiques. Lorsque le score Z est inférieur au seuil inférieur et que le prix est inférieur à la bande inférieure, la stratégie entre dans une position longue; lorsque le score Z est au-dessus du seuil supérieur et que le prix est au-dessus de la bande supérieure, la stratégie ferme la position.
Le principe de base de cette stratégie est d'utiliser le Z-score pour mesurer la position des rendements actuels par rapport à la distribution des rendements historiques. La formule de calcul du Z-score est la suivante: (Retour actuel - Moyenne de rendement historique) / Déviation standard de rendement historique. Un score Z plus élevé indique que le rendement actuel est plus extrême et la probabilité de surachat est plus élevée; un score Z plus faible indique que le rendement actuel est plus extrême et la probabilité de survente est plus élevée.
La stratégie quantitative Z-Score Binomial Hybrid est une stratégie de trading quantitative basée sur des principes statistiques, permettant d'identifier les opportunités potentielles de surachat et de survente en comparant les rendements actuels avec la distribution des rendements historiques. En outre, la stratégie utilise l'indicateur Bollinger Bands pour la confirmation secondaire, améliorant la fiabilité du signal. Les règles de stratégie sont claires et faciles à mettre en œuvre et à optimiser, mais elle fait également face à des défis tels que la sensibilité des paramètres, le risque de tendance, le risque de surajustement, etc. À l'avenir, la stratégie peut être optimisée en termes de paramètres dynamiques, de filtrage de tendance, d'optimisation du portefeuille, de mécanismes de stop-loss et de prise de profit, etc., pour améliorer son adaptabilité et sa robustesse.
/*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)