Skip to main content

Crate regit_svi

Crate regit_svi 

Source
Expand description

Focused SVI smiles, surfaces, calibration, and arbitrage evidence.

The crate is organized by the market-to-model workflow: validated market inputs, smile parametrisations, surfaces, calibration, arbitrage evidence, and density diagnostics. Numerical implementation details are private.

§Quick start

use regit_svi::{Quote, calibration::quasi_explicit};

let quotes = [
    Quote::new(-0.20, 0.0512, 1.0)?,
    Quote::new(-0.10, 0.0432, 1.0)?,
    Quote::new(0.00, 0.0400, 1.0)?,
    Quote::new(0.10, 0.0420, 1.0)?,
    Quote::new(0.20, 0.0480, 1.0)?,
];
let fit = quasi_explicit::calibrate(&quotes)?;
assert!(fit.slice().total_variance(0.05) > 0.0);

Re-exports§

pub use calibration::CalibrationReport;
pub use calibration::CalibrationResult;
pub use calibration::ConstraintMode;
pub use calibration::InitializationPolicy;
pub use calibration::ParameterizationEvidence;
pub use calibration::PhiFamily;
pub use calibration::RawParameterMargins;
pub use calibration::ResidualDiagnostics;
pub use calibration::SliceCalibrationConfig;
pub use calibration::SsviCalibration;
pub use calibration::SsviMaturity;
pub use calibration::SurfaceCalibrationConfig;
pub use calibration::SurfaceCalibrationReport;
pub use calibration::SurfaceParameterMargins;
pub use calibration::TerminationReason;
pub use density::DensityError;
pub use density::DensityReport;
pub use error::CalibrationError;
pub use error::ConvertError;
pub use error::ParamError;
pub use market::conventions::log_moneyness;
pub use market::conventions::total_variance_from_vol;
pub use market::quote::Quote;
pub use market::quote::SliceQuotes;
pub use market::quote::quotes_from_triples;
pub use market::units::LogMoneyness;
pub use market::units::Maturity;
pub use market::units::TotalVariance;
pub use no_arb::butterfly::ButterflyDiagnostic;
pub use no_arb::calendar::CalendarDiagnostic;
pub use no_arb::evidence::ArbitrageAssessment;
pub use no_arb::evidence::ArbitrageEvidence;
pub use no_arb::evidence::ArbitrageStatus;
pub use no_arb::evidence::DiagnosticError;
pub use no_arb::evidence::RawSearchStage;
pub use no_arb::evidence::RootEvidence;
pub use no_arb::evidence::RootTermination;
pub use no_arb::evidence::ScanConfig;
pub use no_arb::evidence::ScanEvidence;
pub use no_arb::evidence::SearchEvidence;
pub use smile::conversion::jw_to_raw;
pub use smile::conversion::raw_to_jw;
pub use smile::conversion::ssvi_to_raw;
pub use smile::jump_wings::SviJw;
pub use smile::raw::RawSvi;
pub use surface::ssvi::Phi;
pub use surface::ssvi::Ssvi;
pub use surface::TermStructure;
pub use surface::interpolation::Surface;

Modules§

calibration
Raw-slice and SSVI-surface calibration.
density
Risk-neutral density implied by a raw SVI slice.
error
Typed error enums for parametrisation, conversion, and calibration.
market
Validated market inputs and SVI conventions.
no_arb
Static-arbitrage assessments and their evidence.
smile
Single-maturity SVI smile parametrisations and conversions.
surface
SSVI parametrisation, validated term structures, and interpolation.