Verification Report  ·  engine v30.5.4  ·  commit 8ee972f

Engine verification
report.

Result
Pass
Checks
22 / 22
Commit
8ee972f
Run (UTC)
2026-09-14

Generated by the test suite in the repository, executed by GitHub Actions against the commit named above, and reproduced below in full and unedited.

Put-call parity 3/3
Dividend applied once 1/1
CRR convergence 2/2
American ≥ European 3/3
One-sigma band accuracy 6/6
Band breach probability 2/2
Volatility lookback 1/1
Greeks sanity 3/3
Monte Carlo memory 1/1
Scope

What these tests establish, and what they do not.

Every check is a closed-form identity or a convergence property: a fact about the mathematics that is true or false independently of any market view. Put-call parity either holds or it does not. A binomial lattice either converges to the closed-form price or it does not. No market data, no API credentials and no network access are involved, which is why the same commit produces the same report on any machine.

They make no claim about trading results and none should be read into them. Verifying that an option is priced correctly says nothing about whether selling it is profitable. What is established here is that the arithmetic underneath the terminal is right.

Spot
100.00
Strike
100.00
Tenor
30 DTE
Risk-free
4.00%
Volatility
30.0%
Dividend q
0 / 2 / 5%
Lattice steps
200
MC paths
50,000
Same series, same day, five input lengthsidentical price history throughout
v30.5.2v30.5.3+601262525041000bars of history handed to the estimatorannualised vol
The old estimator had no lookback window — it measured whatever DataFrame it was handed, so the volatility feeding the expected-move bands changed with the caller's fetch depth. A signal that does not return the same answer twice cannot be validated at all.
One-sigma band calibration, before and afterterminal breach probability of the lower band
theory 15.87%16.93%v30.5.215.87%v30.5.3+30 DTE · σ 30%21.54%v30.5.215.86%v30.5.3+6 months · σ 60%
The band omitted the Ito drift term, so it was not a lognormal quantile and sat too close to spot. Every put strike taken from it was slightly more aggressive than its label implied. Corrected, it lands on theory at both tenors.
Put-call parity residualsthree dividend yields · build 8ee972f
tolerance 2e-4q = 0%6.00e-05q = 2%4.89e-06q = 5%9.65e-05residual of C − P − (S·e^−qT − K·e^−rT), log scale
Residuals sit at the rounding floor of the four decimal places the engine returns, three orders of magnitude inside tolerance. Parity is not approximately satisfied here; it is satisfied to the precision the output is quoted at.
Early-exercise premium by case200-step lattice · American less European
zero — American may never price below EuropeanPut, q = 0%+0.02210Put, q = 3%+0.00600Call, q = 6%+0.01210
A negative value here would mean the American tree had priced an option below its European equivalent, which is arbitrage and a guaranteed sign of a broken lattice. The premium is recomputed from the averaged trees so it cannot go negative through rounding.
Monte Carlo memory at maximum paths50,000 paths · measured peak
48 MB measured peak500 MB ceilingpath matrix is bounded, not proportional to a user-selectable slider
The maximum path count is the case that matters: if memory is going to break, it breaks at the top of the range, on someone else's session, in the middle of a scan.
Independent Verification

How to check this yourself.

The suite exits non-zero on any failure, so a passing run cannot be a silent one: a broken build turns the check red in public rather than reporting success by default. The report header names the engine version it certifies alongside the commit it was generated from. Where that version matches the one shown in the terminal sidebar, the software you are using is the software this report describes.

Full Report

Unedited output.

VRP QUANT — ENGINE VERIFICATION REPORT
======================================================================
Engine:     vrp_quant_engine_v30_5_4.py
Commit:     8ee972f81a9fa8819b5d78b21254a121e82679db
Branch:     main
Run UTC:    2026-09-14 13:05:29
Result:     PASS  (22 passed, 0 failed)
======================================================================

Every check below is a closed-form identity or a convergence property.
No market data, no API keys, no network access. These verify that the
pricing mathematics is correct — they make no claim about trading results.


=== 1. PUT-CALL PARITY ===
  [PASS] parity at q=0.0  — resid -6.00e-05
  [PASS] parity at q=0.02  — resid +4.89e-06
  [PASS] parity at q=0.05  — resid +9.65e-05

=== 2. DIVIDEND APPLIED EXACTLY ONCE ===
  [PASS] q enters S_adj or drift, not both  — diff +0.00e+00

=== 3. CRR CONVERGENCE TO BLACK-SCHOLES ===
  [PASS] CRR European put within 0.1% at 200 steps  — 0.0030%
  [PASS] CRR European call within 0.1% at 200 steps  — 0.0000%

=== 4. AMERICAN >= EUROPEAN, PREMIUM NON-NEGATIVE ===
  [PASS] American put >= European (q=0.0)  — early-ex +0.02210
  [PASS] American put >= European (q=0.03)  — early-ex +0.00600
  [PASS] American call >= European (q=0.06)  — early-ex +0.01210

=== 5. ONE-SIGMA BAND vs TRUE LOGNORMAL QUANTILE ===
  [PASS] lower_1s drift-corrected (T=0.082, vol=30%)  — band sits +0.00% of spot above true 1SD
  [PASS] upper_1s drift-corrected (T=0.082, vol=30%)  — band sits +0.00% of spot above true 1SD
  [PASS] lower_1s drift-corrected (T=0.123, vol=45%)  — band sits -0.00% of spot above true 1SD
  [PASS] upper_1s drift-corrected (T=0.123, vol=45%)  — band sits +0.00% of spot above true 1SD
  [PASS] lower_1s drift-corrected (T=0.500, vol=60%)  — band sits -0.00% of spot above true 1SD
  [PASS] upper_1s drift-corrected (T=0.500, vol=60%)  — band sits -0.00% of spot above true 1SD

=== 6. IMPLIED BREACH PROBABILITY OF THE 1SD BAND ===
  [PASS] lower_1s terminal breach prob ~15.9% (T=0.082, vol=30%)  — actual 15.87%
  [PASS] lower_1s terminal breach prob ~15.9% (T=0.500, vol=60%)  — actual 15.86%

=== 7. VOLATILITY ESTIMATOR: LOOKBACK STABILITY ===
  [PASS] calculate_vol has a fixed lookback  — vol by input length: 60d=26.7%, 126d=26.5%, 252d=26.5%, 504d=26.5%, 1000d=26.5%

=== 8. GREEKS SANITY ===
  [PASS] put delta in [-1,0]  — -0.4745
  [PASS] gamma > 0  — 0.04622
  [PASS] vega > 0  — 0.1140

=== 9. MONTE CARLO MEMORY BOUND AT MAX PATHS ===
  [PASS] MC peak memory under 500 MB at 50k paths  — 48 MB

======================================================================
PASSED 22   FAILED 0