Quant and fintech
Written for a Senior Python Quant Developer interview: quantitative models, trading strategies, and large-scale market data across equities, futures, forex and crypto.
The framing throughout is engineering, not finance theory. You are not expected to derive the Black-Scholes equation; you are expected to explain why a backtest is optimistic, how market data is stored so it can be queried at scale, and how an order reaches a venue without being sent twice.
Files
| # | File | Covers |
|---|---|---|
| 01 | Market data | tick/quote/book/bar, asset-class differences, futures continuation, survivorship and look-ahead bias, point-in-time storage |
| 02 | Backtesting | vectorized vs event-driven, the shift(1) bug, cost modelling, walk-forward with purging, what to report |
| 03 | Backtesting libraries | vectorbt, Backtrader, QuantConnect/LEAN, NautilusTrader — and which are still maintained |
| 04 | Portfolio optimization | mean-variance and why it is unstable, shrinkage, risk parity, HRP, Black-Litterman, CVaR |
| 05 | ML for finance | why standard CV is wrong here, triple-barrier labelling, purging and embargo, sample weighting, multiple testing |
| 06 | FIX protocol and connectivity | FIX session vs application layer, sequence numbers, quickfix, crypto REST/WebSocket, idempotent order submission |
| 07 | Python performance | vectorization ladder, Pandas vs Polars, Parquet layout, parallelism, reproducibility |
| 08 | Risk and production | risk metrics, position sizing, pre-trade checks, kill switch, reconciliation, monitoring, strategy decay |
The three questions this domain really asks
- “Why should I believe your backtest?” — biases, costs, and validation methodology. Files 01, 02, 05.
- “Does it work at scale?” — data volume, storage layout, query engine, parallelism. Files 01, 07.
- “What happens when it is live and something goes wrong?” — risk limits, reconciliation, monitoring, kill switch. Files 06, 08.
Most of question 3 is ordinary senior backend engineering: idempotency, at-least-once delivery, reconciliation loops, observability. That is where a backend specialist has the advantage over a pure researcher, and it is worth playing to.
Cross-references
- Data engineering — Parquet, Polars, Pandas limits: ../29_data_engineering/
- Classical ML and gradient boosting: ../../ai_ml/02_classical_ml/
- Model evaluation and metric choice: ../../ai_ml/04_model_evaluation/
- Resilience patterns — retries, idempotency, circuit breakers: ../../system_design/02_resilience/
- WebSockets, for exchange connectivity: ../12_protocols/websockets/
- Observability: ../15_observability/