Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Just ... wow!

Hello! Complete newcomer to algo-trading/finance, old hand at C++/DSP/IPython/ML/etc.

As far as I can see this is a Genius concept -- offering (for the first time??) a coder without capital the chance to make it as an independent algotrader, much as Apple opened the gates with iOS to enterprising programmers. And it works for both parties.

Fantastic technology stack: Python+Jupyter. And beautifully executed. From the first click taking me to a Python codepage (with dark background yay) I am hooked. I have now gone through both tutorials. A ton of material to learn, Industry terms/buzzwords, concepts, ... But tutorials excellently thought out, presented & paced.

Minor observations before I forget:

  • The red doesn't come out well in the code window in the tutorial 1 videos & font is a bit small. But top notch content.
  • Breakpoints are mentioned, but there doesn't seem to be any mention of an IDE console where you could inspect variables etc.
  • It might be an idea at the end of the tutorial to have a "where to next", like suppose someone has developed an algorithm that appears to be robust/profitable -- what to do next? FAQ -> Live Trading says users can create an account with one of your affiliated brokers and load up some capital. But the CAPITAL tab doesn't seem to mention this option. Could present it like EITHER {use your own cash} OR {you code we provide cash} maybe?
  • There doesn't seem to be any mention of processor-time / memory limitation.
  • Looking around for some kind of real-time online community like IRC/Freenode but didn't find anything. An in-site chat room might be nice.
  • Just one forum? Isn't that going to mix flailing beginners with awesome staff post gem?
  • In the second tutorial, it isn't so obvious where the data is coming from. e.g. lesson 2. It's all coming from morningstar right? & is wired direct into the Quant API. Might be worth making that clear...
  • In the lectures section it would be nice to instantly see which lectures have video, which ones have notebooks without having to hover over each one.
  • That disclaimer becomes annoying, couldn't you just present it once and require the user to check that box to acknowledge?

Well, that's all that came to mind. This is dangerously close to spam as your machine is pristine. But I will send anyway.

First time in awhile I've found something tech to get excited about.

Loving it!

π

7 responses

Thank you for the kind words and the suggestions. Feedback like that is very helpful! There's a lot there to think about. There is one place I can be immediately helpful:

Your 2nd bullet refers to the debugger. To access it, just click the line number in the IDE and then build your algorithm. When you hit the break point you get a console to inspect the variables. The doc on it is here.

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.

BTW, Dan, are there any plans to enable the %pdb ipython magic in the research notebook?

@ Pi,

Thanks for all of the detailed feedback. As Dan mentioned, it's very helpful to us.

Regarding the tutorials, the small font has been mentioned and it will be changed in future videos. I like the idea of the "where to next" suggestion. I'll see if we can work that in to the existing tutorials and any future tutorial.

For time/memory limitations. We don't publish a hard number. Since you don't really get insight into how much each component of your algo is consuming, it wouldn't be very helpful. Instead, we publish time limits. The limits are 5 minutes in before_trading_start, and 50 seconds in each minute bar (this is handle_data + all functions scheduled for this minute).

I believe there's a community slack channel created by another member. Check out this post for more details.

Your comment on the lack of clarity on the data source in the pipeline tutorial is interesting. Morningstar is the source of all the fundamental data (in later lessons), but the equity pricing/volume data comes from a combination of two sources. One provider is Nanex. The other, we cannot disclose per our agreement with them. Out of curiosity, are you wondering about the source so that you can validate data?

To which disclaimer are you referring?

@Alex,

No plans to enable %pdb right now (security reasons).

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.

@Jamie, I was wondering about the data source just out of curiosity. Just to get a clearer picture of what's actually going on under the hood.

I had another thought regarding the tutorials. The most effective way of learning requires the student to solve basic problems using the target material. So that it is bidirectional. Rather than just soaking up information, actually use it in practice to create/reinforce a strong memory.

Apple did this perfectly with their Swift primer. Swift playgrounds are cell-driven like IPython notebooks with text and code cells (I'll wager they lifted the idea straight from IPython), so it is really easy to set a challenge and the reader can instantly have a go without even navigating away from the playground/notebook.

If you look at the playground on https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson1.html (you would need XCode probably) you can see what I mean.

So you could do this with the tutorials, especially the second one as it is notebook-based. You could set challenges like "Plot the average trade price per month for Google stock for 2012".

Also how about a bullet point summary at the end of each tutorial page (or maybe each tutorial) -- like "at the end of this tutorial, you should be able to: ..." ... Like a checklist the reader can check themselves against. Because otherwise it's quite easy to read through a page thinking 'yer I got all that' when actually you didn't.

Another unanswered question I find forming in my mind is: what percentage of users actually get cash back for their algorithms. Is anyone making decent money? (I'm betting yes). It would be nice to get a feel for the field. Like is it the top 2% making money? Something like this? A couple of public testimonials might be nice, like "after three months, my 20th algorithm got an offer and I now make $300/week" etc.

And that got me thinking, maybe it might be a winning business strategy to also use algorithms that are profitable but second rate. If I were CEO I would be considering something like that. Rather than just using the five best algorithms for everything, use them for 90% and use the next 95 algorithms for the remaining 10%. Maybe use the best one for 50%, the second best for 25%, the third best for 12.5%, etc. So #100 is only collecting a fraction of revenue. The idea would be that it creates a shallower ramp, maybe at a cost of a few % profit, & entices coders to really go for it. I bet you get a lot of people jump on board, give it their best shot and fall off because they don't get a bite.

π

Hi π,

I agree with you on the interactive approach. It's on the list, but it's not trivial to implement. It would be a fairly large project. I'd say my best answer is that it's on the longterm wish-list. In the meantime, we tried to replicate that as much as possible by creating notebook forms of each lesson. You can clone most of the lessons in the second tutorial as a notebook and add to and edit the code as you'd like. It's not perfect, but it's definitely a step in the interactive direction.

I like the idea of adding bullet points at the end of each lesson. That's something I'll consider adding to existing and future tutorials.

Regarding algorithm performance, I'll have to leave that one to the community to answer as we don't track those sorts of numbers.

@Jamie, as regards the interactive thing -- I'm not talking about something complicated. Just the idea of: in the notebook you already have for a particular tutorial lesson, e.g. tutorial 2 lesson 10 say, right after you have introduced a new concept, you could pose a challenge in a text cell, and have a following empty code cell for the reader to attempt to code a solution. Or even just have a code cell with the challenge written as a comment.

I suppose you can't replicate that easily in the non-notebook form. So why not just have the tutorial only in notebook form? Why not just embed the notebooks straight up? I think that would make sense -- it would push newcomers towards using the notebooks, so that by the time they finish tutorial they already feel hands-on.

π

A little more feedback:

I just discovered https://www.quantopian.com/research/Tutorials%20and%20Documentation -- but this isn't referenced from the Learn&Support -> Learn tab.

Instead we get "Lectures" there. Which looks as though it might cover some of the same material.

There seems to be lacking a learning strategy for a newcomer. After getting through the two tutorials there is no obvious path. Candidates might be:
(1) discover the Quantopian YouTube channel (which also isn't referenced directly from the Learn tab) (2) the above set of notebooks (3) explore the other resources in the Learn tab (4) read through doc/API & look at the example algorithms (5) a lot of good material on forums

And even then none of these have covered the competition, or looked at the possibility of monetising from algorithms without investment.

In summary, every morning I have found decent material to learn, and I feel like I'm picking up the necessary pieces in a reasonably sensible order. So it looks like everything is working ok. Nothing has been too hard to find.

But it might be nice to have a video at the end of the second tutorial that continues the yellow brick road a little further, and lays out the various directions one can go next.

π