Cap. 4 Trabalho final

Influência da taxa Selic no índice Bovespa

4.1 Introdução

Após a regulamentação do Anexo IV e da implementação do Plano Real, o mercado acionário brasileiro teve um grande salto no seu desenvolvimento, tanto em termos de volume dos negócios quanto na eficiência alocativa… A grande conquista do Plano Real foi o controle da inflação. Taxas de inflação em níveis aceitáveis foram e estão sendo mantidas sob controle, devido às constantes intervenções governamentais, aumentando ou reduzindo as taxas de juros, tanto as de curto quanto as de longo prazo, controlando a oferta monetária através dos depósitos compulsórios sobre depósitos à vista, bem como controlando a taxa de câmbio, instrumento utilizado pelo BACEN por um longo período. Há, portanto, por parte de todos os agentes, a necessidade de se conhecer como o mercado acionário responde às mudanças dessas variáveis macroeconômicas. (DE SOUZA GRÔPPO, 2005)

Para os participantes do mercado financeiro, há um interesse dada a influência exercida pela política monetária sobre os mercados, conhecer tais estimativas representaria uma relevante informação para a construção de posições e estratégias, tanto de investimento, bem como para a gestão dos riscos implícitos às operações normalmente desenvolvidas em seu dia a dia. (GONÇALVES JUNIOR, 2007)

De acordo com o conhecimento convencional, mudanças nas taxas de juros afetariam o custo de capital e as expectativas futuras quanto à lucratividade das empresas, impactando, portanto, sua geração de dividendos aos acionistas, especialmente se considerada a valores presentes; em última análise, isto repercute no valor de mercado atual da empresa, e portanto de suas ações em Bolsa. (GONÇALVES JUNIOR, 2007)

Porém, a atividade econômica também exerce efeito importante sobre a determinação dos preços na Bolsa de Valores, particularmente no Ibovespa. Os preços das ações são positivamente relacionados com a atividade econômica, medida pelo nível de produção industrial. A política monetária possui efeito significativo sobre a produção industrial o que indicaria a existência do segundo canal pelo qual a política monetária afeta os preços das ações. (DOS SANTOS et al., 2006)

4.2 Objetivo

O objetivo é mensurar e analisar as respostas do mercado acionário às decisões do Comitê de Política Monetária do Banco Central do Brasil (COPOM) em relação à taxa básica de juro, verificando o comportamento do índice agregado da Bolsa de Valores de São Paulo (Bovespa).

4.3 Problema

Quantificar ou prever a influência da taxa Selic no índice Bovespa demanda modelos de predições dinâmicas.

A modelagem prevê predizer o índice Bovespa (série temporal em base diária) em função das covariáveis (taxa Selic anunciada mês a mês).

Pressupõe-se que cortes não previstos na taxa de juros Selic proporcionem uma valorização das ações, já que abriria espaço para expansão da economia, com aumentos dos lucros e dos dividendos distribuídos pelas empresas.

Mercados eficientes antecipam as decisões do COPOM, o que não deveria sensibilizar o índice Bovespa, uma vez que que as mudanças já foram incorporadas ao valor das ações, no entanto, as surpresas, a diferença da expectativa e da decisão, deveriam causar uma resposta do índice. O estudo define uma medida que procura captar a surpresa gerada nos mercados. As medidas foram baseadas em dados do mercado de futuros DI 1 dia, pela sua similaridade à taxa Selic. (GONÇALVES JUNIOR, 2007)

4.4 Metodologia

A meta para a taxa básica de juro, inicialmente referida como TBC, teve sua sistemática alterada em agosto de 1998, quando o Banco Central passou a fazer uso também da TBAN (taxa de assistência para redesconto bancário), ofertando e tomando recursos na banda assim definida, conforme necessidades, importância, garantia e riscos dos agentes envolvidos, aplicando-se também um sistema de quotas instituído na ocasião. Em 05/03/1999, a TBC foi extinta, tendo sido substituída pela Selic para fins de política monetária, passando-se a empregar esta última como a taxa básica de juro e principal instrumento das operações de mercado aberto. (GONÇALVES JUNIOR, 2007)

O índice Bovespa (ou simplesmente Ibovespa) foi criado há mais de cinquenta anos, em 2 de janeiro de 1968. Antes do Ibovespa, os preços das ações negociadas na Bolsa de Valores de São Paulo (SPSE) eram divulgados por meio de boletim diário (Boletim Diário de Informação – BDI). (CASTRO et al., 2019)

De modo geral, os mercados financeiros são forward looking, o que equivale a dizer que eles estão constantemente incorporando novas informações a seus preços, seja devido a fatos que impactam imediatamente suas operações, seja por razões que modificam expectativas sobre o futuro; é a constatação de que estes agentes são racionais, utilizando toda a informação disponível para realizar suas previsões, tomando valores passados e correntes de variáveis exógenas ou não (LUCAS et al., 1996).

Cada decisão tomada pelo COPOM é estudada por esses agentes, que antecipam em alguma medida seus resultados; assim sendo, quaisquer mudanças observadas nas variáveis correntes e futuras através do tempo decorrerão exclusivamente de mudanças não antecipadas. (CASTRO et al., 2019)

Consequentemente, analisar apenas a relação direta entre as variações na meta da taxa de juros e as do índice Bovespa pode mostrar baixa significância; de fato, se os mercados inevitavelmente não gerarão respostas a mudanças já esperadas, então é preciso distinguir na variação da meta suas componentes antecipadas e não antecipadas (CASTRO et al., 2019).

Para tal, foi avaliado a evolução do índice Ibovespa, taxa Selic e o efeito da decisão do COPOM no índice Bovespa num período de dez dias antes e depois da decisão e qual foi o retorno nos respectivos períodos.

Em seguida, foi calculado o coeficiente de correlação linear de Pearson entre o índice Bovespa e a taxa Selic para toda a série e para quatro períodos distintos:

  • de 2004 a 2007: período de início da redução de juros até a crise dos Subprime,
  • de 2008 a 2010: do auge da crise financeira mundial no Brasil até a fase de recuperação do mercado;
  • de 2011 a 2012: período que inclui tendência de redução da taxa básica de juros e a crise financeira, iniciada na Europa em 2011, também conhecida como crise da zona do euro.
  • de 2013 a 2016: período da crise econômica de 2014, conhecida como a “grande recessão brasileira”, foi uma profunda e duradoura crise econômica, sendo caracterizada por recessão por dois anos consecutivos (2015 e 2016) e por sua longa e lenta recuperação, a mais lenta da história do país. (WIKIPEDIA, 2022)
  • de 2017 a 2022: período que incluem os efeitos da COVID-19, iniciada em 2020.

Os dados utilizados neste trabalho foram obtidos de banco de dados, índices e relatórios contidos em sites da Bovespa, Banco Central do Brasil e Yahoo Finance, além de informações coletadas da literatura indicada.

A análise de correlação utilizou o coeficiente de Pearson que varia de \(-1\) a \(1\), sendo que o sinal indica a direção, positiva ou negativa da relação e o valor sugere a força do relacionamento entre as variáveis.

A condução do trabalhe seguiu os seguintes passos:

Roteiro

Fonte: Adaptado pelo autor de Yoshida (2022)

4.4.1 Estimando a Surpresa dos Mercados

Para estimar a surpresa dos mercados, foi utilizado o conjunto de dados da pesquisa Focus que diariamente registra a expectativa do mercado em relação a alguns indicadores macroeconomicos, entre eles a Selic.

Foi considerado que:

Sendo:

  • \(s_t\): surpresa na reunião
  • \(d_t\): decisão do copom sobre o valor da taxa Selic
  • \(m_t\): valor máximo informado pelos respondentes como expectativa para o valor da taxa Selic

Temos que:

\(s_t = d_t - m_t\)

Sempre que \(s_t\) é negativo, o mercado esperava um valor menor do que o decidido pelo COPOM e vice-versa.

Pacotes utilizados neste trabalho:

library(quantmod)
library(xts)
library(sidrar)
library(timetk)
library(tidyverse)
library(jsonlite)
library(ggplot2)
library(scales)
library(BatchGetSymbols)
library(dplyr)
library(rb3)
library(pastecs)
library(ggpubr)
library(bizdays)
library(gridExtra)
library(GGally)
library(readxl)
library(ggformula)
library(kableExtra)
#conflicts(detail = TRUE)

4.5 Índice Bovespa

Dados obtidos pela biblioteca BatchGetSymbols que utiliza o Yahoo Finance como fonte de dados.

first_date = as.Date('2001-12-19') # data reunião 66 do COPOM
last_date = as.Date('2022-11-25')
eval_period = last_date - first_date

df_bvsp = BatchGetSymbols('^BVSP', first.date = first_date,
 last.date = last_date)

O período de análise será de 20 anos, de 2001-12-19 até 2022-11-25. O inicio da série coincide com a 66º reunião do COPOM.

O período anterior a 2002 não foi considerado pela situação de hiperinflação vivenciada antes do plano real e o período de consolidação (1994-2001).

O comportamento do índice Bovespa neste período foi:

bov_plot <- ggplot(df_bvsp$df.tickers, aes(x = ref.date, y = price.adjusted)) +
 geom_line() +
 scale_y_discrete(limits=c(10000, 20000, 30000, 40000, 50000, 60000,
 70000, 80000, 90000, 100000, 110000, 120000, 130000)) +
 scale_x_date(breaks = date_breaks("1 years"),
 labels = date_format("%Y")) +
 xlab('')+ylab('Pontos') +
 labs(title='Índice Bovespa',
 caption='Fonte: Yahoo Finance.') +
 geom_line() +
 geom_smooth(method = "loess", se = FALSE) +
 scale_y_continuous(labels = label_comma()) +
 theme(axis.text.x = element_text(angle = 90)
)

bov_plot

4.6 Indicador Selic

A meta da taxa Selic diária. O conjunto de dados foi obtido pela através da opção de download no gráfico em BCB - Meta Selic.

df_selic_meta <- read.csv2(file = "../dados/Taxa de juros - Selic - fixada pelo Comitê de Política Monetária.csv",
                           sep=";", dec=",",
                           colClasses = c("character", "numeric", "NULL"),
                           col.names = c("ref.date", "selic.tax", ""))
df_selic_meta <- transform(df_selic_meta, ref.date = as.Date(ref.date,'%d/%m/%Y'))

df_selic_meta <- na.omit(df_selic_meta) %>% 
                    filter(ref.date >= first_date)

kable(tail(df_selic_meta)) %>%
  kable_styling(latex_options = "striped")
ref.date selic.tax
7585 2022-12-06 13.75
7586 2022-12-07 13.75
7587 2022-12-08 13.75
7588 2022-12-09 13.75
7589 2022-12-10 13.75
7590 2022-12-11 13.75

Extraído em 11/12/2022.

E o comportamento no período foi:

selic_plot <- ggplot(df_selic_meta, aes(x = ref.date, y = selic.tax)) +
 geom_line() +
 scale_x_date(breaks = date_breaks("1 years"),
 labels = date_format("%Y")) +
 xlab('')+ylab('%') +
 labs(title='Meta taxa selic',
 caption='Fonte: Banco Central do Brasil.') +
 geom_line() +
 geom_smooth(method = "loess", se = FALSE) +
 scale_y_continuous(labels = label_comma()) +
 theme(axis.text.x = element_text(angle = 90))

selic_plot

4.7 Pesquisa Focus

O Relatório Focus resume as estatísticas calculadas considerando as expectativas de mercado coletadas até a sexta-feira anterior à sua divulgação. Ele é divulgado toda segunda-feira. O relatório traz a evolução gráfica e o comportamento semanal das projeções para índices de preços, atividade econômica, câmbio, taxa Selic, entre outros indicadores. As projeções são do mercado, não do Banco Central. (FOCUS, 2022).

Esse conjunto de dados é o resultado da pesquisa diária das expectativas para a taxa Selic. Os respondentes são cerca de 120 bancos, gestores de recursos e demais instituições (empresas do setor real, distribuidoras, corretoras, consultorias e outras).

As expectativas são expressadas na forma de mínimos e máximos esperados.

df_selic_focus = rbcb::get_market_expectations("annual", "Selic",start_date = "2002-01-01",  end_date = "2022-12-31")

df_selic_focus <- df_selic_focus %>%
                      dplyr::select(Data, DataReferencia, Minimo, Maximo, numeroRespondentes) %>%
                          filter(format(Data, "%Y") == DataReferencia)

names(df_selic_focus)[1] = "ref.date"
names(df_selic_focus)[2] = "ref.year"
names(df_selic_focus)[3] = "min"
names(df_selic_focus)[4] = "max"
names(df_selic_focus)[5] = "respondents"

kable(tail(df_selic_focus)) %>%
  kable_styling(latex_options = "striped")
ref.date ref.year min max respondents
2022-12-05 2022 13.75 14.00 129
2022-12-05 2022 13.75 13.75 77
2022-12-06 2022 13.75 14.00 131
2022-12-06 2022 13.75 13.75 75
2022-12-07 2022 13.75 14.00 131
2022-12-07 2022 13.75 13.75 74

4.8 Reuniões COPOM

Este conjunto de dados foi preparado pelo autor utilizando a fonte de dados Taxas de juros básicas – Histórico do Banco Central que contém todas as datas das reuniões do COPOM, bem como a meta decidida.

df_reuniao_copom <- read_excel("../dados/reunioes-copom-2022.xlsx")

df_reuniao_copom <- df_reuniao_copom %>%
                         dplyr::select(reuniao_n, extraordinaria, reuniao_data, nota, vigencia_inicio, vigencia_fim, meta_selic_ano)

df_reuniao_copom$reuniao_data = as.Date(df_reuniao_copom$reuniao_data)
df_reuniao_copom$vigencia_inicio = as.Date(df_reuniao_copom$vigencia_inicio)
df_reuniao_copom$vigencia_fim = as.Date(df_reuniao_copom$vigencia_fim)

names(df_reuniao_copom)[1] = "meeting.number"
names(df_reuniao_copom)[2] = "extra"
names(df_reuniao_copom)[3] = "ref.date"
names(df_reuniao_copom)[4] = "note"
names(df_reuniao_copom)[5] = "term.start"
names(df_reuniao_copom)[6] = "term.end"
names(df_reuniao_copom)[7] = "decision.target"

kable(tail(df_reuniao_copom)) %>%
  kable_styling(latex_options = "striped")
meeting.number extra ref.date note term.start term.end decision.target
246 0 2022-05-04 NA 2022-05-05 2022-06-16 12.75
247 0 2022-06-15 NA 2022-06-17 2022-08-03 13.25
248 0 2022-08-03 NA 2022-08-04 2022-09-21 13.75
249 0 2022-09-21 NA 2022-09-22 2022-10-26 13.75
250 0 2022-10-26 NA 2022-10-27 2022-12-07 13.75
251 0 2022-12-07 NA 2022-12-08 2023-01-31 13.75

4.9 Ibovespa e Selic

Apresentando gráficamente as duas séries:

grid.arrange(bov_plot, selic_plot, ncol=2)

Elas seguem tendências opostas, indicando uma correlação negativa, o que aparentemente sustenta a hipotese de correlação entre as séries.

4.10 Unindo os conjuntos de dados

Os conjuntos de dados do índice Ibovespa será aumentado com os conjuntos de dados da meta Selic e com as reuniões do COPOM.

# Usando apenas valor ajustado
df_bvsp_close <- df_bvsp$df.tickers %>%
                  dplyr::select(ref.date, price.adjusted)

df_bvsp_selic <- merge(df_bvsp_close, df_selic_meta, by = 'ref.date', all.x = T)

df_bvsp_selic <- merge(df_bvsp_selic, df_selic_focus, by = 'ref.date', all.x = T)

df_bvsp_selic <- df_bvsp_selic %>% 
                    fill(c(selic.tax, ref.year, `min`, `max`), .direction = "downup")

df_bvsp_selic$diff.meta.max = with(df_bvsp_selic, max - selic.tax)

df_bvsp_selic <- merge(df_bvsp_selic, df_reuniao_copom, by = 'ref.date', all.x = T)

df_bvsp_selic <- df_bvsp_selic %>% 
                    fill(c(decision.target, meeting.number, term.start, term.end), .direction = "downup")

kable(round(stat.desc(df_bvsp_selic))) %>%
  kable_styling(latex_options = "striped")
ref.date price.adjusted selic.tax ref.year min max respondents diff.meta.max meeting.number extra note term.start term.end decision.target
nbr.val 5578 5578 5578 NA 5578 5578 2409 5578 5578 198 NA 5578 5578 5578
nbr.null 0 0 0 NA 0 0 0 791 0 197 NA 0 0 0
nbr.na 0 0 0 NA 0 0 3169 0 0 5380 NA 0 0 0
min 11675 8371 2 NA 1 2 22 -4 66 0 NA 11676 11710 2
max 19320 130776 26 NA 22 27 137 7 250 1 NA 19292 19333 26
range 7645 122405 24 NA 21 25 115 11 184 1 NA 7616 7623 24
sum 87846608 351263219 64932 NA 57505 70250 239976 5318 950951 1 NA 87734996 87971230 64945
median 15796 58406 11 NA 10 13 104 0 173 0 NA 15771 15812 11
mean 15749 62973 12 NA 10 13 100 1 170 0 NA 15729 15771 12
SE.mean 31 422 0 NA 0 0 0 0 1 0 NA 31 31 0
CI.mean.0.95 61 827 0 NA 0 0 1 0 1 0 NA 61 61 0
var 5357435 992505261 26 NA 16 22 437 2 2813 0 NA 5347621 5366735 26
std.dev 2315 31504 5 NA 4 5 21 1 53 0 NA 2312 2317 5
coef.var 0 1 0 NA 0 0 0 1 0 14 NA 0 0 0
gf_point(price.adjusted ~ selic.tax, color = ~ selic.tax, size = ~ price.adjusted, alpha = 0.50, data = df_bvsp_selic) + scale_y_continuous(labels = label_comma())

O preço Ibovespa ajustado, explicado pela taxa Selic, parece seguir a tendência observada nos gráficos anteriores, quanto menor a taxa, maior é o preço ajustado.

Ainda de acordo com o gráfico acima, o log retorno do preço ajustado das ações não parece ser influenciado pela diferença da meta vs o máximo esperado. Pela hipótese de que a surpresa faria o índice Bovespa recuar, quanto menor a diferença, menor deveria ser o retorno, o que não foi observado.

As ocorrências de “surpresa”, são listadas abaixo:

df_not_expected <- df_bvsp_selic[order(-df_bvsp_selic$meeting.number), ] %>% 
                     filter(!is.na(meeting.number) & diff.meta.max < 0) %>%
                       select(meeting.number, ref.date, diff.meta.max, price.adjusted) %>%
                          group_by(meeting.number) %>%
                            slice(which.min(ref.date))


kable(df_not_expected) %>%
  kable_styling(latex_options = "striped")
meeting.number ref.date diff.meta.max price.adjusted
66 2002-01-21 -0.70 13155
67 2002-01-23 -0.70 13232
68 2002-02-20 -1.00 13303
69 2002-03-20 -0.75 14090
70 2002-04-17 -0.50 13732
71 2002-05-22 -0.50 12368
72 2002-06-19 -0.24 11493
73 2002-07-17 -0.25 10755
79 2003-01-14 -0.50 12175
80 2003-01-23 -0.50 11162
81 2003-02-21 -0.50 10331
82 2003-04-04 -1.00 12066
83 2003-04-24 -1.50 12120
84 2003-05-21 -1.00 13034
85 2003-06-18 -1.00 13511
86 2003-07-23 -4.00 13799
87 2003-08-20 -3.50 14467
88 2003-09-17 -1.50 16492
89 2003-10-22 -1.50 18235
90 2003-11-19 -0.50 18807
91 2004-01-02 -1.00 22445
92 2004-01-21 -1.50 23302
93 2004-02-18 -1.25 22000
94 2004-03-17 -1.50 21901
95 2004-04-14 -1.25 22312
96 2004-05-19 -0.25 18688
103 2005-01-03 -0.25 25722
104 2005-01-20 -0.25 23610
105 2005-02-17 -0.50 27091
108 2005-06-08 -0.25 24702
109 2005-06-15 -0.25 25481
110 2005-07-20 -0.75 25705
111 2005-08-17 -0.75 27416
112 2005-09-14 -0.75 29050
113 2005-10-19 -0.75 29297
114 2005-11-23 -0.75 31943
115 2005-12-14 -0.25 33629
116 2006-01-18 -0.50 35805
117 2006-03-08 -0.25 37289
119 2006-06-20 -0.25 33632
120 2006-07-19 -0.25 36785
121 2006-08-30 -0.25 36313
122 2006-10-17 -0.39 38898
126 2007-05-18 -0.50 52078
127 2007-06-06 -0.50 52049
128 2007-08-13 -0.50 52434
140 2009-02-27 -1.25 38183
141 2009-03-31 -0.25 40926
161 2011-10-13 -0.50 54601
162 2011-10-19 -0.50 54966
163 2011-11-30 -0.25 56875
165 2012-04-11 -0.25 61293
166 2012-04-18 -0.25 63010
168 2012-08-27 -0.25 58111
169 2012-08-29 -0.25 57369
202 2016-11-18 -0.25 59962
203 2017-01-02 -2.00 59589
204 2017-01-11 -2.00 62446
205 2017-02-22 -2.25 68590
206 2017-04-12 -2.25 63892
207 2017-05-31 -1.50 62711
208 2017-07-26 -1.00 65011
209 2017-09-06 -0.50 73412
210 2017-11-03 -0.25 73915
211 2017-12-06 -0.50 73268
224 2019-09-02 -0.50 100626
225 2019-09-18 -0.50 104532
230 2020-06-03 -0.25 93002
231 2020-06-17 -0.50 95547
log.retorno = diff(log(df_bvsp_selic$price.adjusted))
log.retorno[length(log.retorno) + 1] = 0

gf_point(log.retorno ~ diff.meta.max, color = ~ diff.meta.max, alpha = 0.50, data = df_bvsp_selic) + scale_y_continuous(labels = label_comma())

A diferença entre o esperado e a decisão tendem a variar de forma positiva, sugerindo que o mercado antecipa positivamente as decisões com razoável precisão.

temp <- df_bvsp_selic[order(-df_bvsp_selic$meeting.number), ] %>% 
          filter(!is.na(meeting.number)) %>%
            select(ref.date, diff.meta.max)

ggplot(temp, aes(x = ref.date, y = diff.meta.max))+
 geom_line()+
 labs(title='Variação expectativa meta vs focus',
 caption='Fonte: autor.')+
 geom_line() +
 geom_smooth(method = "loess", se = FALSE)+
 theme(axis.text.x = element_text(angle = 90))+
 geom_line(aes(y = 0), color = "red", linetype = "dotted")

Reuniões cuja a meta foi superior ao máximo esparado pelos respondentes da pesquisa focus.

kable(temp %>% filter(diff.meta.max < 0)) %>%
  kable_styling(latex_options = "striped")
