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
Backtests have a testing problem: you often do not know the correct output. Metamorphic relations sidestep that by asking whether the output changes correctly when the input is transformed. The full …
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 …