
Como usar Cadeias de Markov para vencer em todas as operações (Framework Quant)
AI features
- Views
- 2.9M
- Likes
- 1.4K
- Reposts
- 203
- Comments
- 45
- Bookmarks
- 4.9K
TL;DR
Este guia abrangente explica como construir modelos de Cadeias de Markov para trading, cobrindo matrizes de transição, probabilidades de múltiplos passos e Modelos Ocultos de Markov para detectar estados ocultos do mercado.
Reading the PORTUGUÊS translation
Vou explicar como os fundos de hedge usam Cadeias de Markov para encontrar consistentemente operações vencedoras de alta probabilidade e compartilhar o framework exato que você pode começar a construir hoje.
Vamos direto ao ponto.
Marque isto - Sou Roan, desenvolvedor backend trabalhando com design de sistemas, execução estilo HFT e sistemas de trading quantitativo. Meu trabalho foca em como os mercados de previsão realmente se comportam sob carga. Para sugestões, colaborações ou parcerias, minhas DMs estão abertas.
A maioria dos traders olha para um gráfico e vê preço.
Os quants olham para o mesmo gráfico e veem algo completamente diferente. Eles veem uma sequência de estados. Alta. Baixa. Lateral. Cada estado carregando sua própria probabilidade de persistir ou transitar para o próximo. Cada transição governada por matemática que já foi usada para modelar desde inadimplência de empréstimos até sequências de DNA e o algoritmo PageRank original do Google.
O framework é chamado de Cadeia de Markov. E é uma das ferramentas mais versáteis e subutilizadas no trading sistemático.
Enquanto a maioria dos traders de varejo está desenhando linhas de suporte e observando o RSI, as equipes de pesquisa quantitativa em firmas como Citadel e Two Sigma estão construindo modelos de mudança de regime que entendem não apenas onde o mercado está, mas para onde é mais provável que vá a seguir, com base em onde esteve. A matemática por trás desses modelos começa exatamente aqui.
Já escrevi o framework completo de implementação de redes neurais para construir sinais de trading de machine learning. Esse artigo é o complemento lógico para este.
Ao final deste artigo, você entenderá exatamente o que é uma Cadeia de Markov e por que ela mapeia o comportamento do mercado melhor do que qualquer indicador isolado, como construir um modelo completo de transição de estados a partir de dados reais de mercado, como calcular a probabilidade de qualquer estado futuro do mercado usando nada mais que multiplicação de matrizes, o pipeline completo de implementação, desde dados brutos de preço até sinais de trading ao vivo, e os erros exatos que fazem a maioria dos modelos de Cadeia de Markov falharem em mercados reais.
Nota: Este artigo é deliberadamente longo. Cada parte se baseia na anterior. Se você leva a sério a ideia de adicionar uma vantagem quantitativa genuína ao seu trading, leia cada palavra. Se está procurando um atalho, isso não é para você.
Parte 1: Por que a Independência Falha e Onde as Cadeias de Markov Começam
Antes de construir qualquer coisa com Cadeias de Markov, você precisa entender o problema fundamental que elas foram projetadas para resolver.
A maioria dos modelos básicos de probabilidade assume independência. Cada evento é tratado como se não tivesse conexão com o que veio antes. Jogue um dado. O resultado do lançamento 100 não tem nada a ver com o lançamento 99. Cada lançamento é completamente independente.
Os mercados não funcionam assim.
Imagine que você está modelando uma carteira de empréstimos. Cada empréstimo, a qualquer momento, pode estar em um de quatro estados: em dia, 30 a 59 dias atrasado, 60 a 89 dias atrasado, ou 90+ dias atrasado. Você quer modelar como essa carteira evolui ao longo do tempo. Então você tenta a abordagem mais simples. Modela cada mês de forma independente. Você extrai da distribuição histórica de cada estado.
Um mês depois, seu modelo diz que alguns empréstimos que estavam em dia no mês passado agora estão com 90+ dias de atraso.
Isso é matematicamente impossível. Um empréstimo não pode pular de "em dia" para "90+ dias atrasado" em um único período de 30 dias. A suposição ingênua de independência produziu um modelo que viola a realidade.
Este é exatamente o problema que as Cadeias de Markov resolvem. Em vez de assumir que cada passo é independente de tudo que veio antes, uma Cadeia de Markov introduz dependência condicional local. O próximo estado depende do estado atual. Não de tudo que aconteceu dez passos atrás. Apenas de onde você está agora.
Formalmente, uma sequência de variáveis aleatórias X₀, X₁, X₂, ... é uma Cadeia de Markov se satisfaz a propriedade de Markov:
P(Xₙ₊₁ = s | X₀, X₁, ..., Xₙ) = P(Xₙ₊₁ = s | Xₙ)
A probabilidade do próximo estado depende apenas do estado atual, não de toda a história. Esta única propriedade é o que torna as Cadeias de Markov simultaneamente tratáveis e poderosas. Elas capturam a estrutura de dependência essencial de um processo sem exigir que você rastreie toda a história.
Para os mercados financeiros, isso se traduz diretamente. A probabilidade de o mercado estar em um regime de alta no próximo mês depende se ele está em um regime de alta, baixa ou lateral este mês. Não do que aconteceu há dois anos. O estado atual carrega toda a informação relevante que você precisa para prever o próximo estado.

