Webinar
December 8, 2020

Algorithmic Trading Using Python – A Beginnerʼs Course from freeCodeCamp

When computer automation met Wall Street, the industry changed forever. One reason for this was algorithmic trading – or as Investopedia describes it, “a process for executing orders utilizing automated and pre-programmed trading instructions to account for variables such as price, timing and volume.” This basically means you can use computers to help make investment decisions.

Cloud icon

IEX Cloud Team

https://iexcloud.io/community/blog/algorithmic-trading-using-python-a-beginners-course-from-freecodecamp
@iexcloud
https://iexcloud.io/community/blog/algorithmic-trading-using-python-a-beginners-course-from-freecodecamp
@iexcloud

When computer automation met Wall Street, the industry changed forever. One reason for this was algorithmic trading – or as Investopedia describes it, “a process for executing orders utilizing automated and pre-programmed trading instructions to account for variables such as price, timing and volume.” This basically means you can use computers to help make investment decisions.

Algorithmic trading isnʼt just a tool used by banks and large institutions with teams of developers and quants. In a recent IEX Cloud user survey, over 20% of our respondents told us that they use financial data from IEX Cloud to build their own trading algorithms – with many of those respondents being individuals or developers at small businesses.

To help the developer community learn more about this topic, freeCodeCamp.org launched a free 4-hour course on how to get started with the basics of algorithmic trading in Python - all using the IEX Cloud API.

Course Outline

This course begins with the basics of algorithmic trading and an overview of how to the IEX Cloud API to collect the data you need. The bulk of the course is centered around how to build three algorithmic trading projects.

The first project is an equal-weight S&P 500 screener. The S&P 500 is the worldʼs most popular stock market index. In this section, you will build an alternative version of the S&P 500 Index Fund where each company has the same weighting.

The second project is a quantitative momentum screener. Momentum investing means investing in assets that have increased in price the most. You will create an algorithm that implements this strategy. First, you will build a strategy that uses one momentum metric. Then, you will expand to build a more sophisticated strategy that uses multiple metrics together.

The final project is a quantitative value screener. Value investing means investing in stocks that are trading below their perceived intrinsic value. Like the previous section, you will first build a strategy that uses one value metric. Then, you will expand to build a more sophisticated strategy that uses five different value metrics together.

Note that this course is meant for educational purposes only – ideal for a fun weekend project, or individuals looking to dip their toes into the world of algorithmic trading. The data and information presented in this video is not investment advice.

Section 1: Algorithmic Trading Fundamentals

  • What is Algorithmic Trading?
  • The Differences Between Real-World Algorithmic Trading & This Course
  • Section 2: Course Configuration & API Basics

  • How to Install Python
  • Cloning the Repository & Installing Our Dependencies
  • Jupyter Notebook Basics
  • The Basics of API Requests
  • Section 3: Building an Equal-Weight S&P 500 Index Fund

  • Theory & Concepts
  • Importing Our Constituents
  • Pulling Data for Our Constituents
  • Calculating Weights
  • Generating Our Output File
  • Additional Project Ideas
  • Section 4: Building a Quantitative Momentum Investing Strategy

  • Theory & Concepts
  • Pulling Data for Our Constituents
  • Calculating Weights
  • Generating Our Output File
  • Additional Project Ideas
  • Section 5: Building A Quantitative Value Investing Strategy

  • Theory & Concepts
  • Importing Our Constituents
  • Pulling Data for Our Constituents
  • Calculating Weights
  • Generating Our Output File
  • Additional Project Ideas
  • How to Get Started

    This course is free and open to everyone. To get started:

  • Watch the full course on the freeCodeCamp.org YouTube channel (Length: 4 hours).
  • You can also access the full open-source course files, with both starter files and finished files, at this GitHub repository.
  • Nick McCullum developed this course. Nick has worked as an investment analyst, portfolio manager, and software developer at financial startups for his entire career. He has a knack for explaining complex investment topics in a way that beginners can understand. You can read a few of his other articles here:

    How to Create Auto-Updating Excel Spreadsheets of Stock Market Data with Python, AWS, and IEX Cloud

    How to Create Auto-Updating Data Visualizations in Python with IEX Cloud, Matplotlib, and AWS

    This course uses Python. Python is the most popular programming language for algorithmic trading. Python is powerful but relatively slow, so the Python often triggers code that runs in other languages.

    Along with Python, this course uses the NumPy library to speed up the code. NumPy is the most popular Python library for performing numerical computing. Although NumPy is written for use in Python, the core underlying functionality is written in C, which is a much faster language.

    Happy coding!

    New to IEX Cloud?

    Create your account

    You can also learn more about freeCodeCamp and its community here.

    This course is original content created by freeCodeCamp. It was made possible through a data and through a grant provided by IEX Cloud. Any opinions or assertions contained herein do not represent the opinions or beliefs of IEX Cloud, its third-party data providers, or any of its affiliates or employees.