1 Introdução

Essa atividade tem como objetivo avaliar a magnitude da medida de risco por meio do beta mercado e comparar os resultados de dois períodos (período A, 01-03-2023 a 29-05-2023 e período B, 01-02-2025 a 05-05-2025), observando as mudanças no processo seletivo da carteira, composta pelos ativos CSAN3, B3SA3, SLCE3, GGBR4 e RADL3.

2 Período A

2.0.1 Coleta de Dados

Code
setwd("C:/Users/Sandrielly/Documents/Ciencias Economicas/P6 - 2025.1/Gestao de Risco")

remove(list=ls())
gc()
par(mfrow=c(1,1))
options(scipen=999)
options(max.print = 100000)
date()

#install.packages("kableExtra")
library(tseries)
library(fBasics)
library(tibble)
library(kableExtra)


#Período A
dataini_A <- "2023-03-01"
datafim_A <- "2023-05-29"

## Busca dos Dados

csan3 <- get.hist.quote("csan3.sa", quote = "Close", start = dataini_A, end = datafim_A); length(csan3); csan3
b3sa3 <- get.hist.quote("b3sa3.sa", quote = "Close", start = dataini_A, end = datafim_A); length(b3sa3); b3sa3
slce3 <- get.hist.quote("slce3.sa", quote = "Close", start = dataini_A, end = datafim_A); length(slce3); slce3
ggbr4 <- get.hist.quote("ggbr4.sa", quote = "Close", start = dataini_A, end = datafim_A); length(ggbr4); ggbr4
radl3 <- get.hist.quote("radl3.sa", quote = "Close", start = dataini_A, end = datafim_A); length(radl3); radl3
ibov  <- get.hist.quote("^BVSP",     quote = "Close", start = dataini_A, end = datafim_A); length(ibov);  ibov

2.0.2 Medidas estatísticas do retorno de cada ativo

Code
# Retornos logarítmicos, médias (%), desvios e CV dos 5 ativos + IBOV
rcsan3 <- diff(log(csan3)); mrcsan3 <- mean(rcsan3)*100; Drcsan3 <- sd(rcsan3); cvcsan3 <- Drcsan3/mrcsan3*100

rb3sa3 <- diff(log(b3sa3)); mrb3sa3 <- mean(rb3sa3)*100; Drb3sa3 <- sd(rb3sa3); cvb3sa3 <- Drb3sa3/mrb3sa3*100

rslce3 <- diff(log(slce3)); mrslce3 <- mean(rslce3)*100; Drslce3 <- sd(rslce3); cvslce3 <- Drslce3/mrslce3*100

rggbr4 <- diff(log(ggbr4)); mrggbr4 <- mean(rggbr4)*100; Drggbr4 <- sd(rggbr4); cvggbr4 <- Drggbr4/mrggbr4*100

rradl3 <- diff(log(radl3)); mrradl3 <- mean(rradl3)*100; Drradl3 <- sd(rradl3); cvradl3 <- Drradl3/mrradl3*100

ribov  <- diff(log(ibov));  mribov  <- mean(ribov)*100;  Dribov  <- sd(ribov);  cvibov  <- Dribov/mribov*100

# Tabela
tabela_retornos <- tibble::tibble(
  Ativo = c("CSAN3", "B3SA3", "SLCE3", "GGBR4", "RADL3", "IBOV"),
  `Média (%)` = c(mrcsan3, mrb3sa3, mrslce3, mrggbr4, mrradl3, mribov),
  `Desvio Padrão` = c(Drcsan3, Drb3sa3, Drslce3, Drggbr4, Drradl3, Dribov),
  `Coeficiente de Variação` = c(cvcsan3, cvb3sa3, cvslce3, cvggbr4, cvradl3, cvibov)
)

# Exibe a tabela formatada
knitr::kable(tabela_retornos, digits = 4,
             caption = "Média, Desvio e Coeficiente de Variação dos Retornos Diários") %>%
  kableExtra::kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"),
                            full_width = FALSE)
Média, Desvio e Coeficiente de Variação dos Retornos Diários
Ativo Média (%) Desvio Padrão Coeficiente de Variação
CSAN3 0.0794 0.0201 25.3400
B3SA3 0.4459 0.0245 5.4937
SLCE3 -0.4043 0.0148 -3.6589
GGBR4 -0.2017 0.0228 -11.3189
RADL3 0.4802 0.0135 2.8187
IBOV 0.1027 0.0120 11.6436

Os ativos CSAN3, B3SA3 e RADL3 apresentaram uma média positiva do retorno médio diário, indicando que apresentaram crescimento no período analisado (tendência de alta). O diferente ocorre com os ativos SLCE3 e GGBR4, que obteram desvalorização diária de, aproximadamente, 0.40% e 0.20%, respectivamente.

Quanto ao desvio-padrão, ele mede quanto os retornos diários do ativo variam em torno da média, servindo como uma medida de volatilidade: quanto mais volátil em torno da média, ou seja, do retorno médio diário, maior o risco (e o contrário é verdade). Porém, o desvio-padrão deve ser analisado juntamente com a média. No caso de CSAN3, seu desvio-padrão é de 2,01%, maior que média, ou seja, ele possui uma alta variação diária. O mesmo acontece com B3SA3, tendo uma dispersão dos retornos em 2,45%, todavia ofereceu um retorno um pouco maior (0,4459%).

O coeficiente de variação (CV) indica a relação risco-retorno de um ativo. O maior CV foi do ativo CSAN3 (25.3). Significa dizer que, para cada unidade adicional de retorno, o investidor assume 25 vezes mais risco. Como este ativo apresentou uma retorno relativamente baixo nesse período, o seu risco é muito alto, não havendo compensação risco-retorno. De forma mais simples, CSAN3 exige muito risco para pouco retorno.

2.0.3 Betas Mercados

Code
# BUSCAR SELIC DIÁRIA
  
  library(rbcb)
  
  selic <- get_series(11, start_date = dataini_A,end_date =datafim_A);selic 
  library(zoo)
  Selic=zoo(selic$'11')
  index(Selic)=selic$date
  Selic; plot(Selic)

Code
# BUSCAR IBOVESPA
  
  Ibov <- get.hist.quote("^BVSP", quote = "Close", start = dataini_A,end = datafim_A)
  Ibov <- na.omit(Ibov)
  length(Ibov)
  Ibov
  plot(Ibov, main = "Preços de Fechamento - IBOV")

Code
# Elaborar a MATRIZ de dados para CAPM 5Ativos
  
  dados2=na.omit(merge(Ibov,Selic))
  dados2=data.frame(index(dados2), dados2)
  names(dados2)=c("Data", "Ibovespa", "SELIC")
  attach(dados2); dados2
  
  library(zoo)
  Ativos=merge(csan3,b3sa3,slce3,ggbr4,radl3,Ibov,Selic)
  length(na.omit(Ativos[,1]))
  Data1=index(na.omit(Ativos));length(Data1)
  
  CarteiraBETA=data.frame(na.omit(Ativos),na.omit(Data1))
  names(CarteiraBETA)=c("csan3","b3sa3","slce3","ggbr4","radl3","Ibovespa","Selic", "Data1")
  attach(CarteiraBETA)
  options(max.print=99999)
  CarteiraBETA
  n=length(CarteiraBETA[,1]); n
  CarteiraBETA[n,]
  write.table(CarteiraBETA, file="BetaCarteira.txt")
  
# Estimação do Beta Mercado dos Ativos
  
  CarteiraBETA<-read.table("BetaCarteira.txt", head=T)
  names(CarteiraBETA)<-c("csan3","b3sa3","slce3","ggbr4","radl3","Ibovespa","Selic", "Data")
  attach(CarteiraBETA)
  CarteiraBETA; length((CarteiraBETA$Selic))
  
  CarteiraBETA$Ibovespa;length(CarteiraBETA$Ibovespa)
  CarteiraBETA$csan3;length(CarteiraBETA$csan3)
  CarteiraBETA$Selic;length(CarteiraBETA$Selic)
  
  rIbov=diff(log(Ibovespa));rIbov;length(rIbov)
  RIbov=rIbov*100;RIbov;mean(RIbov)
  RSelic=CarteiraBETA$Selic[-1];length(CarteiraBETA$Selic[-1])
  RSelic
  
  rcsan3=diff(log(CarteiraBETA$csan3[-1]));length(CarteiraBETA$csan3[-1])
  rb3sa3=diff(log(CarteiraBETA$b3sa3[-1]));length(CarteiraBETA$b3sa3[-1])
  rslce3=diff(log(CarteiraBETA$slce3[-1]));length(CarteiraBETA$slce3[-1])
  rggbr4=diff(log(CarteiraBETA$ggbr4[-1]));length(CarteiraBETA$ggbr4[-1])
  rradl3=diff(log(CarteiraBETA$radl3[-1]));length(CarteiraBETA$radl3[-1])
  
  #RIbov=(rIbov-Selic[-1])
  RIbov=(rIbov-RSelic);length(RIbov);RIbov
  Rcsan3=rcsan3-RSelic[-1]
  Rcsan3;length(Rcsan3)
  Rb3sa3=rb3sa3-RSelic[-1]
  Rslce3=rslce3-RSelic[-1]
  Rggbr4=rggbr4-RSelic[-1]
  Rradl3=rradl3-RSelic[-1]
  
  #Cálculo dos Betas
  
  Betacsan3=lm(Rcsan3~RIbov[-1])
  Betacsan3
  Betab3sa3=lm(Rb3sa3~RIbov[-1]);Betab3sa3
  Betaslce3=lm(Rslce3~RIbov[-1]);Betaslce3
  Betaggbr4=lm(Rggbr4~RIbov[-1]);Betaggbr4
  Betaradl3=lm(Rradl3~RIbov[-1]);Betaradl3
Code
# Elaboração do Gráfico de Comparação dos Betas
  
  names=c("csan3","b3sa3","slce3","ggbr4","radl3")
  BETA.Mercado=c(Betacsan3$coef[2],Betab3sa3$coef[2],Betaslce3$coef[2],Betaggbr4$coef[2],Betaradl3$coef[2]);names;BETA.Mercado
[1] "csan3" "b3sa3" "slce3" "ggbr4" "radl3"
RIbov[-1] RIbov[-1] RIbov[-1] RIbov[-1] RIbov[-1] 
1.2998030 1.7078709 0.2627134 1.1473240 0.5343840 
Code
  bpb<-barplot(BETA.Mercado, main="Gráf.4:Cálculo do Beta-Mercado da Carteira Sugerida (60 dias)", ylim=c(0,3.0),names.arg=names, ylab="Percentual %", cex.names=1, col="darkgreen")
  text(x = as.vector(bpb), y = BETA.Mercado, 
       label =  round(BETA.Mercado, 2), pos = 3, 
       col = "black",cex=0.8)

O beta mercado mede a exposição sistemática (economia como um todo) do risco de mercado, ou seja, mede o risco que não pode ser eliminado pela diversificação. Se o beta for igual a 1, indica que o risco do ativo é igual ao risco sistemático, acompanhando o mercado. Sendo o beta maior do que 1, significa dizer que o risco do ativo é maior que o mercado (risco do ativo possui maior volatilidade). B3SA3, por exemplo, possui um beta de 1.71, logo ele varia 71% a mais que o mercado. GGBR4 também é mais volátil que o mercado (beta igual a 1.15), assim como CSAN3 (30% mais volátil que o IBOV). Já os ativos SLCE3 e RADL3 tendem a se mover menos com relação ao índice de mercado, sendo os betas de 0.26 e 0.53, respectivamente.

2.0.4 Indicadores de Performance

2.0.5 Treynor

Code
#-----------TREYNOR(1965)---------------------
{
mean(csan3)*100
Betacsan3$coef[2]
Treynor<-mean(Rcsan3)*100/Betacsan3$coef[2];Treynor

TREYNOR=c(mean(Rcsan3)*100/Betacsan3$coef[2],mean(Rb3sa3)*100/Betab3sa3$coef[2],mean(Rslce3)*100/Betaslce3$coef[2],mean(Rggbr4)*100/Betaggbr4$coef[2],mean(Rradl3)*100/Betaradl3$coef[2]);names;TREYNOR

bpTreynor<-barplot(TREYNOR, main="Indicador de Performance: Treynor", ylim=c(-10,1),names.arg=names, ylab="Percentual %", cex.names=1)
text(x = as.vector(bpTreynor), y = TREYNOR, 
     label =  round(TREYNOR, 4), pos = 3, 
     col = "black", cex = 0.8)
}

O índice de Treynor mede quanto o retorno excedente com relação a taxa livre de risco o ativo gerou para cada unidade do risco sistemático (beta). O caso acima (Treynor negativo) significa dizer que o ativo teve desempenho abaixo do ativo que é livre de risco (destruiu valor). Quando o índice é maior, quer dizer que o ativo/carteira foi eficiente no uso do risco sistemático, entregando mais retorno por unidade adicional de beta. Se o índice for menor, implica dizer que o retorno adicional é fraco em relação ao risco sistemático.

2.0.6 Sharpe

Code
  #-----------SHARPE(1966)----------------------
  {
    mean(Rcsan3)
    sd(Rcsan3)
    Sharpe<-mean(Rcsan3)/sd(Rcsan3);Sharpe
    
    SHARPE=c(mean(Rcsan3)/sd(Rcsan3),mean(Rb3sa3)/sd(Rb3sa3),mean(Rslce3)/sd(Rslce3),mean(Rggbr4)/sd(Rggbr4),mean(Rradl3)/sd(Rradl3));names;SHARPE
    
    bpSharpe<-barplot(SHARPE, main="Indicador de Performance: Sharpe", ylim=c(-4,1),names.arg=names, ylab="Percentual %", cex.names=1)
    text(x = as.vector(bpSharpe), y = SHARPE, 
         label =  round(SHARPE, 4), pos = 3, 
         col = "black", cex = 0.8)
  }

O índice de Sharpe oferece uma medida de eficiência da relação risco-retorno do ativo/portfólio, ou seja, é uma relação entre o retorno que o ativo oferece ao nível de risco que ele representa (desvio-padrão). Ele é calculado a partir da razão da diferença entre o retorno do ativo e a taxa livre de risco pelo desvio-padrão. Sendo ele negativo, significa que o retorno do ativo não supera o retorno do ativo livre de risco, indicando que não vale a pena investir na ação.

2.0.7 Jensen

Code
  {
    names=c("csan3","b3sa3","slce3","ggbr4","radl3")
    JENSEN=c(Betacsan3$coef[1],Betab3sa3$coef[1],Betaslce3$coef[1],Betaggbr4$coef[1],Betaradl3$coef[1]);names;JENSEN
    
    bpJensen<-barplot(JENSEN, main="Indicador de Performance: Jensen", ylim=c(-0.02,0.09),names.arg=names, ylab="Percentual %", cex.names=0.7)
    text(x = as.vector(bpJensen), y = JENSEN, 
         label =  round(JENSEN, 4), pos = 3, 
         col = "black", cex = 0.7)
  }

Por fim, o índice de Jensen, que mostra se o ativo rendeu mais, igual ou menos do que o retorno esperado para um determinado nível de risco assumido. A maioria dos índices para cada ativo foi positivo, ou seja, ativo superou o retorno esperado para o risco sistemático, gerando valor. Os ativos SLCE3 e RADL3 obtiveram alfa negativo, indicando que o ativo não compensou o risco que foi assumido.

3 Período B

3.0.1 Coleta de Dados

Code
setwd("C:/Users/Sandrielly/Documents/Ciencias Economicas/P6 - 2025.1/Gestao de Risco")

remove(list=ls())
gc()
par(mfrow=c(1,1))
options(scipen=999)
options(max.print = 100000)
date()

#install.packages("kableExtra")
library(tseries)
library(fBasics)
library(tibble)
library(kableExtra)


#Período A
dataini_B <- "2025-02-01"
datafim_B <- "2025-05-05"

## Busca dos Dados

csan3 <- get.hist.quote("csan3.sa", quote = "Close", start = dataini_B, end = datafim_B); length(csan3); csan3
b3sa3 <- get.hist.quote("b3sa3.sa", quote = "Close", start = dataini_B, end = datafim_B); length(b3sa3); b3sa3
slce3 <- get.hist.quote("slce3.sa", quote = "Close", start = dataini_B, end = datafim_B); length(slce3); slce3
ggbr4 <- get.hist.quote("ggbr4.sa", quote = "Close", start = dataini_B, end = datafim_B); length(ggbr4); ggbr4
radl3 <- get.hist.quote("radl3.sa", quote = "Close", start = dataini_B, end = datafim_B); length(radl3); radl3
ibov  <- get.hist.quote("^BVSP",     quote = "Close", start = dataini_B, end = datafim_B); length(ibov);  ibov

3.0.2 Medidas estatísticas do retorno de cada ativo

Code
# Retornos logarítmicos, médias (%), desvios e CV dos 5 ativos + IBOV
rcsan3 <- diff(log(csan3)); mrcsan3 <- mean(rcsan3)*100; Drcsan3 <- sd(rcsan3); cvcsan3 <- Drcsan3/mrcsan3*100

rb3sa3 <- diff(log(b3sa3)); mrb3sa3 <- mean(rb3sa3)*100; Drb3sa3 <- sd(rb3sa3); cvb3sa3 <- Drb3sa3/mrb3sa3*100

rslce3 <- diff(log(slce3)); mrslce3 <- mean(rslce3)*100; Drslce3 <- sd(rslce3); cvslce3 <- Drslce3/mrslce3*100

rggbr4 <- diff(log(ggbr4)); mrggbr4 <- mean(rggbr4)*100; Drggbr4 <- sd(rggbr4); cvggbr4 <- Drggbr4/mrggbr4*100

rradl3 <- diff(log(radl3)); mrradl3 <- mean(rradl3)*100; Drradl3 <- sd(rradl3); cvradl3 <- Drradl3/mrradl3*100

ribov  <- diff(log(ibov));  mribov  <- mean(ribov)*100;  Dribov  <- sd(ribov);  cvibov  <- Dribov/mribov*100

# Tabela
tabela_retornos <- tibble::tibble(
  Ativo = c("CSAN3", "B3SA3", "SLCE3", "GGBR4", "RADL3", "IBOV"),
  `Média (%)` = c(mrcsan3, mrb3sa3, mrslce3, mrggbr4, mrradl3, mribov),
  `Desvio Padrão` = c(Drcsan3, Drb3sa3, Drslce3, Drggbr4, Drradl3, Dribov),
  `Coeficiente de Variação` = c(cvcsan3, cvb3sa3, cvslce3, cvggbr4, cvradl3, cvibov)
)

# Exibe a tabela formatada
knitr::kable(tabela_retornos, digits = 4,
             caption = "Média, Desvio e Coeficiente de Variação dos Retornos Diários") %>%
  kableExtra::kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"),
                            full_width = FALSE)
Média, Desvio e Coeficiente de Variação dos Retornos Diários
Ativo Média (%) Desvio Padrão Coeficiente de Variação
CSAN3 0.0450 0.0289 64.1744
B3SA3 0.2986 0.0266 8.9011
SLCE3 0.2308 0.0196 8.5034
GGBR4 -0.2661 0.0221 -8.2899
RADL3 -0.0443 0.0262 -59.0840
IBOV 0.1190 0.0112 9.3789

No segundo período (B) analisado, os ativos CSAN3 e B3SA3 continuaram apresentando ganho médio diário em comparação ao período A. Já SLCE3 e RADL3 tiveram direções opostas em comparação ao período analisado anteriormente, sendo o primeiro com crescimento no retorno médio diário e o segundo com tendência de queda.

O ativo que apresentou menor dispersão dos retornos foi SLCE3, indicando que seu retorno foi próximo da média, logo seu preço ele teve mais estabilidade ao longo do período, com baixa volatilidade. Quanto ao ativo CSAN3, sua volatilidade diária foi alta, indicando que as oscilações foram mais intensas do que o retorno médio.

O CV de CSAN3 explica ainda melhor esse movimento, apontando que o risco é muito grande com relação ao retorno esperado (investidor assume 64 unidades de risco para cada unidade adicional de retorno esperado), ou seja, o ativo não compensa o risco de maneira eficiente.

3.0.3 Betas Mercados

Code
# BUSCAR SELIC DIÁRIA
  
  library(rbcb)
  
  selic <- get_series(11, start_date = dataini_B,end_date =datafim_B);selic 
  library(zoo)
  Selic=zoo(selic$'11')
  index(Selic)=selic$date
  Selic; plot(Selic)

Code
# BUSCAR IBOVESPA
  
  Ibov <- get.hist.quote("^BVSP", quote = "Close", start = dataini_B,end = datafim_B)
  Ibov <- na.omit(Ibov)
  length(Ibov)
  Ibov
  plot(Ibov, main = "Preços de Fechamento - IBOV")

