Hi everyone,
Very new user here. I like the QC's IDE, but I find that I depend on Intellisense (probably more than I like to admit) and Visual Studio's cross-referencing tools. I followed the link to the QCStudioPlugin github repository in the documentation but the readme says that it's obsolete as of a year ago. Is there a new one being developed, or was this project canned?
Thanks everyone :-)
Stephen Oehler
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.
Stephen Oehler
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.
Kevin Darby
Hi, I still don't quite understand the preferred use-case completely. I've cloned lean, built and ran the sample backtest, but I'm left with two main questions: 1) Is the plugin obsolete? If so, then how do I run backtests on the QC servers from my local machine? Do I even need to do this now? If the answer is 'copy your code to QC and do it there,' is there a nice way to do this using some source control? 2) Is the idea to load a set of custom algo dlls, data sources, etc through MEF or should I set this up to reference QuantConnect.* from my projects and proceed from there? Thanks.
Jared Broad
Hi Kevin, yes the plugin has been obsolete since 2013. Now you can run backtests locally, OR, or QuantConnect.com. There's no way to code locally and backtest in the cloud. We may bring this back when we have the bandwidth to support it; but for now we're focusing our energies on the LEAN open source project and the QuantConnect.com website. It is possible to replicate the plugin behavior if you like -- the REST API is still functional. You can make your own plugin / backtest launcher :) It will still only support references white-labeled on QC.com -- if you want a library white listed please contact https://www.quantconnect.com/support
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.
Stephen Oehler
I also just wanted to quickly note that I think the preferred use case scenario (as you referred to in your question) is to use the Backtester built into the Quant Connect IDE (see the Backtester link in the header). Alternatively, you can download the Lean engine and code your own algorithm anywhere in that space. You can then launch your own backtests from there, but you need to have your own data; you can't request data be transferred to your computer locally for licensing reasons. My preferred method is a mix of the two. I like to code my algorithm in my own copy of the Lean Engine so I can make full use of Visual Studio's Intellisense, refactor tools, and other useful code-building packages that Microsoft provides. It also gives me a better idea of which arguments are needed when invoking methods on-the-fly. Then, when it comes time to backtest, I copy-paste the algorithm from VS into QuantConnect's IDE and hit "go". It's a process that seems to work really well for me.
Kevin Darby
Thanks guys. Stephen, when you code locally, do you add code to QuantConnect.Algorithm.CSharp.dll or do you reference the QC libraries as externals from your own project/sln? Or, do you use QC launcher and configure MEF to load your own dll into QC?
Stephen Oehler
Hi Kevin, I usually just add a new class in QuantConnect.Algorithms.Examples. There are a ton of other example classes in there, and I just copy one of those, erase the "meat" of the code, and use the class structure and method declarations for my new algorithm. Keep in mind that for the vast majority of use case scenarios (i.e. if you just wanted to code algorithms and you're not interested in modifying the core components of the Lean Engine), you'll only need to create a simple class in that namespace above that implements two methods: Initialize() OnData() The Initialize method gets called once and only once when the algorithm is started. So even if your algorithm is intended to run for a single day or for a full decade, it will only ever get called once. As a result, this is typically where you put your algorithm parameter declaration statements, etc. The OnData method gets called for every tick bar that is streamed to us from the brokerage service. So once every second. As a result, you want the meat of your work to be done in there. Time checking, comparisons, setting your holdings, etc.
Stephen Oehler
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!