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
Benjeet Randhawa
Thanks Jared, your rapid reponse and willingness to put the community's concerns at ease are appricated.
Simone Pantaleoni
Thank you very much Jared for the effort!
I'm one of the first guys "migrated" from Q :)
Hope I'll manage to switch my algos quickly, but have to learn from scratch unfortunatley.
Your effort is much appreciated anyway!
Levi Freedman
I use the Quantopian notebook platform to generate manual trading signals - filter to a pipeline with various CustomFactors and generate signals based on historical stock prices and Morningstar fundamentals on a daily basis. Is this possible with Quantconnect?
John Jay Buchtel
Based on my review, QuantConnect offers a technology platform stronger than Quantopian's. And its business model depends on the direct success of its users, not on the success of the "Blob Beyond." This is a real difference.
Quantopians UNITE!
Let's focus our collective energy into QuantConnect, drive feature buildout, data acquisition, market access, and alpha monetization that PAYS US in a transparent and direct way.
Let's demonstrate what the "democratization of the markets" really looks like....
Joakim
Hi,
Joakim (ex-Quantopian user) here.
Top requests from me:
1. Access to other international equities markets.
2. Access to 'alternative' datasets, such as Analyst Estimates, Broker Recommendations, Insider transactions, etc.
Top question from me:
What assurances can you provide new QC users, who would be investing time and efforts learning a new platform, that you won't also shut down sometime in the near future?
Jared Broad
Hi Levi; A way to analyze universes in research isn't supported yet but we've got active projects exploring this to make it possible. We have other ways to directly fetch historical morning star data where you'd need some translation across. In QC "custom factors" concept would be more akin to a line of python to manipulate the data frame using standard pandas etc.
A key technology underpinning zipline was a massive in-memory database that allowed factors to run across their entire dataset. That is very very expensive ($2-3k/mo with 3TB of RAM), and we don't have that machine running in our cloud. I think as we grow revenues we'll launch that machine and the community can run their queries against it for faster universe selection on fundamental data.
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.
Vladimir
Jared Broad,
Quantopian was part of my life for almost 6 years.
I have created more than 3000 algoriths and made more than 100000 backtests but I absolutely
unfamiliar with QuantConnect Python coding.
Can sombody from QuantConnect migrate symplified version of my latest Quantopian code into
QuantConnect code.
That will help me a lot to migrate another 3000.
Vladimir
# Price relative ratio with wait days
import numpy as np
# -----------------------------------------------------------------------------------------------
STOCKS = symbols('QQQ',);
BONDS = symbols('TLT','IEF',);
XLI = symbol('XLI');
XLU = symbol('XLU');
MKT = symbol('QQQ');
VOLA = 126;
BULL = 1;
COUNT = 0;
OUT_DAY = 0;
RET_INITIAL = 80;
LEV = 1.00;
wt = {};
# -----------------------------------------------------------------------------------------------
def initialize(context):
schedule_function(daily_check, date_rules.every_day(), time_rules.market_open(minutes = 140))
schedule_function(record_vars, date_rules.every_day(), time_rules.market_close())
def daily_check(context,data):
global BULL, COUNT, OUT_DAY
vola = data.history(MKT, 'price', VOLA + 1, '1d').pct_change().std() * np.sqrt(252)
WAIT_DAYS = int(vola * RET_INITIAL)
RET = int((1.0 - vola) * RET_INITIAL)
P = data.history([XLI, XLU], 'price', RET + 2, '1d').iloc[:-1].dropna()
ratio = (P[XLI].iloc[-1] / P[XLI].iloc[0]) / (P[XLU].iloc[-1] / P[XLU].iloc[0])
exit = ratio < 1.0
if exit: BULL = 0;
OUT_DAY = COUNT;
elif (COUNT >= OUT_DAY + WAIT_DAYS):
BULL = 1
COUNT += 1
wt_stk = LEV if BULL else 0;
wt_bnd = 0 if BULL else LEV;
for sec in STOCKS:
wt[sec] = wt_stk / len(STOCKS);
for sec in BONDS:
wt[sec] = wt_bnd / len(BONDS)
for sec, weight in wt.items():
order_target_percent(sec, weight)
record( wt_bnd = wt_bnd, wt_stk = wt_stk )
def record_vars(context, data):
record(leverage = context.account.leverage)
Bob Bob
Hi Vladimir,
I've converted the algorithm to QC code in the attached backtest. I hope this helps any other Quantopians transitioning to QC.
Jared Broad
Hi @Average Joe / Joakim. I know it's a very sad time for many people and your trust in Quantopian has been broken. Our strongest statement of proof is that we've been walking the talk -- the last 8 years of serving quants, day in and day out. We've still here, better than ever. We're growing in a healthy sustainable manner, with a strong balance sheet.
I hope the new Quantopian users will be part of that story going forward -- with your support you can make us even more sustainable and help fund the continued improvement of the platform.
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.
Nad from Mtl
Hi,
Nad, ex-Quantopian, here!
I just spend most of the day trying to migrate my notebooks/algos from Quantopian with little success :(
Could someone help me with a few things so I can get a headstart?
I'm having trouble creating the universe I require. Here are the filters I use:
- Price (last close) > $5
- Market cap > $500M
- Average Dollar Volume over past 200 days > $2.5M
- Price (last close) > 200 SMA
What would be the proper or easiest way to go about that?
Cheers!
Vladimir
I got an error
BacktestingRealTimeHandler.Run(): There was an error in a scheduled event EveryDay: SPY: 140 min after MarketOpen. The error was KeyError : 'UUP TQBX2PUC67OL'
What does it mean?
'UUP -> USD ETF
I am no trading it, just use for signal genaration.
Adam W
Welcome to all the Quantopian users (and glad to see some old names in here)
I've developed on Q extensively but switched over to QC about a year ago. I think you'll quickly find the versatility of the platform and transparency/engagement with the QC team to be very refreshing.
Glad to see QC on top of these migration efforts, but for new users coming over I think it is actually better if you develop some toy strategies first (check out the Bootcamp/Documentation) rather than immediately trying to migrate a Quantopian strategy over. Could probably save you a few hours of banging your head on the wall at least. There are some big differences between Zipline/LEAN, and the most obvious one that you might have already noticed is that Zipline is almost entirely optimized for factor-based strategies (esp. beta neutral, factor neutral, etc etc) - whereas you can build anything from a long-term fundamentals based strategy to a (reasonably) high frequency deep learning model in LEAN.
Bit of a learning curve of course with the versatility, but well worth it imo. Feel free to shoot me a message on Slack if you're stuck on something
Big mak
Hi, another long time Quantopian user here with a question I think many of us have, regarding resource limits. What's a "Daily Log Size" Limit? Backtest order limit? How can I get a gauge of how much of these I actually need (and thus, what plan I should purchase)?
As a side recommendation, a complete FAQ purely for Quantopian to QuantConnect will probably be incredibly helpful for us and probably secure you lots of ex-quantopian users' business.
Vidal boreal
Nice work, Jared. That code migration is so convenient.
Btw, does it still require sls opt out for live trading with IB? If so, for those new comers, please make sure you can do the sls opt out if you want live trading.
I hope QC could provide more brokerage choice such as TD ameritrade or simply let users could manually log in the IB account during live trading.
Jared Broad
Hey Big Mak, we're adding a whole section of docs now I'll make sure we include a FAQ section thanks!
Hi Vidal -- we recently added support for seamless 2FA for those who cant opt out but it's not as smooth as when opted out.
We're actually designing a crowd funding system for prioritizing specific features and TDA was on the list.
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.
Peter Bakker
the code migration says:
www.quantconnect.com unexpectedly closed the connection.
I try to migrate the zipfile that Quantopian gave us....
Albert R.
Q user of almost 6 years here.
My top request: Be able to use own data sources in the Alpha Competition.
Peter Bakker
Hi guys, Q since the beginning of Q. Building a company in algotrading and was still using Q for my research. Does the uploader have a file limit? Mine is 25Mb, about 800 algos with 10,000 backtests. I don't mind to send the file to you so you can add it to my project dir. I'll buy the Team level if at least I can get my algo's in the platform
Diary Of A Finance Kid
Hi, is there any progress on the Uploader for my exported Quantopian code?
Jared Broad
Hey @Peter - we'll make the uploader run asynchronously today to increase the limit to 10k projects.
Diary Of A Finance Kid - the importer is here.
Albert - "My top request: Be able to use own data sources in the Alpha Competition." I understand why this is important! We make promises to the funds licensing that the data sets are reliably updated. We have full-time engineers who monitor this to ensure the data is stable and updated daily. Could we possibly make your data set part of the core maintained set?
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!