Skip to content
O'Reilly home
Learning Path

Hands-On Algorithmic Trading with Python

Time to complete: 7h 24m

Published byO'Reilly Media, Inc.

CreatedOctober 2019

The pace of automation in the investment management industry has become frenetic in the last decade because of algorithmic trading and machine learning technologies. Industry experts estimate that as much as 75% of the daily trading volume in US equity markets is executed algorithmically, i.e. by computer programs following a set of pre-defined rules. In the 20th century, algorithmic trading was used by sell-side brokers to get the best execution of large trades for their clients. In the 21st century, algorithms are used in the entire trading process, from idea generation to execution and portfolio management. While all algorithmic trading is executed by computers, the rules for generating trades may be designed by humans or discovered by machine learning algorithms from training data.

Discipline in the face of grueling markets is a key success factor in trading and investing. Emotional irrationality, behavioral biases, inability to multitask effectively and slow execution speeds put manual trading by retail investors at a massive disadvantage. Retail investors are aware of these disadvantages and there is considerable interest in algorithmic trading, especially using Python. This learning path is about taking the first step in leveling the playing field for retail equity investors. It provides the concepts, process, and technological tools for developing algorithmic trading strategies. Note that live trading is out of scope for this learning path.

What you’ll learn—and how you can apply it

By the end of this learning path you’ll understand:

  • The advantages and disadvantages of algorithmic trading
  • The different types of models used to generate trading and investment strategies
  • The process and tools used for researching, designing, and developing them
  • Pitfalls of backtesting algorithmic strategies
  • Risk-adjusted metrics for evaluating their performance
  • The paramount importance of risk management and position sizing

And you’ll be able to:

  • Use the Pandas library to import, analyze, and visualize data from economic, market, fundamental, and alternative sources available for free on the web
  • Design and automate your own specific investment and trading strategies in Python
  • Backtest and evaluate the performance of your strategies using the vectorized backtesting
  • Prepare for competitions by crowd-sourced hedge funds to fund your algorithmic trading strategies

This learning path is for you because…

  • You’re a retail equity investor, financial analyst, or trader who wants to develop algorithmic trading strategies and mitigate the disadvantages of emotional, manual trading
  • You have Python development experience and want to learn how to apply that to open up opportunities in the financial services and investment management industry


  • You should have basic experience trading and investing in equities
  • You should have basic knowledge of Python and Pandas DataFrames

Materials or downloads needed in advance:

Further resources: