Property-Based Testing
Property-based testing changed how I think about correctness in financial systems. From my early days with Haskell’s QuickCheck to using Hypothesis in Python quant code, I write about expressing invariants that must hold across generated inputs rather than hand-picking examples. In backtesting infrastructure, this approach catches the subtle data handling bugs that example-based tests routinely miss.
Metamorphic Relations for Backtests: Testing the Engine, Not the Strategy
You often don’t know the “correct” output of a backtest. But you know relationships that must hold when you transform the inputs. Increase fees, performance should drop. Scale …
Property-Based Testing Meets Financial Data: Turning Market Invariants into Executable Specifications
Property-based testing generates random inputs and checks invariants. Financial markets are full of invariants: non-negative spreads, consistent OHLC bars, monotonic timestamps. This article shows how …
The Testing Pyramid, Sideways: Software Testing Practices Analogues in Quantitative Trading
The quant research funnel maps almost directly onto the software testing pyramid. Exploration is customer discovery. Backtesting is unit testing. Statistical validation is integration testing. …
Thinking in Properties (and Beyond), Testing edition
Slide deck from conference talk discussing how property-based testing offers a launchpad to discover and practice thinking in properties in your software development activities to test your software …