Primeiro, importamos a base de dados já com os retornos de cada fundo de investimento, dos índices de mercado e da taxa livre de risco.

dados <- read_excel("CotaFundos2015.xlsx")
## tibble [77 x 56] (S3: tbl_df/tbl/data.frame)
##  $ Data           : POSIXct[1:77], format: "2009-01-01" "2009-02-01" ...
##  $ 190349...2     : num [1:77] 0.0316 -0.0302 0.0708 0.1361 0.104 ...
##  $ 150053         : num [1:77] 0.00927 0.00953 0.05986 0.12951 0.09191 ...
##  $ 155421         : num [1:77] 0.084637 0.000891 -0.010752 0.201939 0.13579 ...
##  $ 190330         : num [1:77] 0.0362 -0.0261 0.0768 0.1411 0.1089 ...
##  $ 190357         : num [1:77] 0.0341 -0.0277 0.0731 0.1368 0.106 ...
##  $ 185302         : num [1:77] 0.0232 -0.0312 0.062 0.1341 0.1025 ...
##  $ 202045         : num [1:77] -0.0063 0.00752 -0.05439 0.21118 0.07488 ...
##  $ 190349...9     : num [1:77] 0.0316 -0.0302 0.0708 0.1361 0.104 ...
##  $ 217530         : num [1:77] 0.044458 0.000414 0.063098 0.129208 0.099612 ...
##  $ 153907         : num [1:77] 0.04678 -0.00977 0.04046 0.15095 0.09605 ...
##  $ 93386          : num [1:77] 0.0205 -0.0134 0.0711 0.2078 0.1306 ...
##  $ 21644          : num [1:77] 0.0622 -0.0236 0.0679 0.1072 0.1107 ...
##  $ 48550          : num [1:77] 0.0296 -0.0277 0.0587 0.1443 0.1106 ...
##  $ 195766         : num [1:77] 0.0486 -0.0274 0.0775 0.152 0.1134 ...
##  $ 21636          : num [1:77] 0.047 -0.0287 0.0757 0.1502 0.1116 ...
##  $ 138762         : num [1:77] 0.0428 -0.0213 0.0621 0.1517 0.1068 ...
##  $ 217255         : num [1:77] 0.0436 -0.0783 0.0107 0.1299 0.0862 ...
##  $ 220396         : num [1:77] 0.01266 0.00869 0.04096 0.09462 0.08189 ...
##  $ 194931         : num [1:77] 0.0497 -0.0265 0.0785 0.153 0.1143 ...
##  $ 78131          : num [1:77] 0.0332 0.0111 0.068 0.1931 0.1072 ...
##  $ 6211           : num [1:77] 0.0357 -0.0231 0.069 0.141 0.1142 ...
##  $ 200093         : num [1:77] 0.04192 -0.00289 0.04388 0.12317 0.10675 ...
##  $ 87475          : num [1:77] 0.03114 -0.00538 0.06966 0.13623 0.11048 ...
##  $ 212962         : num [1:77] -0.01157 0.05522 -0.00893 0.21299 0.12316 ...
##  $ 123889         : num [1:77] 0.0372 -0.0666 0.0566 0.2838 0.1837 ...
##  $ 152080         : num [1:77] 0.0284 -0.0239 0.0622 0.1443 0.1209 ...
##  $ 94196          : num [1:77] 0.0284 -0.0239 0.0621 0.1439 0.1208 ...
##  $ 211095         : num [1:77] 0.0154 0.019 0.0486 0.1177 0.0841 ...
##  $ 152587         : num [1:77] 0.04834 -0.00447 0.07684 0.12636 0.11292 ...
##  $ 157635         : num [1:77] 0.04688 -0.00369 0.07677 0.12348 0.11167 ...
##  $ 82864          : num [1:77] 0.05545 -0.00793 0.08193 0.13225 0.12005 ...
##  $ 205559         : num [1:77] 0.0474 -0.0222 0.0747 0.1438 0.121 ...
##  $ 71323          : num [1:77] 0.03782 -0.00542 0.07572 0.12407 0.10729 ...
##  $ 211850         : num [1:77] 0.03522 -0.00688 0.0769 0.12446 0.1075 ...
##  $ 187615         : num [1:77] 0.0368 -0.0214 0.0774 0.1272 0.1157 ...
##  $ 95664          : num [1:77] 0.0368 -0.0207 0.0773 0.1252 0.1133 ...
##  $ 209333         : num [1:77] 0.0873 -0.023 0.0748 0.1312 0.1228 ...
##  $ 12882          : num [1:77] 0.0411 -0.0209 0.0846 0.1415 0.12 ...
##  $ 205753         : num [1:77] 0.0286 -0.0235 0.0615 0.1426 0.1194 ...
##  $ 54321          : num [1:77] 0.0327 -0.0111 0.0636 0.1136 0.1072 ...
##  $ 56553          : num [1:77] 0.04 -0.0221 0.0836 0.1405 0.1197 ...
##  $ 205664         : num [1:77] 0.0283 -0.0248 0.0618 0.1456 0.1222 ...
##  $ 205672         : num [1:77] 0.0283 -0.0242 0.0619 0.1446 0.1212 ...
##  $ 231            : num [1:77] 0.05414 -0.00899 0.06813 0.13173 0.12379 ...
##  $ 118771         : num [1:77] 0.0334 -0.0104 0.0644 0.1145 0.1082 ...
##  $ 187364         : num [1:77] 0.0358 -0.0219 0.0764 0.1247 0.1132 ...
##  $ 96326          : num [1:77] 0.0448 -0.0178 0.0838 0.1415 0.119 ...
##  $ 15741          : num [1:77] 0.05729 -0.00636 0.06754 0.13112 0.12448 ...
##  $ 122378         : num [1:77] 0.0318 -0.0209 0.0656 0.1477 0.124 ...
##  $ 102644         : num [1:77] 0.05599 -0.00739 0.07049 0.13408 0.12594 ...
##  $ 116963         : num [1:77] 0.03603 -0.00814 0.06706 0.11711 0.1107 ...
##  $ IBOV           : num [1:77] 0.0466 -0.0284 0.0718 0.1555 0.1249 ...
##  $ IBRX           : num [1:77] 0.03509 -0.00948 0.07397 0.13174 0.11026 ...
##  $ IBRX50         : num [1:77] 0.0429 -0.0107 0.0792 0.1312 0.115 ...
##  $ LFT Efetiva Mes: num [1:77] 0.01048 0.00855 0.00971 0.0084 0.00771 ...

Em seguida, tranformamos o dado em TimeSeries.

dado <- xts(dados[,2:55], dados$Data)

Exercício 5

Código dos Fundos: 155421 e 202045 (Alavancados); 153907 (Não Alavancado).

Indicadores de Avaliação - Fundo 155421

Modigliani-Modigliani

F155421_m2 <- Modigliani(dado[,3, drop = FALSE],
                        dado[,51, drop = FALSE], 
                        dado[,54, drop = FALSE])
## [1] 0.003585585

Value at Risk (VaR)

F155421_VaR <- VaR(dado[,3, drop = FALSE], method = "historical")
##         155421
## VaR -0.1115005

Conditional Value at Risk (CVaR)

F155421_CVar <- CVaR(dado[,3, drop = FALSE], method = "historical")
##        155421
## ES -0.1325981

Sortino Ratio

F155421_Sortino <- SortinoRatio(dado[,3, drop = FALSE])
##                              155421
## Sortino Ratio (MAR = 0%) 0.05449491

Market Timing - Treynor-Mazuy

F155421_MT_TM <- MarketTiming(dado[,3, drop = FALSE],
                              dado[,51, drop = FALSE], 
                              dado[,54, drop = FALSE])
##                       Alpha     Beta     Gamma
## 155421 to IBOV -0.005211067 1.024173 0.4869749

Market Timing - Henriksson-Merton

F155421_MT_HM <- MarketTiming(dado[,3, drop = FALSE],
                              dado[,51, drop = FALSE], 
                              dado[,54, drop = FALSE], 
                              method = "HM")
##                       Alpha     Beta      Gamma
## 155421 to IBOV -0.005655734 1.070738 -0.0888272

Indicadores de Avaliação - Fundo 202045

Modigliani-Modigliani

F202045_m2 <- Modigliani(dado[,7, drop = FALSE],
                         dado[,51, drop = FALSE], 
                         dado[,54, drop = FALSE])
## [1] 0.01731992

Value at Risk (VaR)

F202045_VaR <- VaR(dado[,7, drop = FALSE], method = "historical")
##          202045
## VaR -0.05478146

Conditional Value at Risk (CVaR)

F202045_CVar <- CVaR(dado[,7, drop = FALSE], method = "historical")
##         202045
## ES -0.07425254

Sortino Ratio

F202045_Sortino <- SortinoRatio(dado[,7, drop = FALSE])
##                             202045
## Sortino Ratio (MAR = 0%) 0.6961191

Market Timing - Treynor-Mazuy

F202045_MT_TM <- MarketTiming(dado[,7, drop = FALSE],
                              dado[,51, drop = FALSE], 
                              dado[,54, drop = FALSE])
##                      Alpha      Beta     Gamma
## 202045 to IBOV 0.006652831 0.4972612 0.3685761

Market Timing - Henriksson-Merton

F202045_MT_HM <- MarketTiming(dado[,7, drop = FALSE],
                              dado[,51, drop = FALSE], 
                              dado[,54, drop = FALSE], 
                              method = "HM")
##                     Alpha      Beta      Gamma
## 202045 to IBOV 0.01021022 0.4558193 0.09515596

Indicadores de Avaliação - Fundo 153907

Modigliani-Modigliani

F153907_m2 <- Modigliani(dado[,10, drop = FALSE],
                         dado[,51, drop = FALSE], 
                         dado[,54, drop = FALSE])
## [1] 0.0107489

Value at Risk (VaR)

F153907_VaR <- VaR(dado[,10, drop = FALSE], method = "historical")
##          153907
## VaR -0.06108546

Conditional Value at Risk (CVaR)

F153907_CVar <- CVaR(dado[,10, drop = FALSE], method = "historical")
##         153907
## ES -0.06985995

Sortino Ratio

F153907_Sortino <- SortinoRatio(dado[,10, drop = FALSE])
##                             153907
## Sortino Ratio (MAR = 0%) 0.4150816

Market Timing - Treynor-Mazuy

F153907_MT_TM <- MarketTiming(dado[,10, drop = FALSE],
                              dado[,51, drop = FALSE], 
                              dado[,54, drop = FALSE])
##                      Alpha      Beta       Gamma
## 153907 to IBOV 0.003377431 0.6307323 -0.06019352

Market Timing - Henriksson-Merton

F153907_MT_HM <- MarketTiming(dado[,10, drop = FALSE],
                              dado[,51, drop = FALSE], 
                              dado[,54, drop = FALSE], 
                              method = "HM")
##                      Alpha      Beta      Gamma
## 153907 to IBOV 0.003743092 0.6188578 0.02393646

Exercício 6

Código dos fundos: 48550, 205559, 122378, 102644 e 116963

a) Estime os retornos mensais obtidos por essas carteiras de fundos

Criamos a careteira 1 e 2, sendo que ambas são equal weighted. Além disso, sem apresentar o código para tal, adicionamos os dados de retorno mensal dessas carteiras na df “dados”.

carteira1 <- (dado$`48550` + dado$`205559` + dado$`122378`)/3

carteira2 <- (dado$`102644` + dado$`116963`)/2

b) Qual o valor do seu investimento e a taxa acumulada e média anual de retorno?

Primeiro, criamos o fator para os retornos e, em seguida, acumulamos esses retornos.

carteira1_fator <- carteira1 + 1

carteira2_fator <- carteira2 + 1
carteira1_acumulado <- prod(carteira1_fator)
## [1] 1.38253
carteira2_acumulado <- prod(carteira2_fator)
## [1] 1.634976

Assim, o valor do investimento, ao final do período, é:

20000*carteira1_acumulado
## [1] 27650.59
10000*carteira2_acumulado
## [1] 16349.76

E a taxa média anual de retorno é:

(carteira1_acumulado ^ (12/length(carteira1_fator)) - 1) * 100
## [1] 5.177608
(carteira2_acumulado ^ (12/length(carteira2_fator)) - 1) * 100
## [1] 7.962887

c) Justifique o procedimento adotado para a alocação em cada fundo.

O procedimento adotado não poderia ser mais simples: o peso de cada ativo é, simplesmente, \(1/N\). Como ainda não fizemos nenhuma análise de retorno ajustado ao risco, essa forma de construir portfólios evita que o investidor aloque analisando apenas o retorno passado.

Avaliações de Performance

Carteira 1

Desvio-Padrão Anualizado

StdDev.annualized(dado[,55, drop = FALSE], scale = 12)
##                               carteira1
## Annualized Standard Deviation 0.1937749

Índice de Sharpe

SharpeRatio(dado[,55, drop = FALSE], 
            dado[,54, drop = FALSE], 
            FUN = "StdDev")
##                                   carteira1
## StdDev Sharpe (Rf=0.8%, p=95%): -0.03930951

Modigliani-Modigliani

Modigliani(dado[,55, drop = FALSE],
           dado[,51, drop = FALSE], 
           dado[,54, drop = FALSE])
## [1] 0.005621181

Value at Risk Histórico (VaR Histórico)

VaR(dado[,55, drop = FALSE], method = "historical")
##       carteira1
## VaR -0.08017692

Conditional Value at Risk Histórico (CVaR Histórico)

CVaR(dado[,55, drop = FALSE], method = "historical")
##     carteira1
## ES -0.1010964

Índice Sortino

SortinoRatio(dado[,55, drop = FALSE])
##                          carteira1
## Sortino Ratio (MAR = 0%) 0.1679298

Alfa de Jensen

CAPM.alpha(dado[,55, drop = FALSE],
           dado[,51, drop = FALSE], 
           dado[,54, drop = FALSE])
## [1] -0.0004843781

Beta

CAPM.beta(dado[,55, drop = FALSE],
          dado[,51, drop = FALSE], 
          dado[,54, drop = FALSE])
## [1] 0.9444793

Beta - Bull Market

CAPM.beta.bull(dado[,55, drop = FALSE],
               dado[,51, drop = FALSE], 
               dado[,54, drop = FALSE])
## [1] 0.9432212

Beta - Bear Market

CAPM.beta.bear(dado[,55, drop = FALSE],
               dado[,51, drop = FALSE], 
               dado[,54, drop = FALSE])
## [1] 0.9450019

Índice Treynor

TreynorRatio(dado[,55, drop = FALSE],
             dado[,51, drop = FALSE], 
             dado[,54, drop = FALSE],
             scale = 12)
## [1] -0.04656524

Máximo Drawdown

maxDrawdown(dado[,55, drop = FALSE])
## [1] 0.3095856

Carteira 2

Visando evitar repetição desnecessária, daqui para frente, o código será omitido.

Desvio-Padrão Anualizado

##                               carteira2
## Annualized Standard Deviation 0.1849712

Índice de Sharpe

##                                    carteira2
## StdDev Sharpe (Rf=0.8%, p=95%): -0.002672667

Modigliani-Modigliani

## [1] 0.007784076

Value at Risk Histórico (VaR Histórico)

##       carteira2
## VaR -0.07779479

Conditional Value at Risk Histórico (CVaR Histórico)

##      carteira2
## ES -0.09800527

Índice Sortino

##                          carteira2
## Sortino Ratio (MAR = 0%) 0.2441625

Alfa de Jensen

## [1] 0.001481251

Beta

## [1] 0.8945954

Beta - Bull Market

## [1] 0.8748852

Beta - Bear Market

## [1] 0.9345127

Índice Treynor

## [1] -0.02063078

Máximo Drawdown

## [1] 0.2306886

Fundo 48550

Desvio-Padrão Anualizado

##                                  X48550
## Annualized Standard Deviation 0.1996947

Índice de Sharpe

##                                      X48550
## StdDev Sharpe (Rf=0.8%, p=95%): -0.08336615

Modigliani-Modigliani

## [1] 0.003020249

Value at Risk Histórico (VaR Histórico)

##          X48550
## VaR -0.07978311

Conditional Value at Risk Histórico (CVaR Histórico)

##        X48550
## ES -0.1051712

Índice Sortino

##                             X48550
## Sortino Ratio (MAR = 0%) 0.0853083

Alfa de Jensen

## [1] -0.003048511

Beta

## [1] 0.968041

Beta - Bull Market

## [1] 0.9602829

Beta - Bear Market

## [1] 0.9517313

Índice Treynor

## [1] -0.07715338

Máximo Drawdown

## [1] 0.3988642

Fundo 205559

Desvio-Padrão Anualizado

##                                 X205559
## Annualized Standard Deviation 0.1867127

Índice de Sharpe

##                                      X205559
## StdDev Sharpe (Rf=0.8%, p=95%): -0.003649801

Modigliani-Modigliani

## [1] 0.00772639

Value at Risk Histórico (VaR Histórico)

##        X205559
## VaR -0.0745713

Conditional Value at Risk Histórico (CVaR Histórico)

##        X205559
## ES -0.09749943

Índice Sortino

##                            X205559
## Sortino Ratio (MAR = 0%) 0.2439483

Alfa de Jensen

## [1] 0.001447114

Beta

## [1] 0.9055431

Beta - Bull Market

## [1] 0.9119644

Beta - Bear Market

## [1] 0.9111592

Índice Treynor

## [1] -0.02134853

Máximo Drawdown

## [1] 0.2320699

Fundo 122378

Desvio-Padrão Anualizado

##                                 X122378
## Annualized Standard Deviation 0.1967135

Índice de Sharpe

##                                     X122378
## StdDev Sharpe (Rf=0.8%, p=95%): -0.02807303

Modigliani-Modigliani

## [1] 0.006284538

Value at Risk Histórico (VaR Histórico)

##         X122378
## VaR -0.07757892

Conditional Value at Risk Histórico (CVaR Histórico)

##       X122378
## ES -0.1042008

Índice Sortino

##                            X122378
## Sortino Ratio (MAR = 0%) 0.1839307

Alfa de Jensen

## [1] 0.000148263

Beta

## [1] 0.959854

Beta - Bull Market

## [1] 0.9574162

Beta - Bear Market

## [1] 0.972115

Índice Treynor

## [1] -0.03909914

Máximo Drawdown

## [1] 0.3077227

Fundo 102644

Desvio-Padrão Anualizado

##                                 X102644
## Annualized Standard Deviation 0.1867155

Índice de Sharpe

##                                    X102644
## StdDev Sharpe (Rf=0.8%, p=95%): 0.00212141

Modigliani-Modigliani

## [1] 0.008067099

Value at Risk Histórico (VaR Histórico)

##         X102644
## VaR -0.07682429

Conditional Value at Risk Histórico (CVaR Histórico)

##        X102644
## ES -0.09836678

Índice Sortino

##                            X102644
## Sortino Ratio (MAR = 0%) 0.2515056

Alfa de Jensen

## [1] 0.001744192

Beta

## [1] 0.8978378

Beta - Bull Market

## [1] 0.9005116

Beta - Bear Market

## [1] 0.942617

Índice Treynor

## [1] -0.01751385

Máximo Drawdown

## [1] 0.2492399

Fundo 116963

Desvio-Padrão Anualizado

##                                 X116963
## Annualized Standard Deviation 0.1843812

Índice de Sharpe

##                                      X116963
## StdDev Sharpe (Rf=0.8%, p=95%): -0.007510704

Modigliani-Modigliani

## [1] 0.007498457

Value at Risk Histórico (VaR Histórico)

##         X116963
## VaR -0.07496664

Conditional Value at Risk Histórico (CVaR Histórico)

##        X116963
## ES -0.09877113

Índice Sortino

##                            X116963
## Sortino Ratio (MAR = 0%) 0.2355393

Alfa de Jensen

## [1] 0.001218309

Beta

## [1] 0.891353

Beta - Bull Market

## [1] 0.8492588

Beta - Bear Market

## [1] 0.9264084

Índice Treynor

## [1] -0.02398997

Máximo Drawdown

## [1] 0.2290239