summaryTable | R Documentation |
After performing a backtest with portfolioBacktest
and obtaining a summary of the performance measures with
backtestSummary
, this function creates a table from the summary.
By default the table is a simple matrix, but if the user has installed the
package DT
or grid.table
nicer tables can be generated.
summaryTable( bt_summary, measures = NULL, caption = "Performance table", type = c("simple", "DT", "kable", "grid.table"), digits = 2, order_col = NULL, order_dir = c("asc", "desc"), page_length = 10 )
bt_summary |
Backtest summary as obtained from the function |
measures |
String vector to select performane measures (default is all) from 'Sharpe ratio', 'max drawdown', 'annual return', 'annual volatility', 'Sterling ratio', 'Omega ratio', 'ROT bps', etc. |
caption |
Table caption (only works for |
type |
Type of table. Valid options: |
digits |
Integer indicating the number of decimal places when rounding (default is 2). |
order_col |
Column number or column name of the performance measure to be used to
sort the rows (only used for table |
order_dir |
Direction to be used to sort the rows (only used for table
|
page_length |
Page length for the table (only used for table |
Daniel P. Palomar and Rui Zhou
summaryBarPlot
library(portfolioBacktest) data(dataset10) # load dataset # define your own portfolio function quintile_portfolio <- function(data, ...) { X <- diff(log(data$adjusted))[-1] N <- ncol(X) ranking <- sort(colMeans(X), decreasing = TRUE, index.return = TRUE)$ix w <- rep(0, N) w[ranking[1:round(N/5)]] <- 1/round(N/5) return(w) } # do backtest bt <- portfolioBacktest(list("Quintile" = quintile_portfolio), dataset10, benchmark = c("1/N", "index")) # now we can obtain the table bt_summary_median <- backtestSummary(bt) summaryTable(bt_summary_median, measures = c("max drawdown", "annual volatility")) summaryTable(bt_summary_median, measures = c("max drawdown", "annual volatility"), type = "DT") summaryTable(bt_summary_median, type = "kable") # this returned kable object can be combined with: " |> kableExtra::kable_styling()"
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.