Code
# Elaborar a MATRIZ de dados para CAPM 5Ativos
  
  dados2=na.omit(merge(Ibov,Selic))
  dados2=data.frame(index(dados2), dados2)
  names(dados2)=c("Data", "Ibovespa", "SELIC")
  attach(dados2); dados2
  
  library(zoo)
  Ativos=merge(csan3,b3sa3,slce3,ggbr4,radl3,Ibov,Selic)
  length(na.omit(Ativos[,1]))
  Data1=index(na.omit(Ativos));length(Data1)
  
  CarteiraBETA=data.frame(na.omit(Ativos),na.omit(Data1))
  names(CarteiraBETA)=c("csan3","b3sa3","slce3","ggbr4","radl3","Ibovespa","Selic", "Data1")
  attach(CarteiraBETA)
  options(max.print=99999)
  CarteiraBETA
  n=length(CarteiraBETA[,1]); n
  CarteiraBETA[n,]
  write.table(CarteiraBETA, file="BetaCarteira.txt")
  
# Estimação do Beta Mercado dos Ativos
  
  CarteiraBETA<-read.table("BetaCarteira.txt", head=T)
  names(CarteiraBETA)<-c("csan3","b3sa3","slce3","ggbr4","radl3","Ibovespa","Selic", "Data")
  attach(CarteiraBETA)
  CarteiraBETA; length((CarteiraBETA$Selic))
  
  CarteiraBETA$Ibovespa;length(CarteiraBETA$Ibovespa)
  CarteiraBETA$csan3;length(CarteiraBETA$csan3)
  CarteiraBETA$Selic;length(CarteiraBETA$Selic)
  
  rIbov=diff(log(Ibovespa));rIbov;length(rIbov)
  RIbov=rIbov*100;RIbov;mean(RIbov)
  RSelic=CarteiraBETA$Selic[-1];length(CarteiraBETA$Selic[-1])
  RSelic
  
  rcsan3=diff(log(CarteiraBETA$csan3[-1]));length(CarteiraBETA$csan3[-1])
  rb3sa3=diff(log(CarteiraBETA$b3sa3[-1]));length(CarteiraBETA$b3sa3[-1])
  rslce3=diff(log(CarteiraBETA$slce3[-1]));length(CarteiraBETA$slce3[-1])
  rggbr4=diff(log(CarteiraBETA$ggbr4[-1]));length(CarteiraBETA$ggbr4[-1])
  rradl3=diff(log(CarteiraBETA$radl3[-1]));length(CarteiraBETA$radl3[-1])
  
  #RIbov=(rIbov-Selic[-1])
  RIbov=(rIbov-RSelic);length(RIbov);RIbov
  Rcsan3=rcsan3-RSelic[-1]
  Rcsan3;length(Rcsan3)
  Rb3sa3=rb3sa3-RSelic[-1]
  Rslce3=rslce3-RSelic[-1]
  Rggbr4=rggbr4-RSelic[-1]
  Rradl3=rradl3-RSelic[-1]
  
  #Cálculo dos Betas
  
  Betacsan3=lm(Rcsan3~RIbov[-1])
  Betacsan3
  Betab3sa3=lm(Rb3sa3~RIbov[-1]);Betab3sa3
  Betaslce3=lm(Rslce3~RIbov[-1]);Betaslce3
  Betaggbr4=lm(Rggbr4~RIbov[-1]);Betaggbr4
  Betaradl3=lm(Rradl3~RIbov[-1]);Betaradl3
Code
# Elaboração do Gráfico de Comparação dos Betas
  
  names=c("csan3","b3sa3","slce3","ggbr4","radl3")
  BETA.Mercado=c(Betacsan3$coef[2],Betab3sa3$coef[2],Betaslce3$coef[2],Betaggbr4$coef[2],Betaradl3$coef[2]);names;BETA.Mercado
[1] "csan3" "b3sa3" "slce3" "ggbr4" "radl3"
RIbov[-1] RIbov[-1] RIbov[-1] RIbov[-1] RIbov[-1] 
2.0865079 1.6783898 0.2911812 1.3179135 1.0886580 
Code
  bpb<-barplot(BETA.Mercado, main="Gráf.4:Cálculo do Beta-Mercado da Carteira Sugerida (60 dias)", ylim=c(0,3.0),names.arg=names, ylab="Percentual %", cex.names=1, col="darkgreen")
  text(x = as.vector(bpb), y = BETA.Mercado, 
       label =  round(BETA.Mercado, 2), pos = 3, 
       col = "black",cex=0.8)

