Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Feature Request: IPython Notebook

I dont know how realistic of a request this is, but I have grown extremely comfortable exploring data in the IPython Notebook. I really enjoy the data exploration possible in this type of environment, and think it could allow users to further understand the data they are working on rather than just churning parameters through a black box. I think it would also allow users to inspect their code visually to make sure it is doing as expected without relying on sending logs to the console. Furthermore from the community aspect, I think the notebooks provide a very convenient manner in which to share ideas with one another and easily convey what each code block is doing. Just my two cents, if I am crazy let me know...

I think this could be provided by allowing users to connect through the server and launch their own instance of the notebook much like on picloud.

3 responses

I don't know much about IPython Notebook but it looks interesting.

However I expect it would be too open-ended for Quantopian. It is my understanding that they had to restrict some features of Python for security reasons because it is a shared environment.

We love IPython here at Quantopian - it's one of our regular tools. And we agree it's good for data exploration.

We think of algo writing as happening in roughly three steps (roughly!):

  1. Data exploration. You've got a pile of data and maybe an idea. You slice and dice the data, trying to suss the idea out of the data, trying to find the way to cleave the data in a way that you can say "ah ha! there it is!" Many ideas die in this stage - they just don't hold up to the data exploration. This open-ended data exploration is great for tools like iPython.
  2. Code and test. You've got your idea, you know how to articulate it, so you do so in Python. You test it in the backtester and make sure the data insight you had holds up in market simulation. You do out-of-sample testing and walk-forward testing to be sure. Many ideas die in this stage, too - maybe the underlying situation no longer exists, or maybe there is some real-world reason that keeps you from making it run.
  3. Trade it. You've tested it as well as you've could, so you put your money behind the algo and let it trade.

Quantopian's first release was #2. We got the data, the backtester, etc. We're in the process of releasing #3, so that people can trade. When we've got that going, we plan on going back to #1 and solve that problem, too.

The short answer is that we totally agree with you, but it's unfortunately not in the immediate road map.

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.

Note that the underlying backtester zipline is open-source, and pretty easy to get going on a local IPython, at least using daily data. I haven't tried it with minute data, or hooking it up to bloomberg or anything.