ref.date diff.meta.max
2020-06-17 -0.50
2020-06-03 -0.25
2020-06-04 -0.25
2020-06-05 -0.25
2020-06-08 -0.25
2020-06-09 -0.25
2020-06-10 -0.25
2020-06-12 -0.50
2020-06-15 -0.50
2020-06-16 -0.50
2019-09-18 -0.50
2019-09-02 -0.50
2019-09-03 -0.50
2019-09-04 -0.50
2019-09-05 -0.50
2019-09-06 -0.50
2019-09-09 -0.50
2019-09-10 -0.50
2019-09-11 -0.50
2019-09-12 -0.50
2019-09-13 -0.50
2019-09-16 -0.50
2019-09-17 -0.50
2017-12-06 -0.50
2017-11-03 -0.25
2017-11-06 -0.25
2017-11-07 -0.25
2017-11-08 -0.25
2017-11-09 -0.25
2017-11-10 -0.25
2017-11-13 -0.25
2017-11-14 -0.25
2017-11-16 -0.25
2017-11-17 -0.25
2017-11-21 -0.25
2017-11-22 -0.25
2017-11-23 -0.50
2017-11-24 -0.50
2017-11-27 -0.50
2017-11-28 -0.50
2017-11-29 -0.50
2017-11-30 -0.50
2017-12-01 -0.50
2017-12-04 -0.50
2017-12-05 -0.50
2017-09-06 -0.50
2017-07-26 -1.00
2017-07-31 -0.50
2017-08-01 -0.50
2017-08-02 -0.50
2017-08-03 -0.50
2017-08-04 -0.50
2017-08-07 -0.75
2017-08-08 -0.75
2017-08-09 -0.75
2017-08-10 -0.75
2017-08-11 -0.75
2017-08-14 -0.75
2017-08-15 -0.75
2017-08-16 -0.75
2017-08-17 -0.75
2017-08-18 -0.75
2017-08-21 -0.50
2017-08-22 -0.50
2017-08-23 -0.50
2017-08-24 -0.50
2017-08-25 -0.50
2017-08-28 -0.50
2017-08-29 -0.50
2017-08-30 -0.50
2017-08-31 -0.50
2017-09-01 -0.50
2017-09-04 -0.50
2017-09-05 -0.50
2017-05-31 -1.50
2017-06-01 -0.50
2017-06-02 -0.50
2017-06-05 -0.50
2017-06-06 -0.50
2017-06-07 -0.50
2017-06-08 -0.50
2017-06-09 -0.50
2017-06-12 -0.50
2017-06-13 -0.50
2017-06-14 -0.50
2017-06-16 -0.50
2017-06-19 -0.50
2017-06-20 -0.50
2017-06-21 -0.50
2017-06-22 -0.50
2017-06-23 -0.50
2017-06-26 -0.50
2017-06-27 -0.50
2017-06-28 -0.50
2017-06-29 -0.50
2017-06-30 -0.50
2017-07-03 -0.75
2017-07-04 -0.75
2017-07-05 -0.75
2017-07-06 -0.75
2017-07-07 -0.75
2017-07-10 -0.75
2017-07-11 -0.75
2017-07-12 -0.75
2017-07-13 -0.75
2017-07-14 -0.75
2017-07-17 -0.75
2017-07-18 -0.75
2017-07-19 -0.75
2017-07-20 -0.75
2017-07-21 -1.00
2017-07-24 -1.00
2017-07-25 -1.00
2017-04-12 -2.25
2017-04-13 -1.25
2017-04-17 -1.25
2017-04-18 -1.25
2017-04-19 -1.50
2017-04-20 -1.50
2017-04-24 -1.50
2017-04-25 -1.50
2017-04-26 -1.50
2017-04-27 -1.50
2017-04-28 -1.50
2017-05-02 -1.50
2017-05-03 -1.50
2017-05-04 -1.75
2017-05-05 -1.75
2017-05-08 -1.75
2017-05-09 -1.75
2017-05-10 -1.75
2017-05-11 -1.75
2017-05-12 -1.75
2017-05-15 -1.75
2017-05-16 -1.75
2017-05-17 -1.75
2017-05-23 -0.75
2017-05-24 -0.75
2017-05-25 -0.75
2017-05-26 -1.50
2017-05-29 -1.50
2017-05-30 -1.50
2017-02-22 -2.25
2017-02-23 -1.50
2017-02-24 -1.50
2017-03-01 -1.50
2017-03-02 -1.50
2017-03-03 -1.50
2017-03-06 -1.50
2017-03-07 -1.50
2017-03-08 -1.50
2017-03-09 -1.50
2017-03-10 -1.50
2017-03-13 -1.50
2017-03-14 -1.50
2017-03-15 -1.50
2017-03-16 -1.50
2017-03-17 -1.50
2017-03-20 -1.50
2017-03-21 -1.50
2017-03-22 -1.50
2017-03-23 -2.00
2017-03-24 -2.00
2017-03-27 -2.00
2017-03-28 -2.00
2017-03-29 -2.00
2017-03-30 -2.00
2017-03-31 -2.00
2017-04-03 -2.25
2017-04-04 -2.25
2017-04-05 -2.25
2017-04-06 -2.25
2017-04-07 -2.25
2017-04-10 -2.25
2017-04-11 -2.25
2017-01-11 -2.00
2017-01-12 -1.50
2017-01-13 -1.50
2017-01-16 -2.00
2017-01-17 -2.00
2017-01-18 -2.00
2017-01-19 -2.00
2017-01-20 -2.00
2017-01-23 -2.00
2017-01-24 -2.00
2017-01-26 -2.00
2017-01-27 -2.00
2017-01-30 -2.00
2017-01-31 -2.00
2017-02-01 -2.00
2017-02-02 -2.00
2017-02-03 -2.00
2017-02-06 -2.25
2017-02-07 -2.25
2017-02-08 -2.25
2017-02-09 -2.25
2017-02-10 -2.25
2017-02-13 -2.41
2017-02-14 -2.41
2017-02-15 -2.41
2017-02-16 -2.41
2017-02-17 -2.41
2017-02-20 -2.25
2017-02-21 -2.25
2017-01-02 -2.00
2017-01-03 -2.00
2017-01-04 -2.00
2017-01-05 -2.00
2017-01-06 -2.00
2017-01-09 -2.00
2017-01-10 -2.00
2016-11-18 -0.25
2016-11-21 -0.25
2012-08-29 -0.25
2012-08-27 -0.25
2012-08-28 -0.25
2012-04-18 -0.25
2012-04-11 -0.25
2012-04-12 -0.25
2012-04-13 -0.25
2012-04-16 -0.25
2012-04-17 -0.25
2011-11-30 -0.25
2011-10-19 -0.50
2011-10-24 -0.25
2011-10-25 -0.25
2011-11-18 -0.25
2011-11-21 -0.25
2011-11-22 -0.25
2011-11-23 -0.25
2011-11-24 -0.25
2011-11-25 -0.25
2011-11-28 -0.25
2011-11-29 -0.25
2011-10-13 -0.50
2011-10-14 -0.50
2011-10-17 -0.50
2011-10-18 -0.50
2009-03-31 -0.25
2009-04-01 -0.25
2009-04-02 -0.25
2009-04-03 -0.25
2009-04-06 -0.25
2009-04-07 -0.25
2009-04-08 -0.25
2009-04-09 -0.25
2009-04-13 -0.35
2009-04-14 -0.35
2009-04-15 -0.35
2009-04-16 -0.35
2009-04-17 -0.35
2009-04-20 -0.35
2009-04-22 -0.75
2009-04-23 -0.75
2009-04-24 -0.75
2009-04-27 -0.75
2009-04-28 -0.75
2009-02-27 -1.25
2009-03-02 -1.25
2009-03-03 -1.25
2009-03-04 -1.25
2009-03-05 -1.25
2009-03-06 -1.25
2009-03-09 -1.25
2009-03-10 -1.25
2007-08-13 -0.50
2007-08-14 -0.50
2007-08-15 -0.50
2007-08-16 -0.50
2007-08-17 -0.50
2007-08-20 -0.25
2007-08-21 -0.25
2007-08-22 -0.25
2007-08-23 -0.25
2007-08-24 -0.25
2007-08-27 -0.25
2007-08-28 -0.25
2007-06-06 -0.50
2007-05-18 -0.50
2007-05-21 -0.50
2007-05-22 -0.50
2007-05-23 -0.50
2007-05-24 -0.50
2007-05-25 -0.50
2007-05-28 -0.50
2007-05-29 -0.50
2007-05-30 -0.50
2007-05-31 -0.50
2007-06-01 -0.50
2007-06-04 -0.50
2007-06-05 -0.50
2006-10-17 -0.39
2006-10-18 -0.39
2006-08-30 -0.25
2006-10-06 -0.39
2006-10-09 -0.39
2006-10-10 -0.39
2006-10-11 -0.39
2006-10-13 -0.39
2006-10-16 -0.39
2006-07-19 -0.25
2006-07-27 -0.25
2006-07-28 -0.25
2006-07-31 -0.25
2006-08-01 -0.25
2006-08-02 -0.25
2006-08-18 -0.25
2006-08-21 -0.25
2006-08-22 -0.25
2006-08-23 -0.25
2006-08-24 -0.25
2006-08-25 -0.25
2006-08-28 -0.25
2006-08-29 -0.25
2006-06-20 -0.25
2006-06-21 -0.25
2006-06-22 -0.25
2006-06-23 -0.25
2006-06-26 -0.25
2006-06-27 -0.25
2006-06-28 -0.25
2006-06-29 -0.25
2006-06-30 -0.25
2006-07-03 -0.25
2006-07-04 -0.25
2006-07-05 -0.25
2006-07-06 -0.25
2006-07-07 -0.25
2006-07-10 -0.25
2006-07-11 -0.25
2006-07-12 -0.25
2006-07-13 -0.25
2006-07-14 -0.25
2006-07-17 -0.25
2006-07-18 -0.25
2006-03-08 -0.25
2006-03-10 -0.50
2006-03-13 -0.50
2006-03-14 -0.50
2006-03-15 -0.50
2006-03-16 -0.50
2006-03-17 -0.50
2006-03-20 -0.50
2006-03-21 -0.50
2006-03-22 -0.50
2006-03-23 -0.50
2006-03-24 -0.50
2006-03-27 -0.50
2006-03-28 -0.50
2006-03-29 -0.50
2006-03-30 -0.50
2006-03-31 -0.50
2006-04-03 -0.50
2006-04-04 -0.50
2006-04-05 -0.50
2006-04-06 -0.50
2006-04-07 -0.50
2006-04-10 -0.50
2006-04-11 -0.50
2006-04-12 -0.50
2006-04-13 -1.25
2006-01-18 -0.50
2006-02-17 -0.25
2006-02-20 -0.25
2006-02-21 -0.25
2006-02-22 -0.25
2006-02-23 -0.25
2006-02-24 -0.25
2006-03-01 -0.25
2006-03-02 -0.25
2006-03-03 -0.25
2006-03-06 -0.25
2006-03-07 -0.25
2005-12-14 -0.25
2006-01-02 -0.25
2006-01-03 -0.25
2006-01-04 -0.25
2006-01-05 -0.25
2006-01-06 -0.50
2006-01-09 -0.50
2006-01-10 -0.50
2006-01-11 -0.50
2006-01-12 -0.50
2006-01-13 -0.50
2006-01-16 -0.50
2006-01-17 -0.50
2005-11-23 -0.75
2005-11-24 -0.25
2005-11-25 -0.25
2005-11-28 -0.25
2005-11-29 -0.25
2005-11-30 -0.25
2005-12-01 -0.25
2005-12-02 -0.25
2005-12-05 -0.50
2005-12-06 -0.50
2005-12-07 -0.50
2005-12-08 -0.25
2005-12-09 -0.25
2005-12-12 -0.25
2005-12-13 -0.25
2005-10-19 -0.75
2005-10-20 -0.25
2005-10-21 -0.25
2005-10-24 -0.25
2005-10-25 -0.25
2005-10-26 -0.25
2005-10-27 -0.25
2005-10-28 -0.25
2005-10-31 -0.50
2005-11-01 -0.50
2005-11-03 -0.50
2005-11-04 -0.50
2005-11-07 -0.50
2005-11-08 -0.50
2005-11-09 -0.50
2005-11-10 -0.50
2005-11-11 -0.75
2005-11-14 -0.75
2005-11-16 -0.75
2005-11-17 -0.75
2005-11-18 -0.75
2005-11-21 -0.75
2005-11-22 -0.75
2005-09-14 -0.75
2005-09-15 -0.50
2005-09-16 -0.50
2005-09-19 -0.50
2005-09-20 -0.50
2005-09-21 -0.50
2005-09-22 -0.50
2005-09-23 -0.50
2005-09-26 -0.50
2005-09-27 -0.50
2005-09-28 -0.50
2005-09-29 -0.50
2005-09-30 -0.50
2005-10-03 -0.75
2005-10-04 -0.75
2005-10-05 -0.75
2005-10-06 -0.75
2005-10-07 -0.75
2005-10-10 -0.75
2005-10-11 -0.75
2005-10-13 -0.75
2005-10-14 -0.75
2005-10-17 -0.75
2005-10-18 -0.75
2005-08-17 -0.75
2005-08-18 -0.75
2005-08-19 -0.75
2005-08-22 -0.75
2005-08-23 -0.75
2005-08-24 -0.75
2005-08-25 -0.75
2005-08-26 -0.75
2005-08-29 -0.75
2005-08-30 -0.75
2005-08-31 -0.75
2005-09-01 -0.75
2005-09-02 -0.75
2005-09-05 -0.75
2005-09-06 -0.75
2005-09-08 -0.75
2005-09-09 -0.75
2005-09-12 -0.75
2005-09-13 -0.75
2005-07-20 -0.75
2005-07-21 -0.75
2005-07-22 -0.75
2005-07-25 -0.75
2005-07-26 -0.75
2005-07-27 -0.75
2005-07-28 -0.75
2005-07-29 -0.75
2005-08-01 -0.75
2005-08-02 -0.75
2005-08-03 -0.75
2005-08-04 -0.75
2005-08-05 -0.75
2005-08-08 -0.75
2005-08-09 -0.75
2005-08-10 -0.75
2005-08-11 -0.75
2005-08-12 -0.75
2005-08-15 -0.75
2005-08-16 -0.75
2005-06-15 -0.25
2005-06-16 -0.25
2005-06-17 -0.25
2005-06-20 -0.25
2005-06-21 -0.25
2005-06-22 -0.25
2005-06-23 -0.25
2005-06-24 -0.25
2005-06-27 -0.25
2005-06-28 -0.25
2005-06-29 -0.25
2005-06-30 -0.25
2005-07-01 -0.25
2005-07-04 -0.75
2005-07-05 -0.75
2005-07-06 -0.75
2005-07-07 -0.75
2005-07-08 -0.75
2005-07-11 -0.75
2005-07-12 -0.75
2005-07-13 -0.75
2005-07-14 -0.75
2005-07-15 -0.75
2005-07-18 -0.75
2005-07-19 -0.75
2005-06-08 -0.25
2005-06-09 -0.25
2005-06-10 -0.25
2005-06-13 -0.25
2005-06-14 -0.25
2005-02-17 -0.50
2005-02-18 -0.50
2005-02-21 -0.50
2005-02-22 -0.50
2005-02-23 -0.50
2005-02-24 -0.50
2005-01-20 -0.25
2005-01-21 -0.25
2005-01-24 -0.25
2005-01-26 -0.25
2005-01-03 -0.25
2005-01-04 -0.25
2005-01-05 -0.25
2005-01-06 -0.25
2005-01-07 -0.25
2005-01-10 -0.25
2005-01-11 -0.25
2005-01-12 -0.25
2005-01-13 -0.25
2004-05-19 -0.25
2004-05-20 -0.25
2004-04-14 -1.25
2004-04-15 -1.00
2004-04-16 -1.00
2004-04-19 -1.00
2004-04-20 -1.00
2004-04-22 -1.00
2004-04-23 -1.00
2004-04-26 -1.00
2004-04-27 -1.00
2004-04-28 -1.00
2004-04-29 -1.00
2004-04-30 -1.00
2004-05-03 -1.00
2004-05-04 -1.00
2004-05-05 -1.00
2004-05-06 -1.00
2004-05-07 -1.00
2004-05-10 -1.00
2004-05-11 -0.25
2004-05-12 -0.25
2004-05-13 -0.25
2004-05-14 -0.25
2004-05-17 -0.25
2004-05-18 -0.25
2004-03-17 -1.50
2004-03-18 -1.25
2004-03-19 -1.25
2004-03-22 -1.42
2004-03-23 -1.42
2004-03-24 -1.42
2004-03-25 -1.25
2004-03-26 -1.25
2004-03-29 -1.25
2004-03-30 -1.25
2004-03-31 -1.25
2004-04-01 -1.25
2004-04-02 -1.25
2004-04-05 -1.25
2004-04-06 -1.25
2004-04-07 -1.25
2004-04-08 -1.25
2004-04-12 -1.25
2004-04-13 -1.25
2004-02-18 -1.25
2004-02-19 -1.25
2004-02-20 -1.25
2004-02-25 -1.25
2004-02-26 -1.25
2004-02-27 -1.25
2004-03-01 -1.25
2004-03-02 -1.25
2004-03-03 -1.25
2004-03-04 -1.50
2004-03-05 -1.50
2004-03-08 -1.50
2004-03-09 -1.50
2004-03-10 -1.50
2004-03-11 -1.50
2004-03-12 -1.50
2004-03-15 -1.50
2004-03-16 -1.50
2004-01-21 -1.50
2004-01-22 -1.50
2004-01-23 -1.50
2004-01-26 -1.50
2004-01-27 -1.50
2004-01-28 -1.50
2004-01-29 -1.50
2004-01-30 -1.50
2004-02-02 -1.25
2004-02-03 -1.25
2004-02-04 -1.25
2004-02-05 -1.25
2004-02-06 -1.25
2004-02-09 -1.25
2004-02-10 -1.25
2004-02-11 -1.25
2004-02-12 -1.25
2004-02-13 -1.25
2004-02-16 -1.25
2004-02-17 -1.25
2004-01-02 -1.00
2004-01-05 -1.00
2004-01-06 -1.50
2004-01-07 -1.50
2004-01-08 -1.50
2004-01-09 -1.50
2004-01-12 -1.50
2004-01-13 -1.50
2004-01-14 -1.50
2004-01-15 -1.50
2004-01-16 -1.50
2004-01-19 -1.50
2004-01-20 -1.50
2003-11-19 -0.50
2003-12-15 -0.50
2003-10-22 -1.50
2003-10-23 -0.50
2003-10-24 -0.50
2003-10-27 -0.50
2003-10-28 -0.50
2003-10-29 -0.50
2003-10-30 -0.50
2003-10-31 -0.50
2003-11-03 -1.00
2003-11-04 -1.00
2003-11-05 -0.50
2003-11-06 -0.50
2003-11-07 -0.50
2003-11-10 -0.50
2003-11-11 -0.50
2003-11-12 -0.50
2003-11-13 -0.50
2003-11-14 -0.50
2003-11-17 -0.50
2003-11-18 -0.50
2003-09-17 -1.50
2003-09-22 -1.00
2003-09-23 -1.00
2003-09-24 -1.00
2003-09-25 -1.00
2003-09-26 -1.00
2003-09-29 -1.00
2003-09-30 -1.00
2003-10-01 -1.00
2003-10-02 -1.00
2003-10-03 -1.00
2003-10-06 -1.00
2003-10-07 -1.35
2003-10-08 -1.35
2003-10-09 -1.35
2003-10-10 -1.35
2003-10-13 -1.35
2003-10-14 -1.35
2003-10-15 -1.35
2003-10-16 -1.35
2003-10-17 -1.35
2003-10-20 -1.35
2003-10-21 -1.50
2003-08-20 -3.50
2003-08-21 -1.00
2003-08-22 -1.00
2003-08-25 -1.00
2003-08-26 -1.00
2003-08-27 -1.00
2003-08-28 -1.00
2003-08-29 -1.00
2003-09-01 -1.00
2003-09-02 -1.00
2003-09-03 -1.00
2003-09-04 -1.00
2003-09-05 -1.00
2003-09-08 -1.50
2003-09-09 -1.50
2003-09-10 -1.50
2003-09-11 -1.50
2003-09-12 -1.50
2003-09-15 -1.50
2003-09-16 -1.50
2003-07-23 -4.00
2003-07-24 -2.50
2003-07-25 -2.50
2003-07-28 -2.50
2003-07-29 -2.50
2003-07-30 -2.50
2003-07-31 -2.50
2003-08-01 -2.50
2003-08-04 -2.50
2003-08-05 -2.50
2003-08-06 -2.50
2003-08-07 -2.50
2003-08-08 -2.50
2003-08-11 -2.50
2003-08-12 -2.50
2003-08-13 -2.50
2003-08-14 -2.50
2003-08-15 -3.00
2003-08-18 -3.50
2003-08-19 -3.50
2003-06-18 -1.00
2003-06-20 -0.50
2003-06-23 -0.50
2003-06-24 -0.50
2003-06-25 -0.50
2003-06-26 -0.50
2003-06-27 -0.50
2003-06-30 -0.50
2003-07-01 -0.50
2003-07-02 -0.50
2003-07-03 -0.50
2003-07-04 -3.00
2003-07-07 -3.00
2003-07-08 -3.00
2003-07-10 -3.00
2003-07-11 -3.00
2003-07-14 -3.15
2003-07-15 -3.50
2003-07-16 -3.50
2003-07-17 -3.50
2003-07-18 -3.50
2003-07-21 -4.00
2003-07-22 -4.00
2003-05-21 -1.00
2003-05-22 -1.00
2003-05-23 -1.00
2003-05-26 -1.00
2003-05-27 -1.00
2003-05-28 -1.00
2003-05-29 -1.00
2003-05-30 -1.00
2003-06-02 -1.00
2003-06-03 -1.00
2003-06-04 -1.00
2003-06-05 -1.00
2003-06-06 -1.00
2003-06-09 -1.00
2003-06-10 -1.00
2003-06-11 -1.00
2003-06-12 -1.00
2003-06-13 -1.00
2003-06-16 -1.00
2003-06-17 -1.00
2003-04-24 -1.50
2003-04-25 -1.50
2003-04-28 -1.50
2003-04-29 -1.50
2003-04-30 -1.50
2003-05-02 -1.50
2003-05-05 -1.50
2003-05-06 -1.50
2003-05-07 -1.50
2003-05-08 -1.00
2003-05-09 -1.00
2003-05-12 -1.00
2003-05-13 -1.00
2003-05-14 -1.00
2003-05-15 -1.00
2003-05-16 -1.00
2003-05-19 -1.00
2003-05-20 -1.00
2003-04-04 -1.00
2003-04-07 -1.00
2003-04-08 -1.00
2003-04-09 -1.00
2003-04-10 -1.00
2003-04-11 -1.00
2003-02-21 -0.50
2003-02-24 -0.50
2003-02-25 -0.50
2003-02-26 -0.50
2003-02-27 -0.50
2003-02-28 -0.50
2003-03-05 -0.50
2003-03-06 -0.50
2003-01-23 -0.50
2003-01-24 -0.50
2003-01-27 -0.50
2003-01-14 -0.50
2002-07-17 -0.25
2002-06-19 -0.24
2002-06-20 -0.24
2002-06-21 -0.24
2002-06-24 -0.25
2002-06-25 -0.25
2002-06-26 -0.25
2002-06-27 -0.25
2002-06-28 -0.25
2002-07-01 -0.25
2002-07-02 -0.25
2002-07-03 -0.25
2002-07-04 -0.25
2002-07-05 -0.25
2002-07-08 -0.25
2002-07-10 -0.25
2002-07-11 -0.25
2002-07-12 -0.40
2002-07-15 -0.40
2002-07-16 -0.40
2002-05-22 -0.50
2002-05-23 -0.50
2002-05-24 -0.50
2002-05-27 -0.50
2002-05-28 -0.50
2002-05-29 -0.50
2002-05-31 -0.50
2002-06-03 -0.50
2002-06-04 -0.40
2002-06-11 -0.25
2002-06-12 -0.25
2002-06-13 -0.25
2002-06-14 -0.25
2002-06-17 -0.24
2002-06-18 -0.24
2002-04-17 -0.50
2002-04-18 -0.50
2002-04-19 -0.50
2002-04-22 -0.50
2002-04-23 -0.50
2002-04-24 -0.50
2002-04-25 -0.50
2002-04-26 -0.50
2002-04-29 -0.50
2002-04-30 -0.50
2002-05-02 -0.50
2002-05-03 -0.50
2002-05-06 -0.50
2002-05-07 -0.50
2002-05-08 -0.50
2002-05-09 -0.50
2002-05-10 -0.50
2002-05-13 -0.50
2002-05-14 -0.50
2002-05-15 -0.50
2002-05-16 -0.50
2002-05-17 -0.50
2002-05-20 -0.50
2002-05-21 -0.50
2002-03-20 -0.75
2002-03-21 -0.50
2002-03-22 -0.50
2002-03-25 -0.50
2002-03-26 -0.50
2002-03-27 -0.50
2002-03-28 -0.50
2002-04-01 -0.50
2002-04-02 -0.50
2002-04-03 -0.50
2002-04-04 -0.50
2002-04-05 -0.50
2002-04-08 -0.50
2002-04-09 -0.50
2002-04-10 -0.50
2002-04-11 -0.50
2002-04-12 -0.50
2002-04-15 -0.50
2002-04-16 -0.50
2002-02-20 -1.00
2002-02-21 -0.75
2002-02-22 -0.75
2002-02-25 -0.75
2002-02-26 -0.75
2002-02-27 -0.75
2002-02-28 -0.75
2002-03-01 -0.75
2002-03-04 -0.75
2002-03-05 -0.75
2002-03-06 -0.75
2002-03-07 -0.75
2002-03-08 -0.75
2002-03-11 -0.75
2002-03-12 -0.75
2002-03-13 -0.75
2002-03-14 -0.75
2002-03-15 -0.75
2002-03-18 -0.75
2002-03-19 -0.75
2002-01-23 -0.70
2002-01-24 -0.70
2002-01-28 -0.70
2002-01-29 -0.70
2002-01-30 -0.70
2002-01-31 -0.70
2002-02-01 -0.70
2002-02-04 -0.70
2002-02-05 -0.70
2002-02-06 -0.70
2002-02-07 -0.70
2002-02-08 -0.70
2002-02-13 -1.00
2002-02-14 -0.70
2002-02-15 -0.70
2002-02-18 -0.70
2002-02-19 -1.00
2002-01-21 -0.70
2002-01-22 -0.70

