Last night we deployed a new backtesting engine we're nicknaming 'LEAN'. It is a leaps and bounds better than our previous engine! I will update the documentation soon but it brings some impressive new features:
1. Lightening Speed. We did some bench-marking on a 10 year minute level backtest to confirm. In the benchmark the 'market leader' takes a mind numbing 7m 42sec, and our previous engine wasn't much better taking 5m 30sec. The new LEAN engine completes a 10 year simulation in 46 seconds! We're now literally 10x faster than the market incumbent in a head-to-head series backtest.
2. Generic Data Support. All data sources are loaded generically at runtime, meaning the backend can run any data. If you wanted you could build portfolios of any market data imaginable. You could import daily-oil-futures data and trade directly on the asset! Your new custom data would be passed into a new function OnData(OilFutures data) { .. }. The normal equities TradeBars are now passed into OnData(TradeBars data) { .. }. It is still backwards compatible but I recommend moving to the new OnData event system.
3. Custom Plotting. The new engine supports generic charting as well, so you can pass in custom data and it will be drawn to the frontend. This isn't build out in Javascript yet but this week @Gustavo will be working on displaying custom charts.
4. Plugin Architecture. We redesigned the entire system to use a dynamic plugin style architecture. This plugin style design enables us to rocket towards live trading. We simply need to substitute the Backtesting-Orders-Processor with the Ameritrade-Orders-Processor plugin and we and deploy live trading to Ameritrade. Potentially we can release the interface for the plugin's and the community can write adapters to new brokerages!
There's bound to be some new bugs we've missed so please be patient - and if you find anything feel free to write to me at jared@quantconnect.com
Thanks for using QC!
Andrew Harry
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.
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!