Level 1 · 90–100 h
Financial data, markets and analysis
How the market works on the inside and how its data is obtained, cleaned and stored without bias: from orders and costs to a personal data lake.
- Prerequisite
- Basic Python, high-school statistics
- Profile
- Programmer without finance, or trader with some Python
How markets work
1.1.1Participants: retail, institutional, market makers, HFT, brokers, clearing houses; exchanges, MTFs, dark pools, OTC.1.1.2Sessions, auctions, holidays and calendars (exchange_calendars, pandas_market_calendars).1.1.3Order book: bid/ask, spread, depth, L1, L2 and L3 levels.1.1.4Order types: market, limit, stop, stop-limit, trailing, MOC/LOC, IOC/FOK, iceberg, bracket/OCO.1.1.5Costs (commissions, spread, impact, slippage, financing); settlement (T+1 in the US, T+2 in Europe), leverage and margin.
Asset classes
1.2.1Equities: capital increases, splits, dividends, corporate actions, indices.1.2.2ETFs: physical or synthetic replication, creation and redemption, tracking error, leveraged and inverse, UCITS versus US (PRIIPs/KID).1.2.3Futures: specifications (multiplier, tick, expiries), margin, mark-to-market, roll, contango and backwardation.1.2.4Forex: pairs, pips, lots, spot versus forwards and FX futures, swaps and rollover, CFDs and ESMA limits.1.2.5Options: calls and puts, premium, intrinsic and extrinsic value, American and European, chains.1.2.6Crypto: spot, perpetuals, dated futures, funding rate, stablecoins, DEX and CEX, custody.1.2.7Fixed income and rates (macro context and interest rate futures); CFDs and leveraged retail products in the EU.
Market data sources
1.3.1Types: EOD, intraday (bars), tick, quotes, L2/L3 book, reference data.1.3.2Free or educational: yfinance (unofficial; rate limits), Stooq, FRED (macro), SEC EDGAR, Banco de España and ECB, CNMV.1.3.3Retail and prosumer APIs: Massive (formerly Polygon.io; equities plans at 29, 199 a month, with real time only on Advanced), Alpaca Data, Tiingo, EODHD, Alpha Vantage, Twelve Data, Financial Modeling Prep.1.3.4Professional: Databento (CME since 2010, all US exchanges, OPRA; historical pay-per-use and real time by plan), Nasdaq Data Link, LSEG/Refinitiv, Bloomberg (background), ICE.1.3.5Crypto: exchange APIs via ccxt, Kaiko, CoinGecko and CoinMarketCap, Glassnode and on-chain data.1.3.6Brokers as a source: IBKR (ib_async), MetaTrader 5, OANDA.1.3.7Licences, terms of use, redistribution, “professional” versus “non-professional” data.1.3.8How to choose a provider: coverage, historical depth, survivorship-bias-free universes, corporate action adjustments, cost.
Financial data engineering
1.4.1Downloading via REST and websockets; pagination, rate limits, retries with backoff.1.4.2Cleaning: missing values, outliers, bad ticks, duplicates, gaps; time zone alignment.1.4.3Split and dividend adjustments; adjusted versus unadjusted prices.1.4.4Survivorship-bias-free universes; delisted tickers; symbol changes (point-in-time).1.4.5Bar construction: time, tick, volume, dollar, imbalance bars.1.4.6Continuous futures series: back-adjusted, ratio-adjusted, by volume or open interest.1.4.7Storage: CSV versus Parquet; partitioning; DuckDB; PostgreSQL and TimescaleDB; ArcticDB.1.4.8A reproducible pipeline for download, validation and incremental update, with data quality tests.
Fundamental and macro data
1.5.1Financial statements, ratios, XBRL and SEC EDGAR; publication date versus period date, to avoid look-ahead.1.5.2Macro data (FRED, ECB, INE), economic calendars, analyst estimates and transcripts (a bridge to NLP).
Financial exploratory analysis
1.6.1Returns, volatility (historical, EWMA), rolling correlations, drawdown and time under water.1.6.2Stylised facts: fat tails, volatility clustering, weak autocorrelation, leverage effect.1.6.3Seasonality: day of the week, month, turn of the month, intraday sessions.
Programmed technical analysis
1.7.1Moving averages (SMA, EMA, KAMA), MACD, RSI, stochastic, Bollinger, ATR, ADX, Donchian, Keltner; OBV, VWAP, volume profile.1.7.2Own implementation versus TA-Lib or pandas-ta; validating results.1.7.3Candlestick patterns and support and resistance: how to code them and why many are not robust.1.7.4Multi-timeframe without look-ahead.
Research on this site to practise this level
Practice
- Python for Trading Course - Part 1: Market Data with OpenBB
- Limit Order Book - Aggregated Market Liquidity
- Big Data Management. 1 - Introduction to Big Data for Trading with ArcticDB
- Big Data Management 3 - Building a Datalake on the Nasdaq with ArcticDB.
- Seasonality in Python. Searching for Intraday Patterns