Weekly Algorithm Review: 09/30/2023 to 10/06/2023

Performance Rankings

  1. Overall Market: +1.78%

  2. Variable Sector Neutral: +0.78%

  3. Base Algorithm: +0.71%

  4. Variable Market Neutral: +0.61%

  5. Market Neutral: +0.43%

  6. Long Term Portfolio: +0.2%

  7. Sector Neutral: +0.06%

We’re on a second consecutive win for the algorithm this week: out-performing by 51 bps. Unfortunately, this is also our second week of severe loss from the portfolio, under-performing by 158 bps.

The reason for the portfolio’s under-performance is its defensive nature. It’s big on Utilities and Consumer Staples, neither of which did well this week.

For comparison, the algorithm put a lot more into Healthcare and Financials, and under-allocated into Consumer Staples. These sectors did much better, which largely explains its outperformance; the algorithm was more speculative and less defensive this week.

Breaking it down by ticker, we see an extremely flat distribution from the main algorithm. Our big winners were minor, and our big losers were even more minor. Our algorithms are optimized for stability, so this is exactly what we want to see: flat returns, but with winners out-earning the losers.

What’s In The Pipeline

For the last few weeks, we’ve been experimenting with updated versions of the algorithm. At the same time, we’ve been preparing a new portfolio. This new portfolio is meant to closely match the S&P 500’s sector distributions, but with stocks chosen based on our own fundamental analysis. These are also stocks more meant to succeed regardless of news releases, in order to make them more algorithm-tradable. Stocks in this portfolio are all weighted equally. This is also done for the purposes of use with the algorithm, because it has no way to account for unequal weighting from its input portfolio. The algorithm assigns a score to each ticker given to it, meaning that, rather than weight a large-cap tech company 3x in our portfolio, we prefer to have 3 large-cap tech companies instead. This leaves the algorithm’s analysis the same, and gives it 3 chances to allocate into similar companies.

We’ll continue comparing this portfolio to the S&P 500 in our reports, but internally, we’ll be comparing it to the equal-weighted S&P 100 index in order to gauge its success.

As for the updated algorithm, I can’t give too many details - similar to last time. Since it’s proprietary, I can’t publicly disclose a lot of the technical changes, but in general, here are some of the bigger changes we’re anticipating:

  • Less Trend Following. This one will probably look familiar to many of you, since we also pursued this goal the last time we rolled out a new algorithm. It didn’t end up working in our favor last time, but this time we’ve gone about it in a different way. The method we’re using to achieve this in our new iteration is more sophisticated than the method we tried originally. This back tests well in our sample data, and we’re hope it helps out the system’s consistency - even if it leads to fewer major wins.

  • Shifted Weighting Of Training Data. Our current system uses the last year of stock data to train itself before making its recommendations. We weight this training data such that our system places more value on more recent days. These more recent trading days better reflect current market conditions, as well as the state of the underlying stock and psychology of those trading it. This weighting strategy will likely remain in place, but become less extreme. Less recent days will remain less important, but by a lower margin.

  • Reworked Alpha Signals. Our current system uses 64 unique signals when determining whether or not to trade a stock. However, I made most of these when the algorithm was in its infancy. As such, many of them had to have their data transformed in order to play nice with our machine learning framework. This meant a loss in information for the ML system to work with. Additionally, several of these signals did not accurately reflect the way they would be used by traders. If you could only have one: would you want to know the current RSI value, or how long it’s been since it was last above 70/below 30 (along with which was most recent)? Almost all of these signals have been reworked, with many being split into multiple signals. We have gone from 64 alphas, to more than 100.

  • More Advanced Ranking Of Signals. This was also something we tried in a previous algorithm release, but is now being done in a more sophisticated way. The individual alpha signals we use to trade a given ticker are being selected with a new method - one that’s more statistically sound. It’s still in the air whether we go through with this change. While it performs well in backtests, it leads to a very small number of tickers being recommended each day (think 3-4 from a portfolio of 100). We’ll probably roll it out if it both improves performance in backtests, and we can find a way to implement it without recommendation numbers getting that small.

Tentatively, we hope to roll out these changes on Tuesday. When we do, we’ll be lifting the algorithm hold and moving into a beta release instead. Normally, we would want to paper trade a new algorithm for a few weeks before releasing it. We’re taking a special course of action here with this beta instead, and treating this release as a public paper trade. I’m not prepared to treat this as a full release, and won’t be until it shows several weeks of strong simulated performance. For these first few weeks, I’m asking that we all take its recommendations with a bigger grain of salt than usual. It’s also highly likely that further updates are pushed within the next two weeks, as development remains ongoing.

Once again, I want to offer my apologies to everyone for the algorithm hold we’ve had to keep in place. We hope that our new system will resume out-performance.

Misc. Data For The Week

Previous
Previous

HaiKhuu Daily Report 10/09/2023

Next
Next

HaiKhuu Weekly Preview