Back to Community
Introductory Talk on Financial Analysis Tools for Python

Hi all,

As many of you may know, Quantopian sponsors and helps run several Algorithmic Trading meetup groups. Next Thursday, I'll be giving a presentation for our Boston chapter. The title of the talk is "Zipline, Pandas, and IPython Notebook: A Pythonic Toolbox for Quants", and the goal of the talk is to provide a beginning/intermediate-level introduction to some of the most powerful open source tools available for doing financial analysis in Python.

Time-permitting, I expect that the presentation will have some time for questions, but since not everyone on Quantopian can make it to Boston, I figured it might be valuable to open the floor here to questions/suggestions.

Some topics for suggestions might include:
- Features of Zipline/Pandas/Notebook that you're aware of but don't fully understand or haven't been able to use to the fullest.
- Features of Zipline/Pandas/Notebook that you've found particularly useful or powerful, especially features that you found difficult to master, or features that you felt were lacking adequate tutorials.
- Features of the above that you think other members of the quant finance community would benefit from understanding better.

The tutorial portion of the talk will by IPython Notebook-based, and we'll make the notebook available publicly after the meetup. If you're interested in attending, you can sign up for the meetup here:

http://www.meetup.com/Boston-Algorithmic-Trading/events/192164182/

-Scott

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.

7 responses

Hello Scott,

Thank you so much for putting this material together - I think it will prove to be helpful. I'm in the Philly area, so I'll have to take a pass on the Boston event :)

I think that the part of Quantopian that I've spent the most time on is trying to recreate some kind of workflow where I can use my favored Python environment (in my case Pyzo) - complete with unit tests and such - to develop the nuts and bolts and then later create a Quantopian algo that uses this code. You guys must have a lot more experience with this, and I think it would be very helpful to see what you guys recommend - or even just to hear about your workflow, even if you don't explicitly "recommend" it.

Another thing that I personally struggle with is re-use of code. As I develop progressively more complex algorithms for Quantopian and incorporate new features, I end up doing a LOT of cut-and-paste - and then when I revisit older strategies I have to essentially re-implement them using my newer (better?) methods. I would love some suggestion on how to manage something akin to a personal Quantopian module. Currently I'm trying to keep a big offline file and paste in the business end, but my various algos are obviously not all in sync. It would be cool to see what you guys do.

Thanks!
Ray

Anyway to record the meeting for folks out of the area?

Hello I want to organize a Python Meetup in India in Himachal Pradesh

Hi all,

Ray - I agree that code re-use/maintenance is one of the less well-developed parts of the platform right now, especially if you're used to working in an environment with proper source control and continuous integration. In the inevitable fullness of time, I think the right solution for us will involve integration with something like Github/Bitbucket, but right now foractually running algos on Quantopian, copy/paste is unfortunately more or less the state of the art.

That said, if you're specifically thinking about how to build and test functions/classes that play nicely with our backtesting environment, you might want to take a look at Zipline, which is the open source engine that powers both our backtesting and live trading environments. Roughly speaking, Zipline has all the features of Quantopian that don't require access to proprietary data. In particular, Zipline's TradingAlgorithm class exposes the same initialize/handle_data API for building an algorithm, and has all the same ordering and history features as Quantopian. My talk will include a primer on backtesting with Zipline using free data from Yahoo Finance, and Thomas Wiecki (another Zipline maintainer and Quantopian developer) has several notebook tutorials for Zipline here. There's also a fairly active google group here.

John - I don't think we have plans to record the talk, but most of the content is going to be based around IPython Notebooks, which we'll make available.

Hi all,

My notes from the talk last night, as well as the three IPython Notebooks I presented, are now available on my Github profile. The repo also contains
instructions for installing IPython and running a notebook server.

Additionally, if you just want to view the notebooks, you can do so here:

Talk Notes

Intro to IPython and IPython Notebook

Intro to Pandas Data Structures and Matplotlib

Zipline Examples

Scott,

Glad to see '8. Research Env Sneak Peek:' in your Talk Notes. Excellent!

Grant

Scott,

Just wanted to add my thanks, and finding this makes a good excuse. Here is a Pycon 2014 Australia talk: Pandas 101 by Lex Hider

https://www.youtube.com/watch?v=1QOMk2k9aI8&feature=youtu.be