FinancePy

FinancePy API Reference

Lognormal Mixture Model

financepy.models.lognormal_mixture_model

Created on Mon Sep 7 17:59:06 2026 @author: Dominic

Classes

LognormalMixtureModel

LognormalMixtureModel(F, T, r=0.0)
Two-component lognormal mixture model for a single maturity. Parameters ---------- F : float Market forward price. T : float Time to maturity. r : float Continuously compounded risk-free rate. Model parameters ---------------- p : float Weight of first component. displacement : float Determines F1 through F1 = F * exp(displacement). sigma1 : float Volatility of first component. sigma2 : float Volatility of second component. The second component forward F2 is determined by p F1 + (1-p) F2 = F so that the mixture satisfies the risk-neutral forward condition.

Methods

black_call

black_call(F, K, T, r, sigma)
Black call price in forward form: C = exp(-rT) [F N(d1) - K N(d2)]

black_implied_vol

black_implied_vol(price, F, K, T, r)
Recover Black implied volatility from a European call price.

price

price(self, K, p=None, displacement=None, sigma1=None, sigma2=None)
Price European calls under the two-component mixture.

implied_vol

implied_vol(self, K)
Return model implied volatility for one or several strikes.

density

density(self, ST)
Evaluate the calibrated terminal risk-neutral density.

calibrate

calibrate(self, strikes, market_vols, weights=None, initial_guess=None)
Calibrate the model to market implied volatilities. Parameters ---------- strikes : array-like Market strikes. market_vols : array-like Market implied volatilities in decimal form. weights : array-like, optional Calibration weights. initial_guess : array-like, optional Initial guess in raw optimisation coordinates. Returns ------- dict Calibrated parameters.

parameters

Return calibrated model parameters.

forward_check

Verify the risk-neutral forward condition.

calibration_errors

calibration_errors(self, strikes, market_vols)
Return model IVs and calibration errors.
Generated automatically from the FinancePy source code. Do not edit this file manually.