Module net.finmath.lib
Class AbstractVolatilitySurfaceParametric
- java.lang.Object
-
- net.finmath.marketdata.model.volatilities.AbstractVolatilitySurface
-
- net.finmath.marketdata.model.volatilities.AbstractVolatilitySurfaceParametric
-
- All Implemented Interfaces:
Cloneable
,ParameterObject
,VolatilitySurface
- Direct Known Subclasses:
CapletVolatilitiesParametric
,CapletVolatilitiesParametricDisplacedFourParameterAnalytic
,CapletVolatilitiesParametricFourParameterPicewiseConstant
public abstract class AbstractVolatilitySurfaceParametric extends AbstractVolatilitySurface implements ParameterObject
Base class for parametric volatility surfaces, implementing a generic calibration algorithm.- Version:
- 1.0
- Author:
- Christian Fries
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.finmath.marketdata.model.volatilities.VolatilitySurface
VolatilitySurface.QuotingConvention
-
-
Constructor Summary
Constructors Constructor Description AbstractVolatilitySurfaceParametric(String name, LocalDate referenceDate)
AbstractVolatilitySurfaceParametric(String name, LocalDate referenceDate, ForwardCurve forwardCurve, DiscountCurve discountCurve, VolatilitySurface.QuotingConvention quotingConvention, DayCountConvention daycountConvention)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description AbstractVolatilitySurfaceParametric
getCloneCalibrated(AnalyticModel calibrationModel, Vector<AnalyticProduct> calibrationProducts, List<Double> calibrationTargetValues, Map<String,Object> calibrationParameters)
AbstractVolatilitySurfaceParametric
getCloneCalibrated(AnalyticModel calibrationModel, Vector<AnalyticProduct> calibrationProducts, List<Double> calibrationTargetValues, Map<String,Object> calibrationParameters, ParameterTransformation parameterTransformation)
AbstractVolatilitySurfaceParametric
getCloneCalibrated(AnalyticModel calibrationModel, Vector<AnalyticProduct> calibrationProducts, List<Double> calibrationTargetValues, Map<String,Object> calibrationParameters, ParameterTransformation parameterTransformation, OptimizerFactory optimizerFactory)
Create a clone of this volatility surface using a generic calibration of its parameters to given market data.abstract AbstractVolatilitySurfaceParametric
getCloneForParameter(double[] value)
Returns a clone of this volatility surface with modified parameters.-
Methods inherited from class net.finmath.marketdata.model.volatilities.AbstractVolatilitySurface
clone, convertFromTo, convertFromTo, getDaycountConvention, getDiscountCurve, getForwardCurve, getName, getQuotingConvention, getReferenceDate, toString
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.finmath.marketdata.calibration.ParameterObject
getParameter, setParameter
-
Methods inherited from interface net.finmath.marketdata.model.volatilities.VolatilitySurface
getValue, getValue
-
-
-
-
Constructor Detail
-
AbstractVolatilitySurfaceParametric
public AbstractVolatilitySurfaceParametric(String name, LocalDate referenceDate, ForwardCurve forwardCurve, DiscountCurve discountCurve, VolatilitySurface.QuotingConvention quotingConvention, DayCountConvention daycountConvention)
-
-
Method Detail
-
getCloneForParameter
public abstract AbstractVolatilitySurfaceParametric getCloneForParameter(double[] value) throws CloneNotSupportedException
Returns a clone of this volatility surface with modified parameters.- Specified by:
getCloneForParameter
in interfaceParameterObject
- Parameters:
value
- Parameter array.- Returns:
- Clone with new parameters.
- Throws:
CloneNotSupportedException
- Thrown if this object cannot be cloned.
-
getCloneCalibrated
public AbstractVolatilitySurfaceParametric getCloneCalibrated(AnalyticModel calibrationModel, Vector<AnalyticProduct> calibrationProducts, List<Double> calibrationTargetValues, Map<String,Object> calibrationParameters) throws CalculationException, SolverException
- Throws:
CalculationException
SolverException
-
getCloneCalibrated
public AbstractVolatilitySurfaceParametric getCloneCalibrated(AnalyticModel calibrationModel, Vector<AnalyticProduct> calibrationProducts, List<Double> calibrationTargetValues, Map<String,Object> calibrationParameters, ParameterTransformation parameterTransformation) throws CalculationException, SolverException
- Throws:
CalculationException
SolverException
-
getCloneCalibrated
public AbstractVolatilitySurfaceParametric getCloneCalibrated(AnalyticModel calibrationModel, Vector<AnalyticProduct> calibrationProducts, List<Double> calibrationTargetValues, Map<String,Object> calibrationParameters, ParameterTransformation parameterTransformation, OptimizerFactory optimizerFactory) throws SolverException
Create a clone of this volatility surface using a generic calibration of its parameters to given market data.- Parameters:
calibrationModel
- The model used during calibration (contains additional objects required during valuation, e.g. curves).calibrationProducts
- The calibration products.calibrationTargetValues
- The target values of the calibration products.calibrationParameters
- A map containing additional settings like "evaluationTime" (Double).parameterTransformation
- An optional parameter transformation.optimizerFactory
- The factory providing the optimizer to be used during calibration.- Returns:
- An object having the same type as this one, using (hopefully) calibrated parameters.
- Throws:
SolverException
- Exception thrown when solver fails.
-
-