Building Volatility Surfaces in Rust
Every derivatives desk maintains code that maps (expiry, strike) pairs to implied volatilities. The pipeline is always the same: extract implied vols from option prices, fit parametric smile models per tenor, assemble a surface across tenors, check for arbitrage, and optionally extract local volatilities for Monte Carlo. In-house implementations of this pipeline are remarkably common, even though the core problem is well-understood. volsurf is a Rust library that implements this pipeline. This post covers why it exists, how it works, where the math gets tricky, and how fast it runs. ...