November 11th, 2014
In my last paper: A Donor Within, it is explained how an existing trading strategy was modified to reach a higher performance level. The section: One More Thing, starting on page 30, goes through the process.
First, the desired expectations were put on paper before any testing: increase position size by a factor of 10, and then improve on the compounded annual growth rate (CAGR) for the 30 stock portfolio over the last 25 years. Needed software procedures were determined, then the program modified and debugged on a single stock.
It's only after the debugging that the strategy was put to the test on the whole portfolio, just once, and results recorded what ever they were (Fig. 16 in the paper).
Changing the objectives did not require that much program modifications; all done within a few hours. Scaling up was easy: multiply the position size and the initial capital by 10. The answer to that was already known: A(t) = 10*A(0) + Σ(10*H.*ΔP), and is also known for any trading strategy. More elaborate program modifications would be required to increase the overall performance level. The program (now standing at 1,860 lines of Wealth-Lab code) answers to equation (6) in the paper:
A(t) = 10*A(0) + Σ(10*H(1 + g_{i} + T_{i})^{t}.*ΔP).
To improve on performance, I wanted the reinvestment rate (g_{i}) to rise a bit as well as the contribution from the trading activity (T_{i}) for each of the i stocks in the portfolio. But, you can increase the reinvestment policy rate only if you can generate more cash, this has to come from adding more profitable trades. You can add more profitable trades if the stock price movement itself can fluctuate enough and/or have sufficient reserves to do so. In a way, the higher the overall variance, the more you could trade, and the more you could trade, the more profits you could generate and the more shares you could accumulate.
This meant that having each stock with its own characteristic signature, each stock would behave differently and independently from each other even if at times some would move together. It was not just finding particularities or patterns in price movements, but finding stuff that would be valid for all stocks in the portfolio and for the 25 year interval of trading and investing.
The efforts, in modifying the program, were put on increasing the profitable trading activity over the entire 25 year holding period which had for side effect to provide the needed cash to increase the reinvestment rate. No predictive powers at play, just the execution of what is implied in the equation itself.
Increasing the trading activity, within portfolio constraints, had for result to gradually pump new cash in the account which could then be reused depending on the reinvestment policies in place. To do this, I transformed the whole payoff matrix as a single block, all 195,000 data elements even before making the portfolio test. There were no surprises once the test was executed. It did as it was asked to do according to equation (6) and this from day 1 (see Fig. 16).
There was no optimization done either, since none was needed or required. I would even add: very little could be done in the first place due to the nature of the strategy itself. There was only one portfolio test, no iterative process. All the program could do was follow equation (6).
Even if you wanted to optimize something, the question would be: optimize what? Certainly not a technical indicator, none were used. The trading strategy is based on random-like entries and by their very nature would be unpredictable. All one could do is say: do more of this or do less of that.
The strategy presented in the paper is not a conventional trading strategy. Instead of looking to optimize certain parameters or indicators, it executes mathematical rules and formulas. Its mission is to build a long term portfolio. To do so, it is programmed to accumulate shares for the long term and trade over the process.
A Different View
This is a different approach to long term trading. It's not strictly a Buy & Hold trading strategy, even if its first intention is just that. It's more like a weak holding strategy. For a profit, it will let go of some shares from time to time, and buy them back later at a discount. And with the generated profits will be able to buy a little bit more shares later on.
Equation (6) deals with the whole inventory matrix as a single block. It deals with a decision surrogate process which changes the inventory held over the entire investment/trading interval (25 years). The buy matrix B has all its entries the result of random functions. Doing another back test would therefore give totally different trades, but would still end up with close to the same answer due mainly to the sheer number of generated trades.
From Equation (6), it is also implied that one could take an ordinary trading strategy H(?) and transform it to comply with equation (6) thereby improving its performance. Each trading strategy has its own signature, each has for original equation: A(t) = A(0) + Σ(H(?).*ΔP), then equation (6) would transform such a program to produce more. One, by scaling it up; two, by finding ways to increase the position size with time; and three, by making a better stock selection.
In my article: Winning by Default, the following chart is shown:
Portfolio Inventory Level (50 Years) | |
It shows the accumulating inventory over time (blue area) which is the result of the equation: A(t) = A(0) + Σ(H(1 + g_{i} + T_{i})^{t}.*ΔP). As can be observed, it starts small and grows with time. Note that the chart is based on another trading strategy tested on 50 years of data on 985 stocks part of the Russell 1000 index. The strategy maintains its exponential inventory curve throughout, over the 50 years cover by that strategy. Even if the chart is based on another strategy, the same curve structure would apply to the DEVX V6 trading system. It's just that the numbers would be larger, but the curve would have about the same shape: exponential.
Can the DEVX V6 strategy be improved? Sure, no problem there. One can improve the results for equation (6) by raising the reinvestment policy rate higher by first increasing the trading activity. Since the strategy is scalable, it could also be multiplied by a factor of 10 again with the added 10 times more in initial capital. Another way would be to increase, with time, the number of stocks to be handled by the payoff matrix. The above example had 985 stocks in inventory, and on the DEVX V6 system would generate extraordinary results.
There are many examples of strategy transformations of this kind with some conversions on my site. These strategies were all modified to deal with the same basic principle: accumulate shares for the long term and trade over the process. They were made to answer to the equation: A(t) = A(0) + Σ(H(1 + g_{i} + T_{i})^{t}.*ΔP). They all don't give the same answers, and for sure they shouldn't, since the kind of generated trading activity is different in all cases. But one point in common will be found, and that is they all exceeded their long term Buy & Hold trading strategy.
It is easy to understand why all my trading strategies outperform the Buy & Hold. They simply reinvest most of the ongoing generated profits instead of leaving them idle. It's like getting interest on interest on interest and so on... well, everyone should get the point.
Concluding Remarks
It was a major undertaking to write A Donor Within; took about three months of rewrites, validating everything that was being said. The pledge was serious business and was not taken lightly. It is what I can do.
I designed something that goes beyond my own resources, way beyond, much bigger than I am, and it turns out even bigger than anything initially anticipated. So much bigger that it could have an impact for the Bill & Melinda Gates Foundation and help them do so much more.
Anyone could have designed such a program, and I do mean anyone. There are no special skills needed. After all, it answer to a single equation which has for payoff matrix: A(t) = A(0) + Σ(H(1 + g_{i} + T_{i})^{t}.*ΔP) and this translates to: accumulate shares for the long term and trade over the process. Not a concept that is that hard to understand. You want the payoff matrix to do more, you simply give it what it needs, it is responding to an exponential function as shown in the above chart.
Maybe what surprises me most is: how come no one has done this before? I've read over 500 academic papers and theses relating to all aspects of stock investing and have not seen a trace of what is implied in the above equation. But one thing is sure, it is available now.
Created... November 11th, 2014 © Guy R. Fleury. All rights reserved.