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