finMath lib documentation
net.finmath.marketdata.model

## Class AnalyticModelFromCurvesAndVols

• All Implemented Interfaces:
Serializable, Cloneable, AnalyticModel, Model
Direct Known Subclasses:
AnalyticModelFactory.DescribedAnalyticModel

public class AnalyticModelFromCurvesAndVols
extends Object
implements AnalyticModel, Serializable, Cloneable
Implements a collection of market data objects (e.g., discount curves, forward curve) which provide interpolation of market data or other derived quantities ("calibrated curves"). This can be seen as a model to be used in analytic pricing formulas - hence this class is termed AnalyticModelFromCuvesAndVols.
Version:
1.0
Author:
Christian Fries
Serialized Form
• ### Constructor Summary

Constructors
Constructor and Description
AnalyticModelFromCurvesAndVols()
Create an empty analytic model.
AnalyticModelFromCurvesAndVols(Collection<Curve> curves)
Create an analytic model with the given curves.
AnalyticModelFromCurvesAndVols(Curve[] curves)
Create an analytic model with the given curves.
AnalyticModelFromCurvesAndVols(LocalDate referenceDate)
Create an empty analytic model for a specified date.
AnalyticModelFromCurvesAndVols(LocalDate referenceDate, Collection<Curve> curves)
Create an analytic model with the given curves for the specified reference date.
AnalyticModelFromCurvesAndVols(LocalDate referenceDate, Curve[] curves)
Create an analytic model with the given curves for the specified reference date.
AnalyticModelFromCurvesAndVols(LocalDate referenceDate, Map<String,Curve> curvesMap, Map<String,VolatilitySurface> volatilitySurfaceMap)
Create an analytic model for the specified reference date, together with curves and volatility surfaces, each with their specific name.
• ### Method Summary

All Methods
Modifier and Type Method and Description
AnalyticModel addCurve(Curve curve)
AnalyticModel addCurve(String name, Curve curve)
Add a reference to a given curve under a given name to this model.
AnalyticModel addCurves(Curve... curves)
Create a new analytic model consisting of a clone of this one together with the given curves added.
AnalyticModel addCurves(Set<Curve> curves)
Create a new analytic model consisting of a clone of this one together with the given curves added.
AnalyticModel addVolatilitySurface(VolatilitySurface volatilitySurface)
AnalyticModel addVolatilitySurfaces(Set<VolatilitySurface> volatilitySurfaces)
Create a new analytic model consisting of a clone of this one together with the given volatility surfaces added.
AnalyticModel addVolatilitySurfaces(VolatilitySurface... volatilitySurfaces)
AnalyticModelFromCurvesAndVols clone()
AnalyticModel getCloneForParameter(Map<ParameterObject,double[]> curveParameterPairs)
Curve getCurve(String name)
Get a curve by a given curve name.
Map<String,Curve> getCurves()
Returns an unmodifiable map of all curves.
DiscountCurve getDiscountCurve(String discountCurveName)
Returns a discount curve for a given name.
ForwardCurve getForwardCurve(String forwardCurveName)
Returns a forward curve for a given name.
LocalDate getReferenceDate()
Returns the reference date of the curves of this model.
VolatilitySurface getVolatilitySurface(String name)
Returns a volatility surface for a given name.
Map<String,VolatilitySurface> getVolatilitySurfaces()
Returns an unmodifiable map of all volatility surfaces.
void setCurve(Curve curve)
Deprecated.
void setCurves(Curve[] curves)
Deprecated.
void setVolatilitySurface(VolatilitySurface volatilitySurface)
Deprecated.
String toString()
• ### Methods inherited from class java.lang.Object

equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
• ### Constructor Detail

• #### AnalyticModelFromCurvesAndVols

public AnalyticModelFromCurvesAndVols()
Create an empty analytic model.
• #### AnalyticModelFromCurvesAndVols

public AnalyticModelFromCurvesAndVols(LocalDate referenceDate)
Create an empty analytic model for a specified date.
Parameters:
referenceDate - The reference date that should be used for all curves and surfaces of this model.
• #### AnalyticModelFromCurvesAndVols

public AnalyticModelFromCurvesAndVols(Curve[] curves)
Create an analytic model with the given curves.
Parameters:
curves - The vector of curves.
• #### AnalyticModelFromCurvesAndVols

public AnalyticModelFromCurvesAndVols(Collection<Curve> curves)
Create an analytic model with the given curves.
Parameters:
curves - A collection of curves.
• #### AnalyticModelFromCurvesAndVols

public AnalyticModelFromCurvesAndVols(LocalDate referenceDate,
Curve[] curves)
Create an analytic model with the given curves for the specified reference date.
Parameters:
referenceDate - The reference date that should be used for all curves and surfaces of this model.
curves - The vector of curves.
• #### AnalyticModelFromCurvesAndVols

public AnalyticModelFromCurvesAndVols(LocalDate referenceDate,
Collection<Curve> curves)
Create an analytic model with the given curves for the specified reference date.
Parameters:
referenceDate - The reference date that should be used for all curves and surfaces of this model.
curves - A collection of curves.
• #### AnalyticModelFromCurvesAndVols

