Weekly Algorithm Review: 07/15/2023 to 07/21/2023
Performance Rankings
Base Algo: +2.47%
Variable Market Neutral: +2.21%
Market Neutral: +1.71%
Long Term Portfolio: +1.7%
Variable Sector Neutral: +0.63%
Overall Market: +0.41%
Sector Neutral: -1.22%
This was a strong week for us. On top of the portfolio beating the markets by almost 130 bps, the algorithm beat the portfolio by another 74 bps. It’s interesting to contrast this with last week’s performance, where the algorithm wound up in the black, outperforming by just 4 bps. I used this as evidence that the algorithm didn’t generalize to new portfolios well, but since I haven’t pushed any changes to it since then, this week’s results serve as evidence against that hypothesis.
This week and last are the only 2 weeks we’ve been using the current portfolio (so far). All in all, this gives us two possibilities. Either last week was an abnormally bad week for the algorithm on this portfolio - and it will usually do better, or this week was an abnormally good one - and it will usually do worse (or both). Given its lackluster performance with other portfolios, I’m leaning towards the latter. For this reason, I’m happy to report that we have a batch of updates to push to the algorithm. This is the first major update we’ve made in some time, and I gave a preview of it last week.
I’d like to take this opportunity to go into a little more detail, now that the changes are finalized. Keep in mind, once again, that the system is proprietary. As such, I can’t give too many specifics. The following changes are present in the new version of the algorithm:
Less Trend-Following. This is mostly the same as what was mentioned last week. During training, the algorithm is no longer simply looking for days in which the ticker has performed well. Rather, it’s looking for days in which the ticker has performed unusually well for itself. This leads to more consistent returns, and overall better performance in backtests. In practice, this is going to mean less trend-following in the portfolios it recommends. The algorithm is designed to focus on technical signals; this change is going to allow them to shine.
Inverse Signal Unification. To explain this one, I’d like to use an example. Let’s take the “Golden Cross” signal strategy. This is a bull signal when the 50-day moving average crosses over the 200-day moving average. Its inverse - the “Death Cross” is a bearish signal, when the 50-day moving average crosses below the 200-day moving average. Past iterations of the algorithm looked at these as 2 separate signals, each getting their own analysis. Now, while they’re still analyzed separately, the algorithm also looks at them as the same signal, later in its analysis. If a stock tends to do very well when we follow the Golden Cross signals, and very well if we short the Death Cross signals, that would give both of them more weight.
The short version is as follows: if a stock does well when we buy a certain bullish signal, that bullish signal is a good one. If the same stock also does poorly if we buy it whenever the bullish signal is not active, that is a sign that the signal is even better.Reduced Requirements For Trading Signals, Based On More Sophisticated Analysis. This has also remained similar to what was said last week. The new iteration of the algorithm considers weaker signals that the previous iteration would have simply disregarded (with less weight, naturally). We’ve found that this improves performance in backtests, whereas in previous versions of the algorithm, similar changes were more of a hindrance. I credit this to our new method of analyzing individual trading signals (elaborated upon last week, and with minimal changes). Previous algorithms’ analysis of each signal was less advanced, and as such, higher standards were necessary for a signal to even be considered.
With these changes, we’re expecting more consistent performance from the algorithm. It’s not going to start winning by 5% every week, or outperform every day. But test results suggest that it’ll be outperforming the portfolio more consistently, on a weekly basis.
What’s In The Pipeline?
I want to clarify: experimentation on the algorithm is not finished. We’re in a place where I feel good pushing an update, but our list of ideas is constantly picking up new items. Now that my focus has shifted from user-facing applications, I wouldn’t be surprised if we pushed another round of updates to the algorithm in a couple of weeks. Testing is ongoing, and will be for some time.
My other focus at this time is the intraday signal I’ve mentioned for the last few weeks. I’m working to get it ready to run a proprietary account for us. It still doesn’t look like we’re going to be able to release this as a public tool, but I wanted to at least update everyone on that.
The only user-facing item I’m working on at the moment is our intra-day recommendation bot. This is the one that posts in the Exclusive channel calling out trades it likes. We’re looking for a new model to use with this bot - something that gives us more control over how many trades get recommended each day, and how long each trade is held (on average) - in addition to improving its performance. A few things are in testing right now. It’s hard to say when an update on this is expected, but we have high hopes that we can make something more user-friendly, while remaining an effective system.
Misc. Data For The Week