As I attempt to move my futures trading algo into live trading, I have some concerns about the data that is provided. QC does not support live futures trading and as a results I would have to use IB data. Changing data sources after validating an algorithm gives me some concern. What I would like to do is subscribe to algoseek data for live futures trading to minimize the impact of changing data sources prior to deployment. I understand that QC uses algoseek data as well for back testing. Is it possible to run my algorithm through QC and use a constant data source from Algoseek for backtesting, paper trading, and live trading? Another option I see is running Lean outside of QC but I am not sure if that is the best strategy at this point. Any guidance is appreciated.
Jared Broad
Hi Josh,
AlgoSeek only provides historical data. They gather their data directly from the exchanges. If your algorithm is using minute data I highly doubt you'll notice anything, but the safest way to be sure is to run it on a paper trading account for a while to confirm.
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.
Josh McGuire
Thanks Jared. I had a very nice talk with the gentleman at AlgoSeek this morning. Very helpful. At this point it looks like my best option is to use 3rd party data and link with IB through their API. Can I do this through QC or do I need to go outside and run Lean In the cloud?
Jared Broad
We support live futures trading via an IB subscription. Is this what you mean? Or do you want another live vendor?
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.
Josh McGuire
Hi Jared,
From my understanding, that while you do support IB for futures trading it is necessary for us to use IB data and that can differ from Algoseek data. Also, would it not be necessary to change the code to get the data from IB for tick calculations? Additionally IB doesn’t support the QC5000 universe and there are restrictions on the number of issues you can pull data from through their api. Part of my code calculates a market breadth indicator and the restricted number of issues prevents its calculation. Am I off anywhere here?
Jared Broad
If you're doing tick backtesting; then yes IB's 300ms ticks will be different as I mentioned above. The rest of your points I can't really comment on without seeing an example algorithm.
If you need tick data and IB isn't sufficient then you can subscribe to it on say IQFeed and run LEAN on your own servers.
https://www.quantconnect.com/forum/discussion/2400/avoiding-vendor-lock-in-running-lean-on-your-serverThe 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.
Josh McGuire
Thanks Jared. Running lean outside of QC is not something I want to tackle right now. I am attaching a version of the code to my response. What would it take to get this running in IB though QC at this time? Given that it uses the QC500 and relies on tick and 1M data?
Josh McGuire
I have continued to research this topic and need a clear answer before I can decide on my best course of action. My question: If I use IQFeed as my data source for my algo can I still run my algo within QC or do I need to run it on Lean outside of of QC?
Laurent Crouzet
Josh McGuire: that is only my own understanding (not an official one from the QC Team...) but I cannot think of any solution to use IQFeed as a live data source and trade on IB within QC.
Of course, as written above by Jared Broad, that will be possible on LEAN on your own server/computer.
I still have two remarks:
1. It seems that OnDataMO is called each minute... and this minute's data should (theorically) not be so much different from IB's minute data. Moreovers, as long as you pay for it (and handle by yourself the 500 symbols), it is possible to receive IB's data for the 500 symbols at a time. So as for quotes... you should get about the same results if you use IB's trading data.
2. Using volumes of IB's tick futures data would mean using a completely different dataset than the historical data from algoseek: IB is known for providing bad volume data in real time. Other providers update their volume data later, so backtesting and live trading may still generate different results, unfortunately.
Anyway, I wish you the best in your live (paper at the beginning) trading!
Josh McGuire
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!