Level 0 · 80–100 h
Python from scratch and a data mindset
The entry point for anyone who has never programmed: a modern environment, the language, numerical computing with data and the minimum statistics needed to measure return and risk.
Welcome and expectations
0.1.1What systematic, algorithmic and quantitative trading are, compared with discretionary trading.0.1.2Realistic expectations: costs, time, risk of loss.0.1.3Course structure, entry tests and personal repository; ethics of learning with AI.
Modern working environment
0.2.1Installing Python 3.13/3.14 with uv; versions and support cycle (3.10 out of support in October 2026; 3.15 released).0.2.2Virtual environments and dependencies:uv init,uv add,pyproject.toml, lockfiles.0.2.3Editors (VS Code, Cursor, PyCharm) and Jupyter, JupyterLab or Marimo.0.2.4Basic terminal, paths, environment variables,.envfiles.0.2.5Git and GitHub: commits, branches, pull requests,.gitignore. Never commit API keys.0.2.6Introduction to AI coding assistants: prompts, review and tests.
Language fundamentals
0.3.1Variables, types and operators; floating point anddecimalfor prices and ticks.0.3.2Strings, f-strings, number and date formatting.0.3.3Lists, tuples, dictionaries, sets; comprehensions.0.3.4Control flow:if/elif/else,for,while,match-case.0.3.5Functions: arguments,*args/**kwargs, lambdas, scope.0.3.6Exceptions; modules and packages (lazy imports in 3.15 as a new feature).
Intermediate Python
0.4.1OOP: classes, inheritance, composition, dataclasses.0.4.2Typing: type hints, mypy or ty, Pydantic for configuration.0.4.3Iterators, generators, decorators, context managers.0.4.4Files (CSV, JSON, YAML, TOML,pathlib); dates withzoneinfoand market time zones.0.4.5Professional logging and testing with pytest.0.4.6Concurrency: threading, multiprocessing and asyncio (the basis for APIs and websockets); free-threading in 3.14+.
Numerical computing and data
0.5.1NumPy 2: arrays, broadcasting, vectorisation, linear algebra, random generators.0.5.2pandas 3.0: Series and DataFrame, time indexes, Copy-on-Write, PyArrow-backedstrtype,pd.col().0.5.3Selection, filtering,groupby,merge/join,pivot,resample,rolling/expanding.0.5.4Polars: lazy versus eager API, expressions, performance; when to choose Polars over pandas.0.5.5DuckDB and essential SQL:SELECT,JOIN,GROUP BYand window functions on Parquet.
Visualisation
0.6.1Matplotlib (object-oriented API), Seaborn and Plotly; candlesticks with mplfinance or Plotly.0.6.2Quick dashboards with Streamlit.
Minimum mathematics and statistics
0.7.1Simple and log returns, compound interest; descriptive statistics (mean, variance, skewness, kurtosis).0.7.2Basic probability and distributions (normal, Student's t); correlation versus causation; simple regression.0.7.3Intuitive linear algebra: vectors and matrices, as preparation for portfolios.