VAR multivariado, cointegração e pair trading

Objetivos de Aprendizagem

  • Reconhecer quando usar modelos multivariados (VAR)
  • Testar cointegração entre pares de ativos
  • Formular estratégias de pair trading baseadas em evidência estatística
  • Avaliar as oportunidades e limitações de ML/IA em finanças

Modelos VAR: Vetorial Autoregressivo

Quando uma série não é suficiente

Até agora, modelamos cada série isoladamente (univariado). Mas muitas vezes, múltiplas séries se influenciam mutuamente: a taxa de juros afeta o câmbio, que afeta a inflação, que afeta a taxa de juros. O modelo VAR (Vetor Autoregressivo) captura essas interdependências.

VAR(1) com 2 variáveis \[\begin{pmatrix} y_{1,t} \\ y_{2,t} \end{pmatrix} = \begin{pmatrix} c_1 \\ c_2 \end{pmatrix} + \begin{pmatrix} \phi_{11} & \phi_{12} \\ \phi_{21} & \phi_{22} \end{pmatrix} \begin{pmatrix} y_{1,t-1} \\ y_{2,t-1} \end{pmatrix} + \begin{pmatrix} \varepsilon_{1,t} \\ \varepsilon_{2,t} \end{pmatrix}\]

Note que cada variável depende não só do seu próprio passado, mas também do passado das outras variáveis. Os coeficientes \(\phi_{12}\) e \(\phi_{21}\) capturam essas interações cruzadas.

VAR(p) generalizado

VAR(p) na forma matricial \[\mathbf{y}_t = \mathbf{c} + \boldsymbol{\Phi}_1 \mathbf{y}_{t-1} + \boldsymbol{\Phi}_2 \mathbf{y}_{t-2} + \cdots + \boldsymbol{\Phi}_p \mathbf{y}_{t-p} + \boldsymbol{\varepsilon}_t\]

Escolha da ordem \(p\): usa-se critérios de informação (AIC, BIC) aplicados ao sistema como um todo.

Forma reduzida vs. forma estrutural

A equação acima é a forma reduzida do VAR: cada variável depende apenas do passado das variáveis. As relações contemporâneas entre as variáveis ficam escondidas dentro da matriz de covariância \(\Sigma = \text{Cov}(\boldsymbol{\varepsilon}_t)\): se \(\sigma_{12} \neq 0\), há correlação entre os choques de \(y_1\) e \(y_2\) no mesmo instante.

Para separar essas relações contemporâneas usamos a decomposição de Cholesky de \(\Sigma\):

Decomposição de Cholesky \[\Sigma = L G L^\top\]

onde \(L\) é triangular inferior com 1’s na diagonal e \(G\) é diagonal. Pré-multiplicando o VAR por \(L^{-1}\) obtemos a forma estrutural:

\[L^{-1} \mathbf{y}_t = L^{-1} \mathbf{c} + L^{-1} \boldsymbol{\Phi}_1 \mathbf{y}_{t-1} + \cdots + \mathbf{b}_t\]

onde \(\mathbf{b}_t = L^{-1} \boldsymbol{\varepsilon}_t\) tem covariância diagonal. Agora o sistema expõe relações contemporâneas: a segunda equação, por exemplo, passa a conter \(y_{1,t}\) (e não apenas \(y_{1,t-1}\)).

NotaPor que isso importa?

A ordem das variáveis no vetor \(\mathbf{y}_t\) importa na Cholesky: a primeira variável afeta todas as demais contemporaneamente, mas não é afetada por elas. Essa escolha embute uma hipótese causal — na prática, ordena-se das variáveis “mais exógenas” (ex.: taxa de juros) para as “mais endógenas” (ex.: inflação). A Cholesky é a base da interpretação estrutural das IRFs.

Regressão espúria: o perigo das séries I(1)

Quando duas séries são I(1) (integradas de ordem 1) e não-cointegradas, rodar uma regressão linear entre elas produz, tipicamente, \(R^2\) alto, \(t\)-estatísticas enormes e resíduos fortemente autocorrelacionados — tudo parece ótimo, mas a relação é espúria. Esse é o problema clássico de Granger e Newbold (1974): com duas caminhadas aleatórias independentes, a regressão “encontra” relacionamentos inexistentes.

Tyler Vigen mantém um catálogo divertido dessas correlações espúrias em tylervigen.com/spurious-correlations: número de filmes de Nicolas Cage × afogamentos em piscinas, consumo per capita de queijo × mortes por enrosco em lençóis. Todas têm \(r > 0{,}9\) — e nenhuma faz sentido.

A regra operacional é simples: antes de rodar uma regressão entre séries de preços, teste raiz unitária (ADF) em ambas. Se forem I(1), use primeiras diferenças (retornos) ou teste cointegração.

Causalidade de Granger

\(X\) Granger-causa \(Y\) se… \[\text{O passado de } X \text{ ajuda a prever } Y \text{ além do passado de } Y \text{ sozinho}\]

Operacionalmente: estima-se um VAR com e sem os lags de \(X\) na equação de \(Y\). Se incluir \(X\) melhora significativamente a previsão (teste F), dizemos que \(X\) “Granger-causa” \(Y\).

AvisoCausalidade de Granger \(\neq\) Causalidade Real

É um teste de precedência temporal e poder preditivo, não de causa-efeito. O preço do sorvete pode “Granger-causar” afogamentos, mas ambos são causados pelo calor (variável omitida). O nome “causalidade” é infeliz — seria mais preciso chamar de “precedência preditiva”.

Funções de Resposta ao Impulso (IRF)

Uma das ferramentas mais úteis do VAR: simulam o efeito de um choque em uma variável sobre todas as outras ao longo do tempo.

Exemplo: “Se a Selic subir inesperadamente 1%, qual o efeito no câmbio e na inflação nos próximos 12 meses?”

Cointegração

A diferença entre correlação e cointegração

Dois conceitos são frequentemente confundidos mas são fundamentalmente diferentes:

Conceito O que mede Propriedade
Correlação Co-movimento no curto prazo Pode ser espúria entre séries I(1)
Cointegração Relação de equilíbrio de longo prazo Implica reversão à média do spread

O que é cointegração?

Duas séries não-estacionárias \(y_t\) e \(x_t\) são cointegradas se existe uma combinação linear delas que é estacionária. Elas podem divergir no curto prazo, mas tendem a voltar a uma relação de equilíbrio no longo prazo.

Cointegração — definição \[y_t \sim I(1), \quad x_t \sim I(1), \quad \text{mas} \quad y_t - \beta x_t \sim I(0)\]

Simulador interativo: Cointegração vs. Correlação

DicaExperimente!
  • Velocidade de reversão alta (0.20–0.30): o spread volta rapidamente ao equilíbrio — bom para pair trading
  • Velocidade de reversão baixa (0.01–0.05): o spread demora a reverter — sinal de cointegração fraca, mais arriscado para trading
  • Ruído alto: mais variação no spread, bandas mais largas, mas a estrutura de reversão à média permanece

Testes de Cointegração

Teste de Engle-Granger (2 variáveis)

  1. Estime a regressão: \(y_t = \alpha + \beta x_t + e_t\)
  2. Teste se os resíduos \(\hat{e}_t\) são estacionários (teste ADF)
  3. Se rejeitarmos a raiz unitária nos resíduos → as séries são cointegradas
AvisoAtenção

O teste ADF nos resíduos usa valores críticos especiais (tabelas de Engle-Granger), não os valores críticos padrão do ADF. Isso porque \(\hat{e}_t\) é estimado, não observado.

Teste de Johansen (múltiplas variáveis)

Mais robusto que Engle-Granger quando há mais de 2 variáveis. Testa o rank de cointegração — quantas relações de equilíbrio independentes existem entre \(N\) variáveis. Se o rank é \(r\), existem \(r\) vetores de cointegração e \(N - r\) tendências estocásticas comuns.

Modelo de Correção de Erros (VECM)

Quando duas (ou mais) séries são cointegradas, o modelo “correto” não é um VAR nas diferenças nem nos níveis: é um VECM (Vector Error Correction Model), que combina as duas coisas. Para o caso bivariado:

VECM para \(P_{1t}, P_{2t}\) cointegrados \[\Delta P_{1,t} = \alpha_1 \underbrace{(P_{1,t-1} - \beta P_{2,t-1})}_{\text{termo de correção de erro}} + a_{11} \Delta P_{1,t-1} + a_{12} \Delta P_{2,t-1} + \varepsilon_{1,t}\] \[\Delta P_{2,t} = \alpha_2 (P_{1,t-1} - \beta P_{2,t-1}) + a_{21} \Delta P_{1,t-1} + a_{22} \Delta P_{2,t-1} + \varepsilon_{2,t}\]

Em forma matricial, escrevendo \(\Delta \mathbf{P}_t = (\Delta P_{1,t}, \Delta P_{2,t})^\top\), \(\boldsymbol\alpha = (\alpha_1, \alpha_2)^\top\), \(\boldsymbol\beta = (1, -\beta)^\top\):

\[\Delta \mathbf{P}_t = \boldsymbol\alpha\, \boldsymbol\beta^\top \mathbf{P}_{t-1} + A\, \Delta \mathbf{P}_{t-1} + \boldsymbol{\varepsilon}_t\]

  • \(\boldsymbol\beta\) é o vetor de cointegração — define a relação de equilíbrio de longo prazo
  • \(\boldsymbol\alpha\) é o vetor de velocidades de ajustamento — com que rapidez cada série volta ao equilíbrio quando há desvio
  • \(A\) contém a dinâmica de curto prazo nas diferenças

Intuição do termo de correção

Quando \(P_{1,t-1} - \beta P_{2,t-1} > 0\) (o preço 1 está “acima” do equilíbrio), \(\alpha_1 < 0\) faz \(P_1\) cair no período seguinte — puxando o spread de volta ao equilíbrio. É literalmente um termo de restauração como o de uma mola.

Pair Trading

A estratégia

Pair trading explora a reversão à média do spread entre dois ativos cointegrados:

flowchart LR
    A["1. Seleção de Pares<br/>(teste de cointegração)"] --> B["2. Calcular Spread<br/>(Y - βX)"]
    B --> C["3. Calcular Z-score<br/>(normalizar spread)"]
    C --> D["4. Sinais de Trading<br/>(entrar quando |z| > 2)"]
    D --> E["5. Fechar Posição<br/>(quando z ≈ 0)"]

    style A fill:#E50505,color:#fff
    style C fill:#FFCC00,color:#000
    style E fill:#3ACC9F,color:#fff

Engle-Granger em dois passos e o vetor de pesos do spread

A estratégia formal de pair trading usa a receita de Engle-Granger em dois passos:

  1. Rodar a regressão \(Y_t = \mu + \theta X_t + z_t\) por OLS, obtendo \(\hat\theta\)
  2. Testar se \(\hat z_t\) é estacionário (ADF). Se sim, \(Y\) e \(X\) são cointegrados com vetor \(\boldsymbol\beta = (1, -\hat\theta)^\top\)

O vetor de pesos da posição sintética é exatamente esse vetor de cointegração:

Pesos do spread \[\mathbf{w} = \begin{pmatrix} 1 \\ -\hat\theta \end{pmatrix} \quad \Longrightarrow \quad s_t = \mathbf{w}^\top \begin{pmatrix} Y_t \\ X_t \end{pmatrix} = Y_t - \hat\theta X_t\]

Operacionalmente: para cada 1 unidade long em \(Y\), tome uma posição short de \(\hat\theta\) unidades em \(X\). Esse é o tamanho correto do hedge — qualquer desvio dele deixa exposição residual ao risco de nível.

Aviso\(\hat\theta\) não é simétrico

Se você trocar os papéis de \(Y\) e \(X\) na regressão, o novo coeficiente não será \(1/\hat\theta\). Isso quebra a intuição estatística mas é uma consequência do OLS minimizar erro vertical. Alternativas: regressão TLS (Total Least Squares) ou estimação conjunta via Johansen, que trata as variáveis simetricamente.

Regras de Trading

Z-score do spread \[z_t = \frac{s_t - \bar{s}}{\sigma_s}\]

Sinal Z-score Ação
Entrada long spread \(z_t < -2\) Comprar Y, vender X (spread está “barato”)
Entrada short spread \(z_t > +2\) Vender Y, comprar X (spread está “caro”)
Saída \(|z_t| < 0.5\) Fechar ambas as posições (spread voltou ao normal)
Stop loss \(|z_t| > 3.5\) Fechar posições (possível quebra da relação)

Riscos do Pair Trading

  1. Quebra da cointegração: a relação de equilíbrio pode mudar (fusão, regulação, mudança estrutural)
  2. Velocidade de reversão: se o spread demora muito para reverter, o custo de carregamento pode superar o lucro
  3. Risco de execução: diferenças de liquidez entre os dois ativos
  4. Risco de modelo: a cointegração é estimada in-sample e pode não persistir out-of-sample

Caso: Pair Trading no Mercado Brasileiro

ITUB4 e BBDC4 são dois grandes bancos brasileiros. Historicamente, seus preços se movem juntos. Quando um fica “caro” relativo ao outro, existe oportunidade:

  1. Long no ativo relativamente barato (compra)
  2. Short no ativo relativamente caro (venda)
  3. Esperar a reversão à média do spread
  4. Fechar ambas as posições quando o spread normalizar

Discussão:

  • Como determinar o \(\beta\) (hedge ratio)?
  • Qual período de estimação usar?
  • Com que frequência recalibrar o modelo?
  • Qual o custo de manter posições short no Brasil?

IA e Machine Learning em Finanças

O panorama atual

