Category

mercado financeiro

CDI vs. Selic

By | mercado financeiro

A Selic e o CDI são taxas utilizadas para o cálculo das atividades financeiras e de investimento no país. Historicamente, as taxas são altamente correlacionadas, entretanto, apesar dessa medida estatística, podemos inferir a causalidade de uma taxa sobre a outra? Como é possível entender o relacionamento entre estas duas variáveis? No post de hoje, realizamos uma análise da SELIC e do CDI utilizando o R.

Correlação é um cálculo estatístico extremamente útil para entender o relacionamento entre duas variáveis distintas. Entretanto, muitas vezes, utiliza-se o cálculo de forma a implicar causalidades, o que não é correto. A causalidade é uma ligação de causa e efeito e que se mostra de difícil observação.

Ao averiguar a correlação entre as duas taxas, devemos antes entendê-las e ver como as duas podem estar interligadas.

  • "A taxa Selic refere-se à taxa de juros apurada nas operações de empréstimos de um dia entre as instituições financeiras que utilizam títulos públicos federais como garantia. O BC opera no mercado de títulos públicos para que a taxa Selic efetiva esteja em linha com a meta da Selic definida na reunião do Comitê de Política Monetária do BC (Copom)."
  • O CDI é um titulo emitido quando um banco empresta dinheiro ao outro. Isto, porque ao final do exercício, os bancos comerciais devem apresentar uma quantidade de caixa pré-estabelecida pelo Banco Central. Essas operações de títulos de um dia resultam na Taxa DI.

Antes de analisar visualmente e realizar o cálculo da correlação, importamos os dados das duas taxas utilizando o pacote {rbcb}, utilizando a função get_series() inserindo os códigos das séries obtidos através do Sistema Gerenciador de Séries Temporais. Buscamos as séries:

  • Taxa de juros - Selic anualizada base 252 % a.a.
  • Taxa de juros - CDI anualizada base 252 % a.a.

Abaixo, podemos entender os dados históricos da Selic e do CDI, e vemos que a duas taxas percorrem caminhos extremamente iguais.

As duas taxas são perfeitamente correlacionadas e positivas. Entretanto, ao analisar em periodicidade mensal, vemos que há uma mudança na relação. Antes de 2018, houve períodos em que as duas taxas eram negativamente correlacionadas.

A alteração na relação ocorreu devido a mudanças na apuração da Taxa DI. De acordo com o site da B3:

"A partir de 01/10/2018, a metodologia para apuração da Taxa DI se baseia na observação ou não das duas condições abaixo:

  • O número de operações elegíveis para o cálculo da Taxa DI for igual ou superior a 100 (cem); e
  • O somatório dos volumes das operações elegíveis para o cálculo da Taxa DI for igual ou superior a R$ 30 (trinta) bilhões;

Se no dia de apuração da Taxa DI, ao menos uma das duas condições relacionadas nos itens I e II acima não for observada, a Taxa DI será igual à Taxa Selic Over divulgada no dia."

Deste modo, conseguimos entender os períodos em que as taxas possuíam uma diferença em seus valores, e que explicam a correlação negativa. Essa diferença é chamada de spread e é calculada a partir da diferença da SELIC com o CDI.

 

Realizado as considerações, podemos então estabelecer as causas da alta correlação entre as duas taxas, bem como ambas são formadas e como a Taxa Selic afeta o CDI.

__________________________________________________

Quer saber mais?

Veja nossos cursos da trilha de Finanças Quantitativas.

_________________________________________________

Coletando dados de ações, FII, FIDICS, ETFs e BDRs com o pacote {rb3}

By | mercado financeiro

O acesso a dados em geral tem se tornado cada mais simples nos últimos tempos e essa questão também engloba os dados financeiros e econômicos. A B3 é conhecida como a principal Bolsa de Valores do Brasil, e em seu site disponibiliza diversos dados, entretanto, para quem ainda é iniciante neste mundo, ainda pode encontrar dificuldades em baixar, bem como automatizar todo processo de obtenção. Para tanto, foi criado o pacote {rb3}, criado por Wilson Freitas e Marcelo S. Perlin com o intuito de tornar o trabalho mais simples. Neste post, apresentaremos apenas uma parte dos dados que podemos importar com o pacote, buscando dados de ações, FIIs, FIDICs, ETFs e BDRs.

Para retirar os dados é simples: importamos os pacotes necessários e utilizamos a função cotahist_get(), que possibilita baixar as cotações históricas completas de diversos tipos de ativos em determinado dia. É possível especificar se a partir da data de escolha, será realizado a importação do dia, do mês e do ano em diante.

Salvamos os dados no objeto ch, que conterá as informações de preços históricos de todos os ativos disponibilizados com diversas informações em formato de lista.

Para tornar o processo de manipulação simples, foi criado funções extracts, que permitem extrair informações da lista referente aos ativos desejados. Abaixo, mostramos as funções de extração.

É extremamente simples obter os dados, não? Agora, podemos visualizar e realizar uma análise. Abaixo, escolhemos os dados de ETFs para calcular o retorno do período para todos os ativos. Em seguida, separamos os cinco melhores retornos e os cinco piores retorno e visualizamos através de um gráfico de coluna.


__________________________________________________

Quer saber mais?

Veja nossos cursos da trilha de Finanças Quantitativas.

_________________________________________________

Cointegração e Pair Trading no Python

By | mercado financeiro

Pair Trading é uma estratégia de trading amplamente conhecida, que utiliza métodos estatísticos para obter pares de ativos que sejam neutros em relação ao mercado. Um método para criar a estratégia de Pair Trading é através do teste de cointegração, de forma que se possa obter uma relação entre os pares, no caso ações de empresas listadas na bolsa. Neste post de hoje, ensinaremos a como realizar esse procedimento utilizando o Python.

Para utilizar o Pair Trading, devemos encontrar ativos que se relacionam de alguma forma, afinal, se eles possuem uma forte relação (principalmente estatística), qualquer desvio da diferença de seus preços pode ser considerada uma anomalia, possibilitando um ganho, seja comprando ou entrando vendido na ação, a depender da situação.

Mas como podemos encontrar ativos que se relacionam e exprimem relações estatísticas entre si? E como podemos criar sinais de forma que possamos saber quando comprar ou vender os ativos? Existem diferentes métodos, entretanto, um amplamente conhecido é a utilização do Teste de Cointegração para saber se as ações possuem uma forte relação estatística.

A partir dessa relação, podemos criar um modelo de regressão linear, que possibilite expressar a estimativa do preço de uma ação a partir de sua relação com outra ação. A diferença do resultado da estimativa de um ativo com o preço do outro resultará no spread (o desvio entre o preço das duas ações). Para construir os sinais de compra e venda, transformamos os desvios (spread) em um Escore Z, de forma que possamos mensurá-los em distâncias de desvio padrão.

Abaixo, mostramos o passo a passo deste método, utilizando os preços das ações JOPA3 e MDIA, no período entre janeiro de 2021 e janeiro de 2022. Deve-se salientar que a tarefa de encontrar ativos que possuem uma relação de cointegração não é algo fácil, sendo necessário uma investigação profunda de ativos que façam parte de setores iguais e tenham uma estrutura similar. Outro ponto a se observar é a amostra do tempo, que por vezes, pode não ser significativa em períodos diferentes, mesmo que com os mesmo ativos.

O primeiro passo será capturar os preços de fechamentos das empresas JOPA3 e MDIA3 durante o período citado.

Visualizamos a relação entre os dois ativos durante o período.

Em seguida, queremos saber se de fato as ações possuem alguma relação, e para isso, utilizamos a função coint() para realizar um Teste de Engle & Granger. No resultado, vemos que encontramos um valor abaixo de 5%, o que nos leva a rejeitar a Hipótese Nula de não cointegração.

Com a confirmação da cointegração entre as duas ações, podemos modelar os spreads entre as duas variáveis de forma que possamos criar os sinais de comprar e venda. Realizamos esse procedimento através de uma regressão linear entre as duas ações. Calculamos o spread pela diferença do preço do MDIA3 em relação ao preço do JOPA3, ponderado pelo coeficiente encontrado no modelo.

Transformamos esse spread, calculando o z score, de forma que possamos medir as variações em termos de desvio padrão.

Por fim, criamos os sinais através do ratio entre as duas ações transformados em z score com os limites de desvio padrão para entrar comprado ou vendido nas ações.  Com efeito, construímos uma simulação de investimento com um capital de 1000 para cada ação e visualizamos o resultado da estratégia durante o período.


__________________________________________________

Quer saber mais?

Veja nossos cursos da trilha de Finanças Quantitativas.

_________________________________________________

Referências

QuantRocket, Introduction to Pairs Trading

Sabir Jana, Statistical Arbitrage with Pairs Trading and Backtesting

Calculando a volatilidade do Bitcoin

By | mercado financeiro

O Bitcoin é uma criptomoeda que possui a característica de ser volátil, de forma que isso significa incorrer do risco de mercado. Apesar deste senso comum, devemos pensar: o quanto é essa volatilidade? Como podemos mensurá-la? Há diversas formas, e neste post de hoje iremos estimar a volatilidade do Bitcoin através do modelo GARCH utilizando o R.

O modelo GARCH é útil para realizar estimativas da volatilidade de um ativo financeiro, visto as suas propriedades. Séries financeiras tendem a possui volatility cluster, ou seja, valores extremos em diferentes períodos de tempo. Outra questão é que os erros de previsão ao quadrado possuem autocorrelação, de forma que ajudam a explicar a variância, bem como a sua própria variância passada.

Já trabalhamos com aplicações do mesmo modelo em post passados:

Bem como ensinamos a criar modelos de volatilidade em nosso curso de Econometria Financeira usando o R.

Com estas considerações, podemos utilizar os retornos da Bitcoin (em USD) diários para a modelagem de sua volatilidade com um GARCH(1,1).

Primeiro, carregamos os pacotes necessários.

Em seguida, buscamos os dados do Bitcoin utilizando o pacote {crypto2}.

Podemos visualizar a série de retornos diárias do Bitcoin, de forma a obter uma análise sobre suas características.

Com efeito, podemos especificar o modelo e estimar os coeficientes.

__________________________________________________

Quer saber mais?

Veja nossos cursos da trilha de Finanças Quantitativas.

 

Fatores Macroeconômicos: qual a relação com as ações da PETR4 e VALE3

By | mercado financeiro

É comum pensarmos no efeito da divulgação de pesquisas e indicadores macroeconômicos sobre as ações de empresas. De fato, efeitos conjunturais da economia podem afetar o fluxo de caixa de uma companhia, consequentemente afetando os retornos de suas ações. Na literatura das finanças, tem-se muito estudado os efeitos das características das firmas e fatores que afetam suas operações, com isso, o intuito do post de hoje é buscar o relacionamento de fatores macroeconômicos com as ações da PETR4 e VALE3.

Existem diversos fatores que justificam a o prêmio pelo risco de uma ação. Essa área de estudo se compreende no factor investing, que compreende as diversas características da variação do retorno de um ativo. Essas características são representados por fatores de risco, isto é, dados contábeis e financeiros de uma empresas, ancoragem do investidor e também variações macroeconômicas.

Como forma de apresentar essa discussão de forma bem introdutória, visto os vasto campo de estudos que podemos nos adentra nesta área, calculamos a matriz de correlação entre PETR4, VALE3, volume marginal da indústria extrativa medido pela pesquisa mensal de indústria e também com o IBC. Os dados são mensais compreendendo o período de 2012 a fevereiro de 2022.

O primeiro passo será buscar os preços das ações de ambas as empresas e calcular o retorno em período mensal.

Para os fatores macroeconômicos, buscamos a PIM através do Sidra, e o IBC-br através do SGS.

Por fim, juntamos os dados e realizamos o calculo da matriz de correlação com o pacote {correlation}

Os resultados não foram significativos. Portanto, em período mensal, não podemos dizer que há um relacionamento com as variáveis macroeconômicas. É possível que o efeito dos indicadores macroeconômicos afete o retorno da ação apenas nos dias ao redor da divulgação, se diluindo no período mensal. Para tanto, um estudo de eventos poderia se encaixar melhor na busca deste relacionamento.

__________________________________________________

Quer saber mais?

Veja nossos cursos da trilha de Finanças Quantitativas.

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

Assinar Gratuitamente