OptionStratLib 0.17.0 — Black-76 & Garman-Kohlhagen FX Pricing
Release of two new closed-form pricing models:
Black-76 (Black 1976)
Pricing model for European options on futures and forwards. Reuses existing d1/d2/big_n helpers with Decimal end-to-end arithmetic. Only OptionType::European is supported.
Garman–Kohlhagen (1983)
Pricing model for European FX options. Structurally identical to BSM with q = r_f; delegates to black_scholes for bit-exact equivalence.
Technical Details
- Both models pass comprehensive reference regression tests (Hull, Wystup)
- PricingEngine now #[non_exhaustive] to prevent future major bumps
- Full test coverage with parity checks and edge cases
- PricingError variants now properly propagated (not wrapped)
See CHANGELOG.md for full details.