Hi all,
Being brand new in QC's community, I'd have a few questions to start the journey. Please find them here below:
1) what is the smallest timeframe one might reasonably live trade on with QC/Lean? Is there an important latency when using Python for coding?
2) what would you recommend in order for me to cover the entire process (data sourcing, scripting of a very basic strategy, backtesting and live (paper) trading) in one day? (if this is possible) Do examples/templates already exist?
3) under which conditions is it possible to use QC's database if I used Lean on a local server in the longer term?
4) is there a contract with QC for the use of the platform/services and IP?
5) do certain users also use Matlab in combination with QC (converting matlab files into python/C)? How does the QC platform compare with what's made available/possible in Matlab?
Thanks for the support!
Cheers,
Thomas
Adam W
1. Minutely and above is reasonable, secondly is possible if you make sure to also model slippage, liquidity, etc. The difference between Python/C# shouldn't be too drastic at these levels (maybe at the second, especially for sub-second though), unless the code is extremely inefficient. If so, you could also look into high performance designs (i.e. using numpy, built-in functions, Cython, etc). More important are market conditions, order fill times, etc generally.
2. Go through the Boot Camp, read everything in Documentation, look at example scripts, then just play around on your own. One day is enough to build something, but will likely take you several days/weeks to fully understand how everything pieces together (esp. for more advanced/complicated strategies). Adhering to the modular-style of the Algorithm Framework is a great way to get started until you need more flexibility/control.
3. Data is proprietary to QC, though there are some (FX for instance) that let you download it.
4. ToS is here. Basically everything is yours unless you publicly share it, but you can also optionally opt-in for sharing backtest meta-data.
5. I think everything that can be implemented in MATLAB can be done in Python/C, unless you are referring to convenience/specific packages that you don't want to code up yourself.
Thomas L
Hi Adam,
Thank you very much for your answer and this valuable information.Â
I'm about to go though the bootamp and documentation. Where could I find example scripts/templates covering the entire trading process (even if using a bad strategy)? Are they classified by programming language (also allowing to see which programming language is mainly used on the platform)?
Thanks and regards,
Thomas
Ernest Shaggleford
Hi Thomas,
you can find the set of example algorithms and templates in
https://github.com/QuantConnect/Lean
under the Algorithm.CSharp and Algorithm.Python directories.
Best,
ES.
Thomas L
Hi Ernest,
Thanks for the suggestion. At first sight it seems all developments are progressively stored there, but I miss the global picture, summarized in three questions:
Is it possible to find a top down (tree) description of the functions that have been developed by area (e.g. data sourcing, strategies, backtesting, reporting, order transmission, etc... with perhaps subsections for each of these areas)?Â
Is a link to an executable template covering the entire trading process (not only the strategy) made available somewhere?
In your view, are libraries in general completely aligned between programming languages or is there a language which is by far in advance compared to the others/a language for which there are strong limitations (I'm mainly refering to python and C#)?
Thanks for the support,
Kr,
Thomas
Ernest Shaggleford
Hi Thomas,
re: "top down (tree) description..." :
The closest description of these would be in the documention https://www.quantconnect.com/docs/algorithm-reference/overview
re: "Is a link to an executable template..." :
Most of the example algorithms in Lean do provide this. A complete algo is dependent on the strategy approach and trading instruments used, so there are many different examples with different strategies and instruments, such as equities, futures, options, etc.
re: "are libraries in general completely aligned between programming languages":
From my view, not completed aligned, but most examples are available in both languages.
I'd suggest that python is mainly used for machine learning approaches due to the existing ML type of libraries available in python, which is less so with C#.
At the end of the day, the algo implementation language between C# and python is a personal preference, as we're not dealing with HFT.
Best,
ES.
Â
Thomas L
Hi Enerst,
Thank you very much for the information and your personal views. I'll now spend some time on the material made available.
Best regards,
Thomas
Thomas L
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!