Previsão do Câmbio através da Linguagem Python

Mostramos como a linguagem de programação Python pode ser utilizada para projetar variáveis macroeconômicas como o Câmbio (BRL/USD) por meio de um pipeline completo e reproduzível. O processo abrange desde a coleta e o tratamento dos dados até a modelagem e geração de previsões, combinando métodos estatísticos, técnicas de machine learning e ferramentas de inteligência artificial para apoiar a análise econômica e a tomada de decisão.
Projeção do Câmbio conforme metodologia selecionada

Introdução

O objetivo central do exercício é prever a taxa de câmbio brasileira. Como medida da variável dependente, utiliza-se a PTAX Livre – Dólar americano (venda), média do período, que representa a taxa de referência amplamente empregada em contratos e análises macroeconômicas. A escolha dessa métrica garante aderência às práticas de mercado e consistência com expectativas reportadas por instituições financeiras.

A seleção das variáveis explicativas é orientada por dois critérios complementares. Em primeiro lugar, consideram-se fundamentos baseados em modelos teóricos discutidos anteriormente, como diferenciais de juros, inflação e variáveis externas. Em segundo lugar, aplica-se o método Recursive Feature Elimination (RFE) para refinar o conjunto de preditores de forma orientada a desempenho preditivo. Algumas variáveis são mantidas de forma obrigatória, com base em fundamentos econômicos definidos a priori, garantindo coerência teórica ao modelo.

O horizonte de previsão adotado é de 12 meses à frente. A estratégia de modelagem envolve a definição de hiperparâmetros por meio de grid search, seguida da avaliação de desempenho com validação cruzada apropriada para séries temporais. O procedimento utiliza reestimação recursiva com janela de treino crescente, partindo de uma amostra inicial equivalente a 50% das observações disponíveis. Esse desenho permite simular, de forma realista, o processo de previsão em tempo quase real.

Quanto à atualização do modelo, recomenda-se periodicidade mensal. A cada nova observação disponível, pode-se optar pela reestimação completa do modelo ou pela utilização das estimativas previamente obtidas, procedendo então com a geração de novas previsões e a avaliação sistemática dos erros. Essa rotina garante monitoramento contínuo do desempenho e adaptação a possíveis mudanças estruturais na dinâmica cambial.

Quer ver a vídeoaula do tutorial deste exercício? E receber o código que o produziu? Faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.

Quer aprender mais sobre Previsão Macroeconômica através, desde a coleta e tratamento de dados, até a previsão usando modelos estatísticos, machine learning e IA? Seja aluno no nosso curso de Previsão Macroeconômica usando Python e IA.

Modelos

Paridade Descoberta da Taxa de Juros (UIP)

Relaciona a variação da taxa de câmbio (\Delta e_t) com a variação do diferencial de juros (i_t^{dif}) domésticos e externos (no caso, *Fed Funds rate*), ajustados pelo prêmio de risco, podendo ser medido pelo *Credit Default Swap* (CDS) de cinco anos para o Brasil. A variação esperada para a taxa de câmbio no longo prazo (\Delta e^{ppc}) segue a Paridade do Poder de Compra (PPC) e é dada pelo diferencial entre a meta de inflação doméstica de longo prazo (\pi^{meta\_ss}) e a inflação de equilíbrio externa (\pi^{*ss}):

    \[</div> <div>\Delta e_t = \Delta e^{ppc} - \delta \left(i_t^{dif} - i_{t-1}^{dif}\right) + \epsilon_t^{uip}</div> <div>\]

onde:
-   i_t^{dif} = i_t - \left(i_t^{*} + CDS_t\right)
-   \Delta e^{ppc} = \pi^{meta\_ss} - \pi^{*ss}
Ver BCB (2021).
Obs: o Banco Central considera \pi^{*ss} = 2% a.a.; ver BCB (2020).

Paridade do Poder de Compra relativa (RPPP)

Relaciona a taxa de câmbio (e_t) com o diferencial de preços domésticos e externos (\hat{p_t}).

    \[</div> <div>e_t = \beta_0 + \beta_1 \hat{p_t} + \epsilon_t^{rppp}</div> <div>\]

Termos são usualmente expressos em log, veja Cheung et al. (2019).

Modelo monetário de preço fixo (SPM)

Relaciona a taxa de câmbio (e_t) com os diferenciais do dinheiro (\hat{m_t}), produto interno bruto (\hat{y_t}), taxa de juros (\hat{i_t}) e taxa de inflação (\hat{\pi_t}) doméstica e externa.

    \[</div> <div>e_t = \beta_0 + \beta_1 \hat{m_t} + \beta_2 \hat{y_t} + \beta_3 \hat{i_t} + \beta_4 \hat{\pi_t} + \epsilon_t^{spm}</div> <div>\]

Termos são usualmente expressos em log, veja Cheung et al. (2019).

Taxa de Câmbio Comportamental de Equilíbrio (BEER)

Relaciona, alternativamente, a taxa de câmbio (e_t) com o diferencial da produtividade do trabalhador (\hat{y_t}), os investimentos diretos no país (\text{idp}_t), o índice de commodities (\text{ic}_t) como proxy para os termos de troca e o EMBI+ (\hat{\pi_t}) como medida de risco soberado.

    \[</div> <div>e_t = \beta_0 + \beta_1 \hat{y_t} + \beta_2 {\text{idp}_t} + \beta_3 \text{ic}_t + \beta_4 \text{embi}_t + \epsilon_t^{beer}</div> <div>\]

Alguns termos são usualmente expressos em log, veja Cheung et al. (2019).
Para outras especificações, ver Moura et al. (2008).

Métodos

N Método Descrição Abordagem Tipo Biblioteca Código Referência
1 Passeio Aleatório Previsão é o último valor observado Estatística Estatística skforecast ForecasterEquivalentDate() Hyndman and Athanasopoulos (2021)
2 ARIMA Previsão com base na inércia, médias móveis e diferenciação da série Econometria Regressão skforecast ForecasterSarimax() Durbin et al. (2012)
2 VAR Regressão linear multivariada Econometria Regressão skforecast ForecasterAutoregMultiVariate() Lütkepohl (2005)
3 Ridge Penaliza os coeficientes da regressão linear com α Estatística Regressão sklearn Ridge() Friedman et al. (2010)
4 Lasso Penaliza os coeficientes da regressão linear e selecionar variáveis com α Estatística Regressão sklearn Lasso() Kim et al. (2007)
6 Elastic-Net Combina Ridge e Elastic-Net Estatística Regressão sklearn ElasticNet() Link
7 Bayesian Ridge Estimativas probabilísticas p/ parâmetros, com prior Gamma para α e λ Estatística Regressão sklearn BayesianRidge() Tipping (2001)
8 Huber Regression Aplica uma perda linear em outliers Estatística Regressão sklearn HuberRegressor() Huber and Ronchetti (2009)
9 Quantile Regression Estima um determinado quantil da distribuição (ex: mediana), não exatamente a média Estatística Regressão sklearn QuantileRegressor() Koenker and Bassett (1978)
10 Support Vector Machines Busca encontrar hiperplano que melhor se ajusta aos dados dentro de uma margem de erro. Machine Learning Regressão sklearn LinearSVR() Link
11 K Nearest Neighbors Regression Previsão é a média dos pontos de dados mais próximos Machine Learning Não paramétrico sklearn KNeighborsRegressor() Link
12 Decision Trees Previsão com base em regras de decisão (if-then-else) inferidas dos dados Machine Learning Árvore de decisão sklearn DecisionTreeRegressor() Breiman et al. (1984)
13 Gradient Boosted Decision Trees Constrói múltiplas árvores de decisão sequencialmente, cada um corrigindo o erro da anterior Machine Learning Ensemble sklearn GradientBoostingRegressor() Link
14 Random Forests Retorna a média das árvores individuais Machine Learning Ensemble sklearn RandomForestRegressor() Breiman (2001)
15 Bagging Estima um método a ser escolhido em sub-amostras dos dados e agrega as previsões individuais Machine Learning Ensemble sklearn BaggingRegressor() Breiman (1996)
16 Voting Regressor Combinar múltiplos métodos de regressão retornando a média dos mesmos Machine Learning Ensemble sklearn VotingRegressor() Link
17 AdaBoost Estima uma sequência de métodos fracos em amostras modificadas dos dados e combina previsões por voto ou soma. Machine Learning Ensemble sklearn AdaBoostRegressor() Drucker (1997)
18 Gemini Modelo de linguagem grande Inteligência Artificial LLM google.generativeai GenerativeModel() Link

Resultados

Abaixo, os resultados do MSE da validação cruzada para alguns modelos construídos conforme a tabela acima. Gráfico de barras do MSE  de modelos selecionados para a previsão do câmbio (BRL/USD).

Como exercício de projeção, utilizamos o modelo Bayesian Ridge para estimar a trajetória futura do câmbio. A partir desse modelo, construímos cenários prospectivos para um conjunto de variáveis explicativas — alinhando suas trajetórias às expectativas dos agentes de mercado — e, em seguida, geramos as previsões para a taxa de câmbio.

O gráfico acima apresenta o resultado do forecast. No cenário considerado, a taxa de câmbio ao final de 2026 situa-se no intervalo entre 5,35 e 5,63 reais por dólar. Esse intervalo é consistente com a dispersão das projeções observadas no Boletim Focus no momento da publicação, refletindo a incerteza embutida nas expectativas de mercado.

Em termos práticos, o procedimento pode ser interpretado da seguinte forma:

  1. Estima-se o modelo com dados históricos.

  2. Define-se a trajetória futura das variáveis explicativas (por IC-br, juros, câmbio, petróleo, etc).

  3. Insere-se essa trajetória no modelo estimado para obter a projeção do câmbio.

  4. A incerteza do modelo gera um intervalo de valores plausíveis, e não um único ponto.

Assim, o intervalo projetado não representa um número exato, mas uma faixa coerente com as hipóteses adotadas e com a variabilidade histórica capturada pelo modelo.

Projeção do Câmbio conforme metodologia selecionada

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print
Análise Macro © 2011 / 2026

comercial@analisemacro.com.br – Rua Visconde de Pirajá, 414, Sala 718
Ipanema, Rio de Janeiro – RJ – CEP: 22410-002

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp