← Back to Home

Investing with Systems

"You do not rise to the level of your goals, you fall to the level of your systems."

--James Clear

Why work with systems in investing? Because since its inception, the S&P 500 has been a system-driven juggernaut. It has outperformed over half of professional managers and crushed most retail investors—not through genius, but through rules. It constructs, rebalances, and prunes without ego.

A system isn't a silver bullet, but it creates a vital degree of separation. While nothing stops you from panic-selling, a respected system acts as the "rule of law." It shifts your focus:

  • From: "Should I sell because stocks are going down?" or because of some other macro reason?
  • To: "Does my system require a structural change based on this new data?"

This shift encourages scientific thinking. You are condensing chaos into data. By the time you’ve analyzed the metrics, the "heat of the moment" has usually passed, leaving you with a structured decision rather than an emotional reaction.

Whenever I feel a little nervous about what is going on in the market, the first question I ask is "What, if anything, could I tweak in my system to improve the result?". A lot of the time the answer isn't straight forward and other times nothing really needs to change at all.

If the system is the rule of law, what does the constitution of a portfolio actually look like? A complete trading system requires four basic rules.

  • Selection critieria (filtering)
  • Construction rules (weighting)
  • An entry rule (buy)
  • An exit rule (sell)

These rules can be simple or complex. Typically the simpler the rule the less risk there is of over-fitting a system. One may also consider regime filters which are usually there to change the system based on broader market dynamics. A simple regime filter might be "the system is fully invested while the S&P trades above the 200-day moving average of price but when price falls below the average the system changes behavior". Maybe it goes to cash to avoid a severe bear market.

With these rules in place, it is possible to code a program to filter the whole universe of publicly tradable stocks, construct a portfolio, and then generate buy and sell commands. It's up to you whether you allow the program to actually issue the buys or sells to your broker or just send you an email with the information so that you can do it.

My Example

For filtering right now I am playing with layering rules on top of the S&P 500 constituents. The S&P 500 index acts as my broad phase filter, excluding all of the companies that don't meet the index's inclusion criteria. This means the companies that I select from are at their base level usually fairly profitable and highly liquid. Then on those constituents I run calculations and create rankings for every company. The constituents are sorted by rank and I select the top companies.

A lot can be done with weighting of a portfolio. So far I am keeping it simple by equal weighting all of the holdings. I think equal weighting works favorably in a system like mine where you are selecting for the best constituents already. If you don't filter out laggards, equal weighting hurts because it over weights bad companies and doesn't give enough capital to the leaders. My system seems to do a fair job getting rid of the laggards for now but I keep this in mind always and there are always companies that make it into the top 50 that just flounder. I think a good quarter I can expect only a 50% win rate.

My buy and sell criteria are also very simple. Reconstitute the portfolio every quarter, meaning all of my buys and sells happen once every 3 months. Companies that drop out of the top decile are removed. Companies that have performed well are trimmed, and companies that replace the laggards are bought.

Keep in mind though, that just because I only do something every quarter, doesn't mean I don't watch the markets every day. I monitor the performance of the portfolio and think about how I might improve the system all the time.