December 9th, 2013

Designing a Trading Machine VI

In Designing a Trading Machine V, and previous notes in this series, the point was made, hopefully, that accumulating shares over the long term while trading profitably over the process was another way of looking for some kind of trading edge. This edge had for vision: nΔP, with ΔP > T > 0; producing on average, a positive difference ΔP, a trade profit threshold T to be reached, and which was desirable to repeat many times (n), or else go for a larger ΔP on a small number of trades.

All I see here is: find an edge (ΔP > T) and repeat it as many times (n) as you possibly can. It does not say anything about the origin or the nature of this edge nor does it say anything about its frequency of occurrence in a stock's price series. Yet, those are the numbers being sought. And it does not say either how long it will take to execute these nΔP trades.

Finding a ΔP is not a problem, they are all over the place. In fact, that is about all you see in any price series. It therefore becomes more a selection process than anything else, it's like selecting time slices of the time series itself based on some criteria of choice. You can be assured from the start that what ever selection you make will represent such a tiny fraction of what is available that it won't even be perceptible in the ocean of ΔPs. All one might be able to do is: take a position in a stock at some point in time, hold it for a time period Δt to then close the position with hopefully a ΔP > T.

It was also expanded in the previous articles of this series, that the threshold T had to be set high enough to cover all the frictional costs and make provisions for losses and more. You know before hand that there will be losses on your journey to higher profits. And the average threshold T should account for these losses, commissions, fees, and whatever, as well as make provisions for some gains.

Re-expressing the payoff matrix as the total sum of all trades would result in:

Σt(H.*ΔP) =  (Σn(Qk)Pi - Σn(QnPn)                                 (1)

The above equation says that the value of the payoff matrix is equal to the value of the still opened positions plus the proceeds of all prior share blocks sold minus their respective acquisition costs. Notice the placement of the parenthesis on the right hand side. I find the payoff matrix a more concise and elegant formulation for expressing the total profit generated by a trading strategy over a portfolio's life span.

The total cost for all n positions taken over the trading interval is expressed as:  Σn(QnPn) while (Σn(Qk)Pi   gives the value of closed positions at their prevailing prices and includes the value of the remaining opened inventory at the current price. Getting into a position is controlled by n (the trade number, n = 1, ..., ?); while getting out is subject to i, the price and time at which an exit trade is executed (i = 1, ..., ?) and where i ≤ n. Shares sold can be aggregated in blocks (k) and sold at the same price (Pi).

Equation (1) holds, and what is sought can be summarized as:

n(Qk)Pi - Σn(QnPn) > nT > 0                                   (2)

where T is the average profit per trade. It should be easily understood that the smaller the average profit per trade, the higher the number of trades should be to reach the same total profit. Making 10 trades for an average 10 points each has the same value as making 100 trades for 1 point each. In the IBM example presented in the previous section, it took 13 years for the 1 trade scenario (Buy & Hold) to make $94.55, 13 years! That's more than 4,700 days; and if you want to sit down and wait those 13 years to double your initial stake, be my guest.

I do think it is possible to do better than that.

Just looking at the stats of the IBM case (see previous section); and scanning for 1 point moves over the 13 years of data reveals the following: of the 3,316 trading days, there were 2,889 days where the daily spread was in excess of $1.00 (87.12% of trading days). If we consider all the moves that made from $1.00 to $2.00, this would add 1,492 occurrences of an added $1.00 move. If we continue adding this way for moves of up to $5.00 in a single day, then the count for one dollar moves goes up to 5,577 just by looking at the IBM daily range.

This measure does not account for the number of intraday $1.00 swings which would more than triple the above number. So over the 13 year period, we could say that there were at least some 15,000 one dollar trade opportunities. And the question then becomes: how many of these can you detect, and how many of those can you take?

Taking 15,000 one dollar trades over the 13 year time span would result in an overall CAGR return of 47%, far in excess of any Buy & Hold strategy! Even taking only half of those trades would result in a 39% CAGR. Just based on these numbers, I would say that the quest to increase the number of trades is worthwhile. In equation (2), n matters and it matters a lot.

One should also consider that one dollar moves do not all start on the one dollar mark. Between $1.00 and $2.00, there are one hundred one dollar moves starting with $0.01 to $1.01, $0.02 to $ 1.02, ..., etc. Counting in this manner, the number of one dollar trade opportunities would rise to over 250,000; and again this is not even counting intraday swings of $1.00 and more.

Now if you set the threshold at $0.50 or lower, you will see the number of opportunities really add up. You only need 95 net trades with  ΔP > T > 1 to exceed the Buy & Hold scenario. It is not enough to extract more from the IBM scenario, what ever techniques used should also apply to other securities.

My trading strategies try to take as many trades n as possible with, on average, a positive outcome ( ΔP > T > 0). An example of this can be found in the recent old routine articles: Old Routines I and Old Routines II. An explanation is given in the first article of this series: A Trading Machine I.

The object of the game is not to be right, well, not exactly, it is more like to be right "on average". There is most certainly enough space to also be wrong on average. The task is to generate profits using your own brand of trading strategy H(?) over your own stock selection ΔP(?) over the life span of your portfolio as in: Σt(H?).*ΔP(?)) > T > 0; the more profits the better. Of note, my trading strategies go for more than ΔP > 1.

You deal in time and trading decisions, and the reward is: Σt(H.*ΔP).

... to be continued.

Created... December 9th, 2013 © Guy R. Fleury. All rights reserved.


Alpha Project