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
ConstructorsConstructorDescriptionAbstractVolatilitySurfaceParametric(String name, LocalDate referenceDate)
AbstractVolatilitySurfaceParametric(String name, LocalDate referenceDate, ForwardCurve forwardCurve, DiscountCurve discountCurve, VolatilitySurface.QuotingConvention quotingConvention, DayCountConvention daycountConvention)
-
Method Summary
Modifier and TypeMethodDescriptiongetCloneCalibrated(AnalyticModel calibrationModel, Vector<AnalyticProduct> calibrationProducts, List<Double> calibrationTargetValues, Map<String,Object> calibrationParameters)
getCloneCalibrated(AnalyticModel calibrationModel, Vector<AnalyticProduct> calibrationProducts, List<Double> calibrationTargetValues, Map<String,Object> calibrationParameters, ParameterTransformation parameterTransformation)
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 Details
-
AbstractVolatilitySurfaceParametric
public AbstractVolatilitySurfaceParametric(String name, LocalDate referenceDate, ForwardCurve forwardCurve, DiscountCurve discountCurve, VolatilitySurface.QuotingConvention quotingConvention, DayCountConvention daycountConvention) -
AbstractVolatilitySurfaceParametric
-
-
Method Details
-
getCloneForParameter
public abstract AbstractVolatilitySurfaceParametric getCloneForParameter(double[] value) throws CloneNotSupportedExceptionReturns 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 SolverExceptionCreate 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.
-