rm(list=ls()) # limpa os objetos da ultima execução
options(scipen = 9999, # inibe exibição de resultaos em notação científica
digits = 8, # limita o número de digitos das saídas do programa
max.print = 6) # limita o tamanho da saída do programa
library(magrittr) # pacote para operadores semânticos %>%, %$%
library(dplyr) # pacote para manipulação de dados
library(tidyr) # pacote para manipulação de dados
library(kableExtra) # pacote para formatar tabelas
library(readxl) # pacote para ler e manipular arquivos xlsx
library(ggplot2) # pacote para elaboração de gráficos
library(corrplot) # pacote para visualização de correlações
library(knitr) # pacote para visualização
library(DT) # pacote para formatar tabelas
library(janitor) # pacote para limpeza de nomes de colunas
(2,0 pontos). A planilha “Dados_Ações_2023” contêm preços de fechamento mensais de seis ações listadas na B3: ITUB4, PETR4, VALE3, MGLU3, BOVA11 e ABCB4, bem como o Ibovespa (IBOV) como índice de mercado, abrangendo o período de jan/2021 a dez/2022. Com base nesses dados:
# Importando a base de dados
dados_acoes <- data.frame(read_xlsx("C:/Users/cleod/OneDrive/Documentos/Documentos/Estudos/Ciências Atuariais/Finanças Aplicadas III/Dados_Aes_2023.xlsx"))
# Convertendo todas as colunas (exceto "Mês") para numéricas
dados_acoes <- dados_acoes %>%
mutate(across(-Mês, as.numeric))
# Visualizando a base de dados
kable(dados_acoes)
Mês | ITUB4 | PETR4 | VALE3 | MGLU3 | BOVA11 | ABCB4 | IBOV |
---|---|---|---|---|---|---|---|
2021-01 | 28.5 | 25.1 | 84.2 | 19.0 | 100.0 | 15.6 | 118000 |
2021-02 | 29.2 | 24.8 | 86.0 | 20.1 | 102.5 | 15.9 | 117500 |
2021-03 | 30.1 | 25.9 | 88.3 | 18.9 | 101.8 | 16.1 | 120200 |
2021-04 | 31.2 | 27.4 | 90.5 | 20.5 | 103.3 | 16.4 | 121800 |
2021-05 | 32.1 | 28.7 | 93.2 | 21.9 | 105.0 | 16.8 | 123500 |
2021-06 | 31.8 | 27.6 | 91.0 | 22.5 | 104.5 | 16.7 | 122000 |
2021-07 | 33.0 | 29.1 | 92.5 | 22.0 | 106.2 | 17.1 | 124000 |
2021-08 | 32.5 | 28.8 | 94.1 | 23.2 | 105.8 | 17.0 | 123200 |
2021-09 | 31.9 | 27.9 | 91.8 | 22.7 | 104.3 | 16.6 | 121500 |
2021-10 | 32.4 | 29.2 | 93.5 | 24.1 | 106.0 | 16.9 | 123800 |
2021-11 | 33.5 | 30.0 | 95.7 | 25.8 | 107.1 | 17.2 | 125000 |
2021-12 | 34.2 | 31.1 | 97.5 | 25.5 | 108.5 | 17.4 | 126000 |
2022-01 | 33.8 | 30.9 | 96.0 | 24.0 | 107.0 | 17.1 | 124500 |
2022-02 | 34.5 | 31.8 | 97.2 | 24.8 | 108.2 | 17.5 | 126300 |
2022-03 | 33.9 | 33.0 | 99.1 | 26.5 | 107.8 | 17.8 | 127800 |
2022-04 | 35.2 | 34.4 | 100.2 | 27.8 | 109.0 | 18.0 | 129200 |
2022-05 | 36.1 | 33.5 | 99.0 | 27.2 | 110.5 | 18.3 | 128000 |
2022-06 | 35.5 | 32.8 | 97.7 | 26.8 | 109.2 | 18.1 | 127000 |
2022-07 | 36.3 | 34.0 | 98.9 | 28.5 | 110.8 | 18.6 | 128500 |
2022-08 | 37.2 | 33.7 | 100.3 | 29.8 | 112.1 | 18.8 | 130200 |
2022-09 | 36.9 | 32.5 | 98.8 | 28.9 | 111.4 | 18.7 | 128900 |
2022-10 | 38.1 | 33.4 | 100.1 | 29.5 | 113.0 | 19.2 | 130500 |
2022-11 | 37.5 | 34.2 | 101.5 | 30.7 | 114.2 | 19.4 | 132000 |
2022-12 | 38.4 | 35.1 | 102.8 | 31.2 | 115.5 | 19.8 | 133500 |
Calcule o retorno composto discreto mensal de cada ação ao longo do período e, em seguida, o retorno composto discreto anualizado.
# Calculando o retorno composto discreto mensal
retorno_mensal <- dados_acoes %>%
mutate(ITUB4 = ITUB4/lag(ITUB4) - 1,
PETR4 = PETR4/lag(PETR4) - 1,
VALE3 = VALE3/lag(VALE3) - 1,
MGLU3 = MGLU3/lag(MGLU3) - 1,
BOVA11 = BOVA11/lag(BOVA11) - 1,
ABCB4 = ABCB4/lag(ABCB4) - 1,
IBOV = IBOV/lag(IBOV) - 1)
# Cálculo do retorno anualizado
retorno_anualizado <- retorno_mensal %>%
summarise(across(where(is.numeric), ~ prod(1 + ., na.rm = TRUE)^(12/n()) - 1))
# Visualizando o retorno composto discreto mensal e anualizado
kable(retorno_mensal, align = "c", digits = 4, caption = "Retorno composto discreto mensal")
Mês | ITUB4 | PETR4 | VALE3 | MGLU3 | BOVA11 | ABCB4 | IBOV |
---|---|---|---|---|---|---|---|
2021-01 | NA | NA | NA | NA | NA | NA | NA |
2021-02 | 0.0246 | -0.0120 | 0.0214 | 0.0579 | 0.0250 | 0.0192 | -0.0042 |
2021-03 | 0.0308 | 0.0444 | 0.0267 | -0.0597 | -0.0068 | 0.0126 | 0.0230 |
2021-04 | 0.0365 | 0.0579 | 0.0249 | 0.0847 | 0.0147 | 0.0186 | 0.0133 |
2021-05 | 0.0288 | 0.0474 | 0.0298 | 0.0683 | 0.0165 | 0.0244 | 0.0140 |
2021-06 | -0.0093 | -0.0383 | -0.0236 | 0.0274 | -0.0048 | -0.0060 | -0.0121 |
2021-07 | 0.0377 | 0.0543 | 0.0165 | -0.0222 | 0.0163 | 0.0240 | 0.0164 |
2021-08 | -0.0152 | -0.0103 | 0.0173 | 0.0545 | -0.0038 | -0.0058 | -0.0065 |
2021-09 | -0.0185 | -0.0313 | -0.0244 | -0.0216 | -0.0142 | -0.0235 | -0.0138 |
2021-10 | 0.0157 | 0.0466 | 0.0185 | 0.0617 | 0.0163 | 0.0181 | 0.0189 |
2021-11 | 0.0340 | 0.0274 | 0.0235 | 0.0705 | 0.0104 | 0.0178 | 0.0097 |
2021-12 | 0.0209 | 0.0367 | 0.0188 | -0.0116 | 0.0131 | 0.0116 | 0.0080 |
2022-01 | -0.0117 | -0.0064 | -0.0154 | -0.0588 | -0.0138 | -0.0172 | -0.0119 |
2022-02 | 0.0207 | 0.0291 | 0.0125 | 0.0333 | 0.0112 | 0.0234 | 0.0145 |
2022-03 | -0.0174 | 0.0377 | 0.0195 | 0.0685 | -0.0037 | 0.0171 | 0.0119 |
2022-04 | 0.0383 | 0.0424 | 0.0111 | 0.0491 | 0.0111 | 0.0112 | 0.0110 |
2022-05 | 0.0256 | -0.0262 | -0.0120 | -0.0216 | 0.0138 | 0.0167 | -0.0093 |
2022-06 | -0.0166 | -0.0209 | -0.0131 | -0.0147 | -0.0118 | -0.0109 | -0.0078 |
2022-07 | 0.0225 | 0.0366 | 0.0123 | 0.0634 | 0.0147 | 0.0276 | 0.0118 |
2022-08 | 0.0248 | -0.0088 | 0.0142 | 0.0456 | 0.0117 | 0.0108 | 0.0132 |
2022-09 | -0.0081 | -0.0356 | -0.0150 | -0.0302 | -0.0062 | -0.0053 | -0.0100 |
2022-10 | 0.0325 | 0.0277 | 0.0132 | 0.0208 | 0.0144 | 0.0267 | 0.0124 |
2022-11 | -0.0157 | 0.0240 | 0.0140 | 0.0407 | 0.0106 | 0.0104 | 0.0115 |
2022-12 | 0.0240 | 0.0263 | 0.0128 | 0.0163 | 0.0114 | 0.0206 | 0.0114 |
kable(retorno_anualizado, align = "c", digits = 4, caption = "Retorno composto discreto anualizado")
ITUB4 | PETR4 | VALE3 | MGLU3 | BOVA11 | ABCB4 | IBOV |
---|---|---|---|---|---|---|
0.1608 | 0.1825 | 0.1049 | 0.2814 | 0.0747 | 0.1266 | 0.0637 |
Calcule o retorno composto contínuo mensal e o retorno composto contínuo anualizado para cada ação.
# Calculando o retorno composto contínuo mensal
retorno_mensal_continuo <- dados_acoes %>%
mutate(ITUB4 = log(ITUB4/lag(ITUB4)),
PETR4 = log(PETR4/lag(PETR4)),
VALE3 = log(VALE3/lag(VALE3)),
MGLU3 = log(MGLU3/lag(MGLU3)),
BOVA11 = log(BOVA11/lag(BOVA11)),
ABCB4 = log(ABCB4/lag(ABCB4)),
IBOV = log(IBOV/lag(IBOV))
)
# Calculando o retorno anualizado contínuo (ignorando NA)
retorno_anualizado_continuo <- retorno_mensal_continuo %>%
summarise(across(where(is.numeric), ~ mean(., na.rm = TRUE) * 12))
# Visualizando o retorno composto contínuo mensal e anualizado
kable(retorno_mensal_continuo, align = "c", digits = 4, caption = "Retorno composto contínuo mensal")
Mês | ITUB4 | PETR4 | VALE3 | MGLU3 | BOVA11 | ABCB4 | IBOV |
---|---|---|---|---|---|---|---|
2021-01 | NA | NA | NA | NA | NA | NA | NA |
2021-02 | 0.0243 | -0.0120 | 0.0212 | 0.0563 | 0.0247 | 0.0190 | -0.0042 |
2021-03 | 0.0304 | 0.0434 | 0.0264 | -0.0616 | -0.0069 | 0.0125 | 0.0227 |
2021-04 | 0.0359 | 0.0563 | 0.0246 | 0.0813 | 0.0146 | 0.0185 | 0.0132 |
2021-05 | 0.0284 | 0.0464 | 0.0294 | 0.0661 | 0.0163 | 0.0241 | 0.0139 |
2021-06 | -0.0094 | -0.0391 | -0.0239 | 0.0270 | -0.0048 | -0.0060 | -0.0122 |
2021-07 | 0.0370 | 0.0529 | 0.0163 | -0.0225 | 0.0161 | 0.0237 | 0.0163 |
2021-08 | -0.0153 | -0.0104 | 0.0171 | 0.0531 | -0.0038 | -0.0059 | -0.0065 |
2021-09 | -0.0186 | -0.0317 | -0.0247 | -0.0218 | -0.0143 | -0.0238 | -0.0139 |
2021-10 | 0.0156 | 0.0455 | 0.0183 | 0.0598 | 0.0162 | 0.0179 | 0.0188 |
2021-11 | 0.0334 | 0.0270 | 0.0233 | 0.0682 | 0.0103 | 0.0176 | 0.0096 |
2021-12 | 0.0207 | 0.0360 | 0.0186 | -0.0117 | 0.0130 | 0.0116 | 0.0080 |
2022-01 | -0.0118 | -0.0065 | -0.0155 | -0.0606 | -0.0139 | -0.0174 | -0.0120 |
2022-02 | 0.0205 | 0.0287 | 0.0124 | 0.0328 | 0.0112 | 0.0231 | 0.0144 |
2022-03 | -0.0175 | 0.0370 | 0.0194 | 0.0663 | -0.0037 | 0.0170 | 0.0118 |
2022-04 | 0.0376 | 0.0415 | 0.0110 | 0.0479 | 0.0111 | 0.0112 | 0.0109 |
2022-05 | 0.0252 | -0.0265 | -0.0120 | -0.0218 | 0.0137 | 0.0165 | -0.0093 |
2022-06 | -0.0168 | -0.0211 | -0.0132 | -0.0148 | -0.0118 | -0.0110 | -0.0078 |
2022-07 | 0.0223 | 0.0359 | 0.0122 | 0.0615 | 0.0145 | 0.0272 | 0.0117 |
2022-08 | 0.0245 | -0.0089 | 0.0141 | 0.0446 | 0.0117 | 0.0107 | 0.0131 |
2022-09 | -0.0081 | -0.0363 | -0.0151 | -0.0307 | -0.0063 | -0.0053 | -0.0100 |
2022-10 | 0.0320 | 0.0273 | 0.0131 | 0.0205 | 0.0143 | 0.0264 | 0.0123 |
2022-11 | -0.0159 | 0.0237 | 0.0139 | 0.0399 | 0.0106 | 0.0104 | 0.0114 |
2022-12 | 0.0237 | 0.0260 | 0.0127 | 0.0162 | 0.0113 | 0.0204 | 0.0113 |
kable(retorno_anualizado_continuo, align = "c", digits = 4, caption = "Retorno composto contínuo anualizado")
ITUB4 | PETR4 | VALE3 | MGLU3 | BOVA11 | ABCB4 | IBOV |
---|---|---|---|---|---|---|
0.1556 | 0.175 | 0.1041 | 0.2588 | 0.0752 | 0.1244 | 0.0644 |
Calcule o desvio-padrão mensal das variações de preço de cada ação. Em seguida, converta o desvio-padrão mensal em desvio-padrão anualizado e discuta os resultados.
# Calculando o desvio-padrão mensal
desvio_padrao_mensal <- retorno_mensal_continuo %>%
summarise(across(where(is.numeric), ~ sd(., na.rm = TRUE)))
# Calculando o desvio-padrão anualizado
desvio_padrao_anualizado <- desvio_padrao_mensal %>%
summarise(across(where(is.numeric), ~ . * sqrt(12)))
# Criando tabela com desvios
tabela_desvios <- data.frame(
Ação = c("ITUB4", "PETR4", "VALE3", "MGLU3", "BOVA11", "ABCB4", "IBOV"),
Desvio_Padrão_Mensal = c(desvio_padrao_mensal$ITUB4, desvio_padrao_mensal$PETR4, desvio_padrao_mensal$VALE3, desvio_padrao_mensal$MGLU3, desvio_padrao_mensal$BOVA11, desvio_padrao_mensal$ABCB4, desvio_padrao_mensal$IBOV),
Desvio_Padrão_Anualizado = c(desvio_padrao_anualizado$ITUB4, desvio_padrao_anualizado$PETR4, desvio_padrao_anualizado$VALE3, desvio_padrao_anualizado$MGLU3, desvio_padrao_anualizado$BOVA11, desvio_padrao_anualizado$ABCB4, desvio_padrao_anualizado$IBOV)
)
# Exibindo a tabela de desvios
kable(tabela_desvios, align = "c", digits = 4, caption = "Desvios-padrão mensal e anualizado")
Ação | Desvio_Padrão_Mensal | Desvio_Padrão_Anualizado |
---|---|---|
ITUB4 | 0.0211 | 0.0730 |
PETR4 | 0.0315 | 0.1090 |
VALE3 | 0.0167 | 0.0580 |
MGLU3 | 0.0433 | 0.1500 |
BOVA11 | 0.0114 | 0.0397 |
ABCB4 | 0.0146 | 0.0505 |
IBOV | 0.0116 | 0.0403 |
Análise
As ações de MGLU3 e PETR4 apresentam maior volatilidade tanto mensal quanto anualizada, refletindo um risco mais alto para os investidores. Por outro lado, as ações de IBOVA11 e IBOV, como índices índices de mercado, têm os menores desvios-padrão, sugerindo uma opção mais estável e com risco reduzido, adequada para investidores mais conservadores.
Utilizando IBOV como proxy de mercado, estime o β de cada ação mediante regressão linear. Admita o retorno da ação como a variável dependente do modelo e o retorno do Ibovespa como a variável independente.
# Função para calcular o beta de cada ação
calcular_beta <- function(retorno_acao, retorno_ibov) {
modelo <- lm(retorno_acao ~ retorno_ibov)
return(coef(modelo)[2])
}
# Calculando o beta para cada ação
beta_ITUB4 <- calcular_beta(retorno_mensal_continuo$ITUB4, retorno_mensal_continuo$IBOV)
beta_PETR4 <- calcular_beta(retorno_mensal_continuo$PETR4, retorno_mensal_continuo$IBOV)
beta_VALE3 <- calcular_beta(retorno_mensal_continuo$VALE3, retorno_mensal_continuo$IBOV)
beta_MGLU3 <- calcular_beta(retorno_mensal_continuo$MGLU3, retorno_mensal_continuo$IBOV)
beta_ABCB4 <- calcular_beta(retorno_mensal_continuo$ABCB4, retorno_mensal_continuo$IBOV)
beta_BOVA11 <- calcular_beta(retorno_mensal_continuo$BOVA11, retorno_mensal_continuo$IBOV)
# Criando um data frame com os betas calculados
tabela_betas <- data.frame(
Ação = c("ITUB4", "PETR4", "VALE3", "MGLU3", "ABCB4", "BOVA11"),
Beta = c(beta_ITUB4, beta_PETR4, beta_VALE3, beta_MGLU3, beta_ABCB4, beta_BOVA11)
)
# Exibindo a tabela de betas
kable(tabela_betas, align = "c", digits = 4, caption = "Betas das ações")
Ação | Beta |
---|---|
ITUB4 | 1.1396 |
PETR4 | 2.4331 |
VALE3 | 1.1942 |
MGLU3 | 1.3351 |
ABCB4 | 0.9784 |
BOVA11 | 0.5435 |
Verifique a significância estatística dos β estimados (por exemplo, analisando o p-valor e/ou intervalos de confiança) e comente.
# Função para calcular o beta e extrair p-valor e intervalo de confiança
calcular_beta_com_significancia <- function(retorno_acao, retorno_ibov) {
modelo <- lm(retorno_acao ~ retorno_ibov)
coef_summary <- summary(modelo)$coefficients
beta <- coef_summary[2, 1] # Coeficiente beta
p_valor <- coef_summary[2, 4] # P-valor do beta
intervalo_confianca <- confint(modelo)[2, ] # Intervalo de confiança do beta
return(list(beta = beta, p_valor = p_valor, intervalo_confianca = intervalo_confianca))
}
# Calculando os betas, p-valores e intervalos de confiança para cada ação
resultados_ITUB4 <- calcular_beta_com_significancia(retorno_mensal_continuo$ITUB4, retorno_mensal_continuo$IBOV)
resultados_PETR4 <- calcular_beta_com_significancia(retorno_mensal_continuo$PETR4, retorno_mensal_continuo$IBOV)
resultados_VALE3 <- calcular_beta_com_significancia(retorno_mensal_continuo$VALE3, retorno_mensal_continuo$IBOV)
resultados_MGLU3 <- calcular_beta_com_significancia(retorno_mensal_continuo$MGLU3, retorno_mensal_continuo$IBOV)
resultados_ABCB4 <- calcular_beta_com_significancia(retorno_mensal_continuo$ABCB4, retorno_mensal_continuo$IBOV)
resultados_BOVA11 <- calcular_beta_com_significancia(retorno_mensal_continuo$BOVA11, retorno_mensal_continuo$IBOV)
# Criando uma tabela com os resultados
tabela_resultados <- data.frame(
Ação = c("ITUB4", "PETR4", "VALE3", "MGLU3", "ABCB4", "BOVA11"),
Beta = c(resultados_ITUB4$beta, resultados_PETR4$beta, resultados_VALE3$beta, resultados_MGLU3$beta, resultados_ABCB4$beta, resultados_BOVA11$beta),
P_Valor = c(resultados_ITUB4$p_valor, resultados_PETR4$p_valor, resultados_VALE3$p_valor, resultados_MGLU3$p_valor, resultados_ABCB4$p_valor, resultados_BOVA11$p_valor),
IC_Inferior = c(resultados_ITUB4$intervalo_confianca[1], resultados_PETR4$intervalo_confianca[1], resultados_VALE3$intervalo_confianca[1], resultados_MGLU3$intervalo_confianca[1], resultados_ABCB4$intervalo_confianca[1], resultados_BOVA11$intervalo_confianca[1]),
IC_Superior = c(resultados_ITUB4$intervalo_confianca[2], resultados_PETR4$intervalo_confianca[2], resultados_VALE3$intervalo_confianca[2], resultados_MGLU3$intervalo_confianca[2], resultados_ABCB4$intervalo_confianca[2], resultados_BOVA11$intervalo_confianca[2])
)
# Exibindo a tabela de resultados
kable(tabela_resultados, align = "c", digits = 4, caption = "Resultados dos betas")
Ação | Beta | P_Valor | IC_Inferior | IC_Superior |
---|---|---|---|---|
ITUB4 | 1.1396 | 0.0013 | 0.5000 | 1.7792 |
PETR4 | 2.4331 | 0.0000 | 1.8953 | 2.9709 |
VALE3 | 1.1942 | 0.0000 | 0.8295 | 1.5589 |
MGLU3 | 1.3351 | 0.0930 | -0.2427 | 2.9128 |
ABCB4 | 0.9784 | 0.0000 | 0.6220 | 1.3348 |
BOVA11 | 0.5435 | 0.0063 | 0.1709 | 0.9161 |
Análise
ITUB4, PETR4, VALE3 e ABCB4 têm betas estatisticamente significativos, indicando que seus retornos estão correlacionados com o mercado. PETR4 é a ação mais volátil, enquanto ABCB4 tem volatilidade próxima à do mercado.
MGLU3 não apresenta significância estatística, sugerindo que seu beta não é confiável para análise de risco. Isso pode ocorrer devido à alta volatilidade ou falta de relação consistente com o mercado.
Supondo uma taxa livre de risco de 5% ao ano, calcule o Índice de Sharpe de cada ação, com base nos retornos e volatilidades anuais.
# Calculando o índice de Sharpe para cada ação
taxa_livre_risco <- 0.05
sharpe_ITUB4 <- (retorno_anualizado_continuo$ITUB4 - taxa_livre_risco) / desvio_padrao_anualizado$ITUB4
sharpe_PETR4 <- (retorno_anualizado_continuo$PETR4 - taxa_livre_risco) / desvio_padrao_anualizado$PETR4
sharpe_VALE3 <- (retorno_anualizado_continuo$VALE3 - taxa_livre_risco) / desvio_padrao_anualizado$VALE3
sharpe_MGLU3 <- (retorno_anualizado_continuo$MGLU3 - taxa_livre_risco) / desvio_padrao_anualizado$MGLU3
sharpe_BOVA11 <- (retorno_anualizado_continuo$BOVA11 - taxa_livre_risco) / desvio_padrao_anualizado$BOVA11
sharpe_ABCB4 <- (retorno_anualizado_continuo$ABCB4 - taxa_livre_risco) / desvio_padrao_anualizado$ABCB4
# Criando uma tabela com os índices de Sharpe
tabela_sharpe <- data.frame(
Ação = c("ITUB4", "PETR4", "VALE3", "MGLU3", "BOVA11", "ABCB4"),
Sharpe = c(sharpe_ITUB4, sharpe_PETR4, sharpe_VALE3, sharpe_MGLU3, sharpe_BOVA11, sharpe_ABCB4)
)
# Exibindo a tabela de índices de Sharpe
kable(tabela_sharpe, align = "c", digits = 4, caption = "Índices de Sharpe das ações")
Ação | Sharpe |
---|---|
ITUB4 | 1.4461 |
PETR4 | 1.1464 |
VALE3 | 0.9338 |
MGLU3 | 1.3919 |
BOVA11 | 0.6350 |
ABCB4 | 1.4722 |
Calcule o Alfa de Jensen de cada ação em relação ao CAPM, usando β estimado na pergunta “d”, e interprete os resultados.
# Calculando o Alfa de Jensen para cada ação
alfa_ITUB4 <- retorno_anualizado_continuo$ITUB4 - (taxa_livre_risco + beta_ITUB4 * (retorno_anualizado_continuo$IBOV - taxa_livre_risco))
alfa_PETR4 <- retorno_anualizado_continuo$PETR4 - (taxa_livre_risco + beta_PETR4 * (retorno_anualizado_continuo$IBOV - taxa_livre_risco))
alfa_VALE3 <- retorno_anualizado_continuo$VALE3 - (taxa_livre_risco + beta_VALE3 * (retorno_anualizado_continuo$IBOV - taxa_livre_risco))
alfa_MGLU3 <- retorno_anualizado_continuo$MGLU3 - (taxa_livre_risco + beta_MGLU3 * (retorno_anualizado_continuo$IBOV - taxa_livre_risco))
alfa_ABCB4 <- retorno_anualizado_continuo$ABCB4 - (taxa_livre_risco + beta_ABCB4 * (retorno_anualizado_continuo$IBOV - taxa_livre_risco))
alfa_BOVA11 <- retorno_anualizado_continuo$BOVA11 - (taxa_livre_risco + beta_BOVA11 * (retorno_anualizado_continuo$IBOV - taxa_livre_risco))
# Criando uma tabela com os alfas de Jensen
tabela_alfa <- data.frame(
Ação = c("ITUB4", "PETR4", "VALE3", "MGLU3", "ABCB4", "BOVA11"),
Alfa = c(alfa_ITUB4, alfa_PETR4, alfa_VALE3, alfa_MGLU3, alfa_ABCB4, alfa_BOVA11)
)
# Exibindo a tabela de alfas de Jensen
kable(tabela_alfa, align = "c", digits = 4, caption = "Alfas de Jensen das ações")
Ação | Alfa |
---|---|
ITUB4 | 0.0892 |
PETR4 | 0.0899 |
VALE3 | 0.0369 |
MGLU3 | 0.1896 |
ABCB4 | 0.0603 |
BOVA11 | 0.0174 |
Análise
O Alfa de Jensen é uma medida de desempenho que compara o retorno real de um ativo com o retorno esperado com base no CAPM. Um alfa positivo indica que o ativo superou o retorno esperado, enquanto um alfa negativo indica que o ativo teve um desempenho inferior ao esperado.
Todas as ações tiveram Alfas positivos, indicando que todas superaram o retorno esperado pelo CAPM, ajustado ao risco.
MGLU3 teve o maior Alfa, porém como vimos anteriormente o beta calculado pode não ser significativo, prejudicando assim a análise do resultado do Alfa
As ações de PETR4 e ITUB4 se destacaram com Alfas próximos de 9%, sugerindo forte desempenho em relação ao risco. ABCB4 e VALE3 tiveram desempenhos sólidos, mas um pouco menores: Alfas de 6.03% e 3.69%, respectivamente, indicando retornos excedentes moderados. BOVA11 teve o menor Alfa (1.74%): Como um ETF que replica o mercado, seu Alfa positivo, mas baixo, reflete um desempenho ligeiramente superior ao esperado para o mercado como um todo.
Calcule a matriz de correlação entre os retornos das seis ações.
# Eliminar a primeira linha do retorno mensal para evitar NA
retorno_mensal_corr <- retorno_mensal_continuo[-1,]
# Eliminar as colunas Mês e IBOV
retorno_mensal_corr <- retorno_mensal_corr[, -c(1, 8)]
# Calculando a matriz de correlação
matriz_correlacao <- cor(retorno_mensal_corr)
# Exibindo a matriz de correlação
corrplot(matriz_correlacao, method = "number", type = "upper", tl.col = "black", tl.srt = 45, addCoef.col = "black", number.cex = 0.8)
ITUB4 | PETR4 | VALE3 | MGLU3 | BOVA11 | ABCB4 | |
---|---|---|---|---|---|---|
ITUB4 | 1.0000 | 0.5968 | 0.5918 | 0.2081 | 0.7496 | 0.7614 |
PETR4 | 0.5968 | 1.0000 | 0.8096 | 0.3544 | 0.5175 | 0.7172 |
VALE3 | 0.5918 | 0.8096 | 1.0000 | 0.5390 | 0.6372 | 0.7570 |
MGLU3 | 0.2081 | 0.3544 | 0.5390 | 1.0000 | 0.5488 | 0.4881 |
BOVA11 | 0.7496 | 0.5175 | 0.6372 | 0.5488 | 1.0000 | 0.8537 |
ABCB4 | 0.7614 | 0.7172 | 0.7570 | 0.4881 | 0.8537 | 1.0000 |
Discuta como a correlação entre as ações afeta a diversificação do risco em um portfólio.
Resposta
A matriz de correlação é uma ferramenta essencial para entender como os retornos das ações se movem em relação uns aos outros. Isso é crucial para a diversificação do risco em um portfólio, pois a diversificação busca combinar ativos que não se movem na mesma direção ao mesmo tempo, reduzindo assim o risco total do portfólio.
A diversificação eficiente requer a inclusão de ativos com baixas correlações entre si. MGLU3 é a ação que mais contribui para a diversificação neste caso, devido às suas correlações mais baixas com as outras ações. Ações com correlações fortes (como ITUB4, PETR4, VALE3 e ABCB4) devem ser combinadas com cuidado, pois podem aumentar o risco do portfólio se incluídas em excesso.
Com base nos β, correlações e índices de desempenho, argumente como você montaria uma carteira com essas ações para equilibrar risco e retorno.
Resposta
Para equilibrar risco e retorno, uma carteira diversificada deve incluir ativos com betas variados, correlações baixas e desempenho sólido. Ações com betas mais altos podem oferecer retornos maiores, mas também trazem maior risco. Ações com correlações baixas ajudam a diversificar o risco, reduzindo a volatilidade do portfólio.
Podemos propor uma carteira que equilibra retorno e risco ao:
- Priorizar ações com alto Índice de Sharpe e Alfa de Jensen (PETR4, VALE3, MGLU3).
- Incluir ações com baixas correlações (MGLU3) para diversificação.
- Controlar a volatilidade com ações de beta moderado e baixo (ITUB4 e ABCB4).
Essa abordagem busca maximizar o retorno ajustado ao risco, ao mesmo tempo que minimiza a exposição a riscos concentrados.
(1,5 pontos). Considere dois títulos, A e B, cujos retornos esperados anuais e riscos são conhecidos e o coeficiente de correlação entre os retornos de A e B, 𝜌𝐴𝐵, é 0,15.
Título A
• Retorno esperado: 12,4% a.a.
• Desvio-padrão: 8,5% a.a.
Título B
• Retorno esperado: 18,9% a.a.
• Desvio-padrão: 15,7% a.a.
Ante o exposto:
Calcule o retorno esperado de uma carteira composta por 30% do Título A e 70% do Título B. Em seguida, determine o risco dessa mesma carteira.
# Dados dos títulos A e B
retorno_A <- 0.124
desvio_A <- 0.085
retorno_B <- 0.189
desvio_B <- 0.157
peso_A <- 0.3
peso_B <- 0.7
# Correlação entre os retornos de A e B
correlacao_AB <- 0.15
# Cálculo do retorno esperado da carteira
retorno_carteira <- peso_A * retorno_A + peso_B * retorno_B
retorno_carteira_percentual <- retorno_carteira * 100 # Convertendo para porcentagem
# Cálculo do risco (desvio-padrão) da carteira
variancia_carteira <- (peso_A^2 * desvio_A^2) + (peso_B^2 * desvio_B^2) +
2 * peso_A * peso_B * correlacao_AB * desvio_A * desvio_B
desvio_carteira <- sqrt(variancia_carteira)
desvio_carteira_percentual <- desvio_carteira * 100 # Convertendo para porcentagem
# Formatando resultados
retorno_cart <- round(retorno_carteira_percentual, 2)
desvio_cart <- round(desvio_carteira_percentual, 2)
Resposta
O retorno esperado da carteira é de 16.95% e o risco é de 11.65%.
Varie o peso de 0% a 100%, com incrementos de 5% ou 10%, e calcule o retorno esperado e a volatilidade de cada composição. Exiba esses dados em uma tabela ou gráfico.
# Criando vetor de pesos
pesos <- seq(0, 1, by = 0.05)
# Calculando retorno esperado e volatilidade para cada peso
resultados <- data.frame(
Peso_A = pesos *100,
Peso_B = (1 - pesos) * 100,
Retorno_Esperado = (pesos * retorno_A + (1 - pesos) * retorno_B) *100,
Volatilidade = (sqrt(pesos^2 * desvio_A^2 + (1 - pesos)^2 * desvio_B^2 + 2 * pesos * (1 - pesos) * correlacao_AB * desvio_A * desvio_B)) * 100
)
# Plotando o gráfico de retorno vs. volatilidade
ggplot(resultados, aes(x = Volatilidade, y = Retorno_Esperado)) +
geom_line(color = "blue", linewidth = 1) +
geom_point(color = "blue", size = 2) +
labs(
title = "Fronteira Eficiente: Retorno Esperado vs. Volatilidade",
x = "Volatilidade (Desvio-Padrão, %)",
y = "Retorno Esperado (%)"
) +
theme_minimal()
Peso_A | Peso_B | Retorno_Esperado | Volatilidade |
---|---|---|---|
0 | 100 | 18.900 | 15.7000 |
5 | 95 | 18.575 | 14.9846 |
10 | 90 | 18.250 | 14.2822 |
15 | 85 | 17.925 | 13.5948 |
20 | 80 | 17.600 | 12.9248 |
25 | 75 | 17.275 | 12.2749 |
30 | 70 | 16.950 | 11.6486 |
35 | 65 | 16.625 | 11.0499 |
40 | 60 | 16.300 | 10.4835 |
45 | 55 | 15.975 | 9.9550 |
50 | 50 | 15.650 | 9.4707 |
55 | 45 | 15.325 | 9.0376 |
60 | 40 | 15.000 | 8.6635 |
65 | 35 | 14.675 | 8.3564 |
70 | 30 | 14.350 | 8.1237 |
75 | 25 | 14.025 | 7.9720 |
80 | 20 | 13.700 | 7.9060 |
85 | 15 | 13.375 | 7.9279 |
90 | 10 | 13.050 | 8.0368 |
95 | 5 | 12.725 | 8.2294 |
100 | 0 | 12.400 | 8.5000 |
Aponte qual combinação de A e B minimiza o risco total (carteira de variância mínima). Na sequência, calcule o retorno esperado nesse ponto de risco mínimo.
# Encontrar o ponto de risco mínimo
indice_min_volatilidade <- which.min(resultados$Volatilidade)
ponto_min_risco <- resultados[indice_min_volatilidade, ]
# Cálculo do retorno esperado no ponto de risco mínimo
retorno_min_risco <- ponto_min_risco$Retorno_Esperado
# Formatando o resultado
retorno_min_risco <- round(retorno_min_risco, 2)
# Exibindo o ponto de risco mínimo
kable(ponto_min_risco, align = "c", digits = 4, caption = "Ponto de risco mínimo")
Peso_A | Peso_B | Retorno_Esperado | Volatilidade | |
---|---|---|---|---|
17 | 80 | 20 | 13.7 | 7.906 |
Suponha existir um ativo livre de risco com retorno de 6% a.a. Descreva como você traçaria a reta de alocação de capital que parte de 6% e tangencia a fronteira A-B.
Resposta
A Reta de Alocação de Capital (Capital Allocation Line - CAL) é uma linha que parte do ativo livre de risco e tangencia a fronteira eficiente de ativos com risco, representando as combinações ótimas entre o ativo livre de risco e a carteira de ativos com risco que maximizam o retorno para um determinado nível de risco. Para traçar a CAL, seguem-se os seguintes passos:
- Identificar o ativo livre de risco:
O ativo livre de risco possui retorno Rf=6%Rf=6% e volatilidade σf=0%σf=0%.
- Encontrar a carteira de tangência:
A carteira de tangência é a combinação dos títulos A e B que maximiza o Índice de Sharpe, dado por:
\[ \text{Índice de Sharpe} = \frac{E(R_p) - R_f}{\sigma_p} \] onde E(Rp)E(Rp) é o retorno esperado da carteira, σpσp é a volatilidade da carteira e RfRf é o retorno do ativo livre de risco. Calcula-se o Índice de Sharpe para todas as combinações de A e B, selecionando a combinação com o maior valor.
- Equação da CAL:
A CAL é definida pela equação:
\[ E(R_c) = R_f + \frac{E(R_t) - R_f}{\sigma_t} \cdot \sigma_c \]
onde E(Rc)E(Rc) e σcσc são o retorno e a volatilidade da combinação entre o ativo livre de risco e a carteira de tangência, e E(Rt)E(Rt) e σtσt são o retorno e a volatilidade da carteira de tangência.
- Traçar a CAL:
A CAL parte do ponto (0%,6%)(0%,6%), correspondente ao ativo livre de risco, e tangencia a fronteira eficiente no ponto da carteira de tangência, representando as combinações ótimas de risco e retorno.
Exemplo com base nos dados fornecidos:
# Dados do ativo livre de risco
retorno_livre_risco <- 6
# Cálculo do índice de Sharpe da carteira para cada alocação
resultados$sharpe <- (resultados$Retorno_Esperado - retorno_livre_risco) / resultados$Volatilidade
# Encontrar a carteira tangente
carteira_tangente <- resultados[which.max(resultados$sharpe), ]
# Cálculo do retorno esperado, risco e peso nos títulos A e B
retorno_tangente <- carteira_tangente$Retorno_Esperado * 100
# Formatando o resultado
retorno_tangente <- round(retorno_tangente, 2)
# Plotando o gráfico de retorno vs. volatilidade com a carteira tangente
ggplot(resultados, aes(x = Volatilidade, y = Retorno_Esperado)) +
geom_line(color = "blue", linewidth = 1) +
geom_point(color = "blue", size = 2) +
geom_point(data = carteira_tangente, aes(x = Volatilidade, y = Retorno_Esperado), color = "green", size = 4) +
geom_abline(intercept = retorno_livre_risco, slope = (carteira_tangente$Retorno_Esperado - retorno_livre_risco) / carteira_tangente$Volatilidade, color = "green", linewidth = 1) +
labs(
title = "Fronteira Eficiente: Retorno Esperado vs. Volatilidade",
x = "Volatilidade (Desvio-Padrão, %)",
y = "Retorno Esperado (%)"
) +
theme_minimal()
Peso_A | Peso_B | Retorno_Esperado | Volatilidade | sharpe | |
---|---|---|---|---|---|
13 | 60 | 40 | 15 | 8.6635 | 1.0388 |
Calcule numericamente a carteira tangente que maximiza o Índice de Sharpe e exponha seu retorno esperado, risco e peso nos títulos A e B.
Resposta
Repetimos o exercício anterior para encontrar a carteira tangente que maximiza o Índice de Sharpe, agora com mais vairações entre os pesos dos ativos (de 0% a 100%, com incrementos de 1%)
# Sequência de pesos para o Título A (de 0% a 100%, com incrementos de 1%)
pesos_A <- seq(0, 1, by = 0.01)
# Calculando o retorno esperado e a volatilidade para cada combinação de pesos
resultados_1 <- data.frame(
Peso_A = pesos_A * 100,
Peso_B = (1 - pesos_A) * 100,
Retorno_Esperado = (pesos_A * retorno_A + (1 - pesos_A) * retorno_B) * 100,
Volatilidade = (sqrt(pesos_A^2 * desvio_A^2 + (1 - pesos_A)^2 * desvio_B^2 + 2 * pesos_A * (1 - pesos_A) * correlacao_AB * desvio_A * desvio_B)) * 100
)
# Calculando o Índice de Sharpe para cada combinação de pesos
resultados_1$Indice_Sharpe <- (resultados_1$Retorno_Esperado - retorno_livre_risco) / resultados_1$Volatilidade
# Encontrar a carteira de tangência
carteira_tangencia <- resultados_1[which.max(resultados_1$Indice_Sharpe), ]
# Cálculo do retorno esperado, risco e peso nos títulos A e B
retorno_tangencia <- carteira_tangencia$Retorno_Esperado
# Formatando os resultados
retorno_tangencia <- round(retorno_tangencia, 2)
# Plotando o gráfico de retorno vs. volatilidade com a carteira tangente
ggplot(resultados_1, aes(x = Volatilidade, y = Retorno_Esperado)) +
geom_line(color = "blue", linewidth = 1) +
geom_point(color = "blue", size = 2) +
geom_point(data = carteira_tangencia, aes(x = Volatilidade, y = Retorno_Esperado), color = "green", size = 4) +
geom_abline(intercept = retorno_livre_risco, slope = (carteira_tangencia$Retorno_Esperado - retorno_livre_risco) / carteira_tangencia$Volatilidade, color = "green", linewidth = 1) +
labs(
title = "Fronteira Eficiente: Retorno Esperado vs. Volatilidade",
x = "Volatilidade (Desvio-Padrão, %)",
y = "Retorno Esperado (%)"
) +
theme_minimal()
Peso_A | Peso_B | Retorno_Esperado | Volatilidade | Indice_Sharpe | |
---|---|---|---|---|---|
63 | 62 | 38 | 14.87 | 8.5322 | 1.0396 |
Refaça os cálculos da carteira de variância mínima e da carteira tangente, supondo 𝜌𝐴𝐵 = 0 (em vez de 0,15). Comente como isso altera o formato da fronteira e o risco mínimo possível.
# Dados dos títulos
retorno_A <- 12.4 / 100 # Retorno esperado do Título A (em decimal)
retorno_B <- 18.9 / 100 # Retorno esperado do Título B (em decimal)
desvio_A <- 8.5 / 100 # Desvio-padrão do Título A (em decimal)
desvio_B <- 15.7 / 100 # Desvio-padrão do Título B (em decimal)
correlacao_AB <- 0 # Coeficiente de correlação entre A e B
retorno_livre_risco <- 6 / 100 # Retorno do ativo livre de risco (em decimal)
# Função para calcular o risco (desvio-padrão) da carteira
risco_carteira <- function(w_A, w_B, desvio_A, desvio_B, correlacao_AB) {
sqrt(w_A^2 * desvio_A^2 + w_B^2 * desvio_B^2 + 2 * w_A * w_B * correlacao_AB * desvio_A * desvio_B)
}
# Sequência de pesos para o Título A (de 0% a 100%, com incrementos de 1%)
pesos_A <- seq(0, 1, by = 0.01)
pesos_B <- 1 - pesos_A
# Cálculo do retorno esperado e risco para cada combinação de pesos
retornos_carteira <- pesos_A * retorno_A + pesos_B * retorno_B
riscos_carteira <- mapply(risco_carteira, pesos_A, pesos_B, MoreArgs = list(desvio_A, desvio_B, correlacao_AB))
# Criando uma tabela com os resultados
resultados <- data.frame(
Peso_A = pesos_A * 100,
Peso_B = pesos_B * 100,
Retorno_Esperado = retornos_carteira * 100,
Volatilidade = riscos_carteira * 100
)
# Encontrar a carteira de variância mínima
indice_min_risco <- which.min(resultados$Volatilidade)
carteira_min_risco <- resultados[indice_min_risco, ]
# Cálculo do Índice de Sharpe para cada combinação de pesos
resultados$Sharpe <- (resultados$Retorno_Esperado - retorno_livre_risco) / resultados$Volatilidade
# Encontrar a carteira tangente (maior Índice de Sharpe)
indice_tangente <- which.max(resultados$Sharpe)
carteira_tangente <- resultados[indice_tangente, ]
# Plotar a fronteira eficiente e a CAL
library(ggplot2)
ggplot(resultados, aes(x = Volatilidade, y = Retorno_Esperado)) +
geom_line(color = "blue", linewidth = 1) + # Fronteira eficiente
geom_point(color = "blue", size = 1) + # Pontos da fronteira eficiente
geom_point(data = carteira_min_risco, aes(x = Volatilidade, y = Retorno_Esperado), color = "purple", size = 4) + # Carteira de variância mínima
geom_point(data = carteira_tangente, aes(x = Volatilidade, y = Retorno_Esperado), color = "green", size = 4) + # Carteira tangente
geom_abline(
intercept = retorno_livre_risco,
slope = (carteira_tangente$Retorno_Esperado - retorno_livre_risco) / carteira_tangente$Volatilidade,
color = "green"
) + # Reta de alocação de capital (CAL)
labs(
title = "Fronteira Eficiente e Reta de Alocação de Capital (CAL)",
x = "Volatilidade (Desvio-Padrão)",
y = "Retorno Esperado"
) +
theme_minimal()
Peso_A | Peso_B | Retorno_Esperado | Volatilidade | |
---|---|---|---|---|
78 | 77 | 23 | 13.895 | 7.475 |
Peso_A | Peso_B | Retorno_Esperado | Volatilidade | Sharpe | |
---|---|---|---|---|---|
70 | 69 | 31 | 14.415 | 7.6214 | 1.8835 |
Análise
Com ρAB=0, a fronteira eficiente se torna mais “curva” e menos inclinada em comparação com ρAB=0,15. Isso ocorre porque a correlação zero reduz o efeito de diversificação, tornando a combinação de ativos menos eficiente na redução do risco.
O risco mínimo da carteira de variância mínima diminuiu de 7,91% (quando ρAB=0,15) para 7,47% (quando ρAB=0). Isso ocorre porque a ausência de correlação permite uma maior redução do risco por meio da diversificação.
A carteira tangente agora tem um peso maior no Título A (69% vs. 62% anteriormente) e um peso menor no Título B (31% vs. 38% anteriormente). Isso reflete o fato de que, com ρAB=0, o Título B contribui menos para a redução do risco da carteira.
Discuta a relevância de correlações baixas ou até negativas para a diversificação e justifique como mudanças no retorno esperado ou desvio-padrão de B impactariam a alocação ótima entre A e B.
Resposta
A correlação entre os retornos de dois ativos é um conceito fundamental para a diversificação de carteiras. Correlações baixas ou negativas têm um impacto significativo na redução do risco da carteira e na otimização da alocação entre os ativos.A diversificação com ativos de baixa ou negativa correlação aumenta o Índice de Sharpe da carteira, que mede o retorno ajustado ao risco.
No caso dos títulos A e B, com ρAB=0, o risco mínimo da carteira foi reduzido para 7,47%, em comparação com 7,91% quando ρAB=0,15. Isso mostra como a redução da correlação melhora a diversificação.
Alterações no retorno esperado ou no desvio-padrão de B afetariam a alocação ótima entre A e B. Se o retorno esperado de B aumentasse, a alocação ótima para B aumentaria, enquanto a alocação para A diminuiria. Se o desvio-padrão de B aumentasse, a alocação para B seria reduzida, pois o risco da carteira aumentaria.
Correlações baixas ou negativas são essenciais para a diversificação, pois reduzem o risco da carteira sem sacrificar o retorno. Mudanças no retorno esperado ou no desvio-padrão de B impactariam diretamente a alocação ótima entre A e B, pois alterariam o trade-off entre risco e retorno. Devemos sempre buscar combinações de ativos que maximizem o Índice de Sharpe, considerando a correlação, o retorno esperado e o risco de cada ativo.
(0,3 ponto). O Título C tem 𝛽 = 1,35 e o Título D tem 𝛽 = 0,851.
Qual o 𝛽 de uma carteira composta por 30% do Título C e 70% do Título D?
Resposta
O 𝛽 da carteira é dado por:
\[ \beta_{carteira} = 0,3 \times 1,35 + 0,7 \times 0,851 = 1,0007 \]
O beta da carteira é 1,0007.
Por que a forma de cálculo do risco de uma carteira, medido pelo desvio-padrão, é diferente do cálculo do risco de uma carteira medido pelo coeficiente 𝛽?
Resposta
O desvio-padrão mede o risco total, que inclui todas as fontes de incerteza e volatilidade, enquanto o beta mede o risco sistemático, que está diretamente relacionado à exposição ao mercado.
(0,8 ponto). A Ação A tem um retorno esperado de 16% e 𝛽 = 1,857. A Ação B apresenta retorno esperado de 8,4% e 𝛽 = 0,82. O retorno da carteira de mercado é 10% e o retorno livre de risco é 6%. Considerando os pesos de 35% para a Ação A e 65% para a Ação B:
Calcule o retorno esperado dessa carteira.
Resposta
O retorno esperado de uma carteira é dado pela fórmula:
\[ E(R_{carteira}) = w_A \times E(R_A) + w_B \times E(R_B) \]
Substituindo os valores, temos:
\[ E(R_{carteira}) = 0,35 \times 0,16 + 0,65 \times 0,084 = 0,1106 \text{ ou 11,06%} \]
O retorno esperado da carteira é de 11,06%.
Calcule o 𝛽 dessa carteira.
Resposta
O beta da carteira é dado por:
\[ \beta_{carteira} = 0,35 \times 1,857 + 0,65 \times 0,82 = 1,183 \]
O beta da carteira é 1,183.
Essa carteira tem mais ou menos risco sistemático do que um ativo médio representado pela carteira de mercado?
Resposta
O beta da carteira de mercado é 1, pois representa o risco médio do mercado. Como o beta da carteira é 1,183, a carteira tem mais risco sistemático do que um ativo médio representado pela carteira de mercado.
Qual é o prêmio de risco da carteira de mercado?
Resposta
O prêmio de risco da carteira de mercado é dado pela diferença entre o retorno da carteira de mercado e o retorno livre de risco:
\[ Prêmio de risco = E(R_{carteira}) - R_f = 0,10 - 0,06 = 0,04 \text{ ou 4%} \]
O prêmio de risco da carteira de mercado é de 4%.
Qual é o prêmio de risco da carteira formada pelas Ações A e B?
Resposta
O prêmio de risco da carteira formada pelas Ações A e B é dado pela diferença entre o retorno esperado da carteira e o retorno livre de risco:
\[ Prêmio de risco = E(R_{carteira}) - R_f = 0,1106 - 0,06 = 0,0506 \text{ ou 5,06%} \]
O prêmio de risco da carteira formada pelas Ações A e B é de 5,06%.
(0,3 ponto). Você tem uma carteira de R$ 2.000.000 que consiste em R$ 100.000 de investimentos em cada um dos 20 diferentes ativos. A carteira tem 𝛽 = 1,1. Você está prestes a vender R$ 100.000 de uma ação cujo 𝛽 = 0,9, a fim de utilizar esses recursos para comprar outra ação que tenha 𝛽 = 1,4. Qual será o novo 𝛽 de sua carteira após essa transação?
Resposta
O 𝛽 da carteira representa a sensibilidade dela em relação ao mercado. O beta atual da carteira é dado por:
\[ \beta_{carteira} = \sum_{i=1}^{20}\frac{100.000}{2.000.000} \times \beta_i = 1,1 \]
Como há 20 ativos, cada um representando 5% da carteira. Ao vender R$ 100.000 de um ativo com β = 0,9 e comprar outro com β = 1,4, estamos substituindo um ativo que contribui com 0.05 × 0.9 = 0.045 pelo novo ativo que contribuirá com 0.05 × 1.4 = 0.07. Assim, o novo beta da carteira será:
\[ \beta_{carteira} = 1,1 - 0,045 + 0,07 = 1,125 \]
O novo beta da carteira será 1,125.
(0,6 ponto). Sabe-se que a taxa livre de risco é de 5% a.a. O retorno da carteira de mercado é 15% a.a. Os 𝛽 de três ativos; A, B e C, são 0,70, 1,00 e 1,50, respectivamente.
Determine a taxa de retorno requerida para os ativos A, B e C com base no modelo CAPM.
Resposta
O retorno esperado de um ativo é dado pela fórmula:
\[ E(R_i) = R_f + \beta_i \times (E(R_m) - R_f) \] Para o ativo A, temos:
\[ E(R_A) = 0,05 + 0,7 \times (0,15 - 0,05) = 0,12 \text{ ou 12%}\] Para o ativo B, temos:
\[ E(R_B) = 0,05 + 1,0 \times (0,15 - 0,05) = 0,15 \text{ ou 15%}\]
Para o ativo C, temos:
\[ E(R_C) = 0,05 + 1,5 \times (0,15 - 0,05) = 0,20 \text{ ou 20%}\]
Refaça seus cálculos, admitindo que a carteira de mercado tivesse um retorno de 12%.
Resposta
Agora, o retorno da carteira de mercado (RmRm) é de 12% a.a.. Vamos recalcular os retornos requeridos.
Para o ativo A, temos:
\[ E(R_A) = 0,05 + 0,7 \times (0,12 - 0,05) = 0,099 \text{ ou 9,9%}\] Para o ativo B, temos:
\[ E(R_B) = 0,05 + 1,0 \times (0,12 - 0,05) = 0,12 \text{ ou 12%}\]
Para o ativo C, temos:
\[ E(R_C) = 0,05 + 1,5 \times (0,12 - 0,05) = 0,155 \text{ ou 15,5%}\]
Determine o retorno esperado de uma carteira denominada de X, composta por 20% de A; 40% de B e 40% de C.
Resposta
O retorno esperado de uma carteira é dado pela fórmula:
\[ E(R_i) = \sum_{i=1}^{n} w_i \times E(R_i) \]
Para a carteira X, temos:
\[ E(R_X) = 0,2 \times 0,12 + 0,4 \times 0,15 + 0,4 \times 0,20 = 0,164 \text{ ou 16,4%}\]
Determine o retorno esperado de uma carteira denominada de Y, composta por 80% de A; 10% de B e 10% de C.
Resposta
Para a carteira Y, temos:
\[ E(R_Y) = 0,8 \times 0,12 + 0,1 \times 0,15 + 0,1 \times 0,20 = 0,131 \text{ ou 13,1%}\]
Qual carteira tem maior risco? X ou Y?
Resposta
Para determinar qual carteira tem maior risco (X ou Y), precisamos calcular o beta da carteira. O beta da carteira é uma média ponderada dos betas dos ativos que a compõem. Quanto maior o beta, maior o risco sistemático.
Para a carteira X, temos:
\[ \beta_X = 0,2 \times 0,7 + 0,4 \times 1,0 + 0,4 \times 1,5 = 1,14 \]
Para a carteira Y, temos:
\[ \beta_Y = 0,8 \times 0,7 + 0,1 \times 1,0 + 0,1 \times 1,5 = 0,81 \]
Portanto, a carteira X tem maior risco sistemático, pois seu beta é maior que o da carteira Y.
(0,2 ponto). Pressuponha que a taxa livre de risco seja de 6% e que o retorno esperado do mercado seja 13%. Qual é a taxa requerida de retorno de uma ação que tem 𝛽 = 0,7?
Resposta
O retorno esperado de um ativo é dado pela fórmula:
\[ E(R_i) = R_f + \beta_i \times (E(R_m) - R_f) \] \[ E(R_i) = 0,06 + 0,7 \times (0,13 - 0,06) = 0,109 \] A taxa requerida de retorno de uma ação com 𝛽 = 0,7 é de 10,9%.
(0,3 ponto). Suponha que você tenha aplicado R$ 30.000 nas quatro ações a seguir:
A taxa livre de risco é 4% e o retorno esperado da carteira de mercado é 15%. Com base no CAPM, qual é o retorno esperado dessa carteira?
Resposta
Encontrar os pesos dos ativos na carteira:
\[ w_C = \frac{5.000}{30.000} = 0,1667 \]
\[ w_D = \frac{10.000}{30.000} = 0,3333 \]
\[ w_E = \frac{8.000}{30.000} = 0,2667 \]
\[ w_F = \frac{7.000}{30.000} = 0,2333 \]
Calcular o beta da carteira:
\[ \beta_{carteira} = 0,1667 \times 0,75 + 0,3333 \times 1,1 + 0,2667 \times 1,36 + 0,2333 \times 1,88 = 1,293 \]
Calcular o retorno esperado da carteira:
\[ E(R_{carteira}) = 0,04 + 1,293 \times (0,15 - 0,04) = 0,18223 \text{ ou 18,223%} \]
Portanto, o retorno esperado da carteira é de 18,223%.
(0,4 ponto). Considerando uma fronteira eficiente composta por dois ativos, responda:
Dependendo dos pesos alocados no Ativo A (ativo de risco) e no Ativo B (ativo sem risco), é possível estar posicionado dentro da fronteira? Justifique.
Resposta
Se temos uma fronteira eficiente composta por dois ativos, sendo o Ativo A um ativo de risco e o Ativo B um ativo livre de risco, então qualquer combinação desses dois ativos estará sobre a fronteira eficiente, e não dentro dela.
Isso ocorre porque, ao misturar um ativo de risco com um ativo sem risco, obtemos a linha de alocação de capital (CAL - Capital Allocation Line), que representa a melhor combinação entre risco e retorno possíveis para esses ativos. Essa linha parte do retorno do ativo livre de risco e se estende até um portfólio eficiente contendo apenas ativos de risco.
Portanto, a alocação entre A e B não gera posições dentro da fronteira eficiente, mas sim sobre ela.
Dependendo dos pesos alocados no Ativo A (ativo de risco) e no Ativo C (ativo de risco), é possível estar posicionado dentro da fronteira? Justifique.
Resposta
Se temos dois ativos de risco (Ativo A e Ativo C), a fronteira eficiente será uma curva convexa no espaço risco-retorno, conhecida como fronteira eficiente de Markowitz.
Dependendo dos pesos alocados em A e C, é possível formar portfólios que fiquem dentro da fronteira eficiente se não forem ótimos, ou seja, se não maximizarem o retorno esperado para um dado nível de risco. Isso ocorre porque nem todas as combinações de A e C estarão na parte superior da curva, onde se localizam os portfólios eficientes.
(0,6 ponto). Dada uma fronteira eficiente composta por três ativos de risco, é possível observar a superfície retorno-volatilidade, conforme a imagem abaixo.
Neste sentido, responda:
Onde estaria o ponto que representa uma carteira de mínimo risco?
Resposta
O ponto que representa a carteira de mínimo risco (também chamada de carteira de variância mínima) está localizado no extremo esquerdo da fronteira eficiente. Esse ponto corresponde à combinação de ativos que resulta na menor volatilidade (desvio-padrão) possível, dado o conjunto de ativos disponíveis.
Na imagem acima, esse ponto estaria próximo à volatilidade mais baixa (eixo x) e ao retorno esperado correspondente (eixo y). Por exemplo, se a menor volatilidade for em torno de 0,11, o ponto estaria próximo a essa marca no eixo x.
Que ativos dominariam esse ponto?
Resposta
Os ativos que dominariam esse ponto seriam aqueles que têm menor volatilidade e menor correlação entre si. Isso porque a diversificação entre ativos com baixa correlação pode reduzir o risco total da carteira.
Sinalize as três fronteiras bidimensionais formadas por combinações par a par dos três ativos.
Resposta
As fronteiras bidimensionais formadas por combinações par a par dos três ativos seriam representadas por linhas curvas que conectam os pontos de menor risco entre os pares de ativos. Por exemplo, a fronteira entre os ativos A e B seria uma linha curva que conecta os pontos de menor risco entre esses dois ativos.