CUSUM
Conteúdo da página
Código CUSUM em StrategyQuant
Na postagem de hoje, daremos uma olhada mais de perto em uma implementação personalizada do indicador CUSUM (Cumulative Sum). Frequentemente usada no controle de processos estatísticos, a técnica CUSUM ajuda a detectar pequenas mudanças no nível médio de uma série. Essa implementação específica foi projetada para integração no StrategyQuant, oferecendo aos traders uma maneira dinâmica de monitorar e reagir às mudanças do mercado.
O que é a CUSUM?
A CUSUM é uma técnica de análise sequencial que acumula desvios de um valor-alvo ao longo do tempo. Ao comparar a soma acumulada com os limites definidos, fica mais fácil identificar até mesmo mudanças sutis no comportamento dos preços. Em nossa implementação, dois acumuladores separados - um para movimentos ascendentes (CUSUM Positive) e outro para movimentos descendentes (CUSUM Negative) - sinalizam quando a mudança na série de preços subjacente se torna significativa.
Passo a passo do código
O indicador é definido como uma classe Java que estende
IndicatorBlock
garantindo uma integração perfeita com o ecossistema do StrategyQuant. Vamos detalhar os principais componentes:
Parâmetros e entradas
- Dados do gráfico: O indicador usa um gráfico (normalmente o preço de fechamento) como fonte de dados.
- Período: Determina o tamanho da janela sobre a qual a média móvel e o desvio padrão são calculados. Isso é crucial, pois define a sensibilidade do indicador.
- Limite (k): Define o limite de detecção. Um limite mais alto significa que o indicador se torna menos sensível, reduzindo os sinais falsos.
- Desvio (μ): Leva em conta o desvio esperado no processo, permitindo a detecção de alterações menores, mas persistentes.
Cálculo de estatísticas de rolagem
Para cada nova barra (ou ponto de tempo), o código calcula a média móvel e o desvio padrão durante o período definido. Essas estatísticas servem como linha de base para padronizar os dados de preços atuais.
Padronização e cálculo de CUSUM
O preço atual é padronizado subtraindo-se a média e dividindo-se pelo desvio padrão. O valor padronizado é então usado para atualizar os acumuladores CUSUM:
- CUSUM Positivo: Acumula desvios positivos.
- CUSUM Negativo: Acumula desvios negativos.
Cada atualização subtrai tanto o desvio quanto o limite, garantindo que apenas os desvios significativos contribuam para a soma cumulativa.
Tratamento de casos extremos
Um detalhe importante é a verificação do desvio padrão. Quando os dados de preço são muito consistentes (resultando em um desvio padrão de zero), o código o redefine para 1. Essa proteção evita erros de divisão e mantém o indicador robusto em condições de baixa volatilidade.
Reunindo tudo isso
Esse indicador CUSUM é uma ferramenta poderosa para os traders que buscam captar mudanças sutis, mas sustentadas, na ação do preço. Ajustando-se dinamicamente aos dados recentes do mercado (por meio de estatísticas contínuas) e levando em conta o ruído por meio dos parâmetros de limite e desvio, o indicador oferece uma abordagem equilibrada para a geração de sinais.
Se estiver interessado em incorporar esse indicador em suas estratégias de negociação, o código está estruturado para ser adaptável e fácil de integrar no ambiente StrategyQuant.
