O recurso está a ser carregado... Carregamento...

Estratégia quantitativa de pontuação Z binomial híbrida

Autora:ChaoZhang, Data: 2024-05-28 17:38:08
Tags:SMABB

img

Resumo

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.

Princípio da estratégia

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.

Vantagens da estratégia

  1. Análise quantitativa: A estratégia baseia-se inteiramente em indicadores quantitativos, com regras claras, fáceis de aplicar e de testar.
  2. Confirmação dupla: A estratégia emprega os indicadores Z-score e Bollinger Bands, formando um mecanismo de filtragem dupla para melhorar a precisão do sinal.
  3. Fundação estatística: A pontuação Z se origina da teoria da distribuição normal na estatística, com uma base teórica sólida, e pode medir objetivamente a extremidade dos retornos atuais.
  4. Flexibilidade dos parâmetros: os utilizadores podem ajustar parâmetros como o período SMA, o multiplicador de bandas de Bollinger e os limiares de pontuação Z de acordo com as suas necessidades, adaptando-se de forma flexível aos diferentes mercados.

Riscos estratégicos

  1. Sensibilidade dos parâmetros: configurações diferentes dos parâmetros podem levar a diferenças significativas no desempenho da estratégia, exigindo uma otimização extensiva dos parâmetros e testes de estabilidade.
  2. Risco de tendência: quando o mercado apresenta fortes tendências, a pontuação Z pode permanecer em regiões extremas por um período prolongado, resultando em sinais de estratégia raros ou completamente ausentes.
  3. Risco de sobreajuste: se os parâmetros da estratégia estiverem super-otimizados, isso pode levar a sobreajuste e desempenho ruim fora da amostra.
  4. Risco de cisne negro: em condições de mercado extremas, os padrões estatísticos históricos podem falhar, expondo a estratégia a riscos significativos de retirada.

Orientações para a otimização da estratégia

  1. Parâmetros dinâmicos: considerar o ajustamento dinâmico dos limiares de pontuação Z e do multiplicador de bandas de Bollinger com base em indicadores como a volatilidade do mercado e a força da tendência para melhorar a adaptabilidade.
  2. Filtragem de tendências: sobreposição de indicadores de determinação de tendências, tais como cruzamento de MA ou DMI, em cima do mecanismo existente para evitar sinais inválidos excessivos durante tendências fortes.
  3. Optimização da carteira: Combine esta estratégia com outras estratégias quantitativas (como impulso, reversão média, etc.) para alavancar os seus respectivos pontos fortes e melhorar a robustez.
  4. Stop-Loss e Take-Profit: introduzir mecanismos razoáveis de stop-loss e take-profit para controlar a exposição ao risco por transação e melhorar os retornos ajustados ao risco.

Resumo

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)


Relacionados

Mais.