Skip to main content

VolSurface

Trait VolSurface 

pub trait VolSurface: Send + Sync {
    // Required methods
    fn black_vol(&self, expiry: f64, strike: f64) -> Result<f64, FerroRiskError>;
    fn smile_at(&self, expiry: f64) -> Result<Vec<(f64, f64)>, FerroRiskError>;
    fn is_arbitrage_free(&self) -> Result<ArbFreeReport, FerroRiskError>;

    // Provided method
    fn total_variance(
        &self,
        expiry: f64,
        strike: f64,
    ) -> Result<f64, FerroRiskError> { ... }
}

Required Methods§

fn black_vol(&self, expiry: f64, strike: f64) -> Result<f64, FerroRiskError>

fn smile_at(&self, expiry: f64) -> Result<Vec<(f64, f64)>, FerroRiskError>

fn is_arbitrage_free(&self) -> Result<ArbFreeReport, FerroRiskError>

Provided Methods§

fn total_variance( &self, expiry: f64, strike: f64, ) -> Result<f64, FerroRiskError>

Implementors§