Retorno sobre o preço ajustado do Ibovespa entre as reuniões do copom.

ts_temp <- xts(temp[,-1], order.by=as.Date(temp[,1], "%Y-%m-%d"))
names(ts_temp) <- "price.adjusted"

ret_simples <- diff(log(ts_temp$price.adjusted))

ggplot(ret_simples, aes(x = Index, y = price.adjusted))+
 geom_line()+
 labs(title=glue::glue('Ibovespa na data das reuniões'),
 caption='Fonte: autor.')+
 geom_line() +
 geom_smooth(method = "loess", se = FALSE)+
 theme(axis.text.x = element_text(angle = 90))

Computando o log retorno entre as datas das reuniões do COPOM e o preço ajustado, não há uma tendência explícita, sendo que os ganhos de (log retorno maior que zero) superam as perdas (-). Totalizando um retorno de NA.

4.11 Preço Ibovespa ajustado antes e depois da reunião

offset <- 10

Preço Ibovespa ajustado 10 dias antes e depois da reunião do copom.

meeting_eval <- data.frame(matrix(ncol = 4, nrow = 0))
colnames(meeting_eval) <- c('meeting.date', 'period.start', 'period.end', 'return')

for (row in 1:nrow(df_not_expected)) {
  meeting_date = df_not_expected[row, ]$ref.date
  start = meeting_date - offset
  end = meeting_date + offset
  temp <- df_bvsp_selic %>%
            filter(ref.date >= start & ref.date <= end) %>%
              select(ref.date, price.adjusted)
  
  ret_simples <- diff(log(temp$price.adjusted))
  
  # Adiciona as métricas no df
  meeting_eval[nrow(meeting_eval) + 1, ] <- list(meeting_date, start, end, sum(ret_simples))

  print(ggplot(temp, aes(x = ref.date, y = price.adjusted))+
   geom_line()+
   labs(title=glue::glue('Variação preço fechamento -{offset}d, reunião de {meeting_date}, +{offset}d'),
   caption='Fonte: autor.')+
   geom_line() +
   geom_smooth(method = "loess", se = FALSE)+
   theme(axis.text.x = element_text(angle = 90))+
   geom_line(aes(x = meeting_date), color = "red", linetype = "dotted"))
}

