Skip to content

Parameter identifiability and uncertainty reports #25

Open

Description

@marwinsteiner

Context

SVI parameters can be poorly identified while the fitted smile is excellent: near-indistinguishable smiles from very different (a,b,rho,m,sigma). Stable fitted IV is not stable fitted parameters -- signals built on parameter changes can be pure optimizer noise.

Proposal

Per-fit identifiability tooling:

  • fit.jacobian() (dw/dtheta at the quotes), fit.condition_number()
  • fit.parameter_uncertainty() -- covariance from the Gauss-Newton approximation at the optimum (residual-scaled), reported as per-parameter standard errors and correlations
  • fit.identifiability_report() -- a formatted block flagging well/poorly identified directions (e.g. sigma-b correlation, wing under-determination on narrow strike ranges)

Builds on the analytic derivative kernels; ties into the fit-report wrapper.

Acceptance criteria

  • Narrow-strike fixture flags wing parameters as poorly identified while iv RMSE is tiny
  • Uncertainties shrink as the strike range widens
  • Works for the SVI family analytically; FD fallback elsewhere

Activity

  1. added this to the v1.1.0 milestone on Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions