Quant with Vahab
Quant Systems Lab · Control Systems for Quantitative Finance

Sanity Checks: Monotonicity and Bounds

Simple economic constraints such as monotonicity, sign, and arbitrage bounds catch deep bugs with minimal effort.

Explanation

Monotonicity checks verify, for example, that call prices decrease with strike and increase with underlying price.

Bounds checks ensure prices stay within known ranges, such as calls lying between max(S − K·DF, 0) and S.

Sign checks confirm that probabilities stay between 0 and 1 and that quantities like discount factors remain positive.

Sweeping across grids of parameters with these checks often reveals structural errors long before production.


sanitymonotonicityboundsno-arbitrage
Interactive visualisation
Sanity checks: monotonicity and bounds
Simple economic constraints catch deep bugs with minimal effort.
S
100
K
100
r
0.020
vol
0.25
T
1.00
Inject a bug
At (S,K)
10.8706
No-arbitrage bounds
[1.9801 , 100.0000]
Checks
PASS
These checks are cheap. They should run on grids, not only on a single trade.
Strike sweep (S fixed): monotonicity + boundsOK
Call price should decrease with strike.Bounds: max(S − K·DF, 0) ≤ C ≤ S
  • Monotonicity in strike catches sign mistakes and payoff logic errors.
  • Bounds catch discounting bugs and pathological negative prices quickly.
Spot sweep (K fixed): monotonicityOK
Call price should increase with spot.If this fails, something structural is wrong.
Interpretation
  • Sanity checks are fast enough to run on grids in CI.
  • They are not “proof”. They are early warning systems.
  • If a bug toggle breaks these, it would break production in subtler ways too.