01 / System boundary
The calibration is one part of the model
The project began as an implied-volatility fitting exercise. It became a study of the full chain of conditional decisions that determine a quoted surface and a theoretical price: carry, contract family, inversion, objective geometry, repair, exercise style, numerical resolution, and benchmark design.
Completed scope
Research and controlled batch pricing
Deterministic manifests, style-aware prices, surface diagnostics, matched early-exercise premiums, signal features, alerts, and claim-linked evidence.
Outside scope
Live trading and unattended risk
No live ingestion, execution, transaction-cost backtest, independent long-history validation, service-level guarantee, or claim of executable mispricing.
02 / Data, carry, and routing
Economic coordinates before surface parameters
European index carry is estimated expiry by expiry from put-call parity. American equity and ETF carry uses the zero curve and a projected cash-dividend schedule. The release bundle excludes licensed quote chains and credentials; synthetic workflows and sanitized aggregate evidence remain reproducible.
Contract families are classified before calibration on settlement, root class, and expiry archetype. This prevents a dense or well-behaved family from masking a tail in a different convention.
monthly_am_standardAM / standard rootStandard monthlyRepaired gridmonthly_pm_standardPM / weekly rootStandard monthlyRepaired gridweekly_pm_nonstandardPM / weekly rootNonstandard weeklyRepaired grid + guarded refinementeom_pmPM / weekly rootExplicit month-endRepaired gridquarter_end_pmPM / weekly rootExplicit quarter-endRepaired gridpooledMixedReporting unionNo calibration03 / Implied volatility and raw SVI
Bracketed inversion and price-aligned weights
Implied volatility is solved as a monotone price root with explicit economic bounds and failure states. The initial bracket is [10-6, 3], with guarded expansion to 5 and 8, Brent tolerance 10-8, and an 80-iteration limit. Lattice inversion searches for the lowest valid model point when very small volatility makes the risk-neutral probability invalid.
# src/volsurf/core/implied_vol.py
root, details = brentq(
objective,
effective_low,
high,
xtol=tolerance,
rtol=max(4.0 * math.ulp(1.0), tolerance),
maxiter=max_iterations,
full_output=True,
disp=False,
)
Raw SVI is fitted by bounded, deterministic multi-start L-BFGS-B in total variance. The Jacobian converts quote-price half-spread into local total-variance uncertainty. It aligns the objective with price sensitivity, but does not guarantee a globally arbitrage-free surface or remove model misspecification.

04 / Static-arbitrage diagnostics
Calibration and repair are separate operations
The fitted slices are evaluated on a regular (T, k) grid. Calendar repair applies least-squares isotonic projection down each maturity column. Strike rows are then adjusted by constrained SLSQP until the discrete butterfly diagnostic satisfies its configured tolerance. Raw and repaired outputs are both retained.
# src/volsurf/surfaces/repair.py
for column in range(grid.shape[1]):
original = grid[:, column]
projected = isotonic_increasing(original)
changed += int(np.sum(
np.abs(projected - original) > 1.0e-14
))
grid[:, column] = projected
result = minimize(
objective,
np.maximum(row, variance_floor),
method="SLSQP",
bounds=[(variance_floor, None)] * row.size,
constraints=constraints,
)