meeting_eval$period.start <- as.Date(meeting_eval$period.start) 
meeting_eval$period.end = as.Date(meeting_eval$period.end)
meeting_eval$meeting.date = as.Date(meeting_eval$meeting.date)


kable(meeting_eval) %>%
  kable_styling(latex_options = "striped")
meeting.date period.start period.end return
2002-01-21 2002-01-11 2002-01-31 -0.0658593
2002-01-23 2002-01-13 2002-02-02 -0.0359218
2002-02-20 2002-02-10 2002-03-02 0.1013172
2002-03-20 2002-03-10 2002-03-30 -0.0327290
2002-04-17 2002-04-07 2002-04-27 -0.0064034
2002-05-22 2002-05-12 2002-06-01 0.0691262
2002-06-19 2002-06-09 2002-06-29 -0.1232444
2002-07-17 2002-07-07 2002-07-27 -0.1479784
2003-01-14 2003-01-04 2003-01-24 -0.1085084
2003-01-23 2003-01-13 2003-02-02 -0.1015144
2003-02-21 2003-02-11 2003-03-03 -0.0219345
2003-04-04 2003-03-25 2003-04-14 0.0555843
2003-04-24 2003-04-14 2003-05-04 0.0758750
2003-05-21 2003-05-11 2003-05-31 0.0076285
2003-06-18 2003-06-08 2003-06-28 -0.0612026
2003-07-23 2003-07-13 2003-08-02 -0.0342874
2003-08-20 2003-08-10 2003-08-30 0.1124592
2003-09-17 2003-09-07 2003-09-27 -0.0150029
2003-10-22 2003-10-12 2003-11-01 -0.0044390
2003-11-19 2003-11-09 2003-11-29 0.0832351
2004-01-02 2003-12-23 2004-01-12 0.1111213
2004-01-21 2004-01-11 2004-01-31 -0.1036337
2004-02-18 2004-02-08 2004-02-28 -0.0094701
2004-03-17 2004-03-07 2004-03-27 -0.0652317
2004-04-14 2004-04-04 2004-04-24 -0.0695917
2004-05-19 2004-05-09 2004-05-29 0.1108160
2005-01-03 2004-12-24 2005-01-13 -0.0445850
2005-01-20 2005-01-10 2005-01-30 -0.0134275
2005-02-17 2005-02-07 2005-02-27 0.0771679
2005-06-08 2005-05-29 2005-06-18 0.0259735
2005-06-15 2005-06-05 2005-06-25 -0.0253218
2005-07-20 2005-07-10 2005-07-30 0.0401950
2005-08-17 2005-08-07 2005-08-27 0.0142737
2005-09-14 2005-09-04 2005-09-24 0.0927507
2005-10-19 2005-10-09 2005-10-29 -0.0321867
2005-11-23 2005-11-13 2005-12-03 0.0829328
2005-12-14 2005-12-04 2005-12-24 0.0190822
2006-01-18 2006-01-08 2006-01-28 0.0679604
2006-03-08 2006-02-26 2006-03-18 -0.0292406
2006-06-20 2006-06-10 2006-06-30 0.0877090
2006-07-19 2006-07-09 2006-07-29 0.0337346
2006-08-30 2006-08-20 2006-09-09 -0.0163598
2006-10-17 2006-10-07 2006-10-27 0.0237230
2007-05-18 2007-05-08 2007-05-28 0.0359811
2007-06-06 2007-05-27 2007-06-16 0.0450005
2007-08-13 2007-08-03 2007-08-23 -0.0190657
2009-02-27 2009-02-17 2009-03-09 -0.0811538
2009-03-31 2009-03-21 2009-04-10 0.0705014
2011-10-13 2011-10-03 2011-10-23 0.0842200
2011-10-19 2011-10-09 2011-10-29 0.1107651
2011-11-30 2011-11-20 2011-12-10 0.0340757
2012-04-11 2012-04-01 2012-04-21 -0.0426343
2012-04-18 2012-04-08 2012-04-28 -0.0197737
2012-08-27 2012-08-17 2012-09-06 -0.0129641
2012-08-29 2012-08-19 2012-09-08 -0.0163604
2016-11-18 2016-11-08 2016-11-28 -0.0205183
2017-01-02 2016-12-23 2017-01-12 0.0988079
2017-01-11 2017-01-01 2017-01-21 0.0795198
2017-02-22 2017-02-12 2017-03-04 -0.0027214
2017-04-12 2017-04-02 2017-04-22 -0.0224864
2017-05-31 2017-05-21 2017-06-10 0.0086856
2017-07-26 2017-07-16 2017-08-05 0.0255256
2017-09-06 2017-08-27 2017-09-16 0.0646116
2017-11-03 2017-10-24 2017-11-13 -0.0520864
2017-12-06 2017-11-26 2017-12-16 -0.0197870
2019-09-02 2019-08-23 2019-09-12 0.0663881
2019-09-18 2019-09-08 2019-09-28 0.0182182
2020-06-03 2020-05-24 2020-06-13 0.0799718
2020-06-17 2020-06-07 2020-06-27 -0.0398112
positive_return = meeting_eval %>% filter(return > 0) %>% pull(return) %>% sum
negative_return = meeting_eval %>% filter(return < 0) %>% pull(return) %>% sum
overall_return = sum(meeting_eval$return)

