Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Beginner Next Steps

I've picked up a strong interest in investment algorithms and algorithmic trading, and I have some questions about the field. I'm currently an engineering student, with basic programming knowledge and no finance/trading knowledge.

I've recently acquainted myself with basic Python (Automate the Boring Stuff), and I'm currently building a background in finance from a book I'm reading. However, I'm not sure what direction to head in from here. Some of have mentioned Numpy and Pandas. Would something like this Udemy course be a good next step for me? https://www.udemy.com/data-analysis-with-pandas/

Any help is appreciated!

3 responses

Welcome to Quantopian! The best place to jump in are the tutorials and lectures.

For your first stop, take a look at the Getting Started tutorial to learn about researching and developing a strategy. You'll start understanding the API, how to access data, and construct a portfolio. Then, work your way through the remaining tutorials to dive in deeper, and try a lecture for more advanced educational material. Some of the lectures have exercises for you to test your knowledge.

As you develop your strategies, aim towards an algorithm you can enter in the contest. Then you'll be eligible for daily cash prizes and will be closer towards an algo that is eligible for an allocation. If you get stuck, ask away in the forums. Good luck!

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.

Hey Alisa,

I was wondering, how important are Pandas to the whole realm of finance and trading? I was hoping to build a bigger base of knowledge before I actually dive into some algos.

My 2 cents...

The pandas library offers an enormous number of solid, well implemented, methods to speed up analysis and algorithm development. Often one can accomplish in a single method what would take hours to program in other languages or using python on it's own. It's very empowering to fluidly interact with data and ideas and not be bogged down with implementation (ie coding) details. Pandas is your friend.

Moreover, the pandas data constructs of 'dataframes' and 'series' are building blocks to other libraries. Specifically, you may want to look at Seaborn for data visualization (https://seaborn.pydata.org/) , and SciKit -Learn for easy machine learning tools (http://scikit-learn.org/stable/index.html).

You will probably need a paradigm shift if coming from a background in procedural languages like VB, C, or Java. Working with pandas won't seem like programming as much as typing instructions. The trick is to know the instructions (or just know where to look them up in the online documentation). Want to know what time of day a bunch of stocks each reach their high. Theres a method for that.

high_times = highs.tz_convert('US/Eastern').idxmax()

Note that working with time data is easy in pandas with methods such as 'tz_convert' which takes care of daylight saving time issues.

Want to plot those times to visually see whats going on. Again, there's a method for that.

high_times.hist()

Voila.

Before taking an online course (as indicated in the original post), I'd really recommend looking at the wealth of free educational material here on the Quantoian site. @Alisa listed some good links above. Here are a few specific lectures you may want to look at. Definitely open the notebooks and work with the data interactively online. There is no substitute for hands on.

https://www.quantopian.com/lectures/introduction-to-python
https://www.quantopian.com/lectures/introduction-to-pandas
https://www.quantopian.com/lectures/plotting-data

Good luck!