public class LIBORCovarianceModelStochasticHestonVolatility extends AbstractLIBORCovarianceModelParametric
BrownianMotion. This can be used to generate correlations to
other objects. If you like to reuse a factor of another Brownian motion use a
BrownianMotionView
to delegate \( ( \mathrm{d} W_{1}(t) ) \) to a different object.
The parameter of this model is a joint parameter vector, consisting
of the parameter vector of the given base covariance model and
appending the parameters κ, θ and ξ at the end.
If this model is not calibrateable, its parameter vector is that of the
covariance model, i.e., ν and ρ will be not
part of the calibration.
For an illustration of its usage see the associated unit test.| Constructor and Description |
|---|
LIBORCovarianceModelStochasticHestonVolatility(AbstractLIBORCovarianceModelParametric covarianceModel,
BrownianMotion brownianMotion,
double kappa,
double theta,
double xi,
boolean isCalibrateable)
Create a modification of a given
AbstractLIBORCovarianceModelParametric with a stochastic volatility scaling. |
LIBORCovarianceModelStochasticHestonVolatility(AbstractLIBORCovarianceModelParametric covarianceModel,
BrownianMotion brownianMotion,
RandomVariable kappa,
RandomVariable theta,
RandomVariable xi,
boolean isCalibrateable)
Create a modification of a given
AbstractLIBORCovarianceModelParametric with a stochastic volatility scaling. |
| Modifier and Type | Method and Description |
|---|---|
Object |
clone() |
AbstractLIBORCovarianceModelParametric |
getCloneWithModifiedData(Map<String,Object> dataModified)
Returns a clone of this model where the specified properties have been modified.
|
AbstractLIBORCovarianceModelParametric |
getCloneWithModifiedParameters(double[] parameters)
Return an instance of this model using a new set of parameters.
|
AbstractLIBORCovarianceModelParametric |
getCloneWithModifiedParameters(RandomVariable[] parameters)
Return an instance of this model using a new set of parameters.
|
RandomVariable[] |
getFactorLoading(int timeIndex,
int component,
RandomVariable[] realizationAtTimeIndex)
Return the factor loading for a given time index and component index.
|
RandomVariable |
getFactorLoadingPseudoInverse(int timeIndex,
int component,
int factor,
RandomVariable[] realizationAtTimeIndex)
Returns the pseudo inverse of the factor matrix.
|
RandomVariable[] |
getParameter()
Get the parameters of determining this parametric
covariance model.
|
double[] |
getParameterAsDouble()
Get the parameters of determining this parametric
covariance model.
|
getCloneCalibrated, getCloneCalibrated, getCloneCalibratedLegazy, toStringgetCovariance, getCovariance, getFactorLoading, getFactorLoading, getLiborPeriodDiscretization, getNumberOfFactors, getTimeDiscretizationequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetCovariance, getCovariance, getFactorLoading, getFactorLoading, getLiborPeriodDiscretization, getNumberOfFactors, getTimeDiscretizationpublic LIBORCovarianceModelStochasticHestonVolatility(AbstractLIBORCovarianceModelParametric covarianceModel, BrownianMotion brownianMotion, RandomVariable kappa, RandomVariable theta, RandomVariable xi, boolean isCalibrateable)
AbstractLIBORCovarianceModelParametric with a stochastic volatility scaling.covarianceModel - A given AbstractLIBORCovarianceModelParametric.brownianMotion - An object implementing BrownianMotion with at least two factors. This class uses the first two factors, but you may use BrownianMotionView to change this.kappa - The initial value for κ, the mean reversion speed of the variance process V.theta - The initial value for θ the mean reversion level of the variance process V.xi - The initial value for ξ the volatility of the variance process V.isCalibrateable - If true, the parameters ν and ρ are parameters. Note that the covariance model (covarianceModel) may have its own parameter calibration settings.public LIBORCovarianceModelStochasticHestonVolatility(AbstractLIBORCovarianceModelParametric covarianceModel, BrownianMotion brownianMotion, double kappa, double theta, double xi, boolean isCalibrateable)
AbstractLIBORCovarianceModelParametric with a stochastic volatility scaling.covarianceModel - A given AbstractLIBORCovarianceModelParametric.brownianMotion - An object implementing BrownianMotion with at least two factors. This class uses the first two factors, but you may use BrownianMotionView to change this.kappa - The initial value for κ, the mean reversion speed of the variance process V.theta - The initial value for θ the mean reversion level of the variance process V.xi - The initial value for ξ the volatility of the variance process V.isCalibrateable - If true, the parameters ν and ρ are parameters. Note that the covariance model (covarianceModel) may have its own parameter calibration settings.public RandomVariable[] getParameter()
AbstractLIBORCovarianceModelParametricgetParameter in class AbstractLIBORCovarianceModelParametricpublic Object clone()
clone in class AbstractLIBORCovarianceModelParametricpublic AbstractLIBORCovarianceModelParametric getCloneWithModifiedParameters(RandomVariable[] parameters)
AbstractLIBORCovarianceModelParametricgetCloneWithModifiedParameters in class AbstractLIBORCovarianceModelParametricparameters - The new set of parameters.public AbstractLIBORCovarianceModelParametric getCloneWithModifiedParameters(double[] parameters)
AbstractLIBORCovarianceModelParametricgetCloneWithModifiedParameters in class AbstractLIBORCovarianceModelParametricparameters - The new set of parameters.public double[] getParameterAsDouble()
AbstractLIBORCovarianceModelParametricgetParameterAsDouble in class AbstractLIBORCovarianceModelParametricpublic RandomVariable[] getFactorLoading(int timeIndex, int component, RandomVariable[] realizationAtTimeIndex)
LIBORCovarianceModelgetFactorLoading in interface LIBORCovarianceModelgetFactorLoading in class AbstractLIBORCovarianceModeltimeIndex - The time index at which factor loading is requested.component - The index of the component i.realizationAtTimeIndex - The realization of the stochastic process (may be used to implement local volatility/covariance/correlation models).public RandomVariable getFactorLoadingPseudoInverse(int timeIndex, int component, int factor, RandomVariable[] realizationAtTimeIndex)
LIBORCovarianceModelgetFactorLoadingPseudoInverse in interface LIBORCovarianceModelgetFactorLoadingPseudoInverse in class AbstractLIBORCovarianceModeltimeIndex - The time index at which factor loading inverse is requested.component - The index of the component i.factor - The index of the factor j.realizationAtTimeIndex - The realization of the stochastic process (may be used to implement local volatility/covariance/correlation models).public AbstractLIBORCovarianceModelParametric getCloneWithModifiedData(Map<String,Object> dataModified) throws CalculationException
LIBORCovarianceModeldataModified. If data is provided which is ignored by the model
no exception may be thrown.
Furthermore the structure of the covariance model has to match changed data.
A change of the time discretizations may requires a change in the parameters
but this function will just insert the new time discretization without
changing the parameters. An exception may not be thrown.getCloneWithModifiedData in interface LIBORCovarianceModelgetCloneWithModifiedData in class AbstractLIBORCovarianceModeldataModified - Key-value-map of parameters to modify.CalculationException - Thrown when the model could not be created.Copyright © 2019. All rights reserved.