Interface JumpComponent
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
AbstractStateIndependentJumpComponent, BatesJumpComponent, MertonJumpComponent, VarianceGammaJumpComponent
This interface is intentionally narrow: it does not attempt to expose a fully generic non-local operator, but only the ingredients needed to assemble the jump term in the pricing PIDE.
The current convention is that jumps act on one selected state variable
through a
log-relative jump size y. In the standard stock-coordinate case, this
means
the affected state variable x is mapped to x * exp(y).
For an affected state variable x, the jump contribution is
interpreted as
integral [ u(..., x exp(y), ...) - u(..., x, ...)
- x (exp(y) - 1) partial_x u(..., x, ...) ] nu(dy),
where the compensation term is part of the integral definition.
This interface therefore complements, but does not modify, the meaning of
FiniteDifferenceEquityModel.getDrift(double, double...).
- Author:
- Alessandro Gnoatto
-
Method Summary
Modifier and TypeMethodDescriptiondoublegetLevyDensity(double time, double jumpSize, double... stateVariables) Returns the Levy density evaluated at the given jump size.doublegetLowerIntegrationBound(double time, double... stateVariables) Returns the lower integration bound for the jump variable.default intReturns the index of the state variable affected by the jump operator.doublegetUpperIntegrationBound(double time, double... stateVariables) Returns the upper integration bound for the jump variable.default booleanReturns whether the jump component has finite activity.default booleanReturns whether the jump component has finite variation.default booleanReturns whether the jump density depends explicitly on the current state.
-
Method Details
-
getStateVariableIndex
default int getStateVariableIndex()Returns the index of the state variable affected by the jump operator.The default is
0, corresponding to the first PDE state variable.- Returns:
- The index of the affected state variable.
-
getLowerIntegrationBound
double getLowerIntegrationBound(double time, double... stateVariables) Returns the lower integration bound for the jump variable.The jump variable is interpreted as a log-relative jump size
y. For infinite-support models this bound will typically be a numerical truncation chosen by the implementation.- Parameters:
time- The evaluation time.stateVariables- The current PDE state variables.- Returns:
- The lower integration bound.
-
getUpperIntegrationBound
double getUpperIntegrationBound(double time, double... stateVariables) Returns the upper integration bound for the jump variable.The jump variable is interpreted as a log-relative jump size
y. For infinite-support models this bound will typically be a numerical truncation chosen by the implementation.- Parameters:
time- The evaluation time.stateVariables- The current PDE state variables.- Returns:
- The upper integration bound.
-
getLevyDensity
double getLevyDensity(double time, double jumpSize, double... stateVariables) Returns the Levy density evaluated at the given jump size.The argument
jumpSizeis interpreted as the log-relative jumpy. In the standard stock-coordinate convention, the affected state variablexjumps tox * exp(y).- Parameters:
time- The evaluation time.jumpSize- The log-relative jump size.stateVariables- The current PDE state variables.- Returns:
- The Levy density
nu(y).
-
isStateDependent
default boolean isStateDependent()Returns whether the jump density depends explicitly on the current state.Bates and Variance Gamma in their standard forms are typically state- independent in the jump part, so the default is
false.- Returns:
trueif the jump density depends on the current state variables.
-
isFiniteActivity
default boolean isFiniteActivity()Returns whether the jump component has finite activity.This is metadata only and may be useful for later numerical choices.
- Returns:
trueif the jump measure has finite total mass.
-
isFiniteVariation
default boolean isFiniteVariation()Returns whether the jump component has finite variation.This is metadata only and may be useful for later numerical choices.
- Returns:
trueif the jump part has finite variation.
-