CodeForFinance
Quant Concepts

Algorithmic Trading for Beginners

What is algo trading, how does it work, and how to get started. No code required — just concepts.

Simple Moving Average Strategy

# The most basic algo trading strategy
# Buy when price crosses ABOVE the 20-day average
# Sell when price crosses BELOW the 20-day average

import pandas as pd
import yfinance as yf

data = yf.download("AAPL", period="1y")
data["SMA20"] = data["Close"].rolling(20).mean()
data["Signal"] = (data["Close"] > data["SMA20"]).astype(int)
data["Position"] = data["Signal"].diff()

buys = data[data["Position"] == 1]
sells = data[data["Position"] == -1]

print(f"Buy signals: {len(buys)}")
print(f"Sell signals: {len(sells)}")

Backtest It

# Calculate returns from this strategy
data["Market Return"] = data["Close"].pct_change()
data["Strategy Return"] = data["Market Return"] * data["Signal"].shift(1)

cumulative_market = (1 + data["Market Return"]).cumprod() - 1
cumulative_strategy = (1 + data["Strategy Return"]).cumprod() - 1

print(f"Market return: {cumulative_market.iloc[-1]:.1%}")
print(f"Strategy return: {cumulative_strategy.iloc[-1]:.1%}")

Developer Essentials

As an Amazon Associate we may earn from qualifying purchases.