Bibliotecas

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

Questão 1

(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

item a

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")
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")
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

item b

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")
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")
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

item c

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")
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.

item d

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")
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

item e

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")
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.

item f

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")
Í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

item g

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")
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.

item h

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)

Matriz de correlação entre os retornos das ações
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

item i

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.

item j

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.

Questão 2

(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:

item a

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%.

item b

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()

Retorno esperado e volatilidade para diferentes pesos
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

item c

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")
Ponto de risco mínimo
Peso_A Peso_B Retorno_Esperado Volatilidade
17 80 20 13.7 7.906

item d

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()

Carteira tangente
Peso_A Peso_B Retorno_Esperado Volatilidade sharpe
13 60 40 15 8.6635 1.0388

item e

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()

Carteira tangente
Peso_A Peso_B Retorno_Esperado Volatilidade Indice_Sharpe
63 62 38 14.87 8.5322 1.0396

item f

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()

Carteira de variância mínima
Peso_A Peso_B Retorno_Esperado Volatilidade
78 77 23 13.895 7.475
Carteira tangente
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.

item g

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.

Questão 3

(0,3 ponto). O Título C tem 𝛽 = 1,35 e o Título D tem 𝛽 = 0,851.

item a

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.

item b

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.

Questão 4

(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:

item a

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%.

item b

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.

item c

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.

item d

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%.

item e

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%.

Questão 5

(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.

Questão 6

(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.

item a

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%}\]

item b

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%}\]

item c

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%}\]

item d

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%}\]

item e

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.

Questão 7

(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%.

Questão 8

(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%.

Questão 9

(0,4 ponto). Considerando uma fronteira eficiente composta por dois ativos, responda:

item a

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.

item b

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.

Questão 10

(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:

item a

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.

item b

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.

item c

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.