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 usar IA + Python para o Mercado Financeiro?

Neste post, mostramos como a Inteligência Artificial, aliada à linguagem Python, está revolucionando o mercado financeiro. Exploramos as principais áreas onde essa tecnologia pode ser aplicada — como gestão de carteiras, análise de demonstrações contábeis, estratégias quantitativas, trading e análise macroeconômica — com foco em aplicações práticas e exemplos voltados para o contexto brasileiro.

Como otimizar um portfólio de investimentos no Python?

Este post apresenta, de forma prática e didática, como aplicar o modelo de otimização de carteiras de Markowitz utilizando Python. A partir de dados reais de ações brasileiras, mostramos como calcular retornos, medir riscos e encontrar a combinação ótima de ativos com base nas preferências de risco do investidor. Utilizamos a biblioteca Riskfolio-Lib para estruturar a análise e gerar gráficos como o conjunto de oportunidades e a fronteira eficiente.

O que são SLMs?

Assim como os LLMs, os Small Language Models (SLMs) são Modelos de Linguagem baseados em IA em versões mais compactas, projetados para funcionar com menos recursos computacionais, menor latência e maior privacidade. Neste exercício mostramos como usar estes modelos usando API's ou localmente através do Python.

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.