public abstract class AbstractLIBORCovarianceModelParametric extends AbstractLIBORCovarianceModel
AbstractLIBORCovarianceModel.
Parametric models feature a parameter vector which can be inspected
and modified for calibration purposes.
The parameter vector may have zero length, which indicated that the model
is not calibrateable.
This class includes the implementation of a generic calibration algorithm.
If you provide an arbitrary list of calibration products, the class can return
a new instance where the parameters are chosen such that the (weighted) root-mean-square
error of the difference of the value of the calibration products and given target
values is minimized.| Constructor and Description |
|---|
AbstractLIBORCovarianceModelParametric(TimeDiscretizationInterface timeDiscretization,
TimeDiscretizationInterface liborPeriodDiscretization,
int numberOfFactors)
Constructor consuming time discretizations, which are handled by the super class.
|
| Modifier and Type | Method and Description |
|---|---|
abstract Object |
clone() |
AbstractLIBORCovarianceModelParametric |
getCloneCalibrated(LIBORMarketModelInterface calibrationModel,
AbstractLIBORMonteCarloProduct[] calibrationProducts,
double[] calibrationTargetValues,
double[] calibrationWeights) |
AbstractLIBORCovarianceModelParametric |
getCloneCalibrated(LIBORMarketModelInterface calibrationModel,
AbstractLIBORMonteCarloProduct[] calibrationProducts,
double[] calibrationTargetValues,
double[] calibrationWeights,
Map<String,Object> calibrationParameters)
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.
|
AbstractLIBORCovarianceModelParametric |
getCloneWithModifiedParameters(double[] parameters) |
abstract double[] |
getParameter()
Get the parameters of determining this parametric
covariance model.
|
abstract void |
setParameter(double[] parameter) |
String |
toString() |
getCovariance, getCovariance, getFactorLoading, getFactorLoading, getFactorLoading, getFactorLoadingPseudoInverse, getLiborPeriodDiscretization, getNumberOfFactors, getTimeDiscretizationpublic AbstractLIBORCovarianceModelParametric(TimeDiscretizationInterface timeDiscretization, TimeDiscretizationInterface liborPeriodDiscretization, int numberOfFactors)
timeDiscretization - The vector of simulation time discretization points.liborPeriodDiscretization - The vector of tenor discretization points.numberOfFactors - The number of factors to use (a factor reduction is performed)public abstract double[] getParameter()
public abstract void setParameter(double[] parameter)
public AbstractLIBORCovarianceModelParametric getCloneWithModifiedParameters(double[] parameters)
public AbstractLIBORCovarianceModelParametric getCloneCalibrated(LIBORMarketModelInterface calibrationModel, AbstractLIBORMonteCarloProduct[] calibrationProducts, double[] calibrationTargetValues, double[] calibrationWeights) throws CalculationException
CalculationExceptionpublic AbstractLIBORCovarianceModelParametric getCloneCalibrated(LIBORMarketModelInterface calibrationModel, AbstractLIBORMonteCarloProduct[] calibrationProducts, double[] calibrationTargetValues, double[] calibrationWeights, Map<String,Object> calibrationParameters) throws CalculationException
Strings):
BrownianMotionInterface may be provided. If so, this Brownian motion is used to build the valuation model.calibrationModel - The LIBOR market model to be used for calibrations (specifies forward curve and tenor discretization).calibrationProducts - The array of calibration products.calibrationTargetValues - The array of target values.calibrationWeights - The array of weights.calibrationParameters - A map of type Map<String, Object> specifying some (optional) calibration parameters.this one, but with calibrated parameters.CalculationException - Thrown if calibration has failed.Copyright © 2015. All rights reserved.