Conteúdo do artigo
- Evidências e escopo
- Ilustração
- Processo
- Uma linha ajustada descreve a janela observada.
- Ajuste apenas as observações anteriores à barra de detecção.
- Um retorno dentro do canal pode ser bem-sucedido ou não.
- Coeficientes congelados ainda podem implicar um centro móvel.
- O diagnóstico de resíduos não é um certificado de rentabilidade.
- O Volume pode filtrar eventos sem reescrever o canal.
- Testes cronológicos e controles úteis
- Erros comuns
- Lista prática de verificação
- Perguntas frequentes
- Fontes de pesquisa
Evidências e escopo
A Fidelity explica um indicador de regressão, enquanto a statsmodels e o NIST oferecem suporte para ajuste e diagnóstico. Nenhuma delas estabelece a rentabilidade da estratégia proposta de recuperação de canais.
Fluxo de trabalho prático
- Ajuste o modelo ao passadoUtilize o método de mínimos quadrados ordinários (OLS) com logaritmo de preço e intercepto, excluindo a barra de detecção.
- Verifique o contextoAplique os requisitos de declive e resíduo registados.
- Congele o modelo da excursãoArmazene os coeficientes e a origem de forma imutável.
- Aguarde a recuperaçãoExija fechamento dentro da banda, mas abaixo do centro usado como alvo.
- Avaliar o riscoTeste stops, saídas por tempo e custos fora da amostra de desenvolvimento.
Uma linha ajustada descreve a janela observada.
A Fidelity descreve seu Indicador de Regressão Linear através do ponto final de uma linha ajustada ao longo de N períodos ([1]). Este artigo amplia essa ideia descritiva com bandas residuais. Uma linha central inclinada significa que estar muito abaixo da linha não implica automaticamente em um preço fundamentalmente baixo ou em uma alta iminente.
Separe duas questões: o quão bem uma linha reta explica o período passado e se o desvio atual prevê um retorno subsequente. R² responde à primeira. Uma queda constante pode ter um alto valor de R², enquanto comprar abaixo da linha ajustada repetidamente resulta em perda de dinheiro.
Um canal pode ser usado para reversão à média ou continuação de tendência, mas essas são hipóteses concorrentes. A linha de base abaixo aguarda uma excursão de baixa e um retorno dentro da banda inferior congelada. Ela não muda para momentum quando uma operação histórica de reversão à média falha.
Ajuste apenas as observações anteriores à barra de detecção.
Para j=0…N−1, defina y[j]=log(C[j]) e ajuste y=a+bj por mínimos quadrados ordinários. Os resíduos são e[j]=y[j]−a−bj e s=sqrt(sum(e²)/(N−2)). A h passos além da janela ajustada, obtém-se m(h)=a+b(N−1+h), com faixas de preço exp(m(h)±ks). As configurações propostas são N=60 e k=2; rejeite preços não positivos e escala residual s próxima de zero.
statsmodels OLS não adiciona automaticamente um intercepto à matriz de desenho [2]; inclua uma coluna constante. Ajuste até t−1 e avalie o preço de fechamento da barra t em h=1. Incluir t permitiria que o próprio choque alterasse o centro e a largura usados para avaliá-lo.
O filtro de contexto de alcance proposto abs(b)×(N−1)/s≤1 compara a deriva ajustada com a escala residual. Trata-se de uma regra de triagem, não de um teste de estacionariedade. Salve os valores de a, b, s, o índice de origem e a janela de entrada ajustada quando uma excursão criar um candidato. Nunca reajuste esse candidato ativo.
A expiração deve ter precedência sobre o acionamento. O pseudocódigo explicita essa ordem e inicializa previous_z quando a excursão é detectada pela primeira vez. Dados ausentes, resultados de ajuste não finitos e escala residual zero desabilitam o candidato, em vez de permitir divisão por zero ou um escore z extremo artificial.
if no_candidate:
if invalid_or_nonpositive(close[t-N:t+1]): return
a,b,s = fit_log_ols(close[t-N:t], with_intercept=True)
if not finite(a,b,s) or s <= min_residual_scale: return
regime_ok = abs(b)*(N-1)/s <= 1.0
z = (log(C[t])-(a+b*N))/s
if regime_ok and z < -2:
freeze_candidate(a,b,s,origin=t-N,expiry=t+10,
previous_z=z,excursion_low=L[t])
else:
if t > candidate.expiry:
expire(); return
j = t-candidate.origin
z = (log(C[t])-(candidate.a+candidate.b*j))/candidate.s
update_excursion_low(L[t])
if candidate.previous_z < -2 and -2 <= z < 0:
emit_long(t)
candidate.previous_z = z
# Never refit an active candidate or backfill historical channels.
Um retorno dentro do canal pode ser bem-sucedido ou não.
Exemplo sintético: o centro ajustado é aproximadamente 100, a inclinação 0 e a escala residual logarítmica s=0.01. A banda inferior de dois sigmas é aproximadamente 98.02 e a banda superior 102.02. O preço 97.8 está fora da banda inferior; um fechamento subsequente 98.3 permite a reentrada. A entrada 98.4, o stop 97.5 e o alvo 100 implicam risco 0.9 e recompensa potencial 1.6, ou aproximadamente 1.78R antes dos custos.
A trajetória sintética bem-sucedida atinge primeiro 100. Na trajetória de falha, novas informações levam o preço para 96 e, em seguida, para 94. A posição deve ser encerrada a um preço viável próximo a 97.5 ou, pior ainda, se houver um gap. Um bom ajuste histórico não impede uma mudança no ambiente de geração de preços.
Não aumente o sigma após a queda e declare que o stop anterior nunca foi realmente atingido. Isso alteraria o snapshot da decisão usando o resultado. As atualizações do modelo para candidatos futuros não devem alterar a contabilização de uma negociação existente.
Outro caminho salta diretamente de 97.8 para 101. Embora tenha retornado dentro da banda, a linha de base exige z<0 e, portanto, não compra acima de sua meta central. Essa regra é definida antecipadamente, em vez de ser adicionada após a identificação de uma relação risco-retorno desfavorável.
Coeficientes congelados ainda podem implicar um centro móvel.
Congelar os coeficientes a e b não torna o centro projetado horizontal. Ele continua seguindo a inclinação original à medida que o índice de tempo avança. No sinal, congele um alvo igual ao centro projetado para o tempo de entrada esperado e uma parada abaixo de toda a excursão mínima menos uma margem de segurança.
A posição proposta tem um tempo de saída de dez barras caso nem o alvo nem o stop sejam atingidos. O vencimento da posição candidata e o tempo de saída da posição são diferentes: um limita a espera por uma recuperação, o outro limita a manutenção da posição após a entrada. Armazene ambos para evitar estender acidentalmente uma posição candidata quando uma negociação for aberta.
Se a execução atrasar além do horário de entrada esperado, defina se a meta congelada permanece inalterada ou é cancelada antes da submissão, de acordo com uma regra econômica. Não altere a meta após a execução apenas para manter a recompensa potencial atrativa.
Compare as premissas de próxima abertura e cotação executável em torno de movimentos rápidos. Um cruzamento de linha histórico não garante a execução da ordem nessa linha. Se o alvo for uma ordem limite já enviada, modele sua ativação, quantidade e potencial não execução, em vez de creditar automaticamente o preço central sempre que uma barra posterior o ultrapassar.
O diagnóstico de resíduos não é um certificado de rentabilidade.
O NIST discute pressupostos clássicos dos resíduos, como independência e variância estável [3]. Os preços financeiros podem violá-los. Portanto, ±2s não representa automaticamente um intervalo de previsão de 95% para o próximo preço, e o valor p convencional da inclinação OLS não comprova uma vantagem negociável.
Inspecione a autocorrelação residual, as caudas e a estabilidade de s entre janelas. Resíduos persistentes de um lado podem indicar que a estratégia está operando contra uma nova tendência. Esses diagnósticos devem explicar o comportamento do modelo, sem selecionar apenas episódios históricos favoráveis.
Uma comparação prática mantém instantâneos congelados para cada candidato e plota o movimento do preço em relação a esses instantâneos. Se a reversão aparente ocorrer apenas porque um centro reajustado repetidamente se move em direção ao preço, o efeito é a adaptação do modelo, e não o retorno do preço à sua referência original.
R², erro padrão e escore z têm propósitos diferentes. R² descreve o ajuste, o erro padrão resume a escala residual dentro da janela e o escore z expressa um desvio atual nessa escala fixa. Nenhum deles deve ser reinterpretado como probabilidade de sucesso na próxima operação.
O Volume pode filtrar eventos sem reescrever o canal.
Uma hipótese proposta evita operar contra o movimento do preço quando RVOL está excepcionalmente alto, pois isso pode acompanhar uma reprecificação. Outra busca atividade elevada durante a excursão, seguida de menor atividade no retorno à banda. Escolha e registre uma característica antes de examinar resultados, sem usar as duas explicações conforme a conveniência.
Utilize uma linha de base no mesmo horário, registre os spreads e as notícias com carimbo de data/hora, se disponíveis, e evite que o volume de excursões concluídas influencie uma decisão antes do término da excursão. Na confirmação da recuperação, a excursão observada pode ser resumida, mas o available_at da feição deve refletir sua entrada mais recente.
Alterar a regressão OLS para regressão ponderada por volume modifica o próprio modelo. Avalie-o como uma versão distinta em comparação com a linha de base não ponderada. Caso contrário, um benefício relatado do volume pode combinar uma mudança no centro, uma mudança na escala residual e uma mudança no filtro de entrada, sem identificar qual componente é relevante.
Testes cronológicos e controles úteis
Compare o canal de regressão com uma média plana no estilo Bollinger e uma linha de base de escore z sem inclinação sob políticas equivalentes de entrada, saída e custo. Selecione N, k e o filtro de contexto nos dados de desenvolvimento e, em seguida, preserve um teste final não visto. Elimine intervalos de rótulos comerciais sobrepostos quando uma divisão resultar no mesmo desfecho de excursão.
Os testes de implementação devem verificar o intercepto, o final da janela t−1, a escala logarítmica, os graus de liberdade, s igual a zero, as observações faltantes e a invariância do prefixo. Teste um candidato expirado que reentra na próxima barra: ele deve permanecer expirado em vez de emitir um sinal atrasado.
Relate o retorno líquido, a perda extrema na cauda da distribuição, o tempo sem negociação e o desempenho por regime previamente definido. Analise os preenchimentos e gaps sob estresse. Se a rentabilidade depender do crédito de um preenchimento exato no centro de uma barra com gap ambíguo, o modelo de execução precisa ser corrigido antes que conclusões econômicas sejam tiradas.
Um polinômio de ordem superior pode se ajustar melhor à história, embora introduza extrapolações instáveis e mais opções de pesquisa. A linha de base linear é valiosa porque seus coeficientes, projeções e casos de falha podem ser auditados diretamente.
Erros comuns
Reajustar canais históricos
A linha atual reescreve os sinais anteriores e faz com que o gráfico pareça consistentemente preciso.
Transformando R² em taxa de vitórias
O ajuste explicativo dentro da amostra não é o mesmo que o desempenho preditivo de negociação.
Operar contra uma mudança de regime
O canal antigo pode perder relevância quando novas informações reavaliam o preço do instrumento.
Lista de verificação antes de usar este método
Marque cada item após verificá-lo nos seus dados. O progresso fica salvo neste navegador; isso não certifica que a estratégia seja lucrativa.
Perguntas frequentes
A regressão é sempre melhor que as Bandas de Bollinger?
Não. A regressão adiciona uma inclinação e escolhas de modelo. Compare com as mesmas regras de negociação e execução para isolar seu valor.
Um polinômio pode melhorar o ajuste?
Pode ser pesquisado, mas isso adiciona graus de liberdade e risco de extrapolação. Uma melhor correspondência histórica por si só não estabelece uma estratégia melhor.
Fontes de pesquisa
Cada fonte sustenta a definição ou evidência descrita ao lado. O pseudocódigo, os exemplos sintéticos e os parâmetros propostos exigem validação separada.
- Linear Regression IndicatorFidelity. Leia a definição do ponto final do indicador de regressão. Verificado em: .
- statsmodels OLSstatsmodels. Leia o intercepto OLS, os dados faltantes e o comportamento do ajuste. Verificado em: .
- Are the model residuals well-behaved?NIST/SEMATECH. Leia as hipóteses clássicas sobre resíduos; estas não são conclusões sobre a previsibilidade do mercado. Verificado em: .
Métodos relacionados
Nota de risco
Este conteúdo apoia a educação e o planejamento de pesquisas, não constitui aconselhamento financeiro. O Backtest é uma simulação histórica, não garante desempenho futuro e não executa operações reais. Os métodos desta biblioteca não são necessariamente recursos disponíveis no aplicativo. Consulte a metodologia e a central de aprendizado.
Valide as regras antes de arriscar capital real
Verifique o suporte do aplicativo, os dados e cada operação simulada; detectores avançados podem exigir uma implementação própria.
Baixe o Backtest na App Store