Tag

cdi Archives - Análise Macro

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.

_________________________________________________

Como calcular o retorno de um portfólio de investimentos

By | mercado financeiro

No post de hoje, como parte do que ensinamos no nosso curso R para o Mercado Financeiro, continuaremos a mostrar como podemos realizar cálculos úteis para avaliações de investimentos. No post passado, mostramos como podemos realizar cálculos dos retorno de ativos individualmente, porém, no mundo real, nem sempre iremos investir nosso dinheiro todo em um único ativo. Por isso, deve-se ser necessário o entendimento de como podemos calcular o retorno de um portfólio de ativos.

Sem muito suspense, o retorno de um portfólio é simplesmente a soma do retorno ponderado pelo peso dos ativos baseado no total de dinheiro investido. De outra forma, podemos definir através de uma equação:

(1)   \begin{equation*} r_p = \frac{I_1}{I_1-I_2} * r_1 + \frac{I_2}{I_1+I_2} * r_2 = w_1 *r_1 + w_2 * r_2 \end{equation*}

onde r_p é o retorno do portfólio, I_1 o dinheiro investido no ativo 1, I_2 o dinheiro investido no ativo 2, r_1 o retorno do ativo 1 e r_2 o retorno do ativo 2.

Nesse caso, utilizamos apenas dois ativos como exemplo na equação, mas o mesmo funciona para caso houver mais ativos no portfólio, sendo necessário apenas expandir a equação.

Mas, como podemos realizar isso no R? É bem simples!

Primeiro iremos carregar os pacotes necessários.

library(quantmod)
library(Quandl)
library(PerformanceAnalytics)
library(tidyverse)
library(timetk)

Em seguida, podemos seguir para o nosso código.


# Define os ativos que irão ser coletados

tickers <- c("PETR4.SA", "ITUB4.SA", "ABEV3.SA", "JBSS3.SA")

# Define a data de início da coleta

start <- "2016-12-01"

# Realiza a coleta dos preços diários

prices <- getSymbols(tickers,
                     auto.assign = TRUE,
                     warnings = FALSE,
                     from = start,
                     src = "yahoo") %>% 
  map(~Cl(get(.))) %>% 
  reduce(merge) %>% 
  `colnames<-`(tickers)

# Transfroma os preços diários em mensais

prices_monthly <- to.monthly(prices,
                           indexAt = "lastof",
                           OHLC = FALSE)

# Calcula os retornos mensais

asset_returns <- Return.calculate(prices_monthly,
                                  method = "log") %>% 
  na.omit()

Veja que até aqui somente tratamos de calcular os retornos individuais dos nossos ativos. Agora, será o momento que devemos realizar o cálculo do retorno do portfólio. Para isso, iremos construir quatro portfólio diferentes, de forma que possamos validar qual a melhor estratégia que podemos utilizar.

Iremos fazer da seguinte forma, através de 4 ativos, com pesos escolhidos aleatoriamente, definimos: PETR4 com peso de 50%; ITUB4 com peso de 27%; ABEV3 com peso de 13% e JBSS3 com peso de 10%.

# Define os pesos dos respectivos ativos

w <- c(0.50, 0.27, 0.13, 0.10)

# Calcula o retorno do portfolio baseado no peso de cada ativo

portfolio_return <- Return.portfolio(asset_returns,
                                      weights = w) %>% 
  `colnames<-`("port_returns")

Através da função Return.portfolio(), calculamos o retorno do portfolio com os retornos individuais e com os pesos escolhidos.

No segundo portfólio, iremos utilizar as mesmas métricas, porém, deixaremos que a função faça um rebalanceamento.

# Calcula o retorno do portfolio baseado no peso de cada ativo com rebalanceamento

portfolio_return_reb <- Return.portfolio(asset_returns,
                               weights = w,
                               rebalance_on = "quarters") %>% 
  `colnames<-`("port_return_reb")

No terceiro portfólio, iremos construir o que a literatura conhece como equally weighted portfolio, no qual estabelece que todos os ativos possuem o mesmo peso.

# Calcula o Equally Weighted Portfolio

portfolio_return_ew <- Return.portfolio(asset_returns) %>% 
  `colnames<-`("ewp")

E por fim, no quarto portfólio, criamos novamente o equally weighted portfolio, porém, com rebalanceamento.

# Calcula o Equally Weighted Portfolio com rebalanceamento

portfolio_return_ew_reb <- Return.portfolio(asset_returns,
                                            rebalance_on = "quarters") %>% 
  `colnames<-`("ewp_reb")

Podemos então visualizar a performance do nosso portfólio através do retorno acumulado, comparando-os entre si, e também com CDI.

Parece que teremos que revisar nossas estratégias.

________________________

(*) Para entender mais sobre Mercado Financeiro e aprender como realizar a coleta, tratamento e visualização de dados financeiros, confira nosso curso de R para o Mercado Financeiro.
________________________

Especial Renda Fixa: Avaliando títulos pós-fixados

By | mercado financeiro

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

Assinar Gratuitamente