Class AbstractShortRateVolatilityModelParametric

    • Constructor Detail

      • AbstractShortRateVolatilityModelParametric

        public AbstractShortRateVolatilityModelParametric​(TimeDiscretization timeDiscretization)
        Constructor consuming time discretization.
        Parameters:
        timeDiscretization - The vector of simulation time discretization points.
    • Method Detail

      • getParameter

        public abstract RandomVariable[] getParameter()
        Get the parameters of determining this parametric volatility model. The parameters are usually free parameters which may be used in calibration.
        Specified by:
        getParameter in interface ShortRateVolatilityModelParametric
        Returns:
        Parameter vector.
      • getCloneWithModifiedParameters

        public abstract AbstractShortRateVolatilityModelParametric getCloneWithModifiedParameters​(double[] parameters)
        Return an instance of this model using a new set of parameters. Note: To improve performance it is admissible to return the same instance of the object given that the parameters have not changed. Models should be immutable.
        Specified by:
        getCloneWithModifiedParameters in interface ShortRateVolatilityModelParametric
        Parameters:
        parameters - The new set of parameters.
        Returns:
        An instance of AbstractShortRateVolatilityModel with modified parameters.
      • getCloneWithModifiedParameters

        public abstract AbstractShortRateVolatilityModelParametric getCloneWithModifiedParameters​(RandomVariable[] parameters)
        Return an instance of this model using a new set of parameters. Note: To improve performance it is admissible to return the same instance of the object given that the parameters have not changed. Models should be immutable.
        Specified by:
        getCloneWithModifiedParameters in interface ShortRateVolatilityModelParametric
        Parameters:
        parameters - The new set of parameters.
        Returns:
        An instance of AbstractShortRateVolatilityModel with modified parameters.
      • getCloneCalibrated

        public AbstractShortRateVolatilityModelParametric getCloneCalibrated​(ShortRateModel calibrationModel,
                                                                             CalibrationProduct[] calibrationProducts,
                                                                             Map<String,​Object> calibrationParameters)
                                                                      throws CalculationException
        Performs a generic calibration of the parametric model by trying to match a given vector of calibration product to a given vector of target values using a given vector of weights. Optional calibration parameters may be passed using the map calibrationParameters. The keys are (Strings):
        • brownianMotion: Under this key an object implementing BrownianMotion may be provided. If so, this Brownian motion is used to build the valuation model.
        • maxIterations: Under this key an object of type Integer may be provided specifying the maximum number of iterations.
        • accuracy: Under this key an object of type Double may be provided specifying the desired accuracy. Note that this is understood in the sense that the solver will stop if the iteration does not improve by more than this number.
        Specified by:
        getCloneCalibrated in interface ShortRateVolatilityModelCalibrateable
        Parameters:
        calibrationModel - The LIBOR market model to be used for calibrations (specifies forward curve and tenor discretization).
        calibrationProducts - The array of calibration products.
        calibrationParameters - A map of type Map<String, Object> specifying some (optional) calibration parameters.
        Returns:
        A new parametric model of the same type than this one, but with calibrated parameters.
        Throws:
        CalculationException - Thrown if calibration has failed.
      • getCloneCalibratedLegazy

        public AbstractShortRateVolatilityModelParametric getCloneCalibratedLegazy​(ShortRateModel calibrationModel,
                                                                                   CalibrationProduct[] calibrationProducts,
                                                                                   Map<String,​Object> calibrationParameters)
                                                                            throws CalculationException
        Performs a generic calibration of the parametric model by trying to match a given vector of calibration product to a given vector of target values using a given vector of weights. Optional calibration parameters may be passed using the map calibrationParameters. The keys are (Strings):
        • brownianMotion: Under this key an object implementing BrownianMotion may be provided. If so, this Brownian motion is used to build the valuation model.
        • maxIterations: Under this key an object of type Integer may be provided specifying the maximum number of iterations.
        • accuracy: Under this key an object of type Double may be provided specifying the desired accuracy. Note that this is understood in the sense that the solver will stop if the iteration does not improve by more than this number.
        Parameters:
        calibrationModel - The LIBOR market model to be used for calibrations (specifies forward curve and tenor discretization).
        calibrationProducts - The array of calibration products.
        calibrationParameters - A map of type Map<String, Object> specifying some (optional) calibration parameters.
        Returns:
        A new parametric model of the same type than this one, but with calibrated parameters.
        Throws:
        CalculationException - Thrown if calibration has failed.