Abordagem Uso em Finanças Cuidados
LLMs (GPT, Claude) Análise de notícias, sentimento, sumarização Não são modelos preditivos de preços
Random Forest / XGBoost Features para previsão, seleção de fatores Overfitting com dados financeiros (baixo sinal/ruído)
Redes Neurais (LSTM) Séries temporais complexas, alta frequência Precisa de muitos dados, caixa-preta
Reinforcement Learning Trading automatizado, execução ótima Instável, difícil de validar, risco de overfitting

Por que ML não é bala de prata em finanças?

  1. Baixa razão sinal/ruído: retornos financeiros são dominados por ruído — diferente de imagens ou texto, onde o sinal é forte
  2. Não-estacionariedade: os padrões mudam ao longo do tempo — um modelo treinado em 2020 pode ser inútil em 2025
  3. Competição: muitos participantes sofisticados exploram as mesmas oportunidades, eliminando padrões previsíveis rapidamente
  4. Overfitting: com milhares de features possíveis, é fácil encontrar padrões espúrios que não se sustentam fora da amostra
ImportanteA IA Não Substitui a Estatística

Os fatos estilizados (caudas pesadas, clusters de volatilidade, efeito alavancagem) existem independentemente do modelo. Entender por que um fenômeno acontece é mais importante do que ter um modelo que preveja com 0.1% a mais de acurácia. O GARCH com 3 parâmetros frequentemente supera redes neurais com milhares de parâmetros para previsão de volatilidade.

Quizzes: Teste seu Entendimento

Antes de estimar um VAR, teste se as séries são cointegradas (teste de Engle-Granger ou Johansen). Se forem cointegradas, o modelo correto é um VECM (Vector Error Correction Model), não um VAR em níveis. O VECM inclui um termo de correção de erro que captura a relação de equilíbrio de longo prazo. Se não forem cointegradas, pode-se usar um VAR nas primeiras diferenças (\(\Delta y_t\)). Usar VAR em níveis com séries I(1) não-cointegradas gera regressões espúrias.

Não! Correlação e cointegração são conceitos distintos. Duas séries I(1) podem ser altamente correlacionadas simplesmente porque ambas têm tendência crescente (correlação espúria). Exemplo: o preço das ações da Apple e o PIB dos EUA podem ter \(\rho = 0.95\) sem qualquer relação de equilíbrio. Para cointegração, precisamos que a combinação linear \(y_t - \beta x_t\) seja estacionária (reverta à média). É possível ter: (a) alta correlação sem cointegração, (b) cointegração com correlação moderada.

O spread está 2.5 desvios padrão acima da média histórica, indicando que o ativo Y está relativamente caro em relação ao ativo X (ou X está relativamente barato). Se a cointegração é válida, esperamos que o spread reverta à média. A ação seria: vender Y e comprar X (short spread), esperando lucrar quando o z-score retornar para próximo de zero. Porém, antes de agir, verifique: (a) a cointegração ainda é válida? (b) há algum evento fundamental que explique a divergência? (c) o z-score nunca esteve tão alto antes (possível quebra estrutural)?

Não. 90% de acurácia em previsão de retornos financeiros é um sinal quase certo de overfitting ou data leakage. Motivos para desconfiar: (1) retornos financeiros têm baixíssima razão sinal/ruído — até os melhores modelos do mundo raramente superam 55% de acurácia direcional de forma consistente; (2) LSTMs com muitos parâmetros memorizam padrões do treino; (3) possível leakage: dados futuros vazaram para o treino, features calculadas com dados de todo o período, etc. Pergunte: (a) como foi o split treino/teste? (b) quantos modelos/hiperparâmetros foram testados? (c) o modelo funciona em um período completamente fora da amostra?

A Causalidade de Granger testa se o passado de \(X\) ajuda a prever \(Y\) — é um teste de existência de relação preditiva (sim/não). A IRF mostra a dinâmica dessa relação: como um choque de 1 desvio padrão em \(X\) se propaga para \(Y\) (e vice-versa) ao longo do tempo, incluindo magnitude e duração. A IRF é mais informativa: além de dizer “sim, há relação”, mostra “o choque de \(X\) em \(Y\) atinge o pico após 3 períodos e se dissipa após 12”. Ambas são ferramentas do framework VAR.

Para Saber Mais

  • Hamilton, J.D. (1994). Time Series Analysis. Cap. 11 e 19.
  • Lütkepohl, H. (2005). New Introduction to Multiple Time Series Analysis. Springer.
  • Vidyamurthy, G. (2004). Pairs Trading: Quantitative Methods and Analysis. Wiley.
  • Gatev, E., Goetzmann, W., & Rouwenhorst, K. (2006). Pairs Trading: Performance of a Relative-Value Arbitrage Rule. Review of Financial Studies.
De volta ao topo