public AnalyticModelFromCurvesAndVols(LocalDate referenceDate,
Map<String,Curve> curvesMap,
Map<String,VolatilitySurface> volatilitySurfaceMap)
Create an analytic model for the specified reference date, together with curves and volatility surfaces, each with their specific name.
Parameters:
referenceDate - The reference date that should be used for all curves and surfaces of this model.
curvesMap - A map containing all curves, together with their names they should have in the model.
volatilitySurfaceMap - A map containing all volatility surfaces, together with their names they should have in the model.
• ### Method Detail

• #### getCurve

public Curve getCurve(String name)
Description copied from interface: AnalyticModel
Get a curve by a given curve name.
Specified by:
getCurve in interface AnalyticModel
Parameters:
name - The name of the curve.
Returns:
The curve with the corresponding name, given that it is part of this model, otherwise null is return.
• #### getCurves

public Map<String,Curve> getCurves()
Description copied from interface: AnalyticModel
Returns an unmodifiable map of all curves.
Specified by:
getCurves in interface AnalyticModel
Returns:
Map of all curves.

public AnalyticModel addCurve(String name,
Curve curve)
Description copied from interface: AnalyticModel
Add a reference to a given curve under a given name to this model. It is not necessary that the name given agrees with curve.getName(). This method comes in handy, if you like to create curve mappings.
Specified by:
addCurve in interface AnalyticModel
Parameters:
name - Name under which the curve is known in the model.
curve - The curve.
Returns:
A clone of this model, containing the curves of this model which are not known under the given name and the new curve under the given name.

public AnalyticModel addCurve(Curve curve)

public AnalyticModel addCurves(Curve... curves)
Description copied from interface: AnalyticModel
Create a new analytic model consisting of a clone of this one together with the given curves added.
Specified by:
addCurves in interface AnalyticModel
Parameters:
curves - The set of curves to add.
Returns:
A new analytic model.

public AnalyticModel addCurves(Set<Curve> curves)
Description copied from interface: AnalyticModel
Create a new analytic model consisting of a clone of this one together with the given curves added.
Specified by:
addCurves in interface AnalyticModel
Parameters:
curves - The list of curves to add.
Returns:
A new analytic model.
• #### setCurve

@Deprecated
public void setCurve(Curve curve)
Specified by:
setCurve in interface AnalyticModel
• #### setCurves

@Deprecated
public void setCurves(Curve[] curves)
Set some curves.
Parameters:
curves - Array of curves to set.
• #### getDiscountCurve

public DiscountCurve getDiscountCurve(String discountCurveName)
Description copied from interface: AnalyticModel
Returns a discount curve for a given name.
Specified by:
getDiscountCurve in interface AnalyticModel
Parameters:
discountCurveName - The name of the requested curve.
Returns:
discount curve corresponding to discountCurveName or null if no discountCurve with this name exists in the model
• #### getForwardCurve

public ForwardCurve getForwardCurve(String forwardCurveName)
Description copied from interface: AnalyticModel
Returns a forward curve for a given name.
Specified by:
getForwardCurve in interface AnalyticModel
Parameters:
forwardCurveName - The name of the requested curve.
Returns:
forward curve corresponding to forwardCurveName or null if no forwardCurve with this name exists in the model
• #### getVolatilitySurface

public VolatilitySurface getVolatilitySurface(String name)
Description copied from interface: AnalyticModel
Returns a volatility surface for a given name.
Specified by:
getVolatilitySurface in interface AnalyticModel
Parameters:
name - THe name of the requested surface.
Returns:
The volatility surface corresponding to the name.
• #### getVolatilitySurfaces

public Map<String,VolatilitySurface> getVolatilitySurfaces()
Description copied from interface: AnalyticModel
Returns an unmodifiable map of all volatility surfaces.
Specified by:
getVolatilitySurfaces in interface AnalyticModel
Returns:
Map of all volatility surfaces.

public AnalyticModel addVolatilitySurface(VolatilitySurface volatilitySurface)

public AnalyticModel addVolatilitySurfaces(VolatilitySurface... volatilitySurfaces)
Specified by:
addVolatilitySurfaces in interface AnalyticModel

public AnalyticModel addVolatilitySurfaces(Set<VolatilitySurface> volatilitySurfaces)
Description copied from interface: AnalyticModel
Create a new analytic model consisting of a clone of this one together with the given volatility surfaces added.
Specified by:
addVolatilitySurfaces in interface AnalyticModel
Parameters:
volatilitySurfaces - The list of volatility surfaces to add.
Returns:
A new analytic model.
• #### setVolatilitySurface

@Deprecated
public void setVolatilitySurface(VolatilitySurface volatilitySurface)
Specified by:
setVolatilitySurface in interface AnalyticModel
• #### clone

public AnalyticModelFromCurvesAndVols clone()
Specified by:
clone in interface AnalyticModel
Overrides:
clone in class Object
• #### getCloneForParameter

public AnalyticModel getCloneForParameter(Map<ParameterObject,double[]> curveParameterPairs)
throws CloneNotSupportedException
Specified by:
getCloneForParameter in interface AnalyticModel
Throws:
CloneNotSupportedException
• #### toString

public String toString()
Overrides:
toString in class Object
• #### getReferenceDate

public LocalDate getReferenceDate()
Returns the reference date of the curves of this model.
Returns:
The reference date of the model.