Table of Contents

Class Merton76Process

Namespace
NanoQL.Processes
Assembly
NanoQL.dll

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

stateVariable double

The underlying's value.

dividendTS YieldTermStructure

The dividend curve.

riskFreeTS YieldTermStructure

The risk-free curve.

blackVolTS BlackVolTermStructure

The Black volatility.

jumpIntensity double

The jump intensity.

logMeanJump double

The mean of the log jump.

logJumpVolatility double

The standard deviation of the log jump.

d StochasticProcess1DDiscretization

The 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

BlackVolTermStructure

DividendYield

Gets the dividend curve.

public YieldTermStructure DividendYield { get; }

Property Value

YieldTermStructure

JumpIntensity

Gets the jump intensity.

public double JumpIntensity { get; }

Property Value

double

LogJumpVolatility

Gets the standard deviation of the log jump.

public double LogJumpVolatility { get; }

Property Value

double

LogMeanJump

Gets the mean of the log jump.

public double LogMeanJump { get; }

Property Value

double

RiskFreeRate

Gets the risk-free curve.

public YieldTermStructure RiskFreeRate { get; }

Property Value

YieldTermStructure

StateVariable

Gets the underlying's value.

public double StateVariable { get; }

Property Value

double

X0

Gets the initial value of the state variable.

public override double X0 { get; }

Property Value

double

Methods

Apply(double, double)

The step, which the process doesn't implement.

public override double Apply(double x0, double dx)

Parameters

x0 double

The state.

dx double

The increment.

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

t double

The time.

x double

The state.

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

t double

The time.

x double

The state.

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

date Date

The date.

Returns

double

The time.