Prever o futuro com ARIMA / LSTM / Transformer financeiro
Três paradigmas de previsão de séries temporais, cada um com uma lógica completamente diferente. Vou explicar cada um com uma visualização do mecanismo.
ARIMA — AutoRegressive Integrated Moving Average
O modelo mais antigo e ainda o mais usado em produção. Parte de uma premissa simples: o futuro é uma combinação linear do passado. Três componentes:
AR (AutoRegressivo) — o valor atual depende dos p valores anteriores. Como se o preço de hoje fosse a média ponderada dos últimos p dias.
I (Integrado) — antes de modelar, diferencia a série para a tornar estacionária. Se os preços sobem em tendência, a diferença entre dias consecutivos é estável. O d diz quantas vezes diferencias.
MA (Média Móvel) — não dos preços, mas dos erros passados. Captura choques aleatórios que persistem por q períodos — uma notícia de ontem que ainda afeta hoje.O mecanismo do ARIMA em fórmula simples:
ŷₜ = φ₁yₜ₋₁ + φ₂yₜ₋₂ + … + φₚyₜ₋ₚ ← AR: preços passados
+ θ₁εₜ₋₁ + θ₂εₜ₋₂ + … + θqεₜ₋q ← MA: erros passados
+ εₜ ← ruído branco
Força: interpretável, rápido, funciona bem em séries curtas e estáveis. Fraqueza: puramente linear — não vê volatilidade clustering (quando mercados ficam erráticos durante semanas), não capta relações não-lineares, e assume que o passado distante importa tanto como o recente (com o mesmo decaimento linear).
LSTM — Long Short-Term Memory
Uma rede neuronal recorrente com um mecanismo de “memória seletiva”. O problema das RNNs normais é o vanishing gradient — ao propagar o erro para trás no tempo, o sinal desaparece e a rede esquece o que aconteceu há 50 passos. O LSTM resolve isso com três portões que controlam o que se lembra, o que se esquece, e o que se escreve:A célula LSTM em detalhe:
Forget gate: fₜ = σ(Wf · [hₜ₋₁, xₜ] + bf) → quanto da memória apagar (0 a 1)
Input gate: iₜ = σ(Wi · [hₜ₋₁, xₜ] + bi) → o que é relevante escrever
g̃ₜ = tanh(Wg · [hₜ₋₁, xₜ] + bg) → candidato a novo conteúdo
Cell state: Cₜ = fₜ ⊙ Cₜ₋₁ + iₜ ⊙ g̃ₜ → memória atualizada
Output gate: oₜ = σ(Wo · [hₜ₋₁, xₜ] + bo)
hₜ = oₜ ⊙ tanh(Cₜ) → o que passa para o exterior
A cell state Cₜ é o que torna o LSTM diferente — é uma “autoestrada” de informação que percorre todos os passos de tempo com modificações mínimas. O gradiente flui por ela sem desaparecer, permitindo aprender dependências de centenas de passos atrás.
Em finanças, isto significa que o modelo consegue lembrar: “há 90 dias entrámos num ciclo de subida de taxas” e usar isso para contextualizar o preço de hoje, algo que o ARIMA não consegue fazer.
Força: captura não-linearidades, lembra dependências longas, aprende automaticamente quais os lags relevantes. Fraqueza: processa a sequência passo a passo — não paralelizável durante o treino, lento em séries longas, e tende a overfitting com dados financeiros ruidosos.
Transformer financeiro
O transformer elimina a recorrência completamente. Em vez de processar o tempo de forma sequencial, olha para todos os pontos da série em simultâneo através de atenção. A grande intuição é: “o preço de hoje pode estar mais relacionado com o que aconteceu há 60 dias do que com o que aconteceu ontem — e o modelo deve aprender isso diretamente.”
Como funciona o mecanismo de atenção:
Para cada ponto da série temporal, o modelo cria três vetores — Query (o que estou à procura?), Key (que informação tenho?), Value (qual é o conteúdo?). A atenção é essencialmente um retrieval: a Query do passo t compara-se com todas as Keys dos outros passos, e o resultado é uma soma ponderada dos Values.
Attention(Q, K, V) = softmax( Q·Kᵀ / √dₖ ) · V
A divisão por √dₖ estabiliza os gradientes (sem ela, os dot products explodem para valores grandes e o softmax satura).
O que é diferente nos transformers financeiros (ex: Temporal Fusion Transformer, PatchTST, iTransformer):
Os transformers de linguagem atendem a tokens de palavras. Em séries financeiras, há três adaptações críticas:
1. Embeddings temporais — a posição no tempo não é só um índice. Os modelos financeiros injetam dia da semana, hora, semana do mês, distância a earnings, distância a expiração de opções como features adicionais na embedding de cada passo.
2. Atenção multi-escala — alguns modelos (como o PatchTST) agregam a série em “patches” (janelas de 16 ou 32 passos) antes de aplicar atenção. Isto reduz o custo quadrático O(n²) da atenção e força o modelo a pensar em padrões de médio prazo, não em ticks individuais.
3. Gating de variáveis — o Temporal Fusion Transformer (TFT) inclui uma camada que aprende quais as covariáveis (volume, VIX, taxa de juro, sentiment) são relevantes para cada horizonte de previsão, em vez de as usar todas cegamente.
Input: [preço, volume, VIX, taxa, sentiment] × T passos
↓
Embeddings (temporal + variável)
↓
Multi-Head Self-Attention (todos os passos vêem todos)
↓
Feed-Forward Network (por posição)
↓
[Decoder / head de regressão]
↓
Output: previsão t+1, t+2, … t+h (multi-step)
Força: paralelizável (treino muito mais rápido que LSTM em séries longas), captura dependências de qualquer distância sem degradação, pode incorporar dezenas de covariáveis heterogéneas, e os mapas de atenção são parcialmente interpretáveis — podes ver “em que passos passados o modelo se focou para prever este ponto.” Fraqueza: precisa de muito mais dados de treino do que ARIMA ou LSTM, é computacionalmente pesado na inferência com sequências muito longas, e pode aprender correlações espúrias em dados financeiros não-estacionários.
Comparação directa
| ARIMA | LSTM | Transformer | |
|---|---|---|---|
| Paradigma | Linear estocástico | Recorrência com memória seletiva | Atenção global paralela |
| Dependências longas | Fraco (decai exponencialmente) | Bom (cell state) | Excelente (atenção direta) |
| Não-linearidade | Nenhuma | Alta | Alta |
| Dados necessários | Pouco (100-500 obs.) | Médio (1k-10k) | Muito (10k-1M+) |
| Treino | Segundos | Minutos-horas | Horas-dias |
| Interpretabilidade | Alta (coeficientes) | Baixa | Média (mapas atenção) |
| Multi-step forecast | Degradação rápida | Moderada | Melhor |
| Regime changes | Não detecta | Detecta parcialmente | Detecta bem com dados |
| Melhor para | Commodities estáveis, FX de curto prazo | Equities com padrões não-lineares | Portfolios multi-activo, alta frequência |
A escolha prática em produção raramente é “qual o melhor” — é qual o mais robusto ao overfitting com os dados disponíveis. Com 2 anos de dados diários (≈500 observações), o ARIMA com covariáveis (ARIMAX) frequentemente bate os dois modelos de deep learning. Com dados de minuto de múltiplos activos, o transformer ganha. O LSTM continua a ser o “meio-termo sensato” para a maioria dos casos com dados históricos de 5-10 anos.