Em dia de caos na Argentina, que sofre os efeitos da derrota de Macri nas prévias das eleições, a economia brasileira não saiu impune ontem. O Índice Ibovespa caiu 2% e a taxa de câmbio flertou novamente com os 4 R$/US$. Diante disso, resolvi dar uma olhada na relação entre essas duas variáveis ao longo do tempo, usando o R - aprenda a usar o R em nossos Cursos Aplicados. Abaixo, carregamos alguns pacotes.
library(quantmod) library(ggplot2) library(ggalt)
E assim podemos pegar os dados do yahoo finance com uma função do pacote quantmod.
getSymbols("BRL=X",src="yahoo") getSymbols("^BVSP",src="yahoo")
Um pequeno tratamento é feito abaixo.
cambio = `BRL=X`[,4] ibov = BVSP[,4] data = cbind(cambio, ibov) data = data[complete.cases(data)] colnames(data) = c('cambio', 'ibov')
E assim, estamos prontos para plotar um gráfico.
ggplot(data, aes(cambio, ibov))+ geom_point()
Caso o leitor se interesse, verá que a correlação entre as séries é positiva, para uma amostra de dados diários, entre janeiro de 2007 e agosto de 2019. Mas o gráfico mostra clusters onde a correlação entre as séries parece ser negativa. Nós podemos destacar essas aglomerações com o pacote ggalt e dentro delas, verificar o ajuste. Antes de mais nada, nós selecionamos três clusters como abaixo.
data_select = data[data$cambio > 1.5 & data$cambio < 2.5 & data$ibov > 33000 & data$ibov < 69000,] data_select2 = data[data$cambio > 3 & data$cambio < 4.2 & data$ibov > 31000 & data$ibov < 69000,] data_select3 = data[data$cambio > 3.6 & data$cambio < 4.2 & data$ibov > 75000 & data$ibov < 100000,]
E assim, podemos construir o código do gráfico.
ggplot(data, aes(cambio, ibov))+ geom_point(size=.6, colour='black')+ geom_encircle(aes(x=cambio, y=ibov), data=data_select, color="red", size=2, expand=0.08)+ geom_smooth(aes(x=cambio, y=ibov), data=data_select, method='lm', colour='#8abbd0', size=1.5)+ geom_encircle(aes(x=cambio, y=ibov), data=data_select2, color="orange", size=2, expand=0.08)+ geom_smooth(aes(x=cambio, y=ibov), data=data_select2, method='lm', colour='#8abbd0', size=1.5)+ geom_encircle(aes(x=cambio, y=ibov), data=data_select3, color="blue", size=2, expand=0.08)+ geom_smooth(aes(x=cambio, y=ibov), data=data_select3, method='auto', colour='#8abbd0', size=1.5, se=FALSE)+ labs(x='BRL/USD', y='Ibovespa', title='Taxa de Câmbio vs. Ibovespa', subtitle='Dados Diários: janeiro de 2007 a agosto de 2019', caption='Fonte: analisemacro.com.br com dados do Yahoo Finance')
E aí está...
Para a nossa amostra completa, como dito, a correlação é positiva, mas dentro dos nossos clusters a correlação é negativa, como destacado no gráfico.