Crash Money Analytics

Learn · Open-source tools

The whole stack is free. Seriously.

An entire industry exists to sell beginners trading software, courses, and platforms. Meanwhile the tools working quants actually use are open source and cost nothing. Here is the honest map: what each tool is for, what it is not for, and the order to learn them in. None of these links are sponsored or affiliated — this is just the stack.

Research & backtesting

Python + pandas

Site ↗

The lingua franca of quantitative research. pandas is the library that makes time-series data — prices, returns, indicators — feel like a spreadsheet you can program.

Foundation. Every tool below assumes it.

Non-negotiable. If you learn exactly one thing from this page, learn pandas properly: indexing by time, resampling, rolling windows, and joins. Half of all backtest bugs are secretly pandas mistakes.

NumPy + Jupyter

Site ↗

NumPy is the fast array math underneath pandas; Jupyter notebooks are the standard scratchpad for exploratory research — code, charts, and notes in one document.

Foundation. Where hypotheses get their first, roughest test.

Use notebooks for exploration, then move anything you trust into plain Python files with tests. Strategies that live their whole lives in a notebook tend to hide their bugs there too.

vectorbt

Site ↗

A vectorized backtesting library: it tests entire parameter grids as array operations, so thousands of strategy variants run in seconds instead of hours.

Fast, wide screening of ideas and parameter spaces.

Best-in-class for the survey stage — 'is there anything here at all?' Its speed is also its trap: the easier it is to test 10,000 variants, the more aggressively you must deflate whatever wins. Speed of testing and risk of overfitting are the same dial.

backtrader

Site ↗

A classic event-driven backtesting framework: it steps through history bar by bar, the way live trading actually unfolds, with orders, positions, and broker simulation.

Realistic single-strategy backtests with order-level detail.

The gentlest introduction to event-driven thinking, with a decade of community answers for every error message. Development has slowed, but for learning the architecture of a trading system it remains the friendliest on-ramp.

NautilusTrader

Site ↗

A professional-grade, event-driven platform with a Rust core: the same code that backtests a strategy can run it live against a real broker.

The backtest-to-live bridge, at production quality.

The steepest learning curve on this page and the highest ceiling. Worth it when a strategy has already earned its way past the screening stage and you are engineering for real execution — not before.

QuantConnect LEAN

Site ↗

An open-source algorithmic trading engine with a hosted platform on top: institutional-quality historical data for equities, options, futures, and FX, plus cloud backtesting.

Serious multi-asset backtesting when clean data is the bottleneck.

The hosted free tier is the cheapest legitimate access to survivorship-bias-free options data a beginner can get. The trade-off is platform lock-in and their cloud; the engine itself is open source and self-hostable.

Data

yfinance

Site ↗

A Python wrapper for Yahoo Finance data — free daily bars for stocks, ETFs, indices, and FX going back decades.

First dataset. Free, instant, good enough to learn on.

Fine for learning and daily-bar research; not fine for anything precise. Splits, dividends, and revisions are handled inconsistently, and it is an unofficial API that breaks periodically. Know what it is: a classroom dataset, not a production feed.

One unified API over a hundred-plus crypto exchanges — same code for fetching candles and order books everywhere, and the easiest free source of high-resolution intraday data.

Free intraday data and exchange connectivity practice.

Even if you never intend to trade crypto, ccxt is the cheapest way to practice against real, live, minute-resolution markets with a real exchange API. The engineering lessons transfer directly to any broker integration.

The setup path

Four steps, in this order, no shortcuts.

1

Install the foundation

Python 3.11+, then a virtual environment, then: pip install pandas numpy matplotlib jupyter yfinance. That one line is a complete research environment. Module 1 of the curriculum walks through it screen by screen.

2

Reproduce something known

Before testing your own ideas, reproduce a boring known result — for instance, that an unfiltered moving-average crossover on daily S&P data has gone roughly nowhere after costs for decades. If your harness cannot reproduce known mediocrity, it cannot be trusted to detect real edge.

3

Add a real backtester

Graduate from hand-rolled loops to vectorbt (for breadth) or backtrader (for realism). Learn what your framework assumes about fills, costs, and timing — every backtester has opinions, and the defaults are usually optimistic.

4

Only then, think about live

NautilusTrader or LEAN, paper mode first, smallest size after that — and only for a strategy that has survived walk-forward validation and a forward paper track. The tools are free; skipping the validation is what gets expensive.

The curriculum turns this page into guided modules with starter code, and the glossary covers every term used above.

About this curriculum: everything in the Learn section is for educational and informational purposes only. It does not constitute personalized investment advice, a recommendation to buy or sell any security or derivative, or an offer of advisory services. Crash Money Analytics does not know your individual financial situation, and nothing here should be treated as tailored to it. Trading involves substantial risk of loss. Consult a licensed financial advisor before making investment decisions. See our Risk Disclosures.

Trading futures, forex, and options involves substantial risk of loss and is not suitable for all investors. Nothing here is personalized investment advice.