plot_metrics_123: Plot One Performance Metric vs. Another for Any Number of...

Description Usage Arguments Details Value Examples

View source: R/plot_metrics_123.R

Description

Integrates plot_metrics, plot_metrics_2funds, and plot_metrics_3funds into a single function, so you can visualize strategies of varying complexities on one figure.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
plot_metrics_123(
  metrics = NULL,
  formula = mean ~ sd,
  tickers = NULL,
  ...,
  step = 1,
  gains = NULL,
  prices = NULL,
  benchmark = "SPY",
  y.benchmark = benchmark,
  x.benchmark = benchmark,
  plotly = FALSE,
  title = NULL,
  base_size = 16,
  label_size = 5,
  return = "plot"
)

Arguments

metrics

Data frame with Fund column and column for each metric you want to plot. Typically the result of a prior call to calc_metrics_123.

formula

Formula specifying what to plot, e.g. mean ~ sd, cagr ~ mdd, or sharpe ~ allocation. See ?calc_metrics for list of metrics to choose from ("allocation" is an extra option here). If you specify metrics, default behavior is to use mean ~ sd unless either is not available, in which case the first two performance metrics that appear as columns in metrics are used.

tickers

Character vector of ticker symbols, where the first three are are a three-fund set, the next three are another, and so on.

...

Arguments to pass along with tickers to load_gains.

step

Numeric value specifying fund allocation increments.

gains

Data frame with a date variable named Date and one column of gains for each fund.

prices

Data frame with a date variable named Date and one column of prices for each fund.

benchmark, y.benchmark, x.benchmark

Character string specifying which fund to use as benchmark for metrics (if you request alpha, alpha.annualized, beta, or r.squared).

plotly

Logical value for whether to convert the ggplot to a plotly object internally.

title

Character string.

base_size

Numeric value.

label_size

Numeric value.

return

Character string specifying what to return. Choices are "plot", "data", and "both".

Details

If you prefer to have complete control over the plotting, you can set return = "data" to just get the source data.

Value

Depending on return, a ggplot object, a data frame, or a list containing both.

Examples

1
2
3
4
5
6
7
8
## Not run: 
# Plot CAGR vs. max drawdown for BRK-B, SPY/TLT, and VWEHX/VBLTX/VFINX
plot_metrics_123(
  formula = cagr ~ mdd,
  tickers = list("BRK-B", c("SPY", "TLT"), c("VWEHX", "VBLTX", "VFINX"))
)

## End(Not run)

vandomed/stocks documentation built on July 22, 2020, 3:25 a.m.