StrategyQuant
Assistente de IA QAlgoCloudQuantAnalyzerQuantDataManager
Curso GratuitoEmpresa
BlogDocumentaçãoFórumFale conosco
BlogMarketplace
Entrar
Criar conta grátis

Produto

  • Preços e licenças
  • Aprender
  • Marketplace
  • Começar teste gratuito

Aviso legal

  • Termos de Serviço
  • Política de Privacidade
  • Cookies

Contato

[email protected]

Empresa

StrategyQuant s.r.o.

Korunní 2569/108, Vinohrady, 101 00 Praha 10, República Checa, UE

IČ: 04000498

DIČ: CZ04000498

Redes sociais

  • Aviso Legal | PROCESSAMENTO E PROTEÇÃO DE DADOS PESSOAIS

    O desempenho passado não é garantia de sucesso futuro. Todas as informações devem ser consideradas apenas para fins educativos

    ESTADOS UNIDOS Aviso legal exigido pelo Governo - A Commodity Futures Trading Commission informa: A negociação de futuros e opções apresenta grandes potenciais de recompensa, mas também grandes riscos potenciais. Deve estar ciente dos riscos e disposto a aceitá-los para investir nos mercados de futuros e opções. Não negoceie com dinheiro que não possa perder. Isto não constitui uma solicitação nem uma oferta para comprar/vender futuros, ações ou opções sobre os mesmos. Não está a ser feita qualquer declaração de que qualquer conta irá ou terá probabilidade de obter lucros ou perdas semelhantes aos abordados neste documento. O desempenho passado de qualquer sistema ou metodologia de negociação não é necessariamente indicativo de resultados futuros.

    REGRA 4.41 DA CFTC - OS RESULTADOS DE DESEMPENHO HIPOTÉTICOS OU SIMULADOS TÊM DETERMINADAS LIMITAÇÕES. AO CONTRÁRIO DE UM REGISTO DE DESEMPENHO REAL, OS RESULTADOS SIMULADOS NÃO REPRESENTAM A NEGOCIAÇÃO REAL. ALÉM DISSO, COMO AS ORDENS NÃO FORAM EXECUTADAS, OS RESULTADOS PODEM TER COMPENSADO O IMPACTO, SE HOUVER, DE DETERMINADOS FATORES DE MERCADO, COMO A FALTA DE LIQUIDEZ. OS PROGRAMAS DE NEGOCIAÇÃO SIMULADA EM GERAL TAMBÉM ESTÃO SUJEITOS AO FACTO DE SEREM CONCEBIDOS COM O BENEFÍCIO DE UMA ANÁLISE RETROSPETIVA. NÃO ESTÁ A SER FEITA QUALQUER DECLARAÇÃO DE QUE QUALQUER CONTA IRÁ OU TERÁ PROBABILIDADE DE OBTER LUCROS OU PERDAS SEMELHANTES AOS APRESENTADOS.

    NÃO ESTÁ A SER FEITA QUALQUER DECLARAÇÃO DE QUE QUALQUER CONTA IRÁ OU TERÁ PROBABILIDADE DE OBTER LUCROS OU PERDAS SEMELHANTES AOS ABORDADOS NESTE SITE. SE DECIDIR INVESTIR DINHEIRO REAL, TODAS AS DECISÕES DE NEGOCIAÇÃO NOS MERCADOS FINANCEIROS DEVEM SER DA SUA INTEIRA RESPONSABILIDADE.

    © StrategyQuant 2026

    Desenvolvido por Klaudie.ai

    Voltar ao marketplaceDIGITAL

    CUSUM

    StrategyQuantIndicadores
    CUSUM

    Deteta alterações subtis, mas contínuas, no comportamento dos preços através da análise de somas cumulativas. Acompanha desvios ascendentes e descendentes com limiares configuráveis para gerar sinais de negociação fiáveis.

    Indicador CUSUM no StrategyQuant

    No artigo de hoje, vamos analisar mais detalhadamente uma implementação personalizada do indicador CUSUM (Cumulative Sum). Frequentemente utilizada no controlo estatístico de processos, a técnica CUSUM ajuda a detetar pequenas mudanças no nível médio de uma série. Esta implementação em particular foi concebida para integração no StrategyQuant, oferecendo aos traders uma forma dinâmica de monitorizar e reagir às mudanças do mercado.

    O que é o CUSUM?

    O CUSUM é uma técnica de análise sequencial que acumula desvios em relação a um valor-alvo ao longo do tempo. Ao comparar a soma cumulativa com limites definidos, torna-se mais fácil identificar até mesmo mudanças sutis no comportamento dos preços. Em nossa implementação, dois acumuladores separados — um para movimentos de alta (CUSUM Positivo) e outro para movimentos de baixa (CUSUM Negativo) — 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 utiliza um gráfico (geralmente 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 é fundamental, pois define a sensibilidade do indicador.
    • Limite (k): Define o limite de detecção. Um limite mais alto significa que o indicador fica menos sensível, reduzindo sinais falsos.
    • Deriva (μ): Considera a deriva esperada no processo, permitindo a detecção de alterações menores, porém persistentes.
    @Parameter(defaultChartIndex=0)
    public ChartData Chart;
    @Parameter(category="Default", name="Period", minValue=1, maxValue=10000, defaultValue="20", step=1)
    public int Period;
    @Parameter(category="Default", name="Threshold", minValue=0.1, maxValue=100, defaultValue="2", step=0.1)
    @Help("Detection threshold (k) - higher values make the indicator less sensitive")
    public double Threshold;
    @Parameter(category="Default", name="Drift", minValue=0, maxValue=10, defaultValue="0.5", step=0.1)
    @Help("Expected drift in the process (mu) - helps detect smaller persistent changes")
    public double Drift;

    Cálculo de Estatísticas Móveis

    Para cada nova barra (ou ponto no tempo), o código calcula a média móvel e o desvio padrão ao longo do período definido. Essas estatísticas servem como base para padronizar os dados atuais de preços.

    double sum = 0;
    double sumSquares = 0;
    for (int i = 0; i < Period; i++) {
    double price = Chart.Close(i);
    sum += price;
    sumSquares += price * price;
    }
    double mean = sum / Period;
    double variance = (sumSquares - (sum * sum / Period)) / (Period - 1);
    double stdDev = Math.sqrt(variance);
    // Prevent division by zero
    if (stdDev == 0) {
    stdDev = 1;
    }

    Padronização e Cálculo do 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 do CUSUM:

    • CUSUM Positivo: Acumula desvios positivos.
    • CUSUM Negativo: Acumula desvios negativos.

    Cada atualização subtrai tanto a deriva quanto o limite, garantindo que apenas desvios significativos contribuam para a soma cumulativa.

    // Get current standardized value
    double currentValue = (Chart.Close(0) - mean) / stdDev;
    // Calculate CUSUM values
    double prevCusumPos = getCurrentBar() > Period ? CusumPos.get(1) : 0;
    double prevCusumNeg = getCurrentBar() > Period ? CusumNeg.get(1) : 0;
    // Upper CUSUM
    CusumPos.set(0, Math.max(0, prevCusumPos + currentValue - Drift - Threshold));
    // Lower CUSUM
    CusumNeg.set(0, Math.max(0, prevCusumNeg - currentValue - Drift - Threshold));

    Tratamento de Casos Extremos

    Um detalhe importante é a verificação do desvio padrão. Quando os dados de preço são excessivamente 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 sob condições de baixa volatilidade.

    Juntando Tudo

    Este indicador CUSUM é uma ferramenta poderosa para traders que buscam capturar mudanças sutis, porém sustentadas, na ação dos preços. Ao se ajustar dinamicamente aos dados recentes do mercado (por meio de estatísticas móveis) e considerar o ruído através dos parâmetros de limite e deriva, o indicador oferece uma abordagem equilibrada para a geração de sinais.

    Se você tem interesse em incorporar este indicador em suas estratégias de negociação, o código foi estruturado para ser tanto adaptável quanto fácil de integrar no ambiente do StrategyQuant.

    Você me conhece como clonex. Eu sou Ivan Hudec — criei os blocos gratuitos que você está usando aqui e escrevo sobre a pesquisa por trás deles em algotrading.space. Precisa de algo personalizado? Trabalhe comigo.

    O desempenho passado não é garantia de sucesso futuro. Todas as informações devem ser consideradas apenas para fins educacionais Isenção de responsabilidade dos ESTADOS UNIDOS exigida pelo Governo - A Commodity Futures Trading Commission informa: A negociação de futuros e opções oferece grandes recompensas potenciais, mas também grandes riscos potenciais. Você deve estar ciente dos riscos e disposto a aceitá-los para investir nos mercados de futuros e opções. Não opere com dinheiro que não possa perder. Isto não é uma solicitação nem uma oferta para comprar/vender futuros, ações ou opções sobre os mesmos. Nenhuma declaração está sendo feita de que qualquer conta obterá ou terá probabilidade de obter lucros ou perdas semelhantes aos discutidos neste documento. O desempenho passado de qualquer sistema ou metodologia de negociação não é necessariamente indicativo de resultados futuros. REGRA 4.41 DA CFTC - RESULTADOS DE DESEMPENHO HIPOTÉTICOS OU SIMULADOS TÊM CERTAS LIMITAÇÕES. AO CONTRÁRIO DE UM REGISTRO DE DESEMPENHO REAL, RESULTADOS SIMULADOS NÃO REPRESENTAM NEGOCIAÇÕES REAIS. ALÉM DISSO, COMO AS OPERAÇÕES NÃO FORAM EXECUTADAS, OS RESULTADOS PODEM TER COMPENSADO O IMPACTO, SE HOUVER, DE CERTOS FATORES DE MERCADO, COMO A FALTA DE LIQUIDEZ. PROGRAMAS DE NEGOCIAÇÃO SIMULADOS EM GERAL TAMBÉM ESTÃO SUJEITOS AO FATO DE SEREM PROJETADOS COM O BENEFÍCIO DA ANÁLISE RETROSPECTIVA. NENHUMA DECLARAÇÃO ESTÁ SENDO FEITA DE QUE QUALQUER CONTA OBTERÁ OU TERÁ PROBABILIDADE DE OBTER LUCROS OU PERDAS SEMELHANTES AOS MOSTRADOS. NENHUMA DECLARAÇÃO ESTÁ SENDO FEITA DE QUE QUALQUER CONTA OBTERÁ, OU TERÁ PROBABILIDADE DE OBTER, LUCROS OU PERDAS SEMELHANTES AOS DISCUTIDOS NESTE SITE. SE DECIDIR INVESTIR DINHEIRO REAL, TODAS AS DECISÕES DE NEGOCIAÇÃO NOS MERCADOS FINANCEIROS DEVEM SER EXCLUSIVAMENTE SUAS.
    Grátis

    Arquivos

    • Snippet-CUSUM.sqm15 KBBloqueado

    O download é liberado após a compra ou com um plano ativo.

    Detalhes
    Versão1.0.0
    Publicado19 de outubro de 2026
    Última atualização2 de novembro de 2026
    AppSQ
    TypeSnippet
    Authorclonex / Ivan Hudec
    App version145.3058
    Codebase categoryIndicators / Signals