Uma série temporal é estacionária quando sua média, sua variância e sua autocovariância não mudam ao longo do tempo. Saber se uma série é estacionária é o primeiro passo antes de estimar qualquer modelo de previsão — e no Python você verifica isso com dois testes: o ADF (Augmented Dickey-Fuller) e o KPSS (Kwiatkowski-Phillips-Schmidt-Shin).
Neste tutorial mostramos, do conceito à prática, como testar a estacionariedade de séries econômicas brasileiras. Coletamos seis séries reais (Ibovespa, retornos da Ibovespa, IPCA, taxa de desocupação, câmbio e Selic), inspecionamos cada uma visualmente e aplicamos os dois testes para decidir, com evidência estatística, quais são estacionárias e quais precisam de tratamento.

Só de olhar já dá para intuir muita coisa. O câmbio e o nível do Ibovespa sobem sem voltar ao ponto de partida (têm tendência); os retornos da Ibovespa e o IPCA oscilam em torno de um patamar fixo (parecem estacionários). Mas a inspeção visual não fecha a questão, e para decidir com segurança aplicamos os testes formais.
Quer reproduzir esta análise?
O script completo em Python (coleta as seis séries via API do Banco Central e do Yahoo Finance, gera o painel de gráficos e roda os testes ADF e KPSS em todas elas) vai para os assinantes do Boletim AM. Assine, é gratuito, e receba o código pronto para rodar no seu e-mail.
O que é estacionariedade e por que ela decide tudo
Uma série temporal é uma sequência de observações ordenadas no tempo: a taxa de desocupação de um mês depende da do mês anterior, e embaralhar os dados destruiria a informação que a ordem carrega. A estacionariedade descreve como as propriedades estatísticas dessa sequência se comportam ao longo do tempo.
Na prática, usamos a estacionariedade fraca: a série é estacionária se a média é constante em todos os instantes e se a autocovariância entre duas observações depende só da distância entre elas, não do momento em que ocorrem. A estacionariedade forte é mais rigorosa (exige que toda a distribuição seja invariante no tempo), mas raramente é necessária para modelar.
Quase todo modelo de série temporal pressupõe estacionariedade. Um ARIMA, uma regressão entre séries, um teste de causalidade: todos assumem estrutura estatística estável. Rodar esses modelos numa série não estacionária gera relação espúria, com coeficientes que parecem significativos mas só refletem duas tendências caminhando juntas por acaso.
Séries com tendência (um movimento persistente de alta ou baixa) ou sazonalidade (um padrão que se repete a cada período) não são estacionárias, porque fazem o valor esperado mudar conforme o momento. No extremo oposto está o ruído branco (white noise): uma série sem memória, de média zero e variância constante, que mantém sempre a mesma cara. A maioria das séries econômicas nasce entre esses dois extremos.
Raiz unitária: o que os testes procuram
A raiz unitária é a marca formal da não estacionariedade. Uma série tem raiz unitária quando choques do passado não se dissipam: eles se acumulam permanentemente no nível da série, empurrando média e variância ao longo do tempo. O passeio aleatório (random walk), em que o valor de hoje é o de ontem mais um choque, é o exemplo clássico.
Testar raiz unitária é, portanto, testar estacionariedade. E o método deste tutorial segue quatro etapas, todas em Python:
📥
🧹
👁️
🧪
Os dois testes: ADF e KPSS
Usamos dois testes porque eles se complementam: partem de hipóteses nulas opostas, e cruzar as respostas reduz a chance de conclusão errada.
Teste ADF (Augmented Dickey-Fuller)
O ADF tem como hipótese nula que a série contém raiz unitária (é não estacionária). A regra é direta: se o p-valor for menor que 0,05, rejeitamos a nula e concluímos que a série é estacionária. Aplicado ao IPCA, o teste devolve um p-valor praticamente igual a zero:
| Teste ADF — IPCA | Valor |
|---|---|
| Estatística de teste | −7,144 |
| p-valor | 0,0000 |
| Valor crítico (1%) | −3,469 |
| Valor crítico (5%) | −2,879 |
| Valor crítico (10%) | −2,576 |
A estatística (−7,14) é bem menor que o valor crítico a 1% (−3,47) e o p-valor é praticamente nulo. Rejeitamos a hipótese nula: pelo ADF, o IPCA é estacionário.
Teste KPSS (Kwiatkowski-Phillips-Schmidt-Shin)
O KPSS é o espelho do ADF: a hipótese nula é que a série é estacionária. A leitura, portanto, inverte. Se o p-valor for maior ou igual a 0,05, não rejeitamos a nula e concluímos que a série é estacionária. No IPCA:
| Teste KPSS — IPCA | Valor |
|---|---|
| Estatística de teste | 0,123 |
| p-valor | 0,100 |
| Valor crítico (5%) | 0,463 |
| Valor crítico (1%) | 0,739 |
A estatística (0,123) é bem menor que o valor crítico a 5% (0,463) e o p-valor (0,10) está acima de 0,05. Não rejeitamos a hipótese nula: pelo KPSS, o IPCA também é estacionário. Os dois testes concordam — e é quando eles concordam que a conclusão é firme.
Como combinar os dois testes: os quatro cenários
Como as hipóteses são opostas, o cruzamento das duas respostas gera quatro cenários. Sempre aplique os dois testes e leia a combinação:
- Ambos indicam não estacionária → a série não é estacionária.
- Ambos indicam estacionária → a série é estacionária (o caso do IPCA).
- KPSS diz estacionária, ADF diz não → a série é tendência-estacionária: basta remover a tendência (uma regressão contra o tempo) para torná-la estacionária.
- KPSS diz não, ADF diz sim → a série é estacionária na diferença: basta diferenciá-la (subtrair de cada valor o anterior) para torná-la estacionária.
Os casos 3 e 4 não são becos sem saída — são receitas de tratamento. Eles dizem exatamente o que fazer para deixar a série pronta para modelagem.
O resultado nas seis séries brasileiras
Aplicando os dois testes a todas as séries, os quatro cenários aparecem nos dados reais:
| Série | ADF (p-valor) | KPSS (p-valor) | Veredito |
|---|---|---|---|
| Ibovespa (pontos) | 0,9954 | 0,0100 | Não estacionária |
| Retornos mensais da Ibovespa | 0,0000 | 0,1000 | Estacionária |
| IPCA (variação % mensal) | 0,0000 | 0,1000 | Estacionária |
| Taxa de desocupação (%) | 0,5547 | 0,0744 | Tendência-estacionária |
| Câmbio (R$/US$) | 0,4800 | 0,0100 | Não estacionária |
| Selic (% a.m.) | 0,1546 | 0,1000 | Tendência-estacionária |
Testes ADF e KPSS nas seis séries. Fontes: BCB (SGS) e Yahoo Finance. Amostra: mar/2012–mai/2026.
- Retornos da Ibovespa e IPCA são estacionários. Os dois testes concordam — prontos para modelar como estão.
- Nível do Ibovespa e câmbio são não estacionários. A tendência é visível no gráfico e confirmada pelos testes: precisam ser diferenciados antes de qualquer modelo.
- Desocupação e Selic são tendência-estacionárias. Caem no caso 3 — têm ciclos longos, mas oscilam em torno de uma trajetória removível. Basta retirar a tendência.
As ferramentas por trás


Considerações finais
Pular o teste de estacionariedade é o que enche uma análise de série temporal de armadilhas: modelos que ajustam bem no papel e erram feio fora da amostra. Com algumas dezenas de linhas de Python e dados públicos, você reproduz aqui o que até pouco tempo exigia software estatístico pago e conhecimento restrito: coletar séries reais, inspecioná-las e decidir, com evidência, quais precisam de tratamento antes de virar um modelo.
O Python é a ferramenta certa para isso porque reúne, num único ambiente, a coleta (via APIs do Banco Central e do Yahoo Finance), o tratamento dos dados e o teste estatístico. O mesmo caminho de sempre, de coletar a testar, se repete em quase todo problema de dados econômicos e financeiros. O que muda é quem usa e para quê:
- Economistas: garantem que modelos de inflação, câmbio e atividade partem de séries tratadas, evitando regressões espúrias.
- Analistas de dados: automatizam o diagnóstico de estacionariedade antes de qualquer previsão, em vez de decidir no olho.
- Gestores e traders: distinguem uma série com memória (que pode reverter à média) de um passeio aleatório (que não), decisão central para estratégias quantitativas.
- Profissionais de risco e atuária: validam premissas estatísticas de séries de perdas, juros e sinistros antes de modelá-las.
Dominar a linguagem dá acesso a todas essas frentes com uma ferramenta só.
Você viu como funciona; agora aprenda a construir
A Formação Do Zero à Análise de Dados Econômicos e Financeiros ensina a coletar, tratar, modelar e prever séries como as deste tutorial usando Python e inteligência artificial, mesmo para quem nunca programou. Quem quer acesso a todas as formações tem o AM Black, a assinatura anual.
Leia também: