Class Merton76Process
The Merton-76 jump-diffusion process: a Black-Scholes-Merton diffusion with lognormal jumps at a Poisson intensity.
public sealed class Merton76Process : StochasticProcess1D
- Inheritance
-
Merton76Process
- Inherited Members
Remarks
Immutable: the jump intensity, the mean log jump and the log jump volatility are numbers, as every quote is. As QuantLib's, the process carries its parameters for the jump-diffusion engine and implements no dynamics: its drift, diffusion and step refuse with QuantLib's texts, and so do its expectation, standard deviation and variance, which the discretization reads from them.
Constructors
Merton76Process(double, YieldTermStructure, YieldTermStructure, BlackVolTermStructure, double, double, double, StochasticProcess1DDiscretization?)
Initializes a new instance of the Merton76Process class.
public Merton76Process(double stateVariable, YieldTermStructure dividendTS, YieldTermStructure riskFreeTS, BlackVolTermStructure blackVolTS, double jumpIntensity, double logMeanJump, double logJumpVolatility, StochasticProcess1DDiscretization? d = null)
Parameters
stateVariabledoubleThe underlying's value.
dividendTSYieldTermStructureThe dividend curve.
riskFreeTSYieldTermStructureThe risk-free curve.
blackVolTSBlackVolTermStructureThe Black volatility.
jumpIntensitydoubleThe jump intensity.
logMeanJumpdoubleThe mean of the log jump.
logJumpVolatilitydoubleThe standard deviation of the log jump.
dStochasticProcess1DDiscretizationThe discretization, or null for QuantLib's default, Euler's.
Exceptions
- ArgumentNullException
A curve or the volatility is null.
- NanoQLException
The Black volatility can't be read at time 0 and the spot.
Properties
BlackVolatility
Gets the Black volatility.
public BlackVolTermStructure BlackVolatility { get; }
Property Value
DividendYield
Gets the dividend curve.
public YieldTermStructure DividendYield { get; }
Property Value
JumpIntensity
Gets the jump intensity.
public double JumpIntensity { get; }
Property Value
LogJumpVolatility
Gets the standard deviation of the log jump.
public double LogJumpVolatility { get; }
Property Value
LogMeanJump
Gets the mean of the log jump.
public double LogMeanJump { get; }
Property Value
RiskFreeRate
Gets the risk-free curve.
public YieldTermStructure RiskFreeRate { get; }
Property Value
StateVariable
Gets the underlying's value.
public double StateVariable { get; }
Property Value
X0
Gets the initial value of the state variable.
public override double X0 { get; }
Property Value
Methods
Apply(double, double)
The step, which the process doesn't implement.
public override double Apply(double x0, double dx)
Parameters
Returns
- double
Nothing: it throws.
Exceptions
- NanoQLException
Always, with QuantLib's text.
Diffusion(double, double)
The diffusion, which the process doesn't implement.
public override double Diffusion(double t, double x)
Parameters
Returns
- double
Nothing: it throws.
Exceptions
- NanoQLException
Always, with QuantLib's text.
Drift(double, double)
The drift, which the process doesn't implement.
public override double Drift(double t, double x)
Parameters
Returns
- double
Nothing: it throws.
Exceptions
- NanoQLException
Always, with QuantLib's text.
Time(Date)
The time of a date: the Black-Scholes-Merton process's, the risk-free curve's.
public override double Time(Date date)
Parameters
dateDateThe date.
Returns
- double
The time.