Algorithm and Portfolio Stats - 03/11/2024 - 03/15/2024

This week, we retired our previous algorithm, and launched our new one - the transition occurred prior to market open on Thursday. As such, reporting on overall stats might be a bit awkward here.

In spite of its relative under-performance last month, our old algorithm saw some very solid wins in its last days. From March 4th to 13th, it returned roughly 22.2% if you’d put 100% of your portfolio into every trade it recommended, utilizing excessive margin. Alternatively, you’d be up 0.29% if you’d invested 1/75th of your portfolio into every position it called (the most aggressive possible strategy here that would never have required any margin). These are both pretty unrealistic - if you’d set out to follow it, you would have ended up somewhere in the middle: likely up 1-2% for the first half of March.

That’s a very solid win, but it’s not quite enough to make us want to keep running it at this time. For the time being, we will be following through on our plans to roll out our new system.

Though, for the sake of completeness, let’s discuss a few of our old algorithm’s trades in the last couple of weeks. Should we decide to revisit this system in the future, it will be beneficial to have any extra analysis.

Our best short and long position were both the results of large gap movements overnight - making 7.87% and 3.42%, respectively. We aren’t upset about these (on the contrary - we’re very happy to see them), we feel they don’t show the strengths of the system particularly well.

Our best position this month that didn’t result from a large overnight gap was a short on ALB. Even though it was a position held overnight, the movement is relatively fluid and responsive to technical signals. Further, we exited sometime after open, as opposed to right on the opening bell. We examined this position previously, and looking back, I stand by my take on it. I would have taken it, but not until a few candles after the algorithm’s signal. 40 minutes after the entry signal, the lagging line was safely below price action, with downwards momentum forming and both TK-lines slanting downward.

Looking a bit more recent, one of our strongest shorts was held over the weekend, from near close on Friday, to about 2 hours after open on Monday. Again, even though the overnight hold is a questionable choice, the movement was fairly textbook after out entry. On top of that, our target exit price was virtually perfect. We made 2.72% on this hold, and it suggests to me (along with the short on ALB) that overnight positions may not necessarily be a bad thing. If we can find a way to avoid stocks that take large gaps overnight, there could definitely be some money to made here. At a glance, it may help to avoid lower volume stocks, or ones that typically see high volatility in the opening/closing stretches.

Our new algorithm has only been active for 2 days - so analysis is going to be a bit shallow here. First off - it’s return is negative over these 2 days. The current algorithm watches 1200 tickers, but has only traded on 51 of them. This gives us an average of 25.5 tickers per day, so taking total return of -5.89%, and dividing by 25.5, we get an expected return of about -0.23%.

We consider this a more accurate estimate of the end user experience, since instead of dividing by every ticker the system watches, we’re looking at the number of trades it actually made, and determining likely allocation strategies based on that.

Before going into best and worst performing tickers, I want to note that we’re making a change to this algorithm, effective immediately. As I mentioned, the algorithm was previously watching 1200 tickers. For comparison, we usually use a basket of about 500 high-liquidity stocks. We chose a higher number than usual, to try to compensate for the increased pickiness of the system, but upon doing some more thorough backtesting, it seems like this was a mistake. In backtests with the extra tickers, Sharpe ratio is a bit higher overall, but significantly more volatile in individual periods of the backtest.

We feel that many of the extra tickers are too low-volume and too choppy to effectively trade with this system. As such, we’ll be moving it back to the basket of 500. If you’ve been watching the new algorithm, you’ll probably notice it getting a bit quieter, but more of its notifications being for tickers you recognize.

The new algorithm’s most profitable trade this week was a short on ADI. We made a return of 0.56% here, on a trade that lasted 50 minutes. We didn’t see any re-entries on ADI that day: just the one position. Looking at our entry conditions, everything’s very solid. Lagging line below price action, strong bearish momentum, solid cross - with both lines sloping downward - candles below conversion line, strongly negative MACD. Everything we look for, we had here. One thing that’s worth considering here is that MACD predicted the turnaround very well. We can see that, from the moment it turns around, the stock price never goes any lower. We could have maximized our profit here by exiting then, based on MACD rather than the Tenkan-Sen line. This is something I’d like to backtest, as an alternative exit condition for our plays.

Our biggest loser so far is ALT, and it’s not hard to see why. The ticker’s movement prior to our entry is fairly erratic - if I had taken this trade, I almost definitely would have under-allocated it. This is one of the extra tickers we added in, and it’s a good example of why a lot of them are weaker bets than our main 500.

I know there was a lot of information in today’s algorithm review, so before moving on, I’d like to recap some highlights:

  1. Our old algorithm was retired prior to open on Thursday. It did well for the first half of March (you probably would have been up 1-2% if you’d traded it), and while we may revisit it someday, we’re moving forward with the plan to roll out our new algorithm.

  2. The new algorithm has been active for 2 days. It’s negative from those 2 days (about -0.23%), but we’re reverting a last-minute change we made to it, that should help it profit more consistently.

All that said, let’s examine our portfolio:

Our portfolio had a fairly strong week! We finished up 0.65%, compared to 0.18% for SPY - a solid win in our favor!

What I find interesting about this week’s performance is that, despite tech making up the plurality of our allocations, as well as SPY’s, it wasn’t the kingmaker. The tech sector saw major wins with GOOGL, MSFT, and others - but also major losses on companies like META. Consequently, we made more from our relatively defensive allocations this week - with Financial Services, Energies, and even Consumer Defensive being bigger carries for us. It goes to show that even if you’re heavily allocating into a single sector, it’s poor risk management to neglect the rest of the market. A balanced portfolio with some diversification practices go a long way.

Looking forward, our strategy is similar - but a bit closer to the S&P’s allocations. Tech is still our greatest over-allocation relative to the market, but not by as large a margin as it has been. We’re hoping these new allocations help to hedge us against macro risks.

Our current portfolio is included below. For brevity, all tickers with allocations under 0.5% are excluded.

That’s all I have for you tonight - thank you for reading, and happy trading!

Previous
Previous

HaiKhuu Daily Report 03/18/2024

Next
Next

HaiKhuu Weekly Preview