pub trait SurfaceModel {
type Parameters;
// Required methods
fn parameters(&self) -> &Self::Parameters;
fn validate_params(&self) -> Result<()>;
fn total_variance(&self, k: f64, t: f64) -> Result<f64>;
fn check_calendar_arbitrage(&self, k: f64, t1: f64, t2: f64) -> Result<()>;
fn check_butterfly_arbitrage_at_k(&self, k: f64, t: f64) -> Result<()>;
}Expand description
Surface model trait for implied volatility calculations