StockMonitor 2.0
(PS, this post or anything reported in it is NOT FINANCIAL ADVICE. If you want trading or investment advice, rather go look for a qualified, credentialed financial advisor to help you make smart choices. I'm just an idiot with a blog. This post is merely an exploration of my own thoughts, that I'm sharing with you for entertainment purposes only.)
Back in Feb 2021, I created a script to monitor US stock prices for potential bargains, based on the value investment approach popularised by Ben Graham, and probably more importantly, Warren Buffet.
Recently I returned to the idea and rebuilt it completely from scratch. Hopefully I'll have more success with it this time round.
I'll have a selection of the top 5 stocks that bubbled up through the latest version of StockMonitor at the end of the post, so we can compare the performance against the market in a year from now. No pressure. Recession be damned. π€(And read the warnings, you should NOT buy these stocks unless you're prepared to lose all your money)
But first, acknowledging to the elephant in the corner right there...
Why did StockMonitor 1.0 fail
The first version of StockMonitor wasn't bad, from a purely theoretical point of view. But ultimately it failed in its mission to meaningfully grow my personal portfolio due to 3 major reasons;
- It only monitored the S&P500. This severely limited the total amount of stocks under consideration. It very, very rarely found anything worth considering.
- The original StockMonitor was a NodeJS script that ran in Docker on Digital Ocean, and for some reason, inexplicably crashed every couple of days. This was obviously super annoying and coupled with point 1 above, I just got tired of having to babysit it the whole time.
- Living in South Africa meant I couldn't actually buy most of the(rare) stock opportunities it did find. The South African brokerage scene has a very limited selection of products offering US companies. Those that are available contain mostly just the "popular", overpriced tech ones, like Meta, Tesla and such.
I briefly considered making a product out of StockMonitor, but fears of potential legal issues kept that idea solidly at bay. StockMonitor is now, and will probably be indefinitely into the future, for my own personal use only.
This time, things will be different - I swear
And so StockMonitor, while initially a bright idea, eventually fizzled out in a flash of frustration. But! Out of the ashes of version 1, the seeds of version 2 emerged. I decided to start over completely and use the points of failure from v1 as a roadmap for v2.
No more limited sample size
The first issue was tackling that limited pool of companies for consideration. This time I downloaded everything I could find from the SEC itself, totalling to about 6 gigs of data.
This gave me access to pretty much the entire roster of equities available in the US. After a couple of initial filters, I had pretty much 10X the amount of potential stocks for consideration.
(I tweaked it a bit more after that tweet, so the figures presented are not all relevant any more.)
Technical issues
The second issue - having to constantly monitor the damn script - branched out into 2 decisions.
The first being, rewriting the entire thing from scratch in a safer, easier language - Deno. Deno is an incredible scripting language and I thoroughly enjoy working with it. It does a lot of heavy lifting for you, out of the box, and spared me a lot of the boilerplate that Node demanded.
Besides, moving my data source from some other API service to SEC EDGAR would have meant having to rewrite a large portion of my code anyway. I considered it worth it.
I also wanted to update my analysis number crunching and filtering logic since, believe it or not, I learned a bit more and about value investment analysis during the year or so since StockMonitor v1.
The second decision will probably not be popular with you code jockeys, but I decided to not have StockMonitor run automatically on some remote server at all. I will manually run it weekly or monthly, right here on my trusty MBP, depending on my cashflow situation.
Why? Well, I wouldn't need to constantly babysit a script anymore. This means literally hours saved on debugging infrastructure and bullshit. I wouldn't need to maintain and pay for messaging services either.
I figure I need to set aside time for my monthly financial admin anyway, running a script for a few minutes while I open up my spreadsheets is not a big deal.
You see, the great thing about value investing is your decision time horizon spans over years, not milliseconds. I don't NEED to know the prices of stocks on a by-the-second, minute or even daily basis. It truly doesn't matter. Giving the market a glance bi-weekly is fine, even overkill.
I enjoy cruising in the investment slow lane. ππ€·ββοΈ
Limited access to US stocks
Now, an obvious question might be why focus on US equities at all, and not just stick to South African ones?
Well, I do have a ZA retirement annuity and local index fund investing in South African companies. This results in some nifty tax perks.
But unfortunately, the South African market is very, very small and the kind of investment opportunities that appeal to me are few and far between. There's also limited API services with local market data available at reasonable prices. And I'm a total miser.
So, instead I set out to find an international broker and started asking around. A friendly colleague personally recommended Interactive Brokers, who seems decent enough. (You can sign up to Interactive Brokers with my affiliate link too, and apparently we'll both get a little cash to get started.)
From the looks of it, you can buy pretty much any asset though their platform, so this time I'd hopefully not be locked out of StockMonitors recommendations anymore.
StockMonitor 2.0 past benchmark test
The good thing about switching my data source to SEC EDGAR, was that I now had access to historical data, something my pervious source charged a pretty penny for.
This meant I could pick a past year for consideration, and run StockMonitor on the data available at that time. I could then see how its suggestions would have performed up until now compared to the market at large.
And I did just that, choosing 2016 as my year of consideration.
The results were extraordinary. Ignoring dividends and reinvestments(which would likely have improved results rather substantially), StockMonitor's recommendations outperformed the Vanguard Total and Vanguard S&P500 index funds by quite a margin.
StockMonitor, IMO, looks to be promising and, at least in theory, rather useful as a means of unearthing potentially valuable investments.
StockMonitor 2.0 current top 5 stocks
(AGAIN, this post or anything reported in it is NOT FINANCIAL ADVICE. If you want trading or investment advice, rather go look for a qualified, credentialed financial advisor to help you make smart choices. I'm just an idiot with a blog. This post is merely an exploration of my own thoughts, that I'm sharing with you for entertainment purposes only.)
So obviously you might be wondering what stocks it unearthed for the current year. Well, in the interest of #buildinginpublic, I'll share the top 5 results I plan to invest in myself of the next couple of months to a year.
But first, read the warning above again. And I want to emphasise, THIS POST OR ANYTHING IN IT IS NOT FINANCIAL ADVICE, TIPS OR RECOMMENDATIONS.
I'm merely sharing the results that a (frankly, questionable) script I hacked together spat out when I gave it some SEC data and a means to sift through it. I'm not a financial expert. I'm not smart, I'm not rich and I'm not qualified to suggest to you what to have for breakfast, never mind what investments to buy. I'm barely literate and often amazed I survived into adulthood at all.
I'm probably making a huge mistake by putting my own money into it's recommendations. You should absolutely NOT do this.
In fact, just come back in a year or two and point and laugh at me for having wasted my own cash in such a public manner. Because that's the only purpose of this post - to entertain you. It's like you're watching Jackass and I'm like Steve-O. I'm going to be in a world of pain and you should absolutely not emulate my stupidity.
Again, Β THIS POST OR ANYTHING IN IT IS NOT FINANCIAL ADVICE, TIPS OR RECOMMENDATIONS.
Right, now that you're aware of the gravity of the folly I'm wandering into(with eyes wide open), these are the stocks and their current prices, that I'm going to probably lose a lot of hard-earned cash on.
- Adobe, selling at $323
- Ebay, selling at $39
- General Mills, selling at $78
- Jack Henry, selling at $129
- Patrick Industries, selling at $45
I'll then look at the updated market prices in a year or so, and compare it to the performance of the more sane alternative of just having invested in a reasonable, safe index fund instead.
Either way, in a years time this post will have been worth it. Either I will have made a little bit of money or you will be thoroughly entertained by my costly mistake and misery. Good luck to us both.
:Edit - I warned you!
So I was all ready and set to start investing, but luckily I didn't just trust StockMonitor and start buying. I took each suggestion and double-checked it manually beforehand. And I discovered 2 errors.
- My intrinsic value calculation had a small bug
- I made a typo comparing Adobe's figures
2 was an easy fix(and ruled out Adobe), but 1 meant I had to rerun the whole thing, since I couldn't fully trust the data.
This also meant I had to redo my retro test.
Past benchmark redo - 2017
This time I chose 2017 as my starting point. StockMonitor spat out a whole lot of suggestions and I compiled the to 5 best ones into a stock selection, along with their prices as of early 2017.
This was the result.
StockMonitor's suggestions resulted in an almost 60% increase, compared with the 500 index or 40% and total market index of 38%.
Damn. Even better than before. π±
I will do another edit to this post soon, to show my new picks, I just want to triple check them again.
edit 2: My new selection
Right, I double-checked the suggestions for StockMonitor 2.0.1, and feel relatively comfortable with the suggestions. I manually verified the valuations and companies financial decision-making and feel good about this group. This will be my test group for the year then. π€
(AGAIN, this post or anything reported in it is NOT FINANCIAL ADVICE. If you want trading or investment advice, rather go look for a qualified, credentialed financial advisor to help you make smart choices. I'm just an idiot with a blog. This post is merely an exploration of my own thoughts, that I'm sharing with you for entertainment purposes only. Look what happened before, StockMonitor was buggy and not accurate! Just don't!)
Let's see how it goes.