-
Function
summaryTable()
now allows thekable
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 nameuniform
. -
Added function
backtestChartSharpeRatio()
. -
Function
backtestBoxPlot()
now accepts a reference portfolio. -
Argument
price_name
toportfolioBacktest()
can be left unspecified. -
Function
portfolioBacktest()
now returnsw_optimized
andw_rebalanced
(instead ofw_designed
). It also returnsX_lin
that can be used for debugging or other purposes.
- Just a minor adjustment in the the unit tests to comply with CRAN.
-
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 tobacktestChartCumReturn()
. -
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).
-
Reimplement parallel mode using package
pbapply
. -
Add a temporary argument
source_to_local
in functionportfolioBacktest()
to address the issues of using packageCVXR
within files. -
Add MDP and MSRP as benchmarks.
-
Fix performance computation when no investment happens in some days.
-
Function
stockDataResample()
deprecated and revised asfinancialDataResample()
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
.
-
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).
-
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.
-
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.
- Problems with test (regarding stockDataDownload) fixed.
- Problem with table in README fixed.
- Initial release is on CRAN.