April 20, 2020

We design stock trading strategies simply to make money. The more, the better. But it all has to be done within the constraints of available capital and minimizing overall risks. Trading has a number of differences when compared to long-term investing in many regards. A trade, almost by definition, is seen as a short-duration thing that can come out profitable or not. In the long-term setting of investing, durability, appreciation, and overall trends gain more importance. Short-term fluctuations are practically ignored, while trading might live by them.

But whatever the trading strategy, it has some basic math to explain what it does. Not sophisticated math mind, as will be demonstrated here, but inherent structures nonetheless that are dependent on the how the trading is done. Most of the text that follows is about averages, and we can use these averages due to the large numbers that will be used. In all cases designing diversified portfolios with hundreds of stocks and thousands of other possibilities.

In the end, it will all be about your choices. The way you see your own trading environment and how you wish to intereact with it. And all this within your own constraints.

As mentioned before1, any stock trading strategy can be represented by the following set of equations:

F(t) = F0 + Σ (H ∙ ΔP) = F0 + n ∙ xavg = F0 ∙ (1 + g)t = F0∙ (1 + rm + α – ex)t

The 4 equal signs above give the same final outcome, which is the value of the total sum of realized profits and losses over the investment period based on the trading strategy matrix H.

A general curve for: n ∙ xavg = $10,000,000 is displayed below:

Total Outcome Combinations

(click to enlarge)

All the combinations of n and xavg in the above chart give the same answer. As such, a large number of strategies can satisfy the above. 1,000,000 trades with an average net profit of $10, or 50,000 trades making, on average, $200 per trade, give the same answer: $10,000,000. Therefore, your performance will depend on those two numbers and how you will extract them or build them in your trading strategy.

If you look at the composition of xavg, you have: xavg = u ∙ PT, where u is the bet size, the trade unit, or the stock allocation, and PT is the average percent profit on the trade. Here, you could also view PT as some kind of average profit target. However, it should be noted that this is an average PT and, overall, will fluctuate with time. What was used is simply an average based on the average net profit per trade as reported, for instance, when using the round_trips=True option in a backtest analysis.

Making $10,000 bets and taking, on average, 2% on those bets could satisfy the above relationship. Therefore, this is not that big a deal. What is required is making it 50,000 times over the 30-year lifespan of this portfolio. This could be done with 1,667 trades per year with an average 2% profit target. There is nothing here that could be considered as unrealistic. That is a 40 cents move on a $20 stock or a price move of $2 on a $100 stock. Either of which can occur on a daily basis multiple times on quite a number of stocks.

Furthermore, 1,667 trades per year is less than 7 trades per day on average. In the beginning, 7 trades of this type could even be done by hand on a discretionary basis. However, with time, it would require a lot more monitoring since this number should increase over time. Your trade monitoring time is also a trading expense, even in an automated trading strategy, even if it might be at a lower level.

The problem is the same over the next 30 years if your goal is to reach $172,494,023 (a 10% return) or a 20% CAGR or more, giving $2,363,763,138 or more based on an initial $10,000,000.

You have to determine the bet size and the average percent profit per trade you or your program can reach. From the numbers, it should not be that difficult. If you decrease the initial stake by a factor of ten, you will have to also reduce the ultimate outcome by a factor of 10.

The first question might be: are there really that many 2% moves in those stock prices? The answer is that there are a lot more than enough to do the job. But, you are not necessarily limited to just a 2% average profit per trade. There are so many ways to handle this problem.

A long-term stock trading program should be dynamic; it should change over time in order to satisfy the long-term objectives, and mostly, it should be consistent with these objectives. Most of the time, I see strategies that use constants that will prevail during the portfolio's entire trading interval. On what basis should a constant be considered in an environment that fluctuates all the time?

We need to understand the dynamics of the payoff matrix. From the above equation: n ∙ xavg = n ∙ u ∙ PT, we need n, u, and PT to increase with time in order to reach these goals. Overall these increases are not that large since all of them are spread over time and need to respond to how far or how long you have been on the task. It will depend, evidently, on the initial capital used and the design of your holding matrix H.

The table below presents one possible scenario out of the multitude of other solutions. Starting with a 30-year CAGR objective with an initial $10,000,000 capital. It shows that an average profit target per trade of about PT = 2% to PT = 3% could have been sufficient to reach the objectives based on the trading unit used, which were relatively small to start with.

The Payoff Matrix Projections
Payoff Matrix

(click to enlarge)

The numbers used are relatively rough, as should be expected. There is no finesse here, only some estimates that fulfill the stated objectives. As we could surmise, even without doing any calculation, there would be more work to be done the higher the CAGR objective. But, most of it was resolved by simply adding more stocks to trade at each level while increasing the average trade unit and the average profit per trade.

All in all, it is not that big an endeavor, but it is still required to be there for the duration and continuously execute those trades.

Multiple Solutions

I will stress that what is presented is not the only solution. What counts is adapting your trading strategy to comply with your long-term CAGR objectives. One thing is sure, if you do cut the initial capital by a factor of 10 or 100, then you should expect to revise those numbers to the downside and should expect also to reduce the total outcome by a factor of 10 or 100. Simple compounding return math.

If you want more, then you will have to design that in too. You could consider each component of n ∙ xavg = n ∙ u ∙ PT as time-varying functions. Making them adapt to the trading environment. For instance, n is an ever-increasing monotonic function, as it should be, since it is simply a trade counter. The more you can increase this number, with all other things being equal, the more your outcome will rise. Nothing extraordinary there, again simple math.

It Is Your Game

It is how you will make your payoff matrix follow your long-term objectives that will matter. But, no matter what is done in those trading strategies, they have to comply with your own trading limits, constraints, and aspirations. It is this balance that needs to be met since, overall, you need the confidence necessary to apply those trading strategies, knowing that that is where you will end up by following your payoff matrix as you designed it. If you do not know what your trading strategy is really doing and on what basis it is operating, how could you ever have any confidence that it will get you where you want to go?

Do your own table, as above, with your numbers, then figure out how your program should achieve them or modify it to reach those new objectives. It is a matter of programming your strategy to fulfill those objectives. And there there are a lot of trading strategies that can do the job. It is all in your hands. It is all your choice.

1 Reverse-Engineer Your Trading Strategy

April 20, 2020, © Guy R. Fleury. All rights reserved.