Neste segundo período estudado, a maioria dos ativosm foram mais voláteis que o mercado. CSAN3 é o que apresenta o risto sistemático maior. Quanto ao ativo SLCE3, teve seu beta menor que 1 e positivo, indicando que ele foi menos volátil que o mercado ao longo do período visto.

3.0.4 Indicadores de Performance

3.0.5 Treynor

Code
#-----------TREYNOR(1965)---------------------
{
mean(csan3)*100
Betacsan3$coef[2]
Treynor<-mean(Rcsan3)*100/Betacsan3$coef[2];Treynor

TREYNOR=c(mean(Rcsan3)*100/Betacsan3$coef[2],mean(Rb3sa3)*100/Betab3sa3$coef[2],mean(Rslce3)*100/Betaslce3$coef[2],mean(Rggbr4)*100/Betaggbr4$coef[2],mean(Rradl3)*100/Betaradl3$coef[2]);names;TREYNOR

bpTreynor<-barplot(TREYNOR, main="Indicador de Performance: Treynor", ylim=c(-10,1),names.arg=names, ylab="Percentual %", cex.names=1)
text(x = as.vector(bpTreynor), y = TREYNOR, 
     label =  round(TREYNOR, 4), pos = 3, 
     col = "black", cex = 0.8)
}

O índice de Treynor demonstra, mais uma vez, que todos os ativos destruíram valor no período observado, tendo desempenho abaixo do ativo livre de risco. Neste caso, o retorno adicional de cada ativo não compensou o risco de mercado, especialmente o ativo SLCE3, que teve o maior valor negativo.

3.0.6 Sharpe

Code
  #-----------SHARPE(1966)----------------------
  {
    mean(Rcsan3)
    sd(Rcsan3)
    Sharpe<-mean(Rcsan3)/sd(Rcsan3);Sharpe
    
    SHARPE=c(mean(Rcsan3)/sd(Rcsan3),mean(Rb3sa3)/sd(Rb3sa3),mean(Rslce3)/sd(Rslce3),mean(Rggbr4)/sd(Rggbr4),mean(Rradl3)/sd(Rradl3));names;SHARPE
    
    bpSharpe<-barplot(SHARPE, main="Indicador de Performance: Sharpe", ylim=c(-4,1),names.arg=names, ylab="Percentual %", cex.names=1)
    text(x = as.vector(bpSharpe), y = SHARPE, 
         label =  round(SHARPE, 4), pos = 3, 
         col = "black", cex = 0.8)
  }

O índice de Sharpe também demonstra que nenhum os ativos supera o retorno da taxa livre de risco, não indicando uma boa escolha de investimento. Não há boa eficiência na relação risco-retorno.

3.0.7 Jensen

Code
 {
    names=c("csan3","b3sa3","slce3","ggbr4","radl3")
    JENSEN=c(Betacsan3$coef[1],Betab3sa3$coef[1],Betaslce3$coef[1],Betaggbr4$coef[1],Betaradl3$coef[1]);names;JENSEN
    
    bpJensen<-barplot(JENSEN, main="Indicador de Performance: Jensen", ylim=c(-0.02,0.09),names.arg=names, ylab="Percentual %", cex.names=0.7)
    text(x = as.vector(bpJensen), y = JENSEN, 
         label =  round(JENSEN, 4), pos = 3, 
         col = "black", cex = 0.7)
  }

De acordo com o índice de Jensen, todos os ativos, exceto SLCE3, geraram valor, superando o mercado ajustado ao nível de risco. O ativo SLCE3 teve seu índice negativo, demonstrando que o risco de mercado não foi compensado, rendendo menos do que o retorno esperado.

4 Conclusão

A análise mostrou que a magnitude do risco mudou de um período para outro. No período B, os ativos demonstraram um maior beta, indicando que houve maior exposição ao risco sistemático, que é o risco do mercado como um todo. Os índices de Treynor e Sharpe mostraram que os ativos tiveram desempenho abaixo do mercado, sem geração de valor. Já o índice de Jensen apresentou um melhor comportamento no período B, mostrando que alguns ativos geraram valor a um nível ajustado de risco. Logo, é necessário balancear ativos de alto CV com ativos de baixo CV, e monitorar o beta da carteira ou dos ativos para que o risco seja compatível ao perfil do investidor.