05 / Benchmark governance
Paired contexts, exact support, and tail behavior
Average quote-level RMSE was not a sufficient promotion rule. A dense chain could dominate an aggregate, a deployment basket could reuse calibration observations, and a favorable family could offset a severe adverse date. The benchmark was rebuilt around family-date contexts and predeclared policies.
Apply the same post-fit operator before attributing a difference to the surface family.
Compare only contexts present on both sides; report support loss rather than silently dropping failures.
Summarize quotes within family-date context before averaging across contexts.
Require bounded worst-date regression, stable shape diagnostics, and no-harm checks.
Score the export basket alongside a de-duplicated full-supported chain.
These audits reduce specific endogeneity concerns on the saved panels. They do not prove exogeneity on unobserved history, and they do not turn a small, irregular archive into a broad regime sample.
06 / Localized tail finding
A weak refinement, limited to nonstandard weeklies
The persistent European failure was concentrated in short-dated weekly_pm_nonstandard tails rather than average fit across all families. A weak price-local SVI refinement was allowed to change at most one eligible slice and was accepted only when price error improved without violating variance, parameter, butterfly, calendar-neighbor, or support guards.
07 / Alternatives and negative results
Useful research without global promotion
Several alternatives remained informative even when they did not become canonical. They identify where the baseline is vulnerable and where more data would be needed before changing policy.
monthly_pm_standard candidate, not as a global replacement.08 / American option pricing
Approximate normalization, explicit exercise downstream
American equity and ETF surfaces retain Black implied-volatility normalization because American-aware alternatives did not generalize on the available panels. That approximation is confined to calibration coordinates. Downstream theoretical prices preserve American exercise.
Both legs use identical spot, strike, maturity, rate, carry, volatility, and tree resolution. The difference is model conditional, not a unique economic attribution.
# src/volsurf/pricing/early_exercise.py
american = price_crr(
**common, exercise_style=ExerciseStyle.AMERICAN
)
european = price_crr(
**common, exercise_style=ExerciseStyle.EUROPEAN
)
premium = american.require_price() \
- european.require_price()
A positive model premium is not a trading signal. Borrow, dividend uncertainty, exercise operations, transaction costs, and model error can dominate the amount.
09 / Numerical validation
Tree and finite-difference convergence
Two apparent CRR-versus-PDE failures were traced to the comparison engine. The 400-step CRR price was within 0.00138 of its 3,200-step family reference. The original 400 × 400 CN-PSOR grid at a five-spot domain was materially under-resolved.
Canonical tree
CRR 400 stepsMaximum gap to 3,200-step CRR reference: 0.00138.Rejected PDE check
400 × 400, 5SReference gaps: about 0.323 and 0.0488.Retained PDE check
1,600 × 1,600, 4SReference gaps: about 0.00524 and 0.000605.C++17 library
Projected SOR with Rannacher startup
The library validates economic and numerical inputs and returns non-convergence as failure. Six CTest suites cover Black pricing, trees, European finite differences, American pricing, invariants, and invalid inputs.
The C++ solver is maintained independently. It is not yet invoked by the Python snapshot pipeline, so the project does not describe it as an integrated production cross-check.
// cpp/src/pricing.cpp
const double unconstrained =
residual / diagonal[index];
const double relaxed = solution[index]
+ settings.psor_omega
* (unconstrained - solution[index]);
const double projected =
std::max(obstacle[index], relaxed);
maximum_change = std::max(
maximum_change,
std::abs(projected - solution[index])
);
solution[index] = projected;
if (maximum_change
< settings.psor_tolerance) {
return {solution, iteration};
}
10 / Closing cross-market panel
Valid prices, strict quality failure retained
The closing accounting run covers INTC, NDX, NVDA, RUT, SPX, and SPY over eight August 2025 dates. Each asset contributes 400 prices. European indices use Black from the canonical repaired surface; American equities and ETF contracts use CRR with American exercise.
The pooled RMSE is 3.5122 and MAE is 1.4620, but neither is scale free. They are system-accounting statistics, not a universal accuracy claim. The release gate remains failed because the policy permits zero quote-quality failures; the threshold was not relaxed for presentation.
11 / Complete technical note
The report is the primary project record
The 55-page note contains the full mathematical and empirical path, including the parts that do not fit naturally on a portfolio page.
12 / Limitations and final state
Finished within a narrow evidence boundary
Irregular saved windows, limited transfer month, and no public quote-level redistribution. The panel is not a balanced or random regime sample.
Continuous-carry pricing is an approximation around discrete dividends. Black normalization remains approximate for American contracts.
The PDE convergence panel has two contracts. It rejects a coarse grid but does not establish a universal finite-difference resolution.
Signals and alerts are research outputs. No trading profitability, turnover, hedging, capacity, or execution claim is made.