Isso não é uma simplificação feita por conveniência. É uma suposição matematicamente fundamentada que, quando aplicada corretamente, produz modelos dramaticamente mais precisos do que a independência ingênua, permanecendo computacionalmente tratável.
Parte 2: Construindo o Espaço de Estados e a Matriz de Transição
O primeiro passo prático na construção de um modelo de trading com Cadeia de Markov é definir seus estados. Isso é mais importante do que a maioria dos profissionais percebe.
Para mercados financeiros, definições comuns de estado incluem:
Regimes de volatilidade: Baixa volatilidade, média volatilidade, alta volatilidade definidos por limites de volatilidade realizada móvel.
Regimes de tendência: Alta, baixa, lateral definidos pela posição do preço em relação às médias móveis ou pelo sinal e magnitude dos retornos recentes.
Regimes de liquidez: Alta liquidez, baixa liquidez definidos por spreads de compra e venda ou profundidade do livro de ordens.
Regimes de crédito: Risk-on, risk-off definidos por spreads de crédito ou correlações entre ativos.
Para uma implementação inicial concreta, um modelo de regime de mercado de três estados funciona bem. Defina:
Estado 0 como Alta: o retorno de 20 dias está acima de um limite positivo. Estado 1 como Baixa: o retorno de 20 dias está abaixo de um limite negativo. Estado 2 como Lateral: tudo no meio.
O requisito chave é que seus estados devem ser mutuamente exclusivos e coletivamente exaustivos. Cada observação deve cair em exatamente um estado em qualquer ponto no tempo. Sem lacunas e sem sobreposições.
Depois de definir seus estados, você precisa estimar as probabilidades de transição entre eles. Esta é a matriz de transição. Cada entrada P(i,j) representa a probabilidade de passar do estado i para o estado j em um passo de tempo.
A matriz de transição para um modelo de três estados se parece com isso:
P = | P(0,0) P(0,1) P(0,2) | | P(1,0) P(1,1) P(1,2) | | P(2,0) P(2,1) P(2,2) |
Cada linha deve somar exatamente 1,0 porque, a partir de qualquer estado, o sistema deve transitar para algum estado no próximo passo, incluindo permanecer no mesmo estado.
O estimador de máxima verossimilhança para cada probabilidade de transição é lindamente simples. Conte quantas vezes o sistema transitou do estado i para o estado j. Divida pelo número total de transições saindo do estado i:
P̂(i,j) = Contagem(i → j) / Contagem(i → qualquer estado)
Esta é exatamente a maneira como você estimaria uma probabilidade intuitivamente. É também o que a derivação completa do estimador de máxima verossimilhança produz quando você maximiza a função de log-verossimilhança para dados de Cadeia de Markov. A resposta intuitiva e a resposta matematicamente rigorosa são as mesmas.
Aqui está a implementação completa em Python:
A matriz de transição que você produz a partir deste processo é o mapa do seu mercado. Cada entrada informa a probabilidade de se mover entre dois regimes específicos. É a base de tudo que se segue.
Parte 3: Calculando Probabilidades de Transição em Múltiplos Passos
É aqui que as Cadeias de Markov se tornam genuinamente poderosas como ferramenta de trading.
Você agora tem a matriz de transição de um passo P. Mas o que você realmente quer saber como trader não é apenas o que acontecerá no próximo mês. Você quer saber como o mercado provavelmente estará daqui a três meses, seis meses, doze meses. Você quer saber a probabilidade de começar em um regime de alta hoje e terminar em um regime de baixa após doze transições.
É aqui que a equação de Chapman-Kolmogorov entra. Ela afirma que a probabilidade de transição em n passos do estado i para o estado j é a entrada (i,j) da matriz P elevada à enésima potência:
P^(n)(i,j) = [Pⁿ]ᵢⱼ
É isso. Para calcular a probabilidade de transitar de qualquer estado para qualquer outro estado em n passos, você simplesmente multiplica a matriz de transição por ela mesma n vezes e lê a entrada correspondente.
Este é um resultado extraordinariamente elegante. Toda a complexidade matemática de calcular caminhos através de um espaço de estados em múltiplos passos se reduz a uma única potência de matriz.
O que isso lhe diz como trader é específico e acionável. Se você está atualmente em um regime de alta, agora pode quantificar a probabilidade de ainda estar em um regime de alta em 12 meses versus ter transitado para baixa ou lateral. Essa probabilidade informa seu dimensionamento de posição, suas decisões de hedge e sua alocação de estratégia.
Há outro resultado crítico deste framework: a distribuição estacionária. À medida que n se torna muito grande, a distribuição entre os estados converge para um vetor fixo π, independentemente do estado inicial:
π = π × P
A distribuição estacionária informa a proporção de longo prazo do tempo que o mercado passa em cada regime. Na prática, você resolve para π usando:
A distribuição estacionária é sua linha de base de longo prazo. Qualquer estratégia que aposte fortemente em um regime que a distribuição estacionária indica ser raro está assumindo um risco de cauda significativo. Conhecer as proporções de regime de longo prazo é essencial para o design da estratégia.

