Pacotes

A seguir os pacotes utilizados para o desenvolvimento da pesquisa.

library(quantmod)
library(PerformanceAnalytics)
library(data.table)
library(RColorBrewer)
library(ggplot2)
library(reshape2)
library(dplyr)
library(gridExtra)
library(knitr)

Retorno IBOVESPA

Primeiramente, analisa-se o retorno do IBOVESPA. Destaca-se que o índice teve um comportamento com variações pouco significativas durante o período, com exceção do dia 8 de setembro, o que ocorreu, provavelmente, devido à instabilidade política brasileira.

#Definindo Ibov como BenchMark 
BenchMarks = '^BVSP'
Ibov= NULL
for (benckmark in BenchMarks) {
  Ibov = cbind(Ibov,
               getSymbols.yahoo(BenchMarks, from = '2021-8-30', auto.assign = F)[,6])
}
## Warning: ^BVSP contains missing values. Some functions will not work if objects
## contain missing values in the middle of the series. Consider using na.omit(),
## na.approx(), na.fill(), etc to remove or replace them.
#Nomenado Colunas
colnames(Ibov) = c('Ibov')
#Calculando Retorno Ibov
Ret_Ibov = dailyReturn(Ibov) * 100
## Warning in to_period(xx, period = on.opts[[period]], ...): missing values
## removed from data
#Tabela de retorno do IBOVESPA
plot(Ret_Ibov)

Retorno Ativos

Agora, calcula-se o retorno das ações das empresas: 1)JBS (JBSS3); 2)Marfrig (MLFG3); 3)BRF (BRFS3); 4)Minerva Foods (BEEF3), durante a janela do evento.

#Retorno Ação Individual 
MRFG3 = getSymbols.yahoo("MRFG3.SA", from = '2021-8-30', auto.assign = F)[,6]
BEEF3 = getSymbols.yahoo("BEEF3.SA", from = '2021-8-30', auto.assign = F)[,6]
JBSS3 = getSymbols.yahoo("JBSS3.SA", from = '2021-8-30', auto.assign = F)[,6]
BRFS3 = getSymbols.yahoo("BRFS3.SA", from = '2021-8-30', auto.assign = F)[,6]

#Retorno ativo Marfrig
Ret_MRFG3 = dailyReturn(MRFG3) * 100

#Retorno ativo Minerva
Ret_BEEF3 = dailyReturn(BEEF3) * 100

#Retorno ativo JBS
Ret_JBSS3 = dailyReturn(JBSS3) * 100

#Retorno ativo BRFoods
Ret_BRFS3 = dailyReturn(BRFS3) * 100

Comparação IBOVESPA e ativos

Agora, para fazer a comparação entre as ações das empresas e o IBOVESPA, deve-se organizar as bases de dados em Data Frames. Além disso, cria-se uma variável com datas específicas. Ainda, disponibiliza-se as tabelas de retornos dos ativos.

#Criar uma coluna com datas
Dias_semana = format(as.Date(c('2021-08-30', '2021-08-31', '2021-09-01',
                               '2021-09-02', '2021-09-03', '2021-09-06', '2021-09-08'), format="%Y-%m-%d"))


#Transformar em Data.frame
Ret_BEEF3 = as.data.frame(Ret_BEEF3)
Ret_BRFS3 = as.data.frame(Ret_BRFS3)
Ret_Ibov = as.data.frame(Ret_Ibov)
Ret_JBSS3 = as.data.frame(Ret_JBSS3)
Ret_MRFG3 = as.data.frame(Ret_MRFG3)

#Tabela de retornos do Indice
Ret_Ibov$Data = Dias_semana
kable(head(Ret_Ibov), format = "markdown")
daily.returns Data
2021-08-30 0.0000000 2021-08-30
2021-08-31 -0.8009020 2021-08-31
2021-09-01 0.5177596 2021-09-01
2021-09-02 -2.2772957 2021-09-02
2021-09-03 0.2194091 2021-09-03
2021-09-06 0.8004584 2021-09-06
#Tabelas de retorno dos ativos
Ret_BEEF3$Data = Dias_semana
kable(Ret_BEEF3, format = "markdown")
daily.returns Data
2021-08-30 0.0000000 2021-08-30
2021-08-31 -0.9478673 2021-08-31
2021-09-01 -1.6746411 2021-09-01
2021-09-02 -3.6496350 2021-09-02
2021-09-03 -1.6414141 2021-09-03
2021-09-06 6.6752246 2021-09-06
2021-09-08 -1.2033694 2021-09-08
Ret_BRFS3$Data = Dias_semana
kable(Ret_BRFS3, format = "markdown")
daily.returns Data
2021-08-30 0.0000000 2021-08-30
2021-08-31 -0.6785411 2021-08-31
2021-09-01 2.5619129 2021-09-01
2021-09-02 -1.5820192 2021-09-02
2021-09-03 0.5499197 2021-09-03
2021-09-06 0.8834666 2021-09-06
2021-09-08 -2.5020892 2021-09-08
Ret_JBSS3$Data = Dias_semana
kable(Ret_JBSS3, format = "markdown")
daily.returns Data
2021-08-30 0.0000000 2021-08-30
2021-08-31 -0.0320718 2021-08-31
2021-09-01 0.0000000 2021-09-01
2021-09-02 -3.0157202 2021-09-02
2021-09-03 2.8779358 2021-09-03
2021-09-06 3.2154277 2021-09-06
2021-09-08 -2.5856637 2021-09-08
Ret_MRFG3$Data = Dias_semana
kable(Ret_MRFG3[,1:2], format = "markdown")
daily.returns Data
2021-08-30 0.0000000 2021-08-30
2021-08-31 -2.2889796 2021-08-31
2021-09-01 4.8804295 2021-09-01
2021-09-02 -2.1405258 2021-09-02
2021-09-03 1.4740798 2021-09-03
2021-09-06 2.5773149 2021-09-06
2021-09-08 -0.1370398 2021-09-08

Gráficos

Por fim, utiliza-se o pacote GGplot2 para o desenvolvimento de gráficos comparativos.

#Formatando os graficos dos ativos 
Graf_BEEF3=ggplot() + 
  geom_line(data = Ret_BEEF3,aes(group = 1, Data, daily.returns, colour = "Ret_BEEF3"), size = 0.5)+
  geom_line(data = Ret_Ibov, aes(Data, daily.returns, group = 1, colour = "Ret_Ibov"), size = 0.5)+
  theme_bw() +
  labs(x = "Data", y = "Retorno",  title = 'Retorno BEEF3')+
  theme(axis.text.x = element_text(angle = 90), plot.title = element_text(hjust = 0.5))+
  scale_colour_manual("",breaks = c("Ret_BEEF3", "Ret_Ibov"),values = c("red", "blue"))

Graf_BRFS3 = ggplot() + 
  geom_line(data = Ret_BRFS3, aes(group = 1, Data, daily.returns, colour = "Ret_BRFS3"), size = 0.5)+
  geom_line(data = Ret_Ibov, aes(Data, daily.returns, group = 1, colour = "Ret_Ibov"), size = 0.5)+
  theme_bw()+
  labs(x = "Data", y = "Retorno",  title = 'Retorno BRFS3')+
  theme(axis.text.x = element_text(angle = 90), plot.title = element_text(hjust = 0.5))+
  scale_colour_manual("",breaks = c("Ret_BRFS3", "Ret_Ibov"),values = c("red", "blue"))

Graf_JBSS3 = ggplot() + 
  geom_line(data = Ret_JBSS3, aes(group = 1, Data, daily.returns, colour = "Ret_JBSS3"), size = 0.5)+
  geom_line(data = Ret_Ibov, aes(Data, daily.returns, group = 1, colour = "Ret_Ibov"), size = 0.5)+
  labs(x = "Data", y = "Retorno",  title = 'Retorno JBSS3')+
  theme_bw()+
  scale_colour_manual("", breaks = c("Ret_JBSS3", "Ret_Ibov"),values = c("red", "blue"))+
  theme(axis.text.x = element_text(angle = 90), plot.title = element_text(hjust = 0.5))

Graf_MRFG3 = ggplot() + 
  geom_line(data = Ret_MRFG3, aes(group = 1, Data, daily.returns, colour = "Ret_MRFG3"), size = 0.5)+
  geom_line(data = Ret_Ibov, aes(Data, daily.returns, group = 1, colour = "Ret_Ibov"), size = 0.5)+
  labs(x = "Data", y = "Retorno",  title = 'Retorno MRFG3')+
  theme_bw()+
  scale_colour_manual("",breaks = c("Ret_MRFG3", "Ret_Ibov"),values = c("red", "blue"))+
  theme(axis.text.x = element_text(angle = 90), plot.title = element_text(hjust = 0.5))

grid.arrange(Graf_MRFG3, Graf_BEEF3, Graf_BRFS3, Graf_JBSS3, ncol=2, nrow=2)

Resultados e Análise

Percebe-se que, do dia 30 de agosto ao dia 1 de setembro, as ações das empresas selecionadas apresentaram comportamentos distintos, visto que, os ativos MRFG3 e BRFS3 tiveram um retorno positivo enquanto o ativo BEEF3 apresentou retornos negativos e a JBSS3 manteve o valor constante. No dia 1 de setembro, após o encerramento do pregão foi divulgada a notícia que o Ministério da Agricultura estava investigando casos suspeitos da doença da Vaca Louca. No dia 2 de setembro o fato foi precificado pelo mercado em suas negociações provocando uma queda significativa no retorno dos ativos.

No sábado, dia 4 de setembro, os casos suspeitos foram confirmados. Nesse contexto, a China suspendeu importações da carne brasileira. Em nota, o Ministério da Agricultura informou que se tratava de casos isolados, portanto não constituem risco sanitário à pecuária brasileira. Além disso, as empresas listadas afirmaram que a suspensão das exportações para a China não apresentava risco às suas operações, pois a demanda Chinesa poderia ser suprida pelos frigoríficos dessas empresas instalados no exterior, em países como a Argentina e o Uruguai. Por esse motivo, na segunda-feira, dia 6 de setembro as ações dessas empresas operaram e fecharam em alta, tendo retorno maior que o IBOVESPA, o que auxiliou o índice a fechar em alta.

No último dia analisado, houve uma queda considerável na maioria das ações listadas na B3 por conta da conjuntura política do país.

Referências

https://oglobo.globo.com/economia/mesmo-apos-caso-de-vaca-louca-acoes-de-frigorificos-sobem-bolsa-fecha-em-alta-de-080-dolar-cai-fica-em-5176-25186512

https://www.istoedinheiro.com.br/ministerio-da-agricultura-investiga-caso-suspeito-de-vaca-louca-no-brasil/

https://www.istoedinheiro.com.br/brasil-confirma-2-casos/