Adaptive Asset Allocation Extended
This post extends the replication from the Adaptive Asset Allocation Replication post by running the analysis on OOS (out-of-sample) data from 2015 through 2023. Thanks to Dale Rosenthal for helpful comments.
Adaptive Asset Allocation Replication
The paper, “Adaptive Asset Allocation: A Primer” by Adam Butler, Mike Philbrick, Rodrigo Gordillo, and David Varadi addresses flaws in the traditional application of Modern Portfolio Theory related to Strategic Asset Allocation. It shows that estimating return and (co)variance parameters over shorter time horizons are superior to estimates over long-term horizons because parameter estimates vary substantially over time. Longer-term estimates do not account for this variability in the short-term. They propose an Adaptive Asset Allocation portfolio construction methodology that uses the new parameter estimates to substantially improve performance relative to Strategic Asset Allocation.
quantmod_0.4.25 on CRAN
Running TimeBase in Docker
This is the second post in the series on using TimeBase to stream real-time market data. This post covers using Docker to run TimeBase and the TimeBase Web Administrator.
Streaming Market Data with TimeBase
getSymbols Rebooted
quantmod and getSymbols()
have been a core part of the R/Finance ecosystem for over 15 years. We want to change some things, but they would break existing code. We can make these changes in the new ‘rfimport’ package instead.
xts_0.13.1 on CRAN
quantmod_0.4.22 on CRAN
An updated version of quantmod is now on CRAN. It adds functions HL()
, is.HL()
, and has.HL()
to check for ‘high’ and ’low’ price columns. It also makes accessing Yahoo Finance price, dividend, and split data more robust. getSymbols.FRED()
got to
and from
arguments, like other getSymbols()
methods. The remaining changes are bug fixes and maintenace chores.
xts_0.13.0 on CRAN
An updated version of xts is now on CRAN. This release adds several exciting changes: open-ended time-of-day subsetting, smarter conversions to xts from data.frames/data.tables/tibbles; to.period()
handles custom endpoint values, print()
truncates rows like data.table, and str()
provides more informative output. There are also changes to make xts more consistent with zoo, some minor speed improvements, and the usual smattering of bug fixes.