Topic · Quant Development & Systems
← All topicsProgramming for Quants
41 articles · 7 checkpoints · 23 deeper reads · 11 reference notes
A standalone topic: it is on no roadmap, so read it on its own terms.
Every article, in reading order
plant a flag as you finish eachRead these first
Floating-point numbers store a finite, binary approximation of a real number, so most decimal values are already slightly wrong before you do any arithmetic on them, and that error can accumulate.
A NumPy array is a single block of same-typed memory laid out for fast bulk math, and its dtype decides how many bytes each element costs and how it can silently overflow or round.
Vectorization replaces an explicit element-by-element Python loop with one call into compiled, bulk array code, which is usually tens to hundreds of times faster for the same computation.
An as-of join matches each row in one time series to the most recent available row in another, as of that moment, the standard way to line up data streams that don't update on the same clock.
C++ dominates the hot path of trading systems because it compiles to machine code with no garbage collector and no interpreter in the way, giving a programmer direct, predictable control over memory and timing.
Window functions let a SQL query compute things like a rolling average or a rank within a group without collapsing rows the way GROUP BY does, which is exactly the operation most market-data analysis needs, a running number per row, not one number per group.
The Global Interpreter Lock lets only one thread run Python bytecode at a time, so threading in Python speeds up waiting-on-I/O work but not CPU-bound number crunching, for that you need separate processes or code outside the GIL.
Then the rest