
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
Section 2: Course Configuration & API Basics
Section 3: Building an Equal-Weight S&P 500 Index Fund
Section 4: Building a Quantitative Momentum Investing Strategy
Section 5: Building A Quantitative Value Investing Strategy
How to Get Started
This course is free and open to everyone. To get started:
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?
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.