count_positive_return = meeting_eval %>% filter(return > 0) %>% count
count_negative_return = meeting_eval %>% filter(return < 0) %>% count
count_overall_return = count(meeting_eval)

Avaliando o retorno nos períodos 10 dias antes e depois das reuniões, as perdas foram de -1.5174365 e os ganhos 2.1149377, gerando um acumulado de 0.5975011. Embora em cerca de 35 das amostra houve um retorno negativo, isso representa 0.51% das amostras.

4.12 Salvando o conjunto de dados

# antes de proceder com o restante do exercicio, vamos salvar o dataset para
# o usar nos proximos modulos
write_rds(df_bvsp_selic, "../dados/df_bvsp_selic.rds")

4.13 Correlação Ibovespa e Selic

Comparando o Ibovespa e a Selic, percebemos que há uma relação, inversa, entre as duas séries.

bvsp_norm <- sd(df_bvsp_selic$price.adjusted, na.rm=TRUE)
selic_norm <- sd(df_bvsp_selic$selic.tax, na.rm=TRUE)

df_bvsp_selic$price.adjusted.norm <- log(df_bvsp_selic$price.adjusted)
df_bvsp_selic$selic.tax.norm <- log(df_bvsp_selic$selic.tax)

ggplot(df_bvsp_selic, aes(x=ref.date)) +
  
  geom_line(aes(y=price.adjusted.norm), size=2, color="blue", na.rm=TRUE, alpha=.6) + 
  stat_smooth(size=2, aes(y=price.adjusted.norm), color="green", size=1) +
  geom_line(aes(y=selic.tax.norm), size=2, color="red", na.rm=TRUE, alpha=.6) +
  stat_smooth(size=2, aes(y=selic.tax.norm), color = "green") +

  scale_y_continuous(
    
    # Features of the first axis
    name = "bvsp",
    
    # Add a second axis and specify its features
    sec.axis = sec_axis(~./selic_norm, name="selic")
  ) +

#ggtitle("Ibovespa vs Selic") +

 labs(title = "Ibovespa vs Selic",        
     subtitle = 'Relação entre ativos e indicadores macroeconomicos',
     x = 'Anos',
     fill = '') 

Avaliando a correlação cruzada (CCF - Cross Correlation Function) para toda a série, temos:

# https://www.lobdata.com.br/2020/09/15/how-to-perform-correlation-analysis-in-time-series-data-using-r/
df_bvsp_selic_long <- df_bvsp_selic %>% 
  pivot_longer(cols = c(price.adjusted, selic.tax), names_to = "names", values_to = "value")
df_bvsp_selic_long %>% 
  plot_time_series(.date_var = ref.date,
                   .value = value,
                   .facet_vars = names)

As séries tem comportamento muito próximo no tempo.

# CCF plot
df_bvsp_selic_long %>% 
  plot_acf_diagnostics(.date_var = ref.date,
                       .value = price.adjusted.norm,
                       .ccf_vars = selic.tax.norm,
                       .show_ccf_vars_only = T)

E todas as correlações são negativas.

correlation <- cor(df_bvsp_selic$price.adjusted, df_bvsp_selic$selic.tax, method = c("pearson"))

Indicando que há uma relação inversa e forte, como indicado pelo coeficiente de Pearson de -0.7735688,

Teste correlação

cor.test(df_bvsp_selic$price.adjusted, df_bvsp_selic$selic.tax, method=c("pearson"))
## 
##  Pearson's product-moment correlation
## 
## data:  df_bvsp_selic$price.adjusted and df_bvsp_selic$selic.tax
## t = -91.152, df = 5576, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.7838984 -0.7628111
## sample estimates:
##        cor 
## -0.7735688

Outra forma de exibir a correlação entre Ibovespa e Selic. A relação foi calculada tanto para o valor nominal, quanto para seus respectivos logs.

ggcorr(df_bvsp_selic %>% select(price.adjusted, selic.tax, price.adjusted.norm, selic.tax.norm), method = c("pairwise", "pearson"), label = TRUE, label_alpha = TRUE) 

A próxima seção avalia a correlação entre as séries em períodos distintos da história econômica.

4.13.1 Crise dos Subprime

Avaliando para o período de 2004 a 2007: período de início da redução de juros até a crise dos Subprime:

start_date = '2004-01-01'
end_date = '2007-12-31'
df_bvsp_selic_long %>%
  filter(ref.date >= start_date & ref.date <= end_date) %>%
    plot_time_series(.date_var = ref.date,
                     .value = value,
                     .facet_vars = names)
correlation = df_bvsp_selic %>%
                filter(ref.date >= start_date & ref.date <= end_date) %>%
                  with(cor(price.adjusted, selic.tax, method = c("pearson")))
correlation
## [1] -0.8018678

Teste correlação

df_bvsp_selic %>%
  filter(ref.date >= start_date & ref.date <= end_date) %>%
    with(cor.test(price.adjusted, selic.tax, method=c("pearson")))
## 
##  Pearson's product-moment correlation
## 
## data:  price.adjusted and selic.tax
## t = -42.162, df = 987, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.8230632 -0.7784420
## sample estimates:
##        cor 
## -0.8018678
period_eval[nrow(period_eval) + 1, ] <- list("Crise dos subprime", start_date, end_date, correlation)

4.13.2 Crise financeira mundial

No período de 2008 a 2010 houve o auge da crise financeira mundial no Brasil até a fase de recuperação do mercado.

start_date = '2008-01-01'
end_date = '2010-12-31'
df_bvsp_selic_long %>%
  filter(ref.date >= start_date & ref.date <= end_date) %>%
    plot_time_series(.date_var = ref.date,
                     .value = value,
                     .facet_vars = names)
correlation = df_bvsp_selic %>%
                filter(ref.date >= start_date & ref.date <= end_date) %>%
                  with(cor(price.adjusted, selic.tax, method = c("pearson")))
correlation
## [1] -0.5980702

Teste correlação

df_bvsp_selic %>%
  filter(ref.date >= start_date & ref.date <= end_date) %>%
    with(cor.test(price.adjusted, selic.tax, method=c("pearson")))
## 
##  Pearson's product-moment correlation
## 
## data:  price.adjusted and selic.tax
## t = -20.3, df = 740, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.6423919 -0.5497611
## sample estimates:
##        cor 
## -0.5980702
period_eval[nrow(period_eval) + 1, ] <- list("Crise financeira mundial", start_date, end_date, correlation)

4.13.3 Crise da zona do euro

De 2011 a 2012 foi o período que inclui tendência de redução da taxa básica de juros e a crise financeira, iniciada na Europa em 2011.

start_date = '2011-01-01'
end_date = '2012-12-31'
df_bvsp_selic_long %>%
  filter(ref.date >= start_date & ref.date <= end_date) %>%
    plot_time_series(.date_var = ref.date,
                     .value = value,
                     .facet_vars = names)
correlation = df_bvsp_selic %>%
                filter(ref.date >= start_date & ref.date <= end_date) %>%
                  with(cor(price.adjusted, selic.tax, method = c("pearson")))
correlation
## [1] 0.2267515

Teste correlação

df_bvsp_selic %>%
  filter(ref.date >= start_date & ref.date <= end_date) %>%
    with(cor.test(price.adjusted, selic.tax, method=c("pearson")))
## 
##  Pearson's product-moment correlation
## 
## data:  price.adjusted and selic.tax
## t = 5.1589, df = 491, p-value = 3.612e-07
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.1412689 0.3088778
## sample estimates:
##       cor 
## 0.2267515
period_eval[nrow(period_eval) + 1, ] <- list("Crise da zona do euro", start_date, end_date, correlation)

4.13.4 Grande recessão brasileira

No período de 2013 a 2016 houve a crise econômica de 2014, conhecida como a “grande recessão brasileira”, foi uma profunda e duradoura crise econômica, sendo caracterizada por recessão por dois anos consecutivos (2015 e 2016) e por sua longa e lenta recuperação, a mais lenta da história do país. (WIKIPEDIA, 2022).

start_date = '2013-01-01'
end_date = '2016-12-31'
df_bvsp_selic_long %>%
  filter(ref.date >= start_date & ref.date <= end_date) %>%
    plot_time_series(.date_var = ref.date,
                     .value = value,
                     .facet_vars = names)
correlation = df_bvsp_selic %>%
                filter(ref.date >= start_date & ref.date <= end_date) %>%
                  with(cor(price.adjusted, selic.tax, method = c("pearson")))
correlation
## [1] -0.2077289

Teste correlação

df_bvsp_selic %>%
  filter(ref.date >= start_date & ref.date <= end_date) %>%
    with(cor.test(price.adjusted, selic.tax, method=c("pearson")))
## 
##  Pearson's product-moment correlation
## 
## data:  price.adjusted and selic.tax
## t = -6.6784, df = 989, p-value = 4.023e-11
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.2665547 -0.1473611
## sample estimates:
##        cor 
## -0.2077289
period_eval[nrow(period_eval) + 1, ] <- list("Grande recessão brasileira", start_date, end_date, correlation)

4.13.5 COVID-19

Mais recente, o período de 2017 a 2022 inclue os efeitos da COVID-19, iniciada em 2020.

start_date = '2017-01-01'
end_date = '2022-12-31'
df_bvsp_selic_long %>%
  filter(ref.date >= start_date & ref.date <= end_date) %>%
    plot_time_series(.date_var = ref.date,
                     .value = value,
                     .facet_vars = names)
correlation = df_bvsp_selic %>%
                filter(ref.date >= start_date & ref.date <= end_date) %>%
                  with(cor(price.adjusted, selic.tax, method = c("pearson")))
correlation
## [1] -0.1745323

Teste correlação

df_bvsp_selic %>%
  filter(ref.date >= start_date & ref.date <= end_date) %>%
    with(cor.test(price.adjusted, selic.tax, method=c("pearson")))
## 
##  Pearson's product-moment correlation
## 
## data:  price.adjusted and selic.tax
## t = -7.6363, df = 1856, p-value = 3.556e-14
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.2182752 -0.1300894
## sample estimates:
##        cor 
## -0.1745323
period_eval[nrow(period_eval) + 1, ] <- list("COVID-19", start_date, end_date, correlation)

4.13.6 Resumo

kable(period_eval) %>%
  kable_styling(latex_options = "striped")
period_name period.start period.end cor-pearson
Crise dos subprime 2004-01-01 2007-12-31 -0.8018678
Crise financeira mundial 2008-01-01 2010-12-31 -0.5980702
Crise da zona do euro 2011-01-01 2012-12-31 0.2267515
Grande recessão brasileira 2013-01-01 2016-12-31 -0.2077289
COVID-19 2017-01-01 2022-12-31 -0.1745323

4.14 Conclusão

A hipótese de que Ibovespa é influenciado pela taxa Selic foi testada e há indícios que existe uma forte correlação, como demonstrado no quadro resumo. Ao avaliar toda a série, encontramos coeficientes de correlação superiores a \(0.8\) e mesmo nas grandes crises, a maior parte das correlações foi negativa, porém fraca. Quando analisamos os retornos do índice próximos as decisões do COPOM, os resultados não indicam uma tendência, sendo que aproximadamente \(50%\) das vezes as decisões consideradas surpresa afetaram negativamente, porém o acumulado dos retornos para esses períodos foi positivo.

É de opinião deste autor, que com base nos dados obtidos, existe uma correlação forte entre a Selic e o Ibovespa, porém, essa relação não necessariamente é unilateral ou exclusiva, outros indicadores macroeconômicos e fatores socioeconômicos podem influenciar ambas as séries e suas relações.

Como trabalho futuro, revisar a forma como a surpresa do mercado é calculada, seguindo o modelo usado por Gonçalves Junior (2007) e incluir outros indicadores macroeconômicos, como utilizados por De Souza Grôppo (2005).

4.15 Referências

FOCUS. Pesquisa Focus. Disponível em: https://www.bcb.gov.br/publicacoes/focus. Acesso em: 03 dez. 2022.

CASTRO, F. Henrique et al. Fifty-year History of the Ibovespa. Brazilian Review of Finance, v. 17, n. 3, p. 47-65, 2019.

DE SOUZA GRÔPPO, Gustavo. Co-integração e causalidade entre variáveis de política monetária e Ibovespa. Revista de Economia e Administração, v. 4, n. 2, 2005.

DOS SANTOS, Fernando Siqueira; PRADO, Roberto RA. Causalidade Selic-Ibovespa revisada. Revista de Economia e Administração, v. 5, n. 1, 2006.

GONÇALVES JUNIOR, Walter. Surpresas com relação à política monetária e o mercado de capitais: Evidências do caso brasileiro. 2007. Tese de Doutorado.

LUCAS, Robert E.; SARGENT, Thomas. After Keynesian Macroeconomics. In: Miller, P. J. (org.) The Rational Expectations Revolutions: Readings from the Front Line. [S.1]: Massachussetts Institute of Technology, p.05-30, 1996.

YOSHIDA, Olga Satomi. BIGDATA ANALITYCS: data 22-11-2022. São Paulo: Instituto de Pesquisas Tecnológicas do Estado de São Paulo, 2022. 4 slides, color.

WIKIPEDIA. Lista de crises econômicas no Brasil. Disponível em: https://pt.wikipedia.org/wiki/Lista_de_crises_econ%C3%B4micas_no_Brasil. Acesso em: 03 dez. 2022.

4.16 Apêndice A - Código-fonte

Todos os códigos e dados, com exceção dos obtidos on-line, podem ser encontrados em https://github.com/asantos2000/caderno-bd.

O caderno pode ser acessado em https://bookdown.org/adsantos/caderno-bd/.