In [1]:
options(OutDec = ",")
#==============================================================================
# Descricao
#==============================================================================
# Os dados a seguir correspondem aos indices semanais da BOVESPA de 3 de
# janeiro de 2011 a 10 de setembro de 2021.
#
# Os dados foram obtidos do sitio http://br.financas.yahoo.com/ 
# 
# Concentraremos nos indices (precos) de fechamento ("Close")
#
#==============================================================================
# Lendo os dados do arquivo BVSP.csv
#==============================================================================
BVSP  <- read.csv("../dados/BVSP_semanal.csv",header=TRUE,sep=",")
print(head(BVSP))

# Copiando os indices de fechamento como a serie de precos
preco <- BVSP$Close 
dias  <- as.Date(BVSP$Date) # Semana
n     <- length(preco)      # Numero de observacoes
        Date  Open  High   Low Close Adj.Close   Volume
1 2011-01-03 69310 71173 69305 70057     70057 10905800
2 2011-01-10 70056 71924 69666 70940     70940 10309200
3 2011-01-17 70940 71190 69095 69133     69133  9542200
4 2011-01-24 69134 69556 65898 66698     66698  8865200
5 2011-01-31 66697 68012 65160 65269     65269 11976800
6 2011-02-07 65272 66238 64016 65756     65756 12308600
In [2]:
#==============================================================================
# Grafico da serie de precos
#==============================================================================
par(mfrow=c(1,1),lwd=2.0,cex.lab=1.5,cex.axis=1.5,lab=c(15,5,5),
    mar=c(5,5,2,2.5),xpd=T,cex.main=2.0,bty="n")
plot(dias,preco/1000,lwd=2,type="l",col="black",main="",xlab="Dias",
    ylab="Preço (milhares)",ylim=c(20,140),
    xlim=c(as.Date("2011-01-01"),as.Date("2021-12-31")))
No description has been provided for this image
In [3]:
#==============================================================================
# Calculando o retorno de capitalizacao continua, ou simplesmente log-retorno
#==============================================================================
rt <- diff(log(preco))  # Calcula a primeira diferenca
In [4]:
#==============================================================================
# Grafico da serie de log retornos: r_t = log(1+R_t) = log(P_t)-log(P_{t-1})
#==============================================================================
par(mfrow=c(1,1),lwd=2.0,cex.lab=1.5,cex.axis=1.5,lab=c(15,8,5),
    mar=c(5,5,2,2.5),xpd=T,cex.main=2.0,bty="n")
plot(dias[2:n],rt,lwd=2,col=1,main="",xlab="Semanas",ylab="Log Retorno",
    type="l",xlim=c(as.Date("2011-01-01"),as.Date("2021-12-31")),
    ylim=c(-0.25,0.25))
No description has been provided for this image