How can you apply the Leverage Space Model in real-life trading?
The last study on the Leverage Space Portfolio Model was interesting from a theoretical point of view. Its main value was in illustrating the concepts of the framework with real-life data, but it did not have much practical application: on top of some “unpractical” assumptions, the study was done using hindsight: the optimal f values were calculated using past data, then applied to the same past data.
Works fine as a simple exercise but it is a critical flaw in real-life backtesting.
This post looks at a more realistic approach on how to practically apply the Leverage Space Model to Portfolio Construction.
What sort of Test?
In this test, 6 systems, arbitrarily chosen from the State of Trend Following report, will be considered as potential components of the portfolio:
- Bollinger Bands Breakout – 20 days (BBO-20)
- Bollinger Bands Breakout – 50 days (BBO-50)
- Donchian Channel Breakout – 20 days (Donchian-20)
- Donchian Channel Breakout – 200 days (Donchian-200)
- Moving Average Cross-over – 50/200 days (MA-50-200)
- Triple Moving Average – 20/50/200 days (TMA-20-50-200)
The data used is the set of monthly returns for these 6 systems from 1990 to 2010.
One important constraint to consider for this test is to make sure that the optimal f values are not applied to the data used to calculate them: we’re aiming to prevent hindsight bias.
For the Leverage Space Model, we could simply divide the testing data in 2 sets: the optimization set (1990 to 1999) and the testing set (2000 to 2010) to which the values found from the optimization would get applied.
However, I decided to look into a more flexible approach: a Walk-Forward test (you can check a quick recap on Walk-Forward testing).
Every year, from 2000 to 2010, the f values applied to the portfolio for that year are derived from the optimal f values for the 10 years directly preceding (i.e. optimize f values from 1990 to 1999 and apply to 2000, optimize f values from 1991 to 2000 and apply to 2001, etc.).
Note that this involves running 11 optimizations instead of one. Ideally, the test would be run using “realistic” conditions, meaning an optimization with drawdown constraints, as opposed to pure equity growth optimization.
Because of the difference in running times for each optimization (literally hours vs seconds), I went with the “equity-growth” optimization: the classic optimal f concept, if you like. Optimal f, in this classical form, is often brushed aside as being too risky…
And indeed, in the fourth year of the period under test, a loss greater than 100% appeared. This ruin made it impossible to obtain a meaningful result with these conditions. Instead I decided to arbitrarily apply half of the f value (f/2) to be able to run the test
The main point of this test is to compare the performance of a walk-forward, practical approach versus the theoretical return obtained using hindsight. For both these tests, f/2 will be used instead of the optimal f.
Additionally, since the walk-forward results start from 2000 (1990 to 1999 being only used for optimization), other tests and results in this post will also cover the same period.
Base Reference Portfolio
For the most simplistic portfolio construction, we can just divide the equity equally, without leverage, into each of the six components. With a monthly rebalancing, this gives us the following equity curve for the period 2000-2010:
The Hindsight Result
The hindsight approach is very similar to the last study: take all historical data (from 2000 to 2010), feed it to the optimizer and apply the optimal f values to this same data: this is the best portfolio construction that an investor could have used (when considering equity growth only). Based on the previous note, f/2 is used instead of the Optimal f, which gives us the following allocation/leverage factors:
- BBO-20: 0
- BBO-50: 0.022
- Donchian-20: 0.842
- Donchian-200: 0
- MA-50-200: 0.967
- TMA-20-50-200: 0
The numbers above are the “fraction” of total equity to be traded for each system. If trading these 6 systems with a 10M account size, the notional account size for the “Golden Cross” system (MA-50-200) would be 9.67M and so on.
Note that the optimized allocation excludes some of the systems: these are not required to reach the maximum account equity growth.
The total leverage on the portfolio is therefore 1.83: the 10M equity would be traded as 18.3M across the three systems with a non-zero allocation.
There is notable difference in CAGR despite the drawdown being nearly identical between the two allocations:
Let’s now look at the actual Walk-Forward test of the LSPM allocation.
Walk-Forward LSPM Results
As explained above, each year’s leverage is calculated by running the LSPM optimization on the previous 10 years. This is done year after year, going forward.
The results are actually surprisingly good: they even top the hindsight “f/2” results. When comparing to the “full f” hindsight results, the CAGR is only slightly lower (CAGR = 126% for “full f” hindsight results).
The allocation and leverage in the portfolio vary year after year. One could argue that this is an adaptive approach, which should perform better than a static approach and this single result seems to confirm that idea.
For reference, below are charted the different leverages in the portfolio and how they evolved over time:
A good share of the portfolio is always allocated to the Donchian-20 system, the rest being mostly divided between the TMA-20-50-200 at the start of the decade and the MA-50-200 at the end. Note also how the overall leverage is constantly dropping.
The equity curve comparison also seems to indicate an early over-performance, which does not seem to carry forward. This is confirmed when looking at the returns year by year:
A Note on Drawdowns
The drawdowns in most of these tests are very high and no money manager would really consider trading at these levels. This is a classical reception to the Optimal f concept. The Leverage Space Model can cater for this by including constraints on probability of drawdowns – to keep them at reasonable levels.
The reason this type LSPM optimization (with drawdown contstraints) was not used is simply because of the very high computing times for the optimization but I would expect similar relative comparisons between the hindsight and walk-forward results – something to verify: material for a later post when my machine has a spare dozens of hours to run.
More To Come
This is obviously a single test, which does not provide much significance, nevertheless, the results are quite exciting. But there are a few caveats. The test only uses equity-growth optimization, and we can only assume (or take a whole weekend of computing time to verify) that adding drawdown constraints to the optimizer would have given us a similar relative comparison (between the hindsight results and the walk-forward/adaptive results).
But this definitely warrants further investigation. One of the aspects that I like is how the process weeds out unnecessary systems. You could imagine running a stable of systems and let the optimization pick the systems to trade for each coming year and with which leverage.
Note also that there are other assumptions in the tests that make them less realistic (no account for slippage, funding costs, scalability, margin constraints, etc.) but these would apply to all the systems under comparison here.
On a final note, I have heard that a major index firm has decided to launch LSP indexes based on Vince’s implementation. These would be licensed to ETF providers, with the first LSP-style ETF probably being launched mid-2011. The concept seems to be catching on.
I’ll probably also share in a next post the code that was used to run the Walk-Forward test as it nicely automates the running of it. Stay tuned… (Update: the code can be found on this post: http://www.automated-trading-system.com/r-code-walk-forward-lspm/)