Parte 4: Do Modelo de Regime ao Sinal de Trading
Ter um modelo de regime não é uma estratégia de trading. Convertê-lo em uma requer conectar as probabilidades do regime a decisões específicas de posição.
A percepção central é esta: a Cadeia de Markov fornece uma distribuição de probabilidade sobre os estados futuros em cada ponto no tempo. Seu sinal de trading é uma função dessa distribuição.
A abordagem mais simples é a alocação direta baseada em regime. Quando o modelo diz que você está em um regime de alta, fique comprado. Quando em baixa, fique vendido ou neutro. Quando lateral, reduza o tamanho da posição.
Uma abordagem mais sofisticada usa o vetor de probabilidade completo como entrada para o dimensionamento da posição. O vetor de distribuição de estado atual π_t representa sua alocação de probabilidade entre os regimes no tempo t. Você pode construir uma posição que seja proporcional à sua confiança em cada regime:
A estrutura de walk-forward no backtest acima é crítica. Você reestima a matriz de transição a cada passo usando apenas os dados históricos disponíveis naquele ponto. Você nunca usa informações futuras para estimar probabilidades passadas. Esta é a diferença entre um backtest realista e um que está garantido a decepcionar no trading ao vivo.

Parte 5: O Pipeline Completo de Implementação e Limitações Críticas
Esta seção monta tudo em um sistema de trading com Cadeia de Markov pronto para produção e aborda as suposições que determinarão se seu modelo sobreviverá ao contato com mercados reais.
Implementação completa do sistema:
As três suposições que você deve entender antes de implantar:
A primeira é a própria propriedade de Markov. O modelo assume que o próximo estado depende apenas do estado atual, não de um histórico mais longo. Na realidade, os mercados às vezes exibem dependências de longo alcance. Uma tendência que está em execução há seis meses pode ter probabilidades de transição diferentes de uma que acabou de começar. Você pode abordar parcialmente isso expandindo seu espaço de estados para incluir informações de duração, embora isso aumente significativamente a complexidade.
A segunda é a homogeneidade temporal. O modelo assume que as probabilidades de transição são constantes ao longo do tempo. Não são. A probabilidade de um regime de alta transitar para baixa era muito diferente em 2008 do que em 2021. A mitigação padrão é a reestimação com janela móvel, que você já viu no backtest walk-forward acima. Janelas mais curtas se adaptam mais rápido, mas produzem estimativas mais ruidosas. Janelas mais longas produzem estimativas mais estáveis, mas ficam atrás das mudanças de regime.
A terceira são dados suficientes para uma estimativa confiável. O estimador de máxima verossimilhança converge para as probabilidades de transição verdadeiras à medida que você observa mais transições. Com poucas observações, particularmente para transições raras, suas estimativas serão ruidosas e não confiáveis. Sempre verifique se cada célula em sua matriz de transição foi estimada a partir de pelo menos 20 a 30 transições observadas. Caso contrário, considere mesclar estados ou estender seu histórico de dados.
Parte 6: Modelos Ocultos de Markov - Levando o Framework Adiante
Cada suposição no modelo até agora tem uma coisa em comum. Você assumiu que podia ver o regime.
Você rotulou cada dia como Alta, Baixa ou Lateral usando retornos móveis. Mas o regime nunca foi diretamente observável. Você o engenhou reversamente a partir do preço. Isso não é a mesma coisa. Um regime de baixa que ainda não apareceu nos preços porque o posicionamento institucional está mudando silenciosamente abaixo da superfície é completamente invisível para seus rótulos de estado.
Esta é a limitação central das Cadeias de Markov observáveis. Os Modelos Ocultos de Markov (HMM) resolvem isso.

Em um HMM, o regime verdadeiro é um estado oculto que você não pode observar. O que você pode observar é a sequência de retornos. Cada estado oculto gera retornos a partir de sua própria distribuição. O regime de alta produz retornos com média positiva e baixa variância. O regime de baixa produz retornos com média negativa e alta variância. O modelo aprende tanto as transições de regime quanto as distribuições de retorno ao mesmo tempo, apenas a partir dos dados de preço, sem que você rotule um único dia manualmente.
Existem dois algoritmos que fazem isso funcionar.
O primeiro é Baum-Welch. Este é o algoritmo que estima todos os parâmetros do modelo a partir da sequência observável de retornos. Você fornece os retornos. Ele aprende a matriz de transição, a distribuição de retorno para cada regime e as probabilidades iniciais, tudo sem exigir dados rotulados. Ele avança pela sequência calculando probabilidades, depois retrocede para refiná-las, repetindo até a convergência.
O segundo é Viterbi. Depois de ter um modelo ajustado, o Viterbi decodifica a sequência mais provável de regimes ocultos que produziu seus retornos observados. Ele não fornece probabilidades suaves. Ele fornece o melhor caminho único através do espaço de estados ocultos.
A geração de sinal é idêntica à Parte 4. A cada passo, você calcula a probabilidade de estar em cada regime agora. Você multiplica esse vetor pela matriz de transição para obter a previsão um passo à frente. Probabilidade de alta menos probabilidade de baixa dá sua posição.
Duas coisas para manter em mente antes de implantar isso.
Baum-Welch encontra um máximo local, não um global. Sempre execute a partir de múltiplos pontos de partida aleatórios e mantenha o modelo com a maior log-verossimilhança. A inicialização única padrão frequentemente produzirá atribuições de regime subótimas.
As variáveis de emissão que você escolhe importam mais do que qualquer outra decisão de design. Apenas os retornos carregam informações limitadas sobre o verdadeiro regime econômico. Retornos combinados com volatilidade realizada, spreads de crédito e estrutura a termo do VIX dão ao modelo um sinal muito mais rico. A escolha do que alimentar como observações é onde o conhecimento de domínio potencializa a matemática.
A Cadeia de Markov observável lhe deu um mapa de regime. O Modelo Oculto de Markov constrói esse mapa em tempo real a partir de sinais ruidosos, sem exigir um único ponto de dados rotulado manualmente. Essa é a direção para a qual os modelos institucionais de mudança de regime se moveram. Você agora tem o framework completo para construir um.
O Resumo
As Cadeias de Markov não preveem o futuro. O que elas fazem é algo mais útil. Elas quantificam a probabilidade de cada estado futuro possível, dado o estado atual. Elas fornecem um mapa matemático dos regimes de mercado e a probabilidade de transitar entre eles.
O framework é totalmente implementável em um fim de semana. A matriz de transição é estimada a partir de dados históricos em algumas linhas de Python. A equação de Chapman-Kolmogorov fornece previsões de n passos através de uma única potência de matriz. A distribuição estacionária informa a linha de base de longo prazo. E o backtest walk-forward informa se seu modelo tem poder preditivo genuíno ou está ajustando ruído.
As suposições são reais e importam. A homogeneidade temporal é violada. A propriedade de Markov é uma aproximação. O erro de estimação está sempre presente. Mas como um modelo de primeira passagem e como um bloco de construção para extensões mais sofisticadas de Modelos Ocultos de Markov, este framework foi implantado em produção em firmas reais e gerou vantagem real.
Você agora tem a implementação completa. O código está neste artigo. A matemática é explicada a partir dos primeiros princípios. As limitações críticas estão documentadas para que você saiba exatamente onde o modelo pode falhar e como mitigar essas falhas.
Aqui está a pergunta com a qual quero que você reflita.
O modelo de Cadeia de Markov define regimes com base no comportamento observável do preço. Mas os regimes de mercado mais importantes, aqueles em torno dos quais os traders institucionais realmente operam, são frequentemente impulsionados por fatores latentes como condições de crédito, postura da política monetária e apetite ao risco que não são diretamente visíveis apenas nos dados de preço. Se você estivesse projetando um Modelo Oculto de Markov para mercados, quais sinais observáveis você usaria como suas variáveis de emissão e por quê?
Deixe sua resposta nos comentários.
Não há resposta errada, mas há respostas muito reveladoras.


