Previsão de retornos de ações com IA usando Python

Neste exercício, nosso objetivo é utilizar fatores de investimento como preditores para o retorno de uma ação, combinando-os com o uso da Regressão de Lasso para ajustar uma série de fatores de risco no Python. Este método nos permite explorar como diferentes variáveis influenciam os retornos das ações e como a Regressão de Lasso pode nos ajudar a selecionar os fatores mais relevantes, contribuindo para uma análise mais precisa. Todo o exercício é construído usando o Python como ferramenta.

Introdução

É amplamente reconhecido que uma série de variáveis, frequentemente referidas como fatores, exercem influência sobre o desempenho excessivo das ações de forma geral. Entre esses fatores, destaca-se o conhecido fator de mercado.

Ao longo das últimas décadas, a pesquisa acadêmica tem se aprofundado na análise dos fatores que compõem as características das empresas, expandindo para o modelo de três fatores de Fama e French. Este modelo, além do fator de mercado, introduziu os fatores Small Minus Big (SMB) e High minus Low (HML), refletindo assim uma compreensão mais abrangente dos elementos que influenciam os retornos das ações.

Além desses fatores fundamentais, diversos outros têm sido identificados e estudados, variando conforme o mercado em questão. Exemplos incluem Winners Minus Losers (WML), também conhecido como Momentum, e Illiquid Minus Liquid (IML), evidenciando a complexidade e a variedade de fatores que os investidores consideram ao analisar e precificar ativos.

Regressão Lasso

O Lasso (least absolute shrinkage and selection operator) é um método de regressão linear que visa não apenas prever a variável de resposta, mas também realizar a seleção de variáveis de forma automática. Ao contrário de métodos tradicionais de regressão, o Lasso penaliza os coeficientes dos preditores, levando alguns deles a zero. Isso significa que o Lasso não apenas reduz o tamanho dos coeficientes, mas também realiza uma seleção eficiente de variáveis, eliminando aquelas que têm pouco impacto na predição do resultado. Essa propriedade torna o Lasso particularmente útil em situações em que se lida com um grande número de variáveis preditoras, permitindo a identificação das mais relevantes para o modelo.

O Estimador viesado do Lasso é obtido da seguinte forma:

    \[\hat\beta_\lambda^\text{Lasso} = \arg\min_\beta \left(Y - X\beta\right)'\left(Y - X\beta\right) + \lambda\sum\limits_{k=1}^K|\beta_k|.\]

Aqui, \lambda é hiperparâmetro que deve ser especificado previamente.

Dados

Em relação aos dados, é possível obter os fatores de risco do site da NEFIN, onde também é detalhado a metodologia de criação de cada fator. Para o retorno da ação PETR4, buscamos os dados através do Yahoo Finance.

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.

Aprenda a coletar, processar e analisar dados do mercado financeiro no curso de Python para Investimentos.

Criando o Modelo

Após a coleta dos dados podemos criar o modelo utilizando a regressão Lasso. Faremos todo o procedimento dentro do workflow do sklearn. Escolhemos previamente um alpha de 0.007, sem nenhum motivo plausível, apenas para exemplificar a criação do modelo. A seguir, apresentamos o gráfico dos valores ajustados e os valores reais do retornos. No retângulo encontram-se os valores fora da amostra de estimação dos parâmetros do modelo.

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

Como Construir um Monitor de Política Monetária Automatizado com Python?

Descubra como transformar dados do Banco Central em inteligência de mercado com um Monitor de Política Monetária Automatizado. Neste artigo, exploramos o desenvolvimento de uma solução híbrida (Python + R) que integra análise de sentimento das atas do COPOM, cálculo da Regra de Taylor e monitoramento da taxa Selic. Aprenda a estruturar pipelines ETL eficientes e a visualizar insights econômicos em tempo real através de um dashboard interativo criado com Shiny, elevando o nível das suas decisões de investimento.

Qual o efeito de um choque de juros sobre a inadimplência?

Neste exercício, exploramos a relação dinâmica entre o custo do crédito (juros na ponta) e o risco realizado (taxa de inadimplência) através de uma análise exploratória de dados e modelagem econométrica utilizando a linguagem de programação R.

Qual a relação entre benefícios sociais e a taxa de participação do mercado de trabalho?

Este exercício apresenta uma investigação econométrica sobre a persistente estagnação da taxa de participação no mercado de trabalho brasileiro no período pós-pandemia. Utilizando a linguagem R e dados públicos do IBGE e Banco Central, construímos um modelo de regressão linear múltipla com correção de erros robustos (Newey-West). A análise testa a hipótese de que o aumento real das transferências de renda (Bolsa Família/Auxílio Brasil) elevou o salário de reserva, desincentivando o retorno à força de trabalho.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

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.