knitr::opts_chunk$set(echo = TRUE)

library(quantmod)
library("PerformanceAnalytics")
library("Hmisc")
library(kableExtra)
library(PMwR)


managers <- readRDS("../data/myCota.rds")

df <- managers[, c(7,10)]
df$Cota <- PMwR::returns(df$cota)
df$Ibov <- PMwR::returns(df$IBOV)
managers <- df[2:nrow(df), c(3,4)]

#managers <- managers[, c("varPerc", "rIBOV")]
colnames(managers) <- c("Cota", "IBOV")



managers.length = dim(managers)[1]

trailing12.rows = ((managers.length - 11):managers.length)
trailing36.rows = ((managers.length - 35):managers.length)
trailing60.rows = ((managers.length - 59):managers.length)

Analisando a Performance da Cota com o pacote PerformanceAnalytics

Primeiramente vejamos um resumo da cota comparada com o IBOV

charts.PerformanceSummary(managers[,c("Cota", "IBOV")], colorset = rich6equal)

Calendário de retornos

O cálculo aqui não está correto

# prettify with format.df in hmisc package
df <- table.CalendarReturns(managers[,c(1,2)], as.perc = TRUE)

df %>%
  kableExtra::kbl(booktabs = T, escape = F, digits = c(2,2,2), align = "r")%>%
  kableExtra::column_spec(1, bold=T) %>%
  kableExtra::collapse_rows(columns = 1, latex_hline = "major", valign = "middle")%>%
  kableExtra::kable_styling(bootstrap_options = c("striped", "hover"), full_width = F,font_size = 12)

# }

Estatísticas

df <- table.Stats(managers[,c("Cota", "IBOV")])

df %>%
  kableExtra::kbl(booktabs = T, escape = F, digits = c(2,2,2), align = "r")%>%
  kableExtra::column_spec(1, bold=T) %>%
  kableExtra::collapse_rows(columns = 1, latex_hline = "major", valign = "middle")%>%
  kableExtra::kable_styling(bootstrap_options = c("striped", "hover"), full_width =F,font_size = 12)

# }

Graficos

chart.Boxplot(managers[trailing36.rows, c("Cota", "IBOV")])

Distribuição

layout(rbind(c(1,2),c(3,4)))
chart.Histogram(managers[,1,drop=F], main = "Plain", methods = NULL)
chart.Histogram(managers[,1,drop=F], main =  "Density", breaks=40,
                methods = c("add.density", "add.normal"))
chart.Histogram(managers[,1,drop=F], main = "Skew and Kurt",
                methods = c("add.centered", "add.rug"))
chart.Histogram(managers[,1,drop=F], main = "Risk Measures",
                methods = c("add.risk"))

Scatter

chart.RiskReturnScatter(managers[trailing36.rows,1:2], Rf=.03/12,
                        main = "Trailing 36")

Performance

charts.RollingPerformance(managers[, c("Cota", "IBOV")])

Performance RElativa

chart.RelativePerformance(managers[ ,"Cota", drop = FALSE],
                          managers[ , "IBOV", drop = FALSE],colorset = rich12equal)

CAPM

df <- table.CAPM(managers[trailing36.rows, c("Cota", "IBOV")],
           managers[ trailing36.rows, 2, drop=FALSE],
           Rf=.03/12)
df %>%
  kableExtra::kbl(booktabs = T, escape = F, digits = c(2,2,2), align = "r")%>%
  kableExtra::column_spec(1, bold=T) %>%
  kableExtra::collapse_rows(columns = 1, latex_hline = "major", valign = "middle")%>%
  kableExtra::kable_styling(bootstrap_options = c("striped", "hover"), full_width =F,font_size = 12)

Roling Regression

charts.RollingRegression(managers[ ,"Cota", drop = FALSE],
                         managers[ , "IBOV", drop = FALSE],colorset = rich12equal)

Roling Correlation

chart.RollingCorrelation(managers[ ,"Cota", drop = FALSE],
                         managers[ , "IBOV", drop = FALSE],colorset = rich12equal)

Table Correlation

df <- table.Correlation(managers[ ,"Cota", drop = FALSE],
                  managers[ , "IBOV", drop = FALSE], legend.loc = "lowerleft")

df %>%
  kableExtra::kbl(booktabs = T, escape = F, digits = c(2,2,2), align = "r")%>%
  kableExtra::column_spec(1, bold=T) %>%
  kableExtra::collapse_rows(columns = 1, latex_hline = "major", valign = "middle")%>%
  kableExtra::kable_styling(bootstrap_options = c("striped", "hover"), full_width =F,font_size = 12)

Table DownsideRisk

df <- table.DownsideRisk(managers[,1:2],Rf=.03/12)

df %>%
  kableExtra::kbl(booktabs = T, escape = F, digits = c(2,2,2), align = "r")%>%
  kableExtra::column_spec(1, bold=T) %>%
  kableExtra::collapse_rows(columns = 1, latex_hline = "major", valign = "middle")%>%
  kableExtra::kable_styling(bootstrap_options = c("striped", "hover"), full_width =F,font_size = 12)

Table Drawdowns

df <- table.Drawdowns(managers[,1,drop=F])
df %>%
  kableExtra::kbl(booktabs = T, escape = F, digits = c(2,2,2), align = "r")%>%
  kableExtra::column_spec(1, bold=T) %>%
  kableExtra::collapse_rows(columns = 1, latex_hline = "major", valign = "middle")%>%
  kableExtra::kable_styling(bootstrap_options = c("striped", "hover"), full_width =F,font_size = 12)


maxlemes/MyPortfolio documentation built on Jan. 7, 2021, 11:47 p.m.