October 24, 2015

The article Delayed Gratification presented the 20-year test results of running the trading script DEVX6 (last modified June 2014, over 16 months ago) to which were now added 4 lines of code made to insert a conditional one-day time delay before salable shares might be sold. This pushed the 10-stock portfolio performance higher by $226M compared to the previous version of the program, and this with a 12-week walk forward test where the market average declined by -3%.

My "stuff" is scalable. By this, it meant that you could divide or multiply the final outcome and get a pretty good estimate of what the results would have been. These systems use trading units and, in that context, define a trading unit as the amount traded: u = q*p. Given a price, the quantity is easy to determine: q = u/p. You might not have control over the price at which you trade, but you do have total control over the amount and, thereby, the quantity you want or are ready to trade.

Say you want 5 times more than the results presented in the previous article. Then, provide 5 times more capital and up the trading unit by 5 times. The program will take care of the rest. You dispose of 10 times less capital, then divide the trading unit by 10. It is that simple. Whether you want to play big or small, it becomes a matter of choice and, naturally, of available resources.

No matter how you want to scale it, percentage-wise, the drawdowns will be about the same. The formula to estimate this DD*Cap*(1+CAGR)t as it was presented in A Case Study. What will differ greatly is the amount. It is expected to grow exponentially since it is subject to its CAGR. The DEVX6 strategy does not bother much about drawdowns, except for this big red button that says get out. DEVX6 is in long-term stock accumulation. It buys part of businesses, of ownership, for the long term.

Some might think that the test presented in Delayed Gratification was all prearranged. In a way, maybe. I did announce in real time the upcoming test in the LinkedIn forum I participated in. I would not have done that if I did not expect a positive answer beforehand.

I know exactly how the trading strategy will behave over time; it is my trading script, after all. Therefore, I knew the outcome would be positive before doing the test. The program would have simply accumulated shares and would have generated more profits. It is sufficient to look at the June 2014 test to see that and where here, it would serve as a comparison basis.

What I did not know anything about was how each of the stocks would behave with the 4 added lines of code or how much each would generate in profits. Due to the trading methodology used, I expected improvements, but by how much, only the test would tell. It is why I put my expectations in public view before making the test with no worry of falling on my face.

The part I liked in the results was to see that the gratification delay helped accumulate even more shares which ended up being valued at a higher average price. It even accumulated more cash reserves. Stuff that is certainly desirable in a long-term portfolio.

It is in the nature of the trading methodology (DEVX6) to accumulate shares over the long term and trade over the process. That is its primary mission. The consequences are that the program will tend to accumulate shares even in a rising market. It is its function by design. The more shares it acquires over the lifetime of the portfolio, the better, as was shown in the previous test results.

The 10 charts generated in this test are presented below. Each chart is time-stamped and shows the last 12 months of next-day market orders at the open. The ending profits are printed by the program at the top of the chart and in the bottom pane.

All 10 charts took advantage of price dips, often an attempt to replace shares that were sold while the price was rising. The program liquidates inventory shares on the way up. The more the price goes up, the more it will liquidate. You are not trying to outguess where the bottom of a price fluctuation is. You are only replacing shares you sold at a higher price. You are reducing your ongoing cost basis. You are playing averages. And it averages out that you will be selling near the top of price swings, and buying near their bottoms, not as in a guessing game, but simply as a byproduct of executing trading procedures, nothing more.

Here are the charts: 

ABT  October 20

ABT Oct 20

(click to enlarge)

ALL  October 20

ALL Oct 20

(click to enlarge)

BIIB  October 20

BIIB Oct 20

(click to enlarge)

CVS  October 20

CVS Oct 20

(click to enlarge)

FDX  October 20

FDX Oct 20

(click to enlarge)

GD  October 20

GD Oct 20

(click to enlarge)

GILD  October 20

GILD Oct 20

(click to enlarge)

HD  October 20

HD Oct 20

(click to enlarge)

LMT  October 20

LMT Oct 20

(click to enlarge)

LOW  October 20

LOW Oct 20

(click to enlarge)

All 10 charts show the same general trading behavior. And naturally, it is all by design. The trading script was designed to build a portfolio over time with the capital resources at hand. And it could do this, big or small. It all depends on available capital resources and the setting of the trading unit.

For me, part of this translates to: do you want to win, or do you want to play?

Making $100 bucks on a trade, here and there, is clearly insufficient, and a trading strategy not able to survive 20 years or more is not a desirable solution. Even more so, if it cannot show that it could outperform the averages, then why not go for at least the average by buying index funds, which are so easily attainable?

If you can't show that your trading strategy could have at least survived over the last 20 years, then it might not have a profitable future either. If such, one could still opt to just play, but with the notion that it is only for the fun of it and that it might not end up in capital preservation, much less in capital appreciation.

The presented test answered the question: is delayed gratification worth anything? The answer is definitely yes. It is sufficient to compare the payoff matrices of both strategies, with and without the added 4 lines of code: Σ(H(DEVX6 + 4 lines).*ΔP) > Σ(H(DEVX6).*ΔP). This was not just over one stock but over 90% of the selected stocks where every one of which should be considered representative of the set of selectable stocks. At least those could have been names one could have considered some 20 years back.

A simple administrative procedure: if you want to sell, you can wait one more day if you want to, and conditions permit. It was sufficient to add $226M to the portfolio. Not only that, but it improved the portfolio's stance by adding some 2.2M new shares that should also continue to appreciate over what is expected to be its future. This means that from here, the portfolio should continue to grow, doing the same things as it did in the past and as it is programmed to do going forward.

The test also showed that there was alpha in delayed gratification. Just waiting a day more. It also showed that stocks do have price memory, meaning trends; otherwise, the delayed gratification would not have produced enough to wander far away from its academic zero expected value. One question I have is: what is the value of those 4 added lines of code?

This makes DEVX6 obsolete. From now on, it is DEVX6 + 4 lines. I will start calling it: DEVX7.


Created... October 24, 2015,    © Guy R. Fleury. All rights reserved.