Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
my [original] account gives a 500 on all pages.....

I had to create a new account to be able to post this.... did I create so many backtests that I crashed the system?

nothing to do now.....

Peter

13 responses

Your account was locked out because you tried too many times in a row to import disallowed modules and/or module methods.

I've unlocked your account.

You can avoid this by paying attention when the IDE tells you that you can't import something, and not continuing to try to import it.

Disclaimer

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 Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian 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.

mmmm ... bit odd ... how do you know that they are not allowed when you dont try..... I'm trying to import zipline modules....

We have automated guards in place which lock out a user who generates too many import errors in a brief period of time, to protect against the possibility that the user may be attempting to circumvent our security restrictions. Once a user is locked out, his/her import errors are reviewed by a human being, and if they are innocuous, then the user's account is unlocked. If a user gets locked out in the middle of the night (US/Eastern), then this review might not happen until the following morning; we do need to sleep.

You can take sensible precautions to minimize the likelihood of being locked out: (a) don't try to import things that don't exist; (b) don't try to import "*" from a module, which we don't allow; and (c) as I said above, once you get an error that a particular module or attribute is unavailable, don't keep trying to use it. I see from our logs that you did each of these things at least once before you got locked out.

Even if you follow these precautions, it is possible that you may still occasionally get locked out if you are pushing the envelope in terms of what modules and attributes you are trying to use. This is an unavoidable side-effect of the necessity that we keep Quantopian secure; we need automated guards, because we can't actively monitor the site every minute of every day.

I understand the need for automated controls, however, you could give users with 100's of algo's and backtests the benefits of the doubt and not lock them out while new users you could have more strict rules.

When considering a change like the one you propose, we have to try to quantify the risk and benefit of such a change, to determine whether the benefit justifies the risk.

The idea that long-time users of the site would not attempt to compromise its security certainly seems appealing, but it is hardly beyond the realm of possibility that such a user would "turn to the dark side," nor for that matter is it impossible to imagine that a user would come to Quantopian with the express purpose of attempting to subvert it, and work over time to build up a history and track record to render him/herself more reputable. Consider, for example, that the fake Simon was a long-time user of the site.

In terms of benefit, less than 0.2% of active users of the site are locked out each day. Of those, most are unlocked quickly. Furthermore, of the users locked out in the past two weeks, 19% created their accounts less than a month ago, 31% less than two months ago, and 50% less than six months ago. I'm not sure I'd be comfortable with giving accounts less than six months old a free pass, and if that were our threshold, then less than 0.1% of active users would be positively impacted.

Jonathan,
It happened again. I was connecting a live algo with real money and running a notebook. PLEASE DO NOT EXPELL PEOPLE WITH REAL MONEY RUNNING!!!!

despite your answer before, this is really not acceptable when I use real money to trade on the platform. I need to be able to access my algo at all times.

please unlock me asap as I need to change one of my live algo before it starts trading tomorrow morning

I have already explained why our security guards work they way they do.

You tried to do "import sys" in a research notebook, then did it again three minutes later, despite the fact that (a) it told you the first time you did it that it wasn't available, and (b) you already knew that "sys" wasn't allowed before you tried the first time.

Then, immediately after that, you tried to import pylab three times within an eight-minute period, again, despite the fact that the first two times you got an error saying that it wasn't available.

I don't know what to tell you, Peter, other than if you don't want to be locked out, then I suggest you read the error messages that the application displays and don't keep trying to import things after you've been told they are unavailable.

The security precautions you are running afoul of are all the more important with regards to real money trading, because they are there exactly to protect your intellectual property and money from attackers trying to access them by compromising our site.

And those guards might need adjustments ....

When I see an error, I try to understand the error and change something and try again. I'm not a python expert and the errors are not that clear so I might trigger the same error a few times.

"I dont know what to tell you, Jonathan, other than..." if you want this platform to be successful you should be careful locking people out who trade live real money. Really, unacceptable and I suggest you discuss this within the team.

How do you expect people to trade serious amount of money when their account can be locked out by an overzealous script/sys admin

It's very simple to implement: People who trade live money (let's say +5K or +10K) should not be locked out ... ever...

Un-understandable, really

import sys

InputRejected: Importing sys raised ImportError. No modules or attributes with a similar name were found.

import pylab

InputRejected: Importing pylab raised an ImportError. Did you mean to import pytz instead?

Would you like to suggest changes in the language that would make the errors clearer?

By the way, when anyone launches an IB-backed, real-money algorithm on Quantopian, they see an informational message which includes this: "If you need urgent support for your real money algorithm, email us at [elided]. Quantopian support will be alerted and attempt to respond within 2 hours." We have people on call 24/7 to help real-money traders with issues, including restoring accounts that were disabled due to import violations. Emailing that address (if you've misplaced it, please feel free to email [email protected] and we'll provide it to you again) would seem to be a more effective strategy for getting help than posting in the forums during what is, for us, the middle of the night. I was able to restore your account because I happened to be awake, but I doubt you want to rely on such happenstance when it comes to your real-money trading, eh?

To correct your statements: the errors of importing looked like this, not as you typed above:

InputRejected                             Traceback (most recent call last)  
/usr/local/lib/python2.7/dist-packages/IPython/core/interactiveshell.pyc in transform_ast(self, node)
   2905         for transformer in self.ast_transformers:  
   2906             try:  
-> 2907                 node = transformer.visit(node)  
   2908             except InputRejected:  
   2909                 # User-supplied AST transformers can reject an input by raising

/home/qexec-restricted/.ipython/profile_quippy/ipython_kernel_config.py in wrapper(*args, **kwargs)
     57     def wrapper(*args, **kwargs):  
     58         try:  
---> 59             return f(*args, **kwargs)  
     60         except InputRejected:  
     61             raise

/home/qexec-restricted/.ipython/profile_quippy/ipython_kernel_config.py in visit(self, node)
    173             violation_message = e.kwargs['violations'][0]['message']  
    174             self.reporter.handle_violation(node, violation_message)  
--> 175             raise InputRejected(violation_message)  
    176         finally:  
    177             self.visitor.violations = []

InputRejected: Importing mumbo raised an ImportError. Did you mean to import numpy instead?  

Which is a lot of mumbo jumbo to me

The last line, i.e., the actual error, which I typed above, does not seem like "mumbo jumbo" to me. If it is, then again, we are happy to hear any suggestions you might have for how to make the working more clear.

The rest of it is garbage, you're right. I've just filed a bug report asking for that to be cleaned up.

I do appreciate you being awake when I tend to sr*w up my coding and unlock me ;)