August 19th, 2016

Simple Stock Trading II

Can a selection process of tradable stocks work in the future as it did in the past? We are always able to rank stuff, past data that is, since it is part of the information set available to us at the time. The objective is to find in the past data set something to activate decision surrogates to generate marketable trades in the future.

For one, I am looking for tools to help me answer the following graph:

   CAGR Contribution to Portfolio

(click to enlarge) 

It says that where ever we are in time, stock performance in terms of CAGR (compounded annual growth rate) will be fanned out as in the above log chart. Now, between the two extremes, put in 3,000 such straight lines to represent a selected tradable stock universe. The end distribution will be somewhat oddly bell shaped with its mean near or below the 10% CAGR line (the market's secular trend), but most assuredly positive due to the long duration under consideration.

Going forward you have absolutely nothing that can tell you the end ranking of these lines, their identity, their magnitude, or even if they will be there at all. Meaning you still won't know the future. But, one thing you do know now is that this future will be shaped as in the above chart.

In stock trading, if a tradable strategy premise is valid, a backtest of a sufficiently long duration should reveal this. And, I think, that is what Peter Falter's modifications show: leading to higher profits than averages (see part I of this article for further explanations). One can fiddle with the parameters controlling this strategy, but I would find it more appropriate at this time to tackle some of its deficiencies and undesirable traits.

For me, even as it is, in its current form, that strategy has some merit.

Nonetheless, the strategy is partially shooting itself in the foot which tends to curtail its potential. Here are some other tests I've done.

Raising the profit target from 25% to 80%, and then to 150%:

   #5  SMRS 85% Leverage : 80% profit target (was 25%)
Chart #5

(click to enlarge) 


   #6  SMRS 85% Leverage : 150% profit target (was 25%)
Chart #6

(click to enlarge) 

The scenario didn't change much, but still, as the profit target increased, this trading strategy starts to slow down, but just a smidge. This slowdown is distributed over the entire time series. But, it also shows that raising the profit target had very little impact on the output of the applied strategy.

One easy conclusion would be that you can raise the profit target all you want, talk about any risk/reward ratio you want to set, but if no stock reaches those levels, there will be no such trade, and therefore, no change in the portfolio's value. And this is probably what is occurring here. Practically no stock has to opportunity to reach those profit targets, and therefore, little change in the portfolio's value over time.

On the other hand, increasing relative weights, does have an impact: 

   #7  SMRS 85% Leverage : 150% PT : increased relative weights
Chart #7

(click to enlarge) 

For all these charts, you don't see a major increase in volatility or drawdown. Anyone could bear a 2 to 3% additional points in drawdown for the added reward. Chart #7 says that you get $8.3M on a $100k stake over a 13.6 year period, just by changing the parameters, not the code. Bottom line, it represents the equivalent of a 38% CAGR over the period.

This is still Peter's trading logic at play. All I've changed are underlying assumptions, some of the numbers controlling the strategy. None of the code was changed. Not a single line was added. So, I'm not of the opinion this trading strategy is worthless, on the contrary. One just needs to look at it differently and really see what Peter's additions enables one to do.

The program does have weaknesses that should be addressed, true. It would make it a much better program. I'm not familiar enough with Q at this time to make those changes. But, that will change.

One of the weaknesses of this program; it is hardly scalable in its present state. For instance, giving it $1M in capital resulted in:

   #8  SMRS 85% Lev. : 125% PT : $1,000,000 stake
Chart #8

(click to enlarge)  

You still beat the index mind you, but, one could easily do better... Just doing ten #7 would already provide 4 times more performance than doing one #8 and this with the same initial capital. This represents little added effort since a computer program would do the work. Let's put this in numbers. Ten #7 at work is: $83M, while one #8 is $1.7M over the same time period using the same initial capital. A no contest scenario.

Of note, such a trading method, as design in this program, can not know in advance what stocks will be traded, that it be past or future. But it can always sort its past. It can do that on a daily basis, if desired. It is not a projection of what is to come, it is simply accounting for what has passed, and is sorting it out.

A better mix. Here are the same variables, but pushing each in the right direction. 

   #9  SMRS 85% Lev. : 125% PT : Faster Response : $100,000
Chart #9

(click to enlarge)  

Hope all this is helpful to someone.

Ah, just to push it a little bit more... 

   #10  SMRS 85% Lev. : 125% PT : $100,000 + residual
Chart #10

(click to enlarge) 

I think that this trading strategy has value. It might be somewhat very like the original version, but the changes made to its parameters have made it a different product, now having a long term perspective. Chart #10 translate to a 44.4% CAGR over the 13.6 years. Not that bad a number!

If I wanted: Σ(H(strat_A).*ΔP) > Σ(H(strat_B).*ΔP) > Σ(H(strat_S&P500).*ΔP). Then strategy (stratA) did it.

What will be left of all this is simply some grounds for further test. There are some behavioral issues in this trading strategy that are not to my liking, and in the weeks to come I will probably tackle the problem. But, for now, even in its current state, meaning being awfully wasteful of capital resources, it still did what is displayed in chart #10. And, I think one can do even better.

These tests showed:

1. A stock selection process could be as simple as the price has risen over the past year.

2. Even if you navigate a sea of variance, you can catch part of the underlying drift.

3. If you can compound positively over the duration, it will increase total return.

4. After a stock has risen over a year, hoping that it rise another day can have merit.

With Peter's code as template, I can design trading strategies that could use all available equity, if desired, which was one of the reasons for coming back to Quantopian in search of answers to the chart at the top of this article.

Now, I've got some work to do.

Created... August 19th, 2016 © Guy R. Fleury. All rights reserved  

Alpha Project