Previsão de crises financeiras com IA usando Python

Fazer investimentos sem analisar dados é como atirar no escuro. Ninguém quer estar numa posição errada na hora que uma nova crise estourar.

Para mitigar estes riscos, modelos de probabilidade de recessão podem trazer informações relevantes para a tomada de decisão. Neste artigo mostramos uma aplicação destes modelos para a economia norte-americana, usando o ferramental de pacotes do Python.

Aprenda a coletar, processar e analisar dados no Workshop Do Zero à Análise de Dados Econômicos e Financeiros usando Python, se inscreva aqui!

Modelos

Existem diversos modelos que podem auxiliar na estimativa de uma próxima crise financeira. De modo geral, estes modelos podem ser categorizados dentro da área de Inteligência Artificial, que engloba os modelos de machine learning e deep learning. Como exemplo, utilizaremos aqui 3 modelos que poderiam ser categorizados dentro de machine learning:

  • Regressão logística (saiba mais aqui)
  • Florestas Aleatórias (saiba mais aqui)
  • K Vizinhos Mais Próximos (saiba mais aqui)

A ideia por trás destes modelos é obter uma estimativa numérica da probabilidade de acontecer uma recessão em um determinado período no tempo. Quando esta probabilidade (valor entre 0 e 100) é alta, há indicativos de que uma crise possa acontecer.

Este exercício é derivado de um outro anterior, onde estes modelos são aplicados para demonstrar uma aplicação de machine learning em análise macroeconômica.

Dados

Para estimar a probabilidade de recessão para a economia dos Estados Unidos (EUA), selecionamos os seguintes dados (disponíveis publicamente):

  • Indicador de recessão mensal produzido pelo NBER (FRED/USREC)
  • Taxa de juros do tesouro americano de curto (3 meses) prazo (FRED/TB3MS)
  • Taxa de juros do tesouro americano de longo (10 anos) prazo (FRED/GS10)
  • Total de empregados na economia, excluindo agrícolas (FRED/PAYEMS)
  • Índice de inflação urbana (FRED/CPIAUCSL)

Além disso, é incluída uma variável de diferença entre a taxa de longo e a de curto prazo, para determinar o ângulo da curva de juros. Para o juro longo são incluídas defasagens de 3, 6, 9 e 12 meses.

Nossa variável de interesse é o indicador de recessão mensal produzido pelo NBER adiantado 12 meses. Ou seja, nosso interesse é prever se vai haver uma recessão nos 12 meses subsequentes.

Para obter o código e o tutorial deste exercício 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.

A tabela abaixo mostra as últimas observações da tabela de dados coletada online pela API do FRED:

USREC GS10 TB3MS PAYEMS CPIAUCSL
DATE
2023-10-01 0 4.80 5.34 156832 307.531
2023-11-01 0 4.50 5.27 157014 308.024
2023-12-01 0 4.02 5.24 157304 308.742
2024-01-01 0 4.06 5.22 157533 309.685
2024-02-01 0 4.21 5.24 157808 311.054

A tabela abaixo apresenta as novas variáveis construídas conforme indicado acima:

date USREC GS10 TB3MS PAYEMS CPIAUCSL slope_yield GS10_lag3 GS10_lag6 GS10_lag9 GS10_lag12
525 2023-10-01 NaN 4.80 5.34 156832 307.531 -0.54 3.90 3.46 3.53 3.98
526 2023-11-01 NaN 4.50 5.27 157014 308.024 -0.77 4.17 3.57 3.75 3.89
527 2023-12-01 NaN 4.02 5.24 157304 308.742 -1.22 4.38 3.75 3.66 3.62
528 2024-01-01 NaN 4.06 5.22 157533 309.685 -1.16 4.80 3.90 3.46 3.53
529 2024-02-01 NaN 4.21 5.24 157808 311.054 -1.03 4.50 4.17 3.57 3.75

Treinamento

Para treinar os modelos, utilizaremos a amostra completa de dados, sem separar em treino/teste ou validação cruzada, visando simplificar os procedimentos. O gráfico abaixo apresenta o ajuste dos modelos aos dados históricos:

Cenários

De modo a utilizar estes modelos para prever o futuro, ou seja, a probabilidade de recessão a partir do último período de dados disponíveis, devemos fornecer ao modelo os dados futuros das variáveis explicativas. Isso é comumente referido como “cenários” para as variáveis exógenas.

Nestes modelos há 4 variáveis exógenas:

  • Taxa curta
  • Taxa longa
  • Total de empregados
  • Inflação

As demais variáveis de entrada no modelo são derivadas destas.

Vamos gerar 3 cenários para cada variável, de modo a ter 3 estimativas da probabilidade de recessão nos EUA:

  • Cenário pessimista: taxa curta aumenta linearmente até 15%, taxa longa aumenta linearmente até 10%, total de empregados diminui linearmente até 140000 e inflação aumenta linearmente até 350 no final de 2024.
  • Cenário base: tudo permanece constante até o final de 2024.
  • Cenário otimista: taxa curta diminui linearmente até 2.7%, taxa longa diminui linearmente até 4%, total de empregados aumenta linearmente até 160000 e inflação diminui linearmente até 275 no final de 2024.

Observação: considerar unidade de medida das variáveis (disponível na fonte).

As tabelas abaixo apresentam alguns valores para os cenários das variáveis:

GS10 TB3MS PAYEMS CPIAUCSL slope_yield GS10_lag3 GS10_lag6 GS10_lag9 GS10_lag12
date
2024-10-01 8.0700 11.746667 145936.0 337.0180 -3.676667 6.6225 5.1750 4.0600 4.80
2024-11-01 8.5525 12.560000 144452.0 340.2635 -4.007500 7.1050 5.6575 4.2100 4.50
2024-12-01 9.0350 13.373333 142968.0 343.5090 -4.338333 7.5875 6.1400 4.6925 4.02
2025-01-01 9.5175 14.186667 141484.0 346.7545 -4.669167 8.0700 6.6225 5.1750 4.06
2025-02-01 10.0000 15.000000 140000.0 350.0000 -5.000000 8.5525 7.1050 5.6575 4.21

 

GS10 TB3MS PAYEMS CPIAUCSL slope_yield GS10_lag3 GS10_lag6 GS10_lag9 GS10_lag12
date
2024-10-01 4.0700 3.546667 159269.333333 287.0180 0.523333 4.1225 4.1750 4.0600 4.80
2024-11-01 4.0525 3.335000 159452.000000 284.0135 0.717500 4.1050 4.1575 4.2100 4.50
2024-12-01 4.0350 3.123333 159634.666667 281.0090 0.911667 4.0875 4.1400 4.1925 4.02
2025-01-01 4.0175 2.911667 159817.333333 278.0045 1.105833 4.0700 4.1225 4.1750 4.06
2025-02-01 4.0000 2.700000 160000.000000 275.0000 1.300000 4.0525 4.1050 4.1575 4.21
GS10 TB3MS PAYEMS CPIAUCSL slope_yield GS10_lag3 GS10_lag6 GS10_lag9 GS10_lag12
date
2024-10-01 4.21 5.24 157808 311.054 -1.03 4.21 4.21 4.06 4.80
2024-11-01 4.21 5.24 157808 311.054 -1.03 4.21 4.21 4.21 4.50
2024-12-01 4.21 5.24 157808 311.054 -1.03 4.21 4.21 4.21 4.02
2025-01-01 4.21 5.24 157808 311.054 -1.03 4.21 4.21 4.21 4.06
2025-02-01 4.21 5.24 157808 311.054 -1.03 4.21 4.21 4.21 4.21

Previsão

Para gerar previsão para o futuro escolhemos arbitrariamente o modelo Florestas Aleatórias. O gráfico abaixo exibe as previsões de probabilidade de recessão para a economia dos EUA conforme cada cenário:

Como pode ser visto no gráfico, até o final de 2024 há menos de 50% de probabilidade de haver uma recessão econômica nos EUA (ufa?!).

Conclusão

Fazer investimentos sem analisar dados é como atirar no escuro. Ninguém quer estar numa posição errada na hora que uma nova crise estourar. Para mitigar estes riscos, modelos de probabilidade de recessão podem trazer informações relevantes para a tomada de decisão. Neste artigo mostramos uma aplicação destes modelos para a economia norte-americana, usando o ferramental de pacotes do Python.

Notas de rodapé

  1. Estas categorizações são discutíveis.↩︎

Quer aprender mais?

Clique aqui para fazer seu cadastro no Boletim AM e baixar o código que produziu este exercício, além de receber novos exercícios com exemplos reais de análise de dados envolvendo as áreas de Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas diretamente em seu e-mail.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

A Abordagem do Estudo de Eventos usando Python

A maioria das pesquisas em finanças está dedicada a investigar o efeito de um anúncio da companhia ou de um evento, sistêmico ou não, sobre o preço de uma ação. Esses estudos são conhecidos como “estudos de eventos”. Neste contexto, apresentaremos uma breve introdução à metodologia e demonstraremos como aplicá-la por meio de exemplos reais utilizando a linguagem de programação Python.

Como coletar dados do Eurostat usando a API com o Python?

Neste artigo mostramos como pesquisar e como coletar os dados do portal Eurostat através do sistema de API usando a linguagem Python. Este processo permite automatizar rotinas de extração de dados, eliminando trabalho manual e repetitivo de atualização de bases de dados econômicos.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.