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%}")