use quant_opts::{BlackScholes, MarketData, OptionStyle, OptionType, VanillaOption};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let option = VanillaOption::new(
OptionStyle::European,
OptionType::Call,
100.0,
45.0 / 365.25,
);
let market = MarketData::new(
102.0, 0.02, 0.00, );
let observed_price = 4.25;
let iv = BlackScholes::rational_implied_vol(observed_price, &option, &market)?;
println!("Implied volatility (rational) = {:.6}", iv);
Ok(())
}