Inspired by the folks on bogleheads and a variety of other sources, I’ve tried to work out my own synthesis of portfolio design that is compatible with modern and emerging capabilities for algorithmic investing. My design goals are (i) to explicitly balance returns against portfolio volatility, (ii) to work in both taxable and (especially) tax-protected, and (iii) to be compatible with both a wide range of personal utility functions and with lifecycle investing. I intend to implement the end result on a suitable trading platform, with automated daily rebalancing and weekly allocation updates, once the infrastructure is available.
The approach I am proposing is crafted to follow the boglehead guidelines: (i) never bear too much or too little risk, (ii) diversify, (iii) use index funds, and (iv) never try to time the market. I would argue that using a computer-aided algorithmic approach also hews towards investing with simplicity, especially once automated, because this removes emotion from the process, but I accept that many on the forum will disagree. The approach does not explicitly minimize costs, although leveraged ETFs (LETFs) tend to have access to funds less expensively than the retail investor and trading overhead has been trending down for a long time. Surprisingly, backtests of the approach show decreasing impact on taxes as the allocation to 3x funds increases.
The starting point for the approach is based on the following observations:
- I have no idea what the market will do in the future. There’s every indication that the next decade or so will be fairly stagnant overall, but whether that means flatlining, gently bobbing about, or violently tossing is a complete mystery to me. I have no idea what sectors of the market may outperform the market in the future.
- There are robust indications that volatility clusters; future volatility will tend to be correlated to recent volatility.
- There are robust indications that near-future returns are essentially independent of recent volatility.
- There are indications that the momentum factor exists and is fairly robust across markets. The momentum factor is defined for groups in a large collection of assets. If the assets are sorted by returns in one period and grouped into high, medium, and low returning assets, the high-returning group on average tends to outperform the low-returning group on average in the next period. However, momentum describes aggregate behavior; it says nothing about any particular asset.
- There are indications that very frequent rebalancing with volatile assets tends to give a bonus, but the rebalancing bonus can be eaten up by slippage and taxes.
The starting point for standard portfolio construction (i.e., with fixed asset allocations) is to define the fraction of the portfolio risk assigned to each asset, and use that risk allocation with expected returns to derive an asset allocation for a time frame measured in decades or longer. The resulting asset allocations represent estimates of multi-decadal asset characteristics, often using estimates of expected returns. With this multi-decadal time frame for risk budgeting, it is reasonable to hold the asset allocations fixed over time except for adjustments as the investor lifecycle evolves. However, while the asset allocations may reflect the long-term asset risk allocations, actual asset risk budgets fluctuate over shorter periods as asset volatilities change within the market cycles.
The core principle in the algorithmic approach is to take advantage of the relatively robust indications regarding volatility clustering and independence of volatility and returns. This core part of the algorithm can be used with at least two assets, even with the standard boglehead two- and three-fund portfolios.
The risk-budget algorithmic approach differs from the standard approach regarding the time frame for evaluating risks and adjusting allocations; the risk-budget time frame is much shorter (e.g., months instead of decades). Furthermore, the method does not consider expected returns. Just like with the standard approach, rebalancing is used to align the portfolio to the risk-budget-based asset allocations. However, in order to maintain a fixed risk budget on the shorter evaluation time frame, the asset allocations must be adjusted, which necessitates more frequent and larger portfolio adjustments than the standard approach, and obviously this may have cost consequences.
In essence, the algorithm is simply applying the standard approach at a shorter time scale. Market timing is defined by the use of predictive methods for future price movements as a basis for making trading decisions. The risk-budget approach does not use return estimates or attempt to predict future price movements (unless the investor is calculating the momentum factor), therefore it is not a market timing algorithm. I recognize that many on the forum will argue with my assessment that the approach does not try to time the market, but I respectfully disagree.
There are a number of ways to account for a risk budget; all have inputs that include volatility, some consider correlations, and some consider expected returns. A simple way to balance risk for two assets is through a risk-budget form of inverse volatility, where the asset allocation for asset i is defined by w_i = (f_i/s_i) / sum(f_j / s_j). In this equation, w is the asset allocation, f is the risk budget allocation, and s is the standard deviation (volatility). This model does not consider correlations or returns, but does bias the assets according to how much risk is allocated to the different assets.
For example, the investor may define a desired equity risk that is four times larger than the ballast (80 percent of the portfolio risk goes to equities balanced with 20 percent of the portfolio risk to alternatives). On average, the volatility of the S&P 500 is roughly 1.5x larger than the volatility of long-term treasuries; the 80/20 risk budget would correspond to a 73/27 asset allocation. A pure risk parity approach, with each asset receiving 50 percent of the risk budget, would correspond to the classic 40/60 portfolio. The classic 60/40 portfolio would correspond to an approximately 69/31 risk budget allocation, and a 90/10 portfolio would correspond to a 93/7 risk budget allocation (more than 13 times as much risk assigned to equities).
Volatility changes over time. Equity volatility swings between relatively low (in calm periods) to relatively high (in crises); with a fixed 80/20 risk budget, the equivalent equity/ballast asset allocation may swing below 40/60 in crises to 85/15 in very calm periods.
Consistently maintaining the risk budget allocations will tend to subtly improve the risk-adjusted returns. Assuming that the expected returns are independent of volatility, the expected returns will be based on the average allocation over time, but the average volatility for each asset will be biased towards periods with lower volatility (hence higher allocations).
The risk-based swing between equities and treasuries would have paid off big time in the slow-moving 2000 and 2008 crashes, greatly mitigating extended portfolio declines. It has been less effective in faster crashes (e.g., 1987, 2020), and is vulnerable when all included assets simultaneously crater (2022).
Unfortunately, neither portfolio visualizer or composer allow a risk budget tweak to the inverse volatility or risk parity algorithms (composer does not have risk parity, just inverse volatility). The risk parity approach adds to the inverse volatility approach by accounting for covariances between assets. To some extent risk budget approaches can be faked with these tools by using replicates of an asset (e.g., VFINX + SPY for S&P 500), but this is only a coarse approximation. The following approximation is roughly a 4:1 or 5:1 equity:treasury ratio.
Play with approximate risk-budget inverse volatility here.
With just a few assets, a risk-budget inverse volatility model works well and is easy to implement with a spreadsheet. With more assets, it is desirable to account for covariances between assets. I personally use a risk-budget minimum variance approach, which uses covariances and enables constraints limiting allowable asset allocations (e.g., maximum allocation to equities must be less than 80 percent, maximum allocation to defensive assets must be less than 60 percent).
Asset classes: Risk budgets with several assets
An important issue regarding assigning risk budgets arises when more than just a few assets are considered. For example, perhaps one uses five equity assets (US large-, mid-, and small-cap; developed and emerging international) but just one or two ballast assets. In this case, the risk budget approach is easily extended by (i) defining two asset classes (equities and ballast), (ii) assigning a risk budget to each asset class, and (iii) subdividing the risk assigned to each asset class by the number of assets in the class. In this example, an 80/20 risk budget goes to 80/5 = 16 for each equity asset and 20/2 = 10 for each ballast asset. This approach keeps the risk budget intact without guesswork when adding or subtracting an asset from a class.
An issue arises when some of the assets have much larger or smaller volatilities than the rest. For example, consider SHY (1 to 3 year treasuries) as the ballast; its volatility is 10 times smaller than the S&P 500. The goal might be to use SHY as a de-risking asset. An inverse volatility pair of UPRO (3x S&P 500) and SHY would allocate roughly 3 percent to UPRO, which is an extreme de-risking. The equity/ballast risk budget weights could be adjusted to compensate for this simple pair, but the calculations become tedious when there are several assets.
I find that it is a practical workaround to use the general equity/ballast framework, but allow each asset to have a scaling factor for its risk fraction within its asset class. For example, suppose the generic equity/ballast risk budget was 4/1, with two ballast assets (including SHY). Decreasing the SHY risk budget to 10 times smaller than the other ballast asset, the SHY risk budget within the ballast class becomes 0.1/(1 + 0.1) = 0.09, and the overall risk budget to SHY is 0.2 * 0.09 = 0.018. The other ballast asset has a risk budget of 1/1.1 = 0.91 and an overall risk budget of 0.182.
The same approach could be followed in reverse if some very risky asset (e.g., GBTC, a bitcoin trust) is so volatile that its allocation is vanishingly small. In this case, the GBTC risk budget might be artificially increased.
Intermediate leverage levels
It is possible to create an effective portfolio leverage intermediate between 1x and 3x either by separately adjusting risk budgets based on asset leverage or by using different volatility scale factors on 1x and 3x assets. In essence, scaling volatility inversely scales the risk weight.
Consider the HFEA approach as an example of using volatility scaling to create an effective portfolio leverage intermediate between 1x and 3x. HFEA uses S&P 500 and long-term treasuries (LLTs); with 1x endpoint assets of SPY and TLT and 3x endpoint assets of UPRO and TMF, unscaled volatilities result in a 3/1 weighting of 1x to 3x assets. Increasing 1x volatilities by a factor of 1.5 and 3 results in a weighting of 1x to 3x assets of 2/1 and 1/1, respectively. Volatility scaling is a simple way to use a single scale factor to gradually tune the portfolio between 1x and 3x leverage. On a lifecycle approach, the scale factor would adjust gradually on a glide path based on portfolio size. It is conceivable to also adjust the scale factor based on other factors, such as cost of leverage or volatility, but I have not explored this avenue.
To some extent the reallocation/rebalancing frequency is a matter of taste. I find that 3x LETFs seem to reach an optimal value around weekly reallocation, especially when there are more than a few assets, but monthly is nearly as good. The weekly frequency is really only significant during periods of crisis. With 1x ETFs, I would probably use an approach that normally uses monthly reallocation but uses a band criterion on weekly trial allocations. This would identify rapidly changing market conditions, but would normally not pull the trigger. With only a few assets, it would probably be quite adequate to use a band approach triggering reallocation when some asset deviates by more than 10 or 15 percent from its calculated allocation.
As McQ has been showing, there is normally minimal benefit to be gained by adding more than a few assets with similar returns and volatility to a portfolio. However, momentum is a relative thing among lots of assets, so a portfolio considering momentum needs a reasonably large number of assets to work with.
I propose incorporating momentum by working with a variety of concentrated index ETFs and LETFs. For example, when the portfolio does not include leverage, one might use a portfolio consisting of the State Street sector ETFs plus some international funds, resulting in perhaps 15 candidate equity assets. Without a momentum adjustment, overall performance might not be very different from just holding the broad index funds. I find that a good way to incorporate the momentum signal is to nudge each asset risk budget higher or lower based on recent momentum. The net result is to favor assets when they are doing well and de-emphasize assets when they are doing poorly. However, as a practical matter, the portfolio uses a minimum allocation level to retain an asset, and sells assets that fall below the minimum level. Back tests suggest that a minimum allocation level of 1 to 3 percent seems to be reasonable, with 2 percent as a good value.
Momentum also provides a way to adaptively adjust leverage levels based on market conditions. Using a portfolio of mirrored 1x and 3x funds, intermediate leverage levels are obtained by uniformly adjusting the risk budget for all 1x or all 3x assets. With momentum nudging the risk budget, 3x LETFs get a higher allocation in trending bull markets and 1x ETFs get a higher allocation during downturns. Even in the case with all 3x equities but some 1x and 2x ballast assets, portfolio leverage tends to drop during downturns when 3x equities are screaming down.
Momentum inherently considers price movements, therefore it can be argued that trying to exploit the momentum factor is inherently market timing. I won’t argue the point. I will say that a certain class of momentum methods makes periodic (e.g., monthly) assessments about whether to enter and leave the market (called the risk on and risk off conditions), which are intended to bypass crashes. That type of momentum method is clearly market timing, in my opinion. The HAA momentum overlay to the algorithm is implemented as a relatively mild bias to the asset risk budgets, rather than as explicit entry and exit conditions; this falls into a pale gray area, in my opinion.
As 2022 revealed, long-term treasuries are not always the best diversifier to stocks in times of stress. This was a huge motivator to identify alternative diversifiers, such as commodities, currencies, and managed futures, that tend to have a negative correlation to stocks, or at least low volatility, during market stresses. Using momentum, it starts to become practical to squeeze in effective allocations of these alternatives under adverse market conditions without too much of a drag from minimal or negative returns under normal conditions. This is likely to become important during times of rising rates, for example, when long-term treasuries are susceptible to getting killed. Using momentum for the diversifiers allows some adjustment away from treasuries to better-performing assets. I tend to use a couple of treasuries (long- and intermediate-term), a couple of levered currencies, a commodity, and a managed future fund as the available assets, and require that the total allocation to alternatives is constrained to an upper bound (e.g., no more than 60 percent of the portfolio).
The momentum adjustment seems to have a small, even negligible, benefit with 1x assets. With 3x LETFs, the momentum adjustment seems to have a noticeable, if not large, benefit. Perhaps the biggest benefit occurs when selecting among defensive assets when ol’ reliable treasuries fail.
There is a temptation to include inverse assets as potential diversifiers for adverse conditions. Even with momentum, including inverse assets tends to generate poorer long-term results in my backtests even though they may generate positive returns during certain periods. This is possibly because the cumulative effects of false inclusion under normal periods outweighs beneficial inclusion under crashes.
Gold is also often discussed as a potential diversifier. It is certainly the case that gold can be used as a diversifier, and under certain market conditions it may be effective. For example, a version of the HFEA approach using gold instead of treasuries would have performed adequately even starting in the 1970s, based on back tests. However, over the last 40 years, including gold into the algorithm generally has decreased returns in backtests without improving volatility, relative to other defensive assets, even when momentum is enabled.
Incorporating a rebalancing bonus from mean reversion
I find that a portfolio consisting largely of 3x LETFs can generate a consistent return of several hundred basis points simply from daily rebalancing compared to, say, weekly or monthly rebalancing, even accounting for trading slippage. In this case, rebalancing brings the assets back to the asset allocation; this is different from the asset reallocation, which should occur on a weekly to monthly frequency.
The effect is especially noticeable when one or two of the assets is negatively correlated to the others on a daily basis (e.g., treasuries versus equities).
The basis for the effect is that the daily rebalancing tends to continually sell high and buy low relative to the monthly trends. This is a frequent small boost. The amplitude of the price movements is generally proportional to the square root of the duration between rebalances, but the total boost is inversely proportional to the duration between boosts, so that the net boost is proportional to the inverse of the square root of the duration between rebalances. Comparing the effect on a daily basis with rebalancing every 16 days, the magnitudes are 4 times larger but the net effect is 4/16 = 1/4 as consequential.
The effect is independent of monthly asset trends, because it is targeting daily fluctuations around the trend. However, trading slippage eats a substantial fraction of the daily rebalancing effect for 1x assets.
Obviously, manual daily rebalancing is not practical over long periods. Perhaps M1 can be persuaded to offer periodic rebalancing. Composer does offer daily rebalancing (taxable only, so far), but doesn’t have the tools to implement the risk budget algorithms. There are quant-focused platforms focused on high-frequency trading, which could readily handle that chore, but I have not yet mastered the more intense coding for any of these platforms.
Summary of algorithmic approach
The reallocation algorithm is
- Calculate asset volatilities and correlations/covariances
- Calculate asset momentum (if used)
- Calculate target portfolio leverage level (if between 1x and 3x)
- Calculate base risk budgets for all assets (including leverage level, if used)
- Adjust base risk budget based on momentum (if used)
- Calculate asset allocations
- Iteratively trim assets with allocations below threshold and calculate adjusted allocations
- Rebalance portfolio with new allocations
Three sets of simulations are used for examples: (i) a set of HFEA examples, (ii) a set of 10 multi-asset examples (ANNA), and (iii) a set of 21 to 40 assets (multisector). In all cases, reallocation/rebalancing is performed every five trading days to minimize timing luck without a large boost from daily rebalancing.
The HFEA examples compare a fixed allocation of 55/45 to 3x S&P 500/long-term treasuries (LTTs) (called HFEA5545) to simulations with fixed risk allocations at various leverage levels with an equity/treasury risk weighting of 4/1, which gives an approximate average weighting of 55/45. The leverage is 3x (HFEA), 2.33x (HFEA1x67), 2x (HFEA1x50), 1.67x (HFEA1x33), and 1x (HFEA1x). The figure lists the cases in order of CAGR. The red lines represent 1x and 3x S&P500 and blue lines represent 1x and 3x LTTs. The 3x values are simulated prior to inception of the 3x funds.
The intermediate HFEA curves are calculated by adjusting the relative risk to the 1x assets. Both CAGR and volatility scale almost linearly with the relative risk.
The first thing to notice is that the HFEA curves are all much smoother than both the equity and treasury curves, but have similar long-term returns to the weighted S&P 500. Drawdowns are considerably muted relative to the leveraged equity curve. This is a result of S&P and LTT trending in opposite directions during crises, the “flight to safety” effect that disappeared during the rising rates in 2022. The simulation period was extremely favorable to the HFEA approach, with decreasing rates giving a very nice tailwind to LTTs and major crashes (2000, 2008) slow enough that the “flight to safety” effect (found during stable or decreasing inflation) was very effective.
The risk-budget 3x model performed modestly better that the rebalanced-weekly 55/45 3x model. The outperformance appears to be due to a bit better performance in a few crises, which may be timing luck.
Edit: the original figures were overly optimistic in the simulated part of the 3x LETFs, which was brought to my attention. I fixed the error (basically getting cute with coding, with the effect of adding costs instead of subtracting them). The example figures have the corrected results, including much more dramatic drawdowns.
The second example uses a multisector approach, with five equity LETFs (S&P 500, small caps, REIT, emerging market, and European market) and five ballast assets (long- and intermediate-term treasuries and a mix of 2x and 1x commodity/currency/managed futures ETFs). The example is inspired by and slightly expanded from the All Asset No Authority (ANNA) portfolio approach (https://research.leutholdgroup.com/cate ... ority.1494). There are two 1x and two 3x portfolios. The same multisector approaches are repeated, one with just risk-budget weighting 4/1 equity/ballast (green lines), and the other nudging asset risks based on momentum (yellow lines). The 3x and 1x HFEA models are included for comparison (gray lines). The momentum approach gives larger risk weights to the sectors that have been recently performing better and reducing allocations to the sectors that have been recently performing worse. Assets with allocations less than 2 percent are culled and the portfolio reallocated until all assets have at least 2 percent allocation.
Edited description based on revised figure.
The strategies are a bit of a mixed bag compared to the HFEA model, which had a very nice run from 2009 through 2021. The more diversified portfolios did better in 2022 because of the additional ballast assets. Arguably the more diversified 3x portfolio was more consistent over the entire period. Adding momentum had mixed effects.
Edit: fixed error in simulated part of the 3x LETFs
The third example is based on my Roth portfolio. It again uses a multisector approach, more than doubling the available equity assets from the AANA-like portfolio, with (i) numerous 3x equity LETFs mirrored with 1x ETFs, (ii) 3x and 1x long- and intermediate-term treasuries, and (iii) a mix of 2x and 1x commodity/currency/managed futures ETFs. The ballast assets repeat from the AANA-like portfolio. The 3x cases have 21 assets, the 1x cases have 24 assets, and the mixed 1x/3x cases (with leverage settings from the HFEA13x33 case) have 40 assets. The S&P 500 is omitted from the mix as redundant. The same multisector approaches are repeated, one set with just risk-budget weighting 4/1 equity/ballast (green lines), and the other set nudging asset risks based on momentum (yellow lines). The 3x and 1x HFEA models are included for comparison (gray lines).
Including 1x and 2x ballast assets in the multisector approach means that the approach does not preserve a constant leverage, unlike the HFEA example. Total portfolio risk bounces between 2 and 3 for the 3x portfolio, and between 1 and 2 for the mixed 1x/3x portfolio.
Edited description based on revised figure.
The additional set of assets improved the consistency of the multisector approaches over the AANA-like example, and the multisector approaches were able to take advantage of some high-risk/high-return assets (e.g., semiconductors, NASDAQ-100). The overall characteristics were not that dissimilar to HFEA during most of the period, but there was clear separation in 2022 because of the additional ballast assets. It remains to be seen how HFEA recovers.
At all three leverage levels, the momentum model slightly outperformed HFEA, which outperformed the no-momentum model.
Edit: fixed error in simulated part of the 3x LETFs
The risk-budget minimum variance approach appears to give a nice balance between returns while maintaining relatively low volatility in two extremes: (i) a portfolio with a few nicely matching assets and (ii) a portfolio with a large number of index assets spanning the investing universe (including some high-volatility but high-return assets). Adding sectors and additional ballast options to the mix gives a bit of boost to returns relative to the HFEA approach, mostly during parts of the period when international assets shined or LTTs tanked, improving risk-adjusted returns. Adding momentum to the mix improves performance with many available assets.
The AANA-like example demonstrated that the risk-budget approach tends to drag with scenarios where most assets having relatively modest returns; it appears to be important to have a mix of high- and low-volatility assets for the approach to shine. Momentum seems to be hit or miss with just a few assets.
I calculate the Kelly criterion for these portfolios as part of the diagnostics. The most volatile portfolios have a Kelly criterion >2.5, some of the low-leverage multisector cases have a Kelly criterion >10. These values imply that the portfolio could be levered further with relatively little risk of failure.
I don’t trust that the S&P 500 will perform as well in the next five to ten years as it has during the backtest period. It may, it may not. I do trust that some sectors may do reasonably well. I don’t trust that LTTs will keep the “flight-to-safety” characteristic that has been so valuable for forty years. It may, it may not.
Because of this lack of trust, I will be using the momentum-based risk budget machinery with lots of potential assets going forward, using the 3x version of the third approach. The displayed multisector portfolio is based on my Roth account, which I update weekly. I use the same approach in taxable, except that I will only update monthly (I expect that the tax drag will be equivalent to 2 or 3 percent ER in the long term). The approach is intentionally resilient to minor adding or dropping of assets as they become available or are closed; there are a couple of 3x LETFs that I wish were available in M1, for example.
I will allow myself a minor tweak to the equity/ballast risk budget allocation based on market conditions, allowing it to slide between 4/1 and 6/1 equity/ballast. The high end is for a robust bull market, sliding down during other periods. Currently I’m at 4/1, with no particular inclination to drift down further. I don't expect that this will have a noticeable effect, it's a psychological crutch to give me something harmless to fiddle with.
I hope folks find this of some interest.