lognormal mixture model
financepy.models.lognormal_mixture_model
Created on Mon Sep 7 17:59:06 2026
@author: Dominic
Class
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.