A Simple Tactical Asset Allocation Portfolio with Percentile Channels
I prefer presenting new tools and concepts, but I know that there are a lot of readers that would like to see how they can be applied to creating strategies. So here is a very simple strategy that applies Percentile Channels from the last post to a tactical asset allocation strategy. The strategy starts with only 4 diversified asset classes:
Equities– VTI (or SPY)
Real Estate– IYR (or ICF)
Corporate Bonds– LQD
Commodities–DBC
for Cash we will use SHY
Here are the rules:
1) Use 60,120,180, 252-day percentile channels- corresponding to 3,6,9 and 12 months in the momentum literature- (4 separate systems) with a .75 long entry and .25 exit threshold with long triggered above .75 and holding through until exiting below .25 (just like in the previous post)
2) If the indicator shows that you should be in cash, hold SHY
3) Use 20-day historical volatility for risk parity position-sizing among active assets (no leverage is used). This is 1/volatility (asset A) divided by the sum of 1/volatility for all assets to determine the position size.
4) rebalance monthly
Here are the results for this simple strategy:
This is a very consistent strategy which is more notable for its low maximum drawdown and high sharpe ratio (near 2) than its sexy returns. Of course there are many alternatives to “spice” this up by varying the allocation among instruments, changing instruments or using leverage. I wanted to keep the asset list short and simple, and I chose corporate bonds since they provide some of the defensive characteristics of treasurys but with a higher yields and arguably lower systematic risk (no sovereign risk). Substituting the 10-year treasury with IEF instead of corporate bonds produces nearly identical results (1.9 sharpe, 11.8% Cagr, 5.8% max dd). There were better combinations of asset classes and parameters, but this compact list seemed manageable for a self-directed investor without a large portfolio.This is not the ultimate strategy by any means, but shows how to use percentile channels to produce a viable approach to tactical asset allocation.
Hello David, can you please give some detail on how this strategy handle the four channels ? does the entry condition apply to all ?
hi Flo, the way to think about it (or implement it) is to use four separate trading systems for each channel length as per Ilya’s comment.
best
david
Hi David,
For the 4 channels, are you equally dividing the capital amongst each, then within each diving it as per rule 3 (volatility adjusted for the assets then held)?
Or is the above showing the result for just one of the channels or some other way of grouping them?
Hi Quarrel, that is exactly what i was doing- equal division of capital per channel.
best
david
can you simply average the four percentile price? It shoud be the same and more parsimonious then four different backtest
I have a question as well. Are you adjusting weights on a monthly basis, while
allowing positions to exit intra month if the 25 percentile level is breached?
Use the corresponding mutual funds and combine data.
That’s the idea. They’re four sets of simple trading strategies: enter at 75%, exit at 25%, and use those return streams as your assets.
hi Gerd, no trades were taken intramonth–the rules applied only at the end of the month much like simple moving average systems that trade monthly (ie Faber 10 month ma)
best
david
I have a question too. How can your backtest go back to 1995 when ETFs you used have shorter life?
Use corresponding mutual funds and combine data.
thanks Ilya, yes you can use mutual funds and combine data or the underlying indices from a provider like bloomberg.
best
david
most ETFs replicate a Total Return index hence if you can access that, you can have indeed a longer history.
thanks riccardo that is correct.
best
david
tstudent, i think you know the answer to that question, but others have provided some solutions.
best
david
one question for David, If I may. What is the difference with the same system but with an equal weighted allocation (for the active classes of course) vs the 20-day risk parity position sizing. I am asking because I would like to appreciate the difference between lower drawdowns using RP and loss of profitability vs EW. Thank you David. Great work as usual.
hi Riccardo, there is not a large difference between equal weight and risk parity in this case. It helps you to adjust faster by overweighting bonds and underweighting equities when volatility starts to rise quickly- where the channels may not yet dictate an exit. it also helps to normalize bets across the different markets –this method is consistent with most of the trend-following research. however, i agree that it should cost in terms of return since equities will typically get a smaller allocation on average with that method.
thank you
best
david
Nice post David! You have a gift for making the complicated simple. I hope you are well.
hi John, thank you- due to the number of comments asking questions–perhaps “simple” is a misnomer- perhaps i have a gift of making the simple complex 🙂
hope you are well too.
best
david
I’m doing something terribly wrong trying to replicate this and getting terrible drawdowns at the end of 2008 > 40%; please reply on what I’m doing wrong; thank you!
I’ve 4 separate strategies running concurrently each with a different lookback period equating to rule #1’s days with each strategy having an equal starting equity value. Monthly, I check the 4 securities. If I don’t have an existing position, then I enter a long position if the closing price > 0.75 * the simple moving average price on that date for the lookback period for that strategy. If I do have a position and provided its closing price > 0.25 * the simple moving average price that day, I maintain the position through the month; otherwise, I exit the position.
if 1 or more securities don’t trigger a purchase, I allocate SHY in its place. Unless I only have a buy trigger for SHY, I then allocate amongst the all the securities in that strategy according to rule #3. If there are no changes to my positions at the next month, I simply re-allocate according to rule #3.
hi Pete, i think what you are doing wrong is that you are using some constant (.75 etc) times a moving average. The .75 and .25 denote the percentile of price over the lookback window.
best
david
Thanks David. I was thinking this was a variant of a price envelope channel indicator, but now realize you likely mean something more akin to Microsoft Excel’s Percentile function where the .75/.25 are the k parameter over the closing price series for the lookback periods; correct?
OK, well, I must be thick-headed on this since Excel’s Percentile function doesn’t improve drawdown results much at all. Are all positions long only? Asking since prior article on Percentile Price Channels indicated long/short positions, but the rules don’t suggest short positions at all on this one. Anyone have a working Excel example of the rules being implemented successfully? Thanks in advance; apologies for my asking, but I’m confident that David’s material is sound, I’m just not able to reproduce it and I know it’s something I’m doing wrong.
Hi David,
Your latest allocation is just between LQD, VTI, and ICF. That means that you don’t have any signals for DBC. Shouldn’t this imply that the DBC allocation should go to SHY?
Perhaps I am misunderstanding something, but I am not able to replicate these results.
Hi SS, if you notice the allocations don’t add up to 100%, that means the balance is invested in cash or in this case SHY even though it isn’t listed in the allocations.
best
david
How much of the performance of this strategy is due to rates going down? You seem to be allocating capital by volatility and that normally leads to overweight bonds… but some may say rates can drop only so much.
Has anyone successfully reproduced this yet?
Hi David, I’d like to backtest a portfolio strategy that triggers buys/sells on momentum extremes and position sizes using minimum correlation. I’d prefer to rebalance on momentum targets, dynamically, rather than by a fixed period (e.g. monthly) 1. Is this possible? 2. What backtest software are you using to create such nice looking charts and spreadsheets? Many thanks for all that you provide herein. Great respect for your work. Stephen
David, one last question. I understand you’re not allocating to DBC as it’s obviously below the 25th percentile, but is DBCs volatility included in the 1/volatility (asset A) divided by the sum of 1/volatility for all assets calculation? And that allocation to shy is DBCs portion of the sum?
Backtested the strategy and Sharpe of 1.94 is nowhere near actual values! You should expect something in range of 1. David, if Sharpe 1.94 is true provide proof with spreadsheet or code
How tactless. I’m fairly certain the error is on your end.
David, this is a very inspiring blog, kudos and thank you for your sharing spirit! Here is one quick observation I would like to add. If I didn’t get it wrong, despite good performance possibly some counterintuitive behaviour (which might unneccessarily boost turnover as well) in this setup: when all lookbacks for one asset are negative, you allocate its full (vola-adjusted) share to cash (i.e., all four asset’s lookbacks read a ‘-1’, the absolute value of its ‘Channel Score/vola’ will be incorporated into ‘Sum Abs Score’ and hence a cash position is opened because of its negative ‘Channel Score’). This cash position is then held forward as long as ‘times are bad’. That is the appealing, intuitive part. Now, as soon as things start improving for our asset, channel lookbacks will start to turn ‘1’ one after the other – up to a point where two (possibly the two shorter) lookbacks read ‘1’. In that very case it follows that the cash position is dissolved and ALLOCATED TO ALL OTHER ASSETS (since ‘Channel Score’ is 0, ‘Channel Score / vola’ will also yield 0 now, which in turn will make ‘Sum Abs Score’ smaller ceteris paribus. Hence the other assets’ relative share will increase). This will be maintained up to the point where our asset will continue to recover and now will have 3 or 4 lookbacks with a ‘1’. Then the share which was allocated to the other assets is taken from them again and finally allocated to our recovered asset. Hope I got this clear at least to some extent and somewhat concise. My point is that if an asset’s performance continues to improves after a bleak phase, it is not very intuitive that its share first goes from cash to all other assets until it is finally allocated back to the asset. In an extreme case it could be that 100% of the portfolio will be allocated to one single deterriorating/unchanging asset because all other assets started to show better performance. Just my 2 cents, would be interesting to hear your thoughts. Thanks again!
I think Christof’s analysis is correct, and 100% of the portfolio could be allocated to a single(not SHY) asset. That seems unduly risky. A possible solution would be to use an odd number of trend indicators. Then’Channel Score’ can never equal 0, and ‘Channel Score/volatility’ can never equal 0. All of the rejected asset’s weight would be allocated to SHY.