#' Calculate Portfolio Return Metrics
#'
#' @param R xts vector of asset returns
#' @param Rb return vector of the benchmark asset
#'
#' @return dataframe containing portfolio return metrics
#' @importFrom magrittr %>% %<>%
#' @export
#'
#' @examples calc_return_stats(R, Rb)
calc_return_stats <- function(R, Rb) {
R %<>% PerformanceAnalytics::Return.clean(method = "geltner", alpha=0.1)
rbind.data.frame(
R %>% PerformanceAnalytics::Return.annualized(geometric = TRUE),
R %>% PerformanceAnalytics::CalmarRatio(),
R %>% PerformanceAnalytics::TreynorRatio(., Rb = Rb),
R %>% PerformanceAnalytics::BurkeRatio(),
R %>% PerformanceAnalytics::CAPM.beta(Rb = Rb),
R %>% PerformanceAnalytics::CDD(p = 0.99, invert = FALSE),
R %>% PerformanceAnalytics::Drawdowns() %>% min(na.rm = TRUE)
) %>% round(2) %>%
`rownames<-`(c("Annualized Return", "Calmar Ratio", "Treynor Ratio",
"Burke Ratio", "CAPM beta",
"CDaR", "Max. Drawdown")) %>%
`colnames<-`("portfolio_stats")
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.