pub fn bsm_price( params: BsmParams, option_type: OptionType, ) -> FinanceResult<f64>
European BSM price.
Trading: model mark for edge vs mid (after fees). Engineering: pure function of BsmParams; validate domain first.
BsmParams
Non-finite or non-positive spot/strike; negative time or vol.