May 8, 2011

Implementation Phase. At Last!  Over three and a half years in the making, I was always sidetracked by the need to prove to myself that the methods that were used were worthwhile by setting the mathematical framework where they would have to survive. Had I not achieved to demonstrate mathematically that it was feasible to achieve some alpha trading stocks, I would have had to stop searching.

There would have been no reason to pursue a quest where all others said it was akin to utopia. All the academic papers I read during this time were saying the same thing: if there is some alpha, long-term, it will tend to zero, and the expected optimum portfolio performance over time will tend to the market average. End of discussion. They are still saying the same thing today as they did some fifty years ago, or for that matter, even 111 years ago (see Bachelier (1900)).

But I already had this model in Excel using randomly generated price series that showed you could generate alpha and at a relatively high level. I really wanted to know why and from what principles you could extract some alpha so easily when 75% of the investment industry could not even match the averages.

All the formulas required to build an alpha-generating system can be found in my first two papers: Alpha Power (2007) and Jensen Modified Sharpe Ratio (2008). I think it is not from the price functions that you can win; price series are the same for all (past, present, or future). It is by working on the holding function itself that you can beat the Buy & Hold simply by improving on the method a little.

It was shown in the Enhanced Payoff Matrix that the Schachermayer equation could express any trading method in the most concise form. It is restated here:

The objective, long-term, is to achieve the highest possible "terminal" wealth for H.S the payoff matrix: 

spaceformula
The notation(.x.)stands for the matrix inner product, a term-wise multiplication. H is the holding function: the fluctuating inventory level over time. The portfolio needs to remain self-financing and hopefully has some market exposure.

Common sense would simply state that the objective is to obtain the maximum trading profits using the stocks in your portfolio over the investment period. If the holding function is zero, meaning no market exposure, then one should not be surprised that the function returns no profits. On the other hand, investing all the initial capital available in a particular stock selection and holding over time would result in a simple Buy & Hold strategy with the most probable outcome, the long-term market average. It is only by increasing the holding function that one seems to be able to improve on the Buy & Hold.

This improvement can come from outstanding stock picking abilities, outstanding timing routines or by increasing the holding function in such a way that the final inventory on hand exceeds what the Buy & Hold would have done. One could also adopt a strategy where trading over an accumulation process would result in higher profits overall. These are all worthwhile trading strategies. The stock trading game is not only about preserving capital, it is about making better returns than average and with properly designed strategies; it is possible to do a lot more than better.

First Implementation:

I needed a script that had some form of trend classification. The first one I tried was a Wealth-Lab (WL) 2003 script from Gyro, which was appropriately named: Trend Checker II. I needed stocks to test my methods. I took the lazy way out: I picked stocks that other WL members were analyzing on the old WL4 site. Not the most scientific selection method, I agree, but I was not at this stage trying to improve upon a selection process but on a trading method; so the selection process seemed adequate. This selection process, by its very nature, has survivorship bias built in as well as an element of randomness (I was not the one picking stocks, someone else was for whatever reason).

The Alpha Power methodology aims to accumulate shares while at the same time trade over market cycles in an attempt to generate funds to accumulate even more shares. Its underlying trading philosophy has an upside bias and a long-term view of the markets in general. This implies that the script is looking for stocks that will tend to go up long-term. It should be evident that any accumulation program should look for stocks going up long-term, not down. I did not even try the script on FAZ, SKF, or QID to accumulate shares long term. These ETFs (Exchange Traded Funds) represent a contradiction with the very purpose of the script to such an extent that long-term accumulating these shares would destroy the portfolio, as in a rising market, their future value is zero, and accumulating shares down to zero does not make much sense (shorting them however certainly would!).

My first implementation using Gyro's Trend Checker II showed interesting results.

Gyro Test

(click to enlarge)

The bottom line was an average 47% compounded rate of return for the 43 stocks portfolio over the 5.83-year testing period. The choice of 43 stocks was simply the number that could fit on my monitor without using PageUp / PageDown all the time (my preference would have been a higher number). The Alpha Power methodology is based on an over-diversification approach. It has been shown in academic papers that about 30 stocks are sufficient for diversification as the average portfolio price will tend to be within 5% of the average market price.

To make the point that the first stock selection was not a fluke, I did the same test with a different group of stocks. The same selection method: again, 43 stocks were viewed and analyzed by WL members at the time. The performance results follow:

Test 21 4 11

(click to enlarge)

What I would like to bring to your attention are the trading statistics. The average profit compared to the average loss is definitely to the trader's advantage. The script seems to have more than a tendency to let the profits run while limiting the losses. And the average loss per trade is more than tolerable in this trading scenario. We all have seen a lot worse!

Looking for Improvements:

The task of improving performance is most often daunting; you think that by improving on such or such parameters, the output will show improved overall portfolio performance. But like most, you soon realize that the improvements you bring to your script are not across the board, across time, or across stock selections.

When you make improvements to your script, it is usually done on a single stock. Then to know if the improvements have real value, you have your script go through your watch list. The improvements often tend to be some form of curve fitting or optimized settings on your test stock. Usually, the improvements break down; not every stock in the list benefits from the modifications. As a consequence, it's back to the drawing board to start the whole process again until you find worthwhile trading procedures. The more improvements you bring, the more the performance of your watchlist improves, as should be expected. It's like finding that 37.56432 is the perfect moving average period to obtain the maximum portfolio performance on your watch list. This makes your trading strategy very fragile: it's good on past data on your test portfolio, but you certainly don't know how your script will behave in the future on an entirely different stock selection.

I used the same list of stocks as the last one on an improved script where I wanted to increase across the board the number of trades in the right direction, meaning more profitable trades with a higher win ratio and higher profits. The following table shows the results:

Test 22Plus

(click to enlarge)

It is relatively easy to compare with the previous one.

The number of trades increased by 981 while the number of losing trades increased only by 67, an impressive upward push. Alpha points are very hard to come by at this level. Buffett has achieved an outstanding 22% over his career (which translates to about 12 alpha points) and he did predict recently that he will not be able to sustain this level in coming years. Yet, in this improved script, we are looking at some 44 alpha points generated solely by improved trading procedures.

The improvements to the script added more than 5 alpha points to an already high compounded return, while the Buy & Hold managed to add 0.10 points during the same test period.

The across-board performance improvement (read at the portfolio level) is more remarkable in that up to 3 out of 4 trades were triggered by a random function. The average loss per trade remained about the same while the average profit per trade decreased a little but on a higher number of trades. The added trading procedures produced more than 12.3 million in additional profits while increasing losses by some 14,000 dollars (13 774 to be exact). There were sufficient profits to consider the losses as trivial, and the added commissions amounted to less than 2 000 dollars; again a trivial number compared to the added profits.

My first question was: why the improvement? NO, not really, I knew before the test why everything would improve. I opted to accumulate shares at a slightly higher rate, which would increase the number of trades, which would increase the potential for higher profits. I technically increased my holding function.

It is all within the mathematical framework presented in my Alpha Power paper trading methodology. The Jensen Modified Sharpe paper says the same thing but with a higher level of mathematical equations. The underlying philosophy is that we can not change the price except maybe the very second we make a trade; the price is the same for all: past, present, or future. As for future price, well I have no control over that. However, the equations in the papers state that by managing the inventory with an accumulative stance, you can improve performance: you can gain alpha points. You try to increase and hold your positions longer for higher profits and you do this gradually in time. It is a reasonably simple concept.

The above-mentioned table shows that by increasing your holding function, you can achieve higher returns and not necessarily with that much-added risk. And this can be done across the board on your stock selection. In this case, the stock selection might have been unorthodox or on the lazy side (pick what others are looking at). Nevertheless, all the stocks in the list saw improved performance metrics by adding more trades, even if some were triggered by a random function.

I realize that the above Gyro results were after adding my modifications to the original Gyro script. Was it the Gyro script that made the difference or was it the modifications that I brought to the script? The only way to compare is to present what the original script did with the same stock selection. So, here are the original performance metrics for the first stock selection.

Gyro v2

(click to enlarge)

I expect that the other two groups of stocks would perform about the same on average. So, it wasn't the Gyro script or the trend definition that made a difference, only that there was a basis for a trend definition, which I modified, and that it could be considered as good as any other. It is clearly visible that the original Gyro script did not beat the Buy & Hold strategy over the same stock selection.

Are the Improvements REAL?

If the new script improved performance, then it should also improve performance on the first batch of stocks I tried. There was only one way to show that, in fact, it was the case, and that was to redo the test on the same stocks with the improved script.

The new test results are as follows:

Test 22

(click to enlarge)

In all cases, we see performance metric improvements as expected. And thereby provides another piece of evidence as to the overall value of the modifications applied to the trading strategy. It is definitely a demonstration of the Alpha Power trading methodology at work. In my opinion, it also shows that the Buy & Hold is not dead; it only needs a little dose of steroids.

Testing Conditions:

I used 2 stock lists of 43 stocks, each with 1 duplicate used as a reference. The outcome has been shown to be impressive, even if I say so myself.

To me, the real test would be to apply the same "improved" script on an entirely different list of stocks. Will the edge be maintained? Will the procedures maintain sustainability and marketability and remain realistic over the entire testing interval? With the same selection criteria as the first two tests, here is a third batch:

rev1

(click to enlarge)

It is not the best of selection processes, but it is "a" selection. I am not sure if I would have picked the above stocks some 6 years ago, but then again, I did not have this script 6 years ago. A different script name was used as a basis to implement the trading procedures. The improved script still showed, at least to me, that one could aim for a 50% compounded return over an entirely different stock list; sure, the stock selection was again on the lazy side.

You have three stock groups, almost randomly selected (with an upside bias, I agree) and with all stocks highly tradable on a daily basis where your participation would certainly go unnoticed especially with a bet size of 5k.

What would your preferred script do using the same stock selections? Can your script do better? If it can, I would certainly be interested in comparing methodologies. Here is the link to the spreadsheet (no longer available) where you will find the results of the last 3 tests using the improved trading procedures. You can fill in your own numbers for comparison.

Still Trying to Improve:

Lately, I made some modifications to my holding functions. I did not test them extensively as the first results were more than impressive, and I did not want to show too much. As I've posted on the WL site, here is one picture that speaks for itself.

IMAX

(click to enlarge)

I've traded IMAX before (but not with such results), and to me, it was a reasonable choice to include in my tests (a "what would have happened if"). The improvements were accomplished using a modified version with my own trading procedures applied to the Neo Master V2 strategy (again from the old WL4 site). The numbers were remarkable: even on a single stock, one could achieve outstanding performance: in excess of 110% compounded return over the 5.8-year test.

I'm still in the improvement process, where I aim to implement safety procedures to keep most of the generated profits. It is a study on where stop losses should be put and when parabolic exits should be used to optimize return, whatever the future may bring. All is done within the underlying trading philosophy presented in my research papers. Some of the areas mentioned in my papers have not been covered here, such as using leverage to increase performance or adding a covered call program on the increasing inventory over time. Both these measures would push performance higher. In all the tests described here, no leverage has been used, and no covered call program was considered. I still have a lot of work ahead of me.

So, again, may I say stay tuned.

P.S.:

When I look at the performance tables for these tests, I can't help but say: too good to be true! Essentially any fraud could be built on the same premises. Anyone can manipulate numbers to show whatever they want. However, in this case, all tests were done on the old Wealth-Lab 4 simulation platform, where all you could do was provide a script and either a watch list or a particular stock to perform a simulation. Whatever the results, that was it! All the academic papers I have read say: no, this is not possible. No one has ever jumped over the efficient frontier, period. Well, I have to say to all of them: not only can it be done, it can be done easily! Look again at the mathematical foundations in my research papers. Gaining alpha points is not only possible, it is easy! 


Created on ... May 8, 2011,   © Guy R. Fleury. All rights reserved.