Class LIBORCovarianceModelStochasticHestonVolatility

  • All Implemented Interfaces:
    Serializable, LIBORCovarianceModel, LIBORCovarianceModelCalibrateable

    public class LIBORCovarianceModelStochasticHestonVolatility
    extends AbstractLIBORCovarianceModelParametric
    As Heston like stochastic volatility model, using a process \( \lambda(t) = \sqrt(V(t)) \) \[ dV(t) = \kappa ( \theta - V(t) ) dt + \xi \sqrt{V(t)} dW_{1}(t), \quad V(0) = 1.0, \] where \( \lambda(0) = 1 \) to scale all factor loadings \( f_{i} \) returned by a given covariance model. The model constructed is \( \lambda(t) F(t) \) where \( \lambda(t) \) is a discretization of the above process and \( F = ( f_{1}, \ldots, f_{m} ) \) is the factor loading from the given covariance model. The process uses the first factor of the Brownian motion provided by an object implementing 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.
    Version:
    1.0
    Author:
    Christian Fries
    See Also:
    Serialized Form
    • Constructor Detail

      • LIBORCovarianceModelStochasticHestonVolatility

        public 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.
        Parameters:
        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.
      • LIBORCovarianceModelStochasticHestonVolatility

        public 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.
        Parameters:
        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.