Aplicação de Regressão Logística no mercado financeiro

O objetivo do post de hoje será realizar a aplicação da Regressão Logística para prever a direção do movimento do preço de um ativo financeiro no Python.

Regressão Logística

O recurso que temos em mãos é poder estimar a probabilidade associada a ocorrência de determinado evento, usualmente binário. Como a ideia é estimar uma probabilidade, os resultados estarão contidos entre 0 e 1.  Se utiliza do estimador de máxima verossimilhança, como forma de maximizar a probabilidade de ocorrência da amostra, dado os coeficientes das variáveis independentes.

Por meio da regressão logística, podemos estimar a probabilidade da direção do preço do ativo se mover positivamente ou negativamente, utilizando como inputs a direção defasada do preço.

Aplicação

Vamos utilizar como exemplo a ação do ITUB4 no periodo de 2019 até 21/12/2022, no qual coletamos os dados por meio do pandas_datareader. Para a constituição dos inputs, utiliza-se apenas os dados do preço de fechamento para transforma-los em log-retornos e em seguida obtém o direcionamento do movimento do preço.


import pandas as pd
import numpy as np
import pandas_datareader.data as pdr
!pip install yfinance --upgrade --no-cache-dir
import yfinance as yf
yf.pdr_override()

</pre>
# datas
inicio = '2019-01-01'
fim = '2022-12-21'

# ticker
symbol = 'ITUB4.SA'

# importa os dados
data = pdr.get_data_yahoo(tickers = symbol,
                        start = inicio,
                        end = fim)[['Close']]

# Log retornos
data['returns'] = np.log(data / data.shift(1))

# Direção dos retornos (positivo/negativo)
data['direction'] = np.sign(data['returns'])
Em seguida, iremos construir funções para aplicar
  • a defasagem do preço/retorno de fechamento;
  • transformar o valor da direção do preço/retorno em binário, obtendo quatro possíveis combinações (0, 0), (0, 1), (1, 0), (1, 1).
  • aplicação do modelo e previsão usando o sklearn;
  • backtest vetorizado.

A construção de todos os procedimentos acima você pode obter fazendo parte do Clube AM, o repositório especial de códigos da Análise Macro.

Como resultado obtemos o seguinte resultado da aplicação da Regressão Logística para o ativo utilizado, em que returns refere-se aos retornos caso tivesse comprado somente o ativo, e strat_log_return a estratégia do modelo.

_____________________________________

Quer aprender mais?

Seja um aluno da nossa trilha de Macroeconomia Aplicada e aprenda a criar projetos voltados para a Macroeconomia

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Criando estratégias de investimento com IA no Python

Imagine ter a capacidade de pedir à inteligência artificial para criar uma estratégia de investimento baseada em indicadores técnicos ou regras específicas. Com o tempo sendo um recurso valioso, nem sempre é possível desenvolver um código por conta própria. Vamos mostrar como a IA, junto com Python, pode facilitar a criação de estratégias de investimento.

Análise de Tendência de Mercado com IA usando Python

Você está analisando o mercado acionário e se concentrando nos preços de uma ação específica. Ao longo dos dias, percebe uma mudança na trajetória dos preços e deseja entender o que está acontecendo por meio de notícias. Como automatizar esse processo de forma eficiente usando IA? Neste exercício, mostramos como utilizar o Python para essa tarefa.

Análise de Sentimento de Mercado com IA usando Python

Ler notícias diárias sobre empresas e ações listadas na bolsa pode ser maçante e cansativo. Mas, e se houvesse uma maneira de simplificar todo esse processo? Mostraremos como a IA generativa pode ajudar a captar o sentimento de notícias sobre companhias, automatizando todo o processo com Python e Gemini.

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.