Esta estratégia emprega uma abordagem de análise quantitativa híbrida, combinando modelo de distribuição binomial e análise de regressão, para identificar diferentes regimes de mercado. A estratégia primeiro calcula os indicadores Simple Moving Average (SMA) e Bollinger Bands (BB), depois calcula a pontuação Z com base na média e no desvio padrão dos retornos históricos. Quando a pontuação Z está abaixo do limiar inferior e o preço está abaixo da faixa inferior, a estratégia entra em uma posição longa; quando a pontuação Z está acima do limiar superior e o preço está acima da faixa superior, a estratégia fecha a posição.
O principal princípio desta estratégia é usar a pontuação Z para medir a posição dos retornos atuais em relação à distribuição dos retornos históricos. A fórmula para calcular a pontuação Z é: (Retorno atual - média de retorno histórico) / desvio padrão de retorno histórico. Uma pontuação Z mais alta indica que o retorno atual é mais extremo e a probabilidade de sobrecompra é maior; uma pontuação Z mais baixa indica que o retorno atual é mais extremo e a probabilidade de sobrevenda é maior. Ao mesmo tempo, a estratégia também incorpora o indicador Bollinger Bands, usando quebras de preço acima ou abaixo de ambas as bandas como confirmação secundária. A estratégia gera sinais de negociação apenas quando a pontuação Z e as condições de aproximação da Bollinger Band são falsas simultaneamente. Esta combinação pode reduzir efetivamente a ocorrência de sinais.
A Estratégia Quantitativa Z-Score Binomial Híbrida é uma estratégia quantitativa de negociação baseada em princípios estatísticos, identificando oportunidades potenciais de sobrecompra e sobrevenda, comparando os retornos atuais com a distribuição de retornos históricos. Além disso, a estratégia emprega o indicador Bollinger Bands para confirmação secundária, aumentando a confiabilidade do sinal. As regras da estratégia são claras e fáceis de implementar e otimizar, mas também enfrenta desafios como sensibilidade de parâmetros, risco de tendência, risco de sobreajuste, etc. No futuro, a estratégia pode ser otimizada em termos de parâmetros dinâmicos, filtragem de tendência, otimização de portfólio, mecanismos de stop-loss e take-profit, etc., para melhorar sua adaptabilidade e robustez.
/*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)