View source: R/performance_analytics.R
| calculate_daily_values | R Documentation |
Carries portfolio positions (from a weekly or lower-frequency backtest) forward to daily dates, multiplies by daily prices, and combines with cash to produce a daily portfolio value series for monitoring and analytics.
calculate_daily_values(
positions,
daily_prices,
strategy_dates,
initial_capital,
cash_values
)
positions |
A |
daily_prices |
A |
strategy_dates |
A |
initial_capital |
Numeric scalar. Starting cash used for days before
the first position exists (typically |
cash_values |
Optional numeric vector of cash balances at the strategy
dates (e.g., |
A list with components:
dates Daily dates within the strategy span.
portfolio_values Daily total portfolio value (positions + cash).
positions_value Daily mark-to-market of positions only.
cash Daily carried cash series.
# Minimal end-to-end example using bundled data and a simple weekly backtest
library(PortfolioTesteR)
data(sample_prices_weekly); data(sample_prices_daily)
# Build a tiny strategy: momentum -> top-3 -> equal weights
mom <- calc_momentum(sample_prices_weekly, lookback = 12)
sel <- filter_top_n(mom, n = 3)
W <- weight_equally(sel)
bt <- run_backtest(sample_prices_weekly, W, name = "Demo")
# Compute daily monitoring values from positions + cash
vals <- calculate_daily_values(
positions = bt$positions,
daily_prices = sample_prices_daily,
strategy_dates = bt$dates,
initial_capital = bt$initial_capital,
cash_values = bt$cash
)
# Quick sanity checks
head(vals$dates)
head(vals$portfolio_values)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.