It’s been more than a month since I shared updates about StocksCafe. Looking back at the tickets completed in May, many of them revolve around the improvement of Screener.
1) New simple preset screeners
If you are new to using screeners in StocksCafe, we have added a few simple preset screeners for you to start with. When you are ready to dive deeper, you can also change the conditions to make it your own!
2) Screener is now fully using Morningstar data
The previous data provider, Xignite, only provided 5 years of fundamental data history, whereas Morningstar provides the complete history that they have. As such, we now can have conditions in screeners that look back more than 5 years.
3) Redesign Screener’s backend architecture
If you used Screener in the last few days, you would have realized that it does not run immediately, but is instead submitted to a queue. Although this means that you might need to wait a bit longer before you can get the results, it also means that Screener is now more flexible and results are being stored (so that you can easily view it later).
Let me explain a bit more on why Screener now takes longer to run. Previously, Screener runs faster because StocksCafe precomputes and stores all the data points daily, which in itself takes many hours of processing power. With the increasing number of exchanges and metrics, this is becoming unmanageable and often wasteful since most data points are not used.
Now, Screener is computed on demand, which is slower but more flexible. This architecture is more flexible because we can now run the Screener with any date in the past (in the pipeline to implement) and view the results. This means that StocksCafe could potentially support backtesting of screeners in the future.
This new approach also means that we can support more exchanges and/or metrics in Screener without adding more CPU and memory cost. So if there is a metric that you have been hoping for Screener to have, now is the time to voice it 🙂
Although this new approach is implicitly slower, I am working on various optimizations to speed it up as much as possible.