Dear Community,
Today we shipped an upgrade to the object store that should improve its performance, reliability, and test coverage. Behind the scenes, it has been moved from a cloud host to a local network dramatically improving the access times and removing some latency.
Global Feature Addition
Since the object store was under maintenance, we also made it a "global" object store for the organization. Frequently the community requested that objects from one project were accessible to others. Now you can designate one project a training project, and access the same object across all your organization and team members.
Backward Compatibility
All old objects are still accessible, but you must adjust your keys to include the project-id to access them. For example; if you were using the following key:
self.ObjectStore.Read("my-key")
You need to prefix it with your project id to access the old object.
self.ObjectStore.Read("123456/my-key")
You can find the project id in the URL of your browser when you open a project: e.g., quantconnect.com/project/12345
Cloning Projects
If you have two projects that use the same key, they will now overwrite the same object. It's important to update keys if you need to preserve the objects. You might want to use directory prefixes for example to ensure this isolation, or include the project id in the keys:
self.ObjectStore.Read("my-key") ->
self.ObjectStore.Read("12345/my-key")
Future Plans and Vision
Our plan over the next few months is to create a view for uploading and browsing the organization objects. This would allow you to see what is there and delete objects as needed.
As the objects are now local to your backtest, it allows them to be data for your strategy. We want to enable custom data types powered by the object store data. This would result in 10-100x speed-ups for custom data strategies that currently serve files from Dropbox/FTP. For example:
AddData(EuropeanTickData, "ABC", Resolution.Tick)
...
class EuropeanTickData:
GetSource():
return ObjectStore("johns-files/tickdata/ABC/2022_08_01.zip")
If you have any feedback or issues, please let us know. We'll be updating the official documentation over the next 24 hours. Once it's updated you can find more information here:
Sincerely,
Jared
Devsim
This opens up some very interesting possibilties for ML/RL.
I'm excited to see how to be able to create some more interesting dynamics in pruning/selecting of weights.
Thank you for opening this up.
If anyone needs to clear the objectstore a backtest is faster then the research notebook.
E.g. this just takes a second in main.py
If possible, it would benefit my trading strategies to allow the backtest engines to be more in play on live real-time trading scenarios.
I know others have mentioned walk forward monte carlo tests.
I think improved interplay and realtime access to a live data node's tick or minute data from your backtest engine could be very useful for creating these types of NPV/walk forward monte carlo optimizations.
Jared Broad
There is an unrelated issue with the research environment "slowness” at the moment. This is next up on our to-do list to fix. Hopefully, it should be addressed today.
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.
Haakon
Very nice, great job! 😊 Do you have an ETA on the object store view?
Jared Broad
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.
To unlock posting to the community forums please complete at least 30% of Boot Camp.
You can continue your Boot Camp training progress from the terminal. We hope to see you in the community soon!