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

Medindo o Hiato do Produto do Brasil usando Python

Uma medida extremamente importante para a avaliação econômica de um país é o Hiato do Produto. Neste post, realizamos uma comparação das diferentes formas de estimação dessa variável não observável utilizando o Python como ferramenta de análise de dados.

Como analisar a contribuição para a Volatilidade de uma carteira de ações usando Python

A contribuição para a volatilidade fornece uma decomposição ponderada da contribuição de cada elemento do portfólio para o desvio padrão de todo o portfólio. Em termos formais, é definida pelo nome de contribuição marginal, que é basicamente a derivada parcial do desvio padrão do portfólio em relação aos pesos dos ativos. A interpretação da fórmula da contribuição marginal, entretanto, não é tão intuitiva, portanto, é necessário obter medidas que possibilitem analisar os componentes. Veremos portanto como calcular os componentes da contribuição e a porcentagem da contribuição. Vamos criar as respectivas medidas usando a linguagem de programação Python.

Analisando o impacto fiscal de propostas legislativas com IA

Todos os anos milhares de proposições legislativas são geradas na Câmara dos Deputados e Senado Federal, o que dificulta o trabalho de monitoramento feito por economistas, jornalistas e analistas de mercado. No entanto, ao empregar técnicas de engenharia de prompt e IA, podemos analisar estas milhares de proposições em questão de segundos. Neste exercício mostramos o caminho para esta automatização usando o Python.

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.