View source: R/performance_portfolios.R
| add_performance | R Documentation |
Add a new performance measure to backtests
add_performance(bt, name, fun, desired_direction = 1)
bt |
Backtest results as produced by the function |
name |
String with name of new performance measure. |
fun |
Function to compute new performance measure from any element returned by
|
desired_direction |
Number indicating whether the new measure is desired to be larger (1), which is the default, or smaller (-1). |
List with the portfolio backtest results, see portfolioBacktest.
Daniel P. Palomar
library(portfolioBacktest)
data(dataset10) # load dataset
# define your own portfolio function
EWP_portfolio <- function(dataset, ...) {
N <- ncol(dataset$adjusted)
return(rep(1/N, N))
}
# do backtest
bt <- portfolioBacktest(list("EWP" = EWP_portfolio), dataset10)
# add a new performance measure
bt <- add_performance(bt, name = "SR arithmetic",
fun = function(return, ...)
PerformanceAnalytics::SharpeRatio.annualized(return,
geometric = FALSE))
bt <- add_performance(bt, name = "avg leverage", desired_direction = -1,
fun = function(w_bop, ...)
if(anyNA(w_bop)) NA else mean(rowSums(abs(w_bop))))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.