Dear Community,
Today we're welcoming new members from the Quantopian community after the platform announced its shutdown. QuantConnect was founded a few months apart from Quantopian, so we have some kinship and understanding of the growing pains they've gone through over the years. We're grateful for those choosing to migrate to QuantConnect to continue their quant journey.
Code Migration:
We are working on an uploader tool to take the code exported from Quantopian and make it available in QuantConnect projects. It will be ready later today and will automatically create projects in Zipline format in QC accounts. This will not yet perform code modifications to make the code work! This will need to be a manual process for now but we have an awesome support team to help you convert your code.
Migration Documentation
We have started writing a dedicated section of the documentation for the Zipline/Quantopian migrating users. You can see this documentation here, to learn the core differences in the concepts of the platforms. We highly highly recommend starting with Boot Camp. It will guide you line by line on how to build algorithms in QuantConnect with accompanying videos. We've spent a year making these tutorials and they're all entirely free.
Business Sustainability
We know you'll be keenly sensitive to the ongoing viability of your next host. Unlike Quantopian, we've taken relatively little funding and therefore have control over the direction of the business. We have designed QuantConnect and LEAN to be nimble, responsive, and light-weight. Our products have a free tier for people to explore, but "high-power" resources have a cost associated - this keeps the business viable. You'll find this on-par or cheaper than AWS - we've done that on purpose. We've engineered our systems on dedicated hardware that performs 30-50% faster than AWS, and because it's dedicated we can save costs in aggregate for you.
We've also written guides for those who want a back-up anyway. In this post, Avoiding Vendor Lock-In, we provide a step-by-step guide on how to run your own LEAN server. It will not be easy -- what we do is incredibly hard and expensive -- but you have the freedom to choose your host. We hope you'll choose us =).
Bug Reports
We try and focus the community on constructive algorithm discussion. It is not a great bug tracking tool and just creates noise - please post to support@quantconnect.com if you have bug reports.
Data Issues
We post our data issues transparently and solicit the community for help in locating and fixing the data. Please post data issues to the Data Explorer if you have any issues. This way other community members can see the issue and we can notify you when the issue is fixed. We also have built technology that automatically processes these issues and attempts to fix them.
Feature Requests
Please post to this thread. We're going to do our best to fast track the Zipline features you've come to depend on in the next 48 hours.
I know it's going to be a rough week, but hang in there the whole team at QuantConnect is working as fast as possible to make this a smooth experience for you. We're genuinely here to provide the best experience and opportunities for you as possible!
Best,
Jared
Kyle K Oates
Vladimir regarding
The error was KeyError : 'UUP TQBX2PUC67OL'
This has happened to me on QC while porting things from Q as well and from my experince its always come down to what the actual keys are in my dictionaries/series/dataframes. If you are tracking symbol names manually in a list vs what QC has as Symbol or Symbol.Value names then you are likely trying to reference something not in your list.
Check your list or dataframe keys to see what you have:
for key, value in df.iteritems() : self.Log("Keys: {0}".format(key))
Tentor Testivis
Hey Vladimir,
I made a new thread for the In & Out strategy:
The In & Out Strategy - Continued from Quantopian
Luc Prieur
I too was a Quantopian user for many years. I am glad to see some of the names from the Q community migrating to QC. Looking forward to learning your plateform.
/Luc
Albert R.
Jared Broad
Unfortunately that wouldn't work, but several types of contests (with different rules catering to customer's wishes) like Q did would be an option.
James Miller
Vladimir just got here and he's already posting code without the true authors comments or name... it's crazy that you still haven't given python a shot; maybe now is the time !
Colton Sellers
Happy to announce that today a new feature to bring API access to the Research Environment has been merged. Checkout the PR here!
We know this is a big transition for a lot of you so we are doing our best to bring on board key features you depended on from Quantopian!
Now from any Notebook you create we have an already initialized `Api` object that can be easily used with our Api functions in Lean! To use this object simply use the var `api` in either C# or Python! Here is an example of it being used in a Python notebook in the cloud:
I've also attached this project and backtest for you to clone if you'd like to mess around with it!
Fireball
Welcome Quantopians!!! The staff here great and very responsive!!
Vladimir
Where I can find description of statistical metrics:
PSR, Direction Score, Magnitude Score, Insight Count, Alpha Assets?
Vladimir
@James Miller
Please read carefully New Strategy — “In & Out”
Vladimir 2020-10-17
This is not a modification of Peter Guenther “In & Out” but another algo using Peter Guenther's
wait days approach.
Peter Guenther 2020-10-19
Very cool stuff, this is a brand-new "in & out"-type strategy! Thanks for sharing, Vladimir!
I am waiting for apology.
Vladimir
@ Luc Prieur ,
Welcome to the club!
Pier-Olivier Marquis
Hi, an important feature that Quantopian had and that is missing here is the ability to have universes in research. We also had the ability to define factors and select the top x companies for this factor in that universe.
This universe selection ability allowed us to measure the information coefficient and the return of that factor over a period of time. After working with these features for some time, I would now consider them essential for someone doing fundamental research.
Also, the way Quantopian worked with universes in research or backtesting was really smart. Even though Quantconnect is faster in terms of calculation, the universes in Quantopian were so much more efficient that they were faster in a lot of situations. In Quantopian's universes, you could simply define a function or indicator that would then be applied to the universe with a vectorized operation with Pandas. In comparison, in Quantconnect, if you wanted to have an indicator in your universe, you would need to have a Class and create a symbol object for every stock that you need. It is slow when working with a large number of stocks. It also requires a lot more code and becomes cumbersome very quickly. If you wanted to have a calculation on historical fundamental data to select stocks, you would need to create rolling windows, warm them up, and so on...
Please add universes in research and the ability to select companies by factors (simple fundamental metrics, but also factors as define through a function) for them.
Thomas Chang
Hey Jared Broad
I just try to upload my algo but I got the following error:
Error uploading file: in project migration/thomas Chang In Out Fromq.py
File extension is not valid.
I first try to upload the .py file. I got the file extension error. Then I zipped it and try again but still get the file extension error. Why?
Jared Broad
Thomas Chang please send the zip export to support@quantconnect.com so we can debug and test your specific case.
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.
Thomas Chang
Jared Broad I already fixed the problem and can run my first algo successfully. Thanks!
Jared Broad
Vladimir
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
Thanks @Pier-Olivier Marquis. Re: Stepping through universes in research, we've got a rough design in prototyping and will try to get it to production this month.
I appreciate the batch approach to selection is faster. We have a design for an in-memory batch version but haven't prioritized it at this time. We should have some bandwidth in December so can approach the community for the next major project.
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.
Diary Of A Finance Kid
Thomas Chang Hi, what was the fix for the upload promblem you encountered? I am having the same issue where i have zipped the .py file from Quantopian but QC is saying wrong file type.
Joshua Tsai
Could anyone help with the quality companies in an uptrend series that was on Quantopian? I really liked some of the ideas in it, but I haven't found anything similar on QC.
Zicong Mo
Is there an Alphalens equivalent product in QuantConnect? If not, how do you examine a factor other than running the full backtest?
Joshua Tsai
Could anyone explain why this suddenly has an error in 2007? I attached a version from 2020, since I didn't have an error there.
Runtime Error: In Scheduled Event 'SPY: MonthStart: 10', AttributeError : 'Index' object has no attribute 'levels' AttributeError : 'Index' object has no attribute 'levels'
QuantConnect.Scheduling.ScheduledEventException: In Scheduled Event 'SPY: MonthStart: 10', ---> System.Exception: AttributeError : 'Index' object has no attribute 'levels' ---> Python.Runtime.PythonException: AttributeError : 'Index' object has no attribute 'levels' at Python.Runtime.PyObject.Invoke (Python.Runtime.PyObject[] args) [0x00035] in <c56ab175820d412caf052e079c2ab9ef>:0 at QuantConnect.Scheduling.ScheduleManager+<>c__DisplayClass15_0.<On>b__0 (System.String name, System.DateTime time) [0x00011] in <e162ab1fcbc34950bfd82ac3d6c115b8>:0 at QuantConnect.Scheduling.ScheduledEvent.OnEventFired (System.DateTime triggerTime) [0x00027] in <e162ab1fcbc34950bfd82ac3d6c115b8>:0 --- End of inner exception stack trace --- --- End of inner exception stack trace ---Stacktrace:
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!