Want to share your content on R-bloggers? click here if you have a blog, or here if you don’t.
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.
The paper uses the 5 portfolios below. Each section of this post will
give a short description of the portfolio construction and then focus on
comparing the OOS results with the replicated and original results. See
the other post for details on the data and portfolio construction
methodologies.
- Equal weight of all asset classes
- Equal risk contribution of all asset classes
- Equal weight of highest momentum asset classes
- Equal risk contribution of highest momentum asset classes
- Minimum variance of highest momentum asset classes
The table below summarizes the date ranges for each sample period in
this post.
Period | Date Range |
---|---|
Replication | Feb 1996 – Dec 2014 |
OOS | Jan 2015 – Dec 2023 |
2015-2021 | Jan 2015 – Dec 2021 |
Full | Feb 1996 – Dec 2023 |
1. Equal weight portfolio of all asset classes
This portfolio assumes no knowledge of expected relative asset class
performance, risk, or correlation. It holds each asset class in equal
weight and is rebalanced monthly.
rr_equal_weight <- as.xts(apply(returns["/2014"], 1, mean)) ro_equal_weight <- as.xts(apply(returns["2015/"], 1, mean)) rf_equal_weight <- as.xts(apply(returns, 1, mean)) monthly_returns <- merge(Replication = to_monthly_returns(rr_equal_weight), OOS = to_monthly_returns(ro_equal_weight), "2015-2021" = to_monthly_returns(ro_equal_weight["2015/2021"]), Full = to_monthly_returns(rf_equal_weight), check.names = FALSE) stats <- strat_summary(monthly_returns) chart_performance(monthly_returns, "All Assets - Equal Weight")
Replication | OOS | 2015-2021 | Full | |
---|---|---|---|---|
Annualized Return | 0.079 | 0.049 | 0.072 | 0.069 |
Annualized Std Dev | 0.115 | 0.107 | 0.091 | 0.112 |
Annualized Sharpe (Rf=0%) | 0.684 | 0.456 | 0.794 | 0.614 |
Worst Drawdown | -0.377 | -0.210 | -0.136 | -0.377 |
The OOS annualized return is significantly less than the prior results.
This is largely due to the -21.0% drawdown that started in 2022 and is
still ongoing. Note that the full-period results are very similar to the
replication results, though the 2022 drawdown did decrease the
annualized return by ~1%.
Note that this portfolio’s results from 2015-2021 are very similar to
the replication results through the end of 2014. That suggests the 2022
bear market is the main cause for the lower return in the OOS results.
2. Equal risk contribution using all asset classes
The next portfolio assumes the investor has some knowledge of each
asset’s risk, but still no knowledge of relative performance or
correlations. So each asset in this portfolio is given a weight
proportional to its historical relative risk, with the hope that each
asset will contribute the same amount of risk to the overall portfolio
in the future.
rr_equal_risk <- portf_equal_risk(r_rep, 120, 60) ro_equal_risk <- portf_equal_risk(r_oos, 120, 60) rf_equal_risk <- portf_equal_risk(r_full, 120, 60) monthly_returns <- merge(Replication = to_monthly_returns(rr_equal_risk), OOS = to_monthly_returns(ro_equal_risk["2015/"]), "2015-2021" = to_monthly_returns(ro_equal_risk["2015/2021"]), Full = to_monthly_returns(rf_equal_risk), check.names = FALSE) stats <- strat_summary(monthly_returns) chart_performance(monthly_returns, "All Assets - Equal Risk")
Replication | OOS | 2015-2021 | Full | |
---|---|---|---|---|
Annualized Return | 0.086 | 0.034 | 0.056 | 0.069 |
Annualized Std Dev | 0.073 | 0.082 | 0.061 | 0.076 |
Annualized Sharpe (Rf=0%) | 1.177 | 0.411 | 0.908 | 0.903 |
Worst Drawdown | -0.142 | -0.194 | -0.071 | -0.194 |
Like the equal weight portfolio, this portfolio’s OOS annualized return
is significantly lower than the replication results. This methodology
only slightly reduced the 2022 drawdown to -19.4% from -21.0%. The
maximum drawdown is now in 2022 instead of during the 2008 financial
crisis.
In the replication, the equal risk contribution portfolio results are
better than the equal weight portfolio, but the OOS equal risk portfolio
did not show similar improvement. Even when 2022 is excluded, the OOS
equal risk portfolio didn’t show improvement over the equal weight
portfolio.
3. Equal weight portfolio of highest momentum asset classes
The next portfolio assumes the investor has some knowledge of each
asset’s returns, but still no knowledge of risk or correlations. Asset
returns are based on 6-month momentum (approximately 120 days). Momentum
is re-estimated every month and only the top 5 assets are included in
the portfolio.
rr_momo_eq_wt <- portf_top_momentum(r_rep, 5, 120) ro_momo_eq_wt <- portf_top_momentum(r_oos, 5, 120) rf_momo_eq_wt <- portf_top_momentum(r_full, 5, 120) monthly_returns <- merge(Replication = to_monthly_returns(rr_momo_eq_wt), OOS = to_monthly_returns(ro_momo_eq_wt["2015/"]), "2015-2021" = to_monthly_returns(ro_momo_eq_wt["2015/2021"]), Full = to_monthly_returns(rf_momo_eq_wt), check.names = FALSE) stats <- strat_summary(monthly_returns) chart_performance(monthly_returns, "Top 5 Momentum Assets - Equal Weight")
Replication | OOS | 2015-2021 | Full | |
---|---|---|---|---|
Annualized Return | 0.142 | 0.051 | 0.081 | 0.112 |
Annualized Std Dev | 0.114 | 0.104 | 0.092 | 0.111 |
Annualized Sharpe (Rf=0%) | 1.243 | 0.488 | 0.884 | 1.001 |
Worst Drawdown | -0.199 | -0.213 | -0.114 | -0.213 |
Again, the OOS annualized return is significantly worse than the
replicated results. The OOS results for this portfolio show improvement
in the Sharpe Ratio versus the equal risk contribution portfolio (2).
The replicated results for this portfolio showed similar improvements
versus portfolio (2).
In the replication, equal weight momentum results are better than the
equal risk portfolio. But the OOS equal weight momentum portfolio did
not show significant improvement versus the equal risk portfolio (2),
and is roughly the same as the equal weight portfolio (1).
4. Equal risk contribution portfolio of highest momentum asset classes
The previous two portfolios estimated asset weights using either
risk-based or momentum-based weights. This next portfolio combines
estimates of momentum-based performance and accounts for asset class
risk differences. It includes the top 5 asset classes based on 6-month
returns and weights them using the same equal risk contribution method
as portfolio (2).
rr_momo_eq_risk <- portf_top_momentum_equal_risk(r_rep, 5, 120, 60) ro_momo_eq_risk <- portf_top_momentum_equal_risk(r_oos, 5, 120, 60) rf_momo_eq_risk <- portf_top_momentum_equal_risk(r_full, 5, 120, 60) monthly_returns <- merge(Replication = to_monthly_returns(rr_momo_eq_risk), OOS = to_monthly_returns(ro_momo_eq_risk["2015/"]), "2015-2021" = to_monthly_returns(ro_momo_eq_risk["2015/2021"]), Full = to_monthly_returns(rf_momo_eq_risk), check.names = FALSE) stats <- strat_summary(monthly_returns) chart_performance(monthly_returns, "Top 5 Momentum Assets - Equal Risk")
Replication | OOS | 2015-2021 | Full | |
---|---|---|---|---|
Annualized Return | 0.137 | 0.050 | 0.081 | 0.108 |
Annualized Std Dev | 0.102 | 0.095 | 0.081 | 0.100 |
Annualized Sharpe (Rf=0%) | 1.335 | 0.528 | 0.991 | 1.076 |
Worst Drawdown | -0.119 | -0.204 | -0.086 | -0.204 |
It’s clear that the major cause of the poorer OOS performance of this
portfolio is due to how it handled the 2022 bear market. This portfolio
handled the 2008 financial crisis very well, but it offered almost no
protection in 2022. This indicates there was a fundamental difference in
2008 versus 2022 in the asset classes held by this portfolio.
Similar to the replicated results, the reduction in risk is the main
benefit of this portfolio versus the equal weight momentum portfolio
(3). That said, the OOS performance of this portfolio only showed
marginal improvement versus portfolio (3). Even more notable, this
portfolio didn’t improve returns versus the simple equal weight
portfolio (1) during the OOS period like it did for the replication
period.
5. Minimum variance portfolio of highest momentum asset classes
The final portfolio takes the above concepts and adds correlation
estimates to the portfolio optimization. The previous portfolios only
accounted for the relative risk between the asset classes, but not the
correlation between the assets’ returns. This portfolio accounts for the
correlations between asset classes by finding the minimum variance
portfolio.
rr_momo_min_var <- portf_top_momentum_min_var(r_rep, 5, 120, 60) ro_momo_min_var <- portf_top_momentum_min_var(r_oos, 5, 120, 60) rf_momo_min_var <- portf_top_momentum_min_var(r_full, 5, 120, 60) monthly_returns <- merge(Replication = to_monthly_returns(rr_momo_min_var), OOS = to_monthly_returns(ro_momo_min_var["2015/"]), "2015-2021" = to_monthly_returns(ro_momo_min_var["2015/2021"]), Full = to_monthly_returns(rf_momo_min_var), check.names = FALSE) stats <- strat_summary(monthly_returns) chart_performance(monthly_returns, "Above Average 6mo Momentum - Min Var")
Replication | OOS | 2015-2021 | Full | |
---|---|---|---|---|
Annualized Return | 0.137 | 0.054 | 0.086 | 0.109 |
Annualized Std Dev | 0.103 | 0.094 | 0.084 | 0.100 |
Annualized Sharpe (Rf=0%) | 1.330 | 0.568 | 1.025 | 1.086 |
Worst Drawdown | -0.102 | -0.190 | -0.080 | -0.190 |
Recall that the original results for portfolio (5) showed improved
return and lower maximum drawdown versus portfolio (4), while the
replicated results were almost the same for both portfolios. The OOS
results for these two portfolios are also very similar. In the 2015-2021
period, portfolio (5) has a slightly higher return and Sharpe ratio and
lower max drawdown than portfolio (4).
Conclusion
For all 5 portfolios, the OOS results are not as good as the replicated
results. This is largely due to the 2022 bear market, but the 2015-2021
results still aren’t as good as the replicated results.
Allocate
Smartly
has a great post about 2022 bear market performance of tactical asset
allocation (TAA) strategies like this one. They find that TAA strategies
did poorly in the 2022 bear market if they assumed intermediate and
long-term bonds provide diversification from risky assets. Both risk
assets and longer duration bonds performed poorly in 2022, and the
correlation between bonds and equities was positive instead of negative
like they have been historically.
In a future post, I may investigate how these portfolios would have
performed if they were allowed to allocate to short-term Treasuries.
Portfolio Results by Sample Period
This section contains tables with results for all portfolios in a
particular sample period.
Replication Period
Equal Weight | Equal Risk | Momo Eq Weight | Momo Eq Risk | Momo Min Var | |
---|---|---|---|---|---|
Ann. Return | 0.079 | 0.086 | 0.142 | 0.137 | 0.137 |
Ann. Std Dev | 0.115 | 0.073 | 0.114 | 0.102 | 0.103 |
Ann. Sharpe | 0.684 | 1.177 | 1.243 | 1.335 | 1.330 |
Max Drawdown | -0.377 | -0.142 | -0.199 | -0.119 | -0.102 |
Out-of-Sample: 2015-2023
Equal Weight | Equal Risk | Momo Eq Weight | Momo Eq Risk | Momo Min Var | |
---|---|---|---|---|---|
Ann. Return | 0.049 | 0.034 | 0.051 | 0.050 | 0.054 |
Ann. Std Dev | 0.107 | 0.082 | 0.104 | 0.095 | 0.094 |
Ann. Sharpe | 0.456 | 0.411 | 0.488 | 0.528 | 0.568 |
Max Drawdown | -0.210 | -0.194 | -0.213 | -0.204 | -0.190 |
Out-of-Sample: 2015-2021
Equal Weight | Equal Risk | Momo Eq Weight | Momo Eq Risk | Momo Min Var | |
---|---|---|---|---|---|
Ann. Return | 0.072 | 0.056 | 0.081 | 0.081 | 0.086 |
Ann. Std Dev | 0.091 | 0.061 | 0.092 | 0.081 | 0.084 |
Ann. Sharpe | 0.794 | 0.908 | 0.884 | 0.991 | 1.025 |
Max Drawdown | -0.136 | -0.071 | -0.114 | -0.086 | -0.080 |
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you’re looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don’t.
Continue reading: Adaptive Asset Allocation Extended
Extended Analysis of Adaptive Asset Allocation
This blog post aims to extend an understanding of the Adaptive Asset Allocation Replication by critically examining Out-of-Sample (OOS) data analysis from 2015 through 2023. The OOS data analysis was directed towards five portfolio methodologies:
- Equal weight of all asset classes
- Equal risk contribution of all asset classes
- Equal weight of highest momentum asset classes
- Equal risk contribution of highest momentum asset classes
- Minimum variance of highest momentum asset classes
An essential finding across all these portfolios was that the OOS results were generally less successful than the earlier replicated results. The significant market dip in 2022 particularly contributed to this. The OOS performance also indicated that the foreseeability of future events was notably diminished, particularly regarding knowing which assets would experience pronounced fluctuations.
Implications and Future Developments
The findings by this analysis have several implications for Adaptive Asset Allocation. This method of investment, while showing success in equalizing risk across various asset classes during a more favorable market period, proved less successful during periods of turbulent market activity such as the 2022 bear market.
The OOS data suggests the need for improved forecast models that can better account for major unexpected events such as extreme market dips. The portfolios’ performance was strongly impacted by not foreseeing the 2022 bear market, affirming the importance of developing more refined risk management strategies.
In future developments, incorporating a more nuanced understanding of correlations between different assets and making better provisions for diversification may help insulate against future unforeseen economic downturns.
Actionable Advice
Based on the findings, investors implementing adaptive asset allocation could consider the following for better portfolio performance:
- Incorporate a more conservative risk model while considering potential market downturns. This may mean accepting a lower return in exchange for more stability during adverse market conditions.
- Include more diverse asset classes in their portfolio, including those likely to perform counter-cyclically during a downturn.
- Rebalance the portfolio more frequently as a responsive move to potential market changes.
In conclusion, while Adaptive Asset Allocation can deliver impressive results in a stable market environment, it requires advanced forecasting models and risk diversification to improve its performance, particularly during an unfavourable economic scenario.