In [1]:
options(OutDec = ",")
#==============================================================================
# Descricao
#==============================================================================
# Os dados a seguir correspondem aos indices diarios 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.csv",header=TRUE,sep=",")
print(head(BVSP))
        Date  Open  High   Low Close Adj.Close  Volume
1 2011-01-03 69310 70471 69305 69962     69962 1862400
2 2011-01-04 69962 70318 69560 70318     70318 2427200
3 2011-01-05 70311 71173 69802 71091     71091 2309200
4 2011-01-06 71093 71167 70469 70579     70579 2546000
5 2011-01-07 70580 70783 69718 70057     70057 1761000
6 2011-01-10 70056 70133 69666 70127     70127 1610800
In [2]:
#==============================================================================
# Copiando os indices de fechamento como a serie de precos
#==============================================================================
preco <- BVSP$Close 
dias  <- as.Date(BVSP$Date) # Dias
n     <- length(preco)      # Numero de observacoes
In [3]:
#==============================================================================
# Grafico da serie de precos
#==============================================================================
par(mfrow=c(1,1),lwd=2.0,cex.lab=1.5,cex.axis=1.5,lab=c(15,7,5),
    mar=c(5,5,2,2.5),xpd=T,cex.main=2.0,bty="n")
plot(dias,preco/1000,lwd=2,col="black",main="",xlab="Dias",
    ylab="Preço (milhares)",type="l",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 [4]:
#==============================================================================
# Calculando o retorno bruto
#==============================================================================
Rtbruto <- preco[2:n]/preco[1:(n-1)]

# Grafico da serie de retornos brutos:   1 + R_t = P_t / P_{t-1}
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[2:n],Rtbruto,type="l",lwd=2,col="black",main="",xlab="Dias",
    ylab="Retorno Bruto",xlim=c(as.Date("2011-01-01"),as.Date("2021-12-31")))
No description has been provided for this image
In [5]:
#==============================================================================
# Calculando o retorno liquido
#==============================================================================
Rt <- Rtbruto - 1   

# Grafico da serie de retornos liquidos:   R_t = ( P_t - P_{t-1} ) / P_{t-1}
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[2:n],Rt,type="l",lwd=2,col="black",main="",xlab="Dias",
    ylab="Retorno Líquido",xlim=c(as.Date("2011-01-01"),as.Date("2021-12-31")))
No description has been provided for this image