Na macroeconomia, choques exógenos são relativamente frequentes e podem afetar a atividade, os preços, o mercado de crédito e outros. Eventos como pandemia e El Niño são exemplos de choques que impactam a economia de um país.
Pensando nisso, neste exercício mostramos como incorar choques no cenário de variáveis exógenas para fins de previsão. Usando como exemplo a previsão do IPCA, através de um modelo de machine learning, mostramos os cuidados a serem tomados e uma forma simples de definir o cenário com os choques. Ao final, apresentamos uma previsão com um suposto choque e uma previsão sem o choque para comparação.
O modelo de previsão
O modelo de previsão usado para o IPCA neste exercício é uma regressão Ridge contendo, dentre outras, as seguintes variáveis:
- Expectativas de inflação
- Índice de commodities
- Câmbio
- Prévia de inflação
- Variáveis de controle
Algumas variáveis são transformadas com a diferença logarítmica e isso deve ser levado em consideração no momento de produzir os cenários, seja com ou sem choque.
Utilizamos uma base de dados macroeconômica construída no curso Previsão Macroeconômica usando Python e IA que abrange o período até novembro/2024.
Cenários
Suponhamos que queiramos incorporar o choque do Bônus de Itaipu na previsão do IPCA. Como este choque já aconteceu, convenientemente podemos calibrar o cenário de forma a obter bons resultados de previsão, mas para choques futuros a lógica será semelhante.
Primeiro geramos um cenário para as variáveis exógenas, que se baseia em expectativas externas (Focus) ou estatísticas sazonais históricas dos dados:
expec_ipca_top5_curto_prazo | ic_br | cambio_brl_eur | ipc_s | April | August | February | January | July | June | March | May | November | October | September | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2024-12-01 | 0.586 | 0.005194 | -0.002610 | 0.6500 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2025-01-01 | 0.040 | 0.007846 | -0.001744 | 0.7500 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2025-02-01 | 1.350 | -0.003234 | 0.000872 | 0.5000 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2025-03-01 | 0.430 | -0.000405 | 0.000871 | 0.5700 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
2025-04-01 | 0.550 | -0.004460 | 0.001741 | 0.5900 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2025-05-01 | 0.350 | 0.006529 | 0.001738 | 0.5250 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
2025-06-01 | 0.240 | -0.005451 | 0.002601 | 0.3725 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
2025-07-01 | 0.300 | -0.004902 | 0.000865 | 0.2275 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
2025-08-01 | 0.190 | 0.007404 | 0.002592 | 0.2425 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2025-09-01 | 0.300 | 0.017643 | 0.001724 | 0.3150 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
2025-10-01 | 0.460 | 0.007650 | 0.002581 | 0.4400 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
2025-11-01 | 0.370 | 0.010533 | 0.001717 | 0.4200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
Em seguida geramos um cenário alternativo com choque na variável exógena de prévia da inflação. Neste caso, optamos por adicionar 0.75 p.p. no 3º período do cenário, correspondente a fevereiro/25, em relação ao cenário baseline. Uma calibração no 2º período também poderia ter sido feita.
expec_ipca_top5_curto_prazo | ic_br | cambio_brl_eur | ipc_s | April | August | February | January | July | June | March | May | November | October | September | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2024-12-01 | 0.586 | 0.005194 | -0.002610 | 0.6500 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2025-01-01 | 0.040 | 0.007846 | -0.001744 | 0.7500 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2025-02-01 | 1.350 | -0.003234 | 0.000872 | 1.2500 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2025-03-01 | 0.430 | -0.000405 | 0.000871 | 0.5700 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
2025-04-01 | 0.550 | -0.004460 | 0.001741 | 0.5900 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2025-05-01 | 0.350 | 0.006529 | 0.001738 | 0.5250 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
2025-06-01 | 0.240 | -0.005451 | 0.002601 | 0.3725 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
2025-07-01 | 0.300 | -0.004902 | 0.000865 | 0.2275 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
2025-08-01 | 0.190 | 0.007404 | 0.002592 | 0.2425 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2025-09-01 | 0.300 | 0.017643 | 0.001724 | 0.3150 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
2025-10-01 | 0.460 | 0.007650 | 0.002581 | 0.4400 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
2025-11-01 | 0.370 | 0.010533 | 0.001717 | 0.4200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
Previsão
Por fim, geramos a previsão com os dois cenários a partir do mesmo modelo e plotamos abaixo para comparação:
Conclusão
Neste exercício mostramos como incorar choques no cenário de variáveis exógenas para fins de previsão. Usando como exemplo a previsão do IPCA, através de um modelo de machine learning, mostramos os cuidados a serem tomados e uma forma simples de definir o cenário com os choques. Ao final, apresentamos uma previsão com um suposto choque e uma previsão sem o choque para comparação.
Quer aprender mais?
Conheça nossa Formação do Zero à Análise de Dados Econômicos e Financeiros usando Python e Inteligência Artificial. Aprenda do ZERO a coletar, tratar, construir modelos e apresentar dados econômicos e financeiros com o uso de Python e IA.