Building Your Stock Trading Portfolio

A long-term stock trading strategy can be viewed as the sum of all its executed trades, the same as for a long-term investment portfolio. Either one can be expressed as the sum of all its generated profits and losses: $F(t) = F_0 + X$ where $X = \Sigma _i^n (q_i \cdot \Delta _i p)$ is the actual net sum of all the ($n$) executed trades over the strategy's lifespan. The job is therefore to maximize $X$ under whatever constraints we are given or have chosen to live by. We could also express the final result as the product of the individual returns from each one of those trades: $F(t) = F_0 \cdot \prod _i^n (1 + r_i)$ where $r_i$ is the return on the $i^{th}$ trade or position.

Both equations give the same result for the same trades. The question is: how large can you make $X$, or how can it be maximized going forward? I added "going forward" for the simple reason that whatever your trading strategy might be, it is only when going forward that it will be able to show its real monetary value. A backtest can only give you some indication of what your trading strategy is being designed to do. It is a "what if" scenario. The future will be different, and therefore, when looking at your simulations, visualize how the applied procedures, logic, and trading rules will generate those profits going forward. A simulation on past market data can give you a picture of what could have been done but with some hindsight, since we know today what was that past.

Nonetheless, a simulation is your best bet to extract actionable information from historical market data that could also be applicable going forward. Future stock prices will continue to fluctuate and show themselves as somewhat unpredictable as they have been in the past.

Since $F(t) = F_0 \cdot \prod _i^n (1 + r_i)$, it should be evident that if ever $r_i = -1)$, it is game over the very first time it will occur. So, I would highly recommend not do that and not program your trading strategy to even get close. The same goes if $X \le - (F(t) - F_0)$, you would again have lost it all. It might sound crazy but I have seen a lot of automated trading strategies designed to do exactly that. Those programs would automatically lose your money. I think you could do that yourself by hand. Hopefully, at some point before going bankrupt you could say stop.

As in most things, common sense does apply in stock trading too. Study the problem at hand, understand what your trading procedures do and how they will behave in the face of uncertainty. Looking at historical stock price data we can plainly see what should have been done and can program our trading scripts to accommodate those findings. We can find "historical excuses" (after the fact) for selecting such a trade over that specific time period. But what counts is not the simulation, it is what will happen, day after day, at the right edge of all those price charts. What will happen when you finally set your trading strategy to trade live with real money?

The Math Of The Game

Another expression for the outcome of a stock trading portfolio is:$$F(t) = F_0 + n \cdot \frac{\Sigma_i^n (H \cdot \Delta P)}{n} = F_0 + n \cdot \bar x$$ where $\Sigma_i^n (H \cdot \Delta P)$ is the strategy's payoff matrix, $H$ the ongoing stock inventory, $\Delta P$ the market's price difference matrix from period to period, and $\bar x$ the average net profit per trade. It should be evident from the above equation that $\bar x = \frac{\Sigma_i^n (H \cdot \Delta P)}{n}$, and that the payoff matrix $\Sigma_i^n (H \cdot \Delta P)$ is equivalent to the strategy's payoff vector $\Sigma _i^n (q_i \cdot \Delta _i p)$, only the presentation is different, but the output data is the same.

The average net profit per trade could can be broken down into: $\bar x = b(t) \cdot \bar r$, where $b(t)$ is the amount traded (the bet size) and $\bar r$ the average return on the average position. For an equally-weighted trading strategy, we have $w(t) = \frac{1}{j}$ where $j$ is the number of stocks in the portfolio (a constant). So, the betting function is simply: $b(t) = \frac{1}{j} \cdot F(t)$. It is therefore meant to grow as the portfolio grows. If not, you will need to compensate for the diminishing returns as the number of trades increases.

Whatever your trading portfolio could be, your strategy will follow the above math. And whatever your trading strategy does, it will end up with its payoff matrix: $\Sigma_i^n (H \cdot \Delta P) = X$ which recorded every single trade executed over the life of the portfolio.

We can make expectation scenarios based on the equation: $E[X] = E[\Sigma_i^n (H \cdot \Delta P)] = E[n \cdot \bar x]$. The outcome of what we are expected to make will depend on the number of trades we might undertake and the average net profit per trade. The expected value $E[X]$ might appear as trying to estimate an unknown, however, from your simulation's statistics, you could extract some reasonable approximations. Which would give a reason for why we do those simulations in the first place, to get those estimates of how the trading strategy might behave going forward.

What is the expected value $E[X]$ saying? For one, it appears completely trade agnostic. It does not say which stocks should be traded, when, by how much, and for how long. It does not have any sentiment, it is just a number. However, it does say that the number of trades $n$ multiplied by the average net profit per trade $\bar x$ will prevail as final count in your trading account. Therefore, any combination of those two numbers giving the same answer might be considered equivalent.

You have two strategies giving the same answer: $X_a = 10,000 \cdot \$1,000 = \$10,000,000$, and: $X_b = 1,000 \cdot \$10,000 = \$10,000,000$. Evidently, the same strategy cannot do both scenarios, but those two strategies nonetheless have equivalent results. The one you chose will depend on which one you can execute or prefer or have found. It does say strategy $a$ is as worthy as strategy $b$ moneywise: $\Sigma_i^n (H_a \cdot \Delta P) = \Sigma_i^n (H_b \cdot \Delta P)$ since their payoff matrices total to the same amount.

You want to do better, then you will have to design a better strategy: $\Sigma_i^n (H_c \cdot \Delta P) > \Sigma_i^n (H_a \cdot \Delta P)$ implying that it will trade more, or raise its average net profit per trade, or do both at the same time. You double the number of trades of strategy $a$ for your strategy $c$ and you will get: $\Sigma_i^n (H_c \cdot \Delta P) \approx 2 \cdot \Sigma_i^n (H_a \cdot \Delta P) = 2 \cdot n \cdot \bar x$. A point being made is that you do not necessarily need to find a new trading strategy if somehow you can double the bet size, the number of trades, or the average net profit per trade.

Portfolio Returns

The portfolio return can be expressed as: $R(t) = \left [ \frac{F_0 + \Sigma_i^n (H \cdot \Delta P)}{F_0} \right ]^{1/t} -1$ or equivalently as: $R(t) = \left [ \frac{F_0 + n \cdot \bar x}{F_0} \right ]^{1/t} -1$.

This is the first mention of time in the presented equations. The average compounded annual growth rate (CAGR) will depend on the trading strategy's basic numbers: $n$ and $\bar x$. And as such, one should look at means to increase a strategy's overall trades and/or increase its trading edge. Whichever you do will increase the strategy's long-term CAGR.

This results in whatever your trading strategy does, it has two important numbers that will summarize all its trading activity over its entire lifespan: $n$ and $\bar x$. That's it. So, we cannot consider this trading game as that complicated if only two numbers will define whatever you are doing trading stocks.

Moreover, if those two numbers $n$ and $\bar x$ are all that counts, then all the trading strategy's effort should be concentrated on how to improve on those two numbers. It is not finding some anomalies or specific patterns over past market data, it is simply finding ways to increase those two numbers. Everything else becomes irrelevant since it will not have any impact on the final result. You are playing a game of numbers and only two of them really count. In fact, you are playing a game of averages.

All solutions giving $X = n \cdot \bar x$ are admissible and interchangeable solutions to the portfolio's payoff matrix equation. It is not a one size fits all, it is all fits in.

For any specific value of $X$, here is what its chart would look like (strategies $a$ and $b$ have been used as examples):

The above chart says that any combination of $n \cdot \bar x$ can give a constant result $X$. That is a wide spectrum enabling any kind of trading strategy based on whatever trading procedures we might like or find interesting. All trading methods become accessible and your interest in any of them will reside in the product of $n$ by $\bar x$, where $n$ is just an ever-increasing monotonic function (a simple bean counter with jumps). This puts all the emphasis on $\bar x$, the expression for your positive advantage, the strategy's trading edge.

Whatever trading methods you use that could be applicable going forward is an acceptable solution. As a bare minimum, you want $X > 0$, meaning that all those efforts resulted in some profits. But, that is not enough. Not losing your initial capital $F_0$ is not a desired scenario for your portfolio. If you engage in the pursuit of building a long-term stock portfolio, you should at least require that it will outperform market averages. Otherwise, buying a low-cost index fund would have produced more with a lot less work.

Any analytic method that can produce an average $\overline {\Delta p} > 0$ becomes a potential candidate for a stock trading strategy. And then the remaining question is: how many of those can you execute over the years to come?

We all have to make choices.

© 2021, Guy Fleury