Changes in version 0.4.2 - Fixed unit tests to accommodate a breaking change in PerformanceAnalytics::Return.portfolio(), which now returns results for the full length of the input return series rather than only from the first specified weight date onward. Changes in version 0.4.1 (2022-04-22) - Function summaryTable() now allows the kable type of table. - Vignette now explains a temporary hack to initialize backtests (via non-recommended global variables). - Benchmark name 1/N has replaced the previous name uniform. - Added function backtestChartSharpeRatio(). - Function backtestBoxPlot() now accepts a reference portfolio. - Argument price_name to portfolioBacktest() can be left unspecified. - Function portfolioBacktest() now returns w_optimized and w_rebalanced (instead of w_designed). It also returns X_lin that can be used for debugging or other purposes. Changes in version 0.3.1 (2021-10-17) - Just a minor adjustment in the the unit tests to comply with CRAN. Changes in version 0.3.0 (2021-09-21) - In the computation of Sharpe ratio and annualized return, uncompounded returns are used (before they were compounded). - New function to add new performance measures: add_performance() - Function name backtestChartCumReturns() changed to backtestChartCumReturn() . - Now the portfolio function receives an additional argument w_current with the current portfolio. This allows for portfolio designs that take into account transaction costs and for smart rebalancing techniques. - Lots of internal code rewritten to make it more robust to future coding bugs. Now use of ellipsis in most places (always with named arguments). Changes in version 0.2.3 (2021-01-12) - Reimplement parallel mode using package pbapply. - Add a temporary argument source_to_local in function portfolioBacktest() to address the issues of using package CVXR within files. - Add MDP and MSRP as benchmarks. - Fix performance computation when no investment happens in some days. - Function stockDataResample() deprecated and revised as financialDataResample() to work with other than stock data (e.g., crypto data) and without requiring the elements $adjusted or $index. - Package now works with non-daily data. For example, for hourly crypto data, one needs to specify bars_per_year = 24*365. Changes in version 0.2.2 (2020-08-03) - Fix some CRAN small issue with function examples. - New function to add new performance measure: add_performance(). - Vignette revised (included references on the dangers of backtesting). Changes in version 0.2.1 (2019-10-07) - Bug fixed with global variables when using paral_portfolios > 1. - Typos fixed in vignette. - Data SP500_symbols updated. - Bug fix in backtestLeaderboard() when some portfolios have 100% failure rate. - Three new plotting function: backtestChartCumReturns(), backtestChartDrawdown(), backtestChartStackedBar(). - Structural improvement for embedded benchmarks. Now it is easier to add more benchmarks. - Add the global minimum variance portfolio (GMVP) with "shrinkage" option as a benchmark. - Add two more performance criteria: VaR (alpha = 0.95) and CVaR (alpha = 0.95) of loss. - Filter global variables by size: now the variables with size > 10 MB will not be transparent to parallel threads. - Revised test examples. Changes in version 0.2.0 (2019-08-23) - Now stockDataDownload() will store the downloaded data into a local file and if called again with the same arguments will use it (Issue: #2). - Function portfolioBacktest() now returns two portfolios: w_designed and w_bop. - Function portfolioBacktest() now takes an extra argument for the portfolio execution which can be "same day" or "next day". - Transaction costs are now included in the backtest computation and function portfolioBacktest() takes an extra argument (Issue: #7). - Two new functions for easy parameter tuning and plotting: genRandomFuns() and plotPerformanceVsParams(). - Package ggplot2 is now imported and all the plots are based on it by default. Changes in version 0.1.1 (2019-07-05) - Problems with test (regarding stockDataDownload) fixed. - Problem with table in README fixed. Changes in version 0.1.0 (2019-06-19) - Initial release is on CRAN.