Module net.finmath.lib
Class LIBORVolatilityModelFromGivenMatrix
- java.lang.Object
-
- net.finmath.montecarlo.interestrate.models.covariance.LIBORVolatilityModel
-
- net.finmath.montecarlo.interestrate.models.covariance.LIBORVolatilityModelFromGivenMatrix
-
- All Implemented Interfaces:
Serializable
public class LIBORVolatilityModelFromGivenMatrix extends LIBORVolatilityModel
Implements a simple volatility model using given piece-wise constant values on a given discretization grid.- Version:
- 1.0
- Author:
- Christian Fries
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description LIBORVolatilityModelFromGivenMatrix(RandomVariableFactory abstractRandomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, double[][] volatility)
Creates a simple volatility model using given piece-wise constant values on a given discretization grid.LIBORVolatilityModelFromGivenMatrix(RandomVariableFactory abstractRandomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, double[][] volatility, boolean isCalibrateable)
Creates a simple volatility model using given piece-wise constant values on a given discretization grid.LIBORVolatilityModelFromGivenMatrix(RandomVariableFactory abstractRandomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, RandomVariable[][] volatility, boolean isCalibrateable)
Creates a simple volatility model using given piece-wise constant values on a given discretization grid.LIBORVolatilityModelFromGivenMatrix(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, double[][] volatility)
Creates a simple volatility model using given piece-wise constant values on a given discretization grid.LIBORVolatilityModelFromGivenMatrix(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, RandomVariable[][] volatility)
Creates a simple volatility model using given piece-wise constant values on a given discretization grid.LIBORVolatilityModelFromGivenMatrix(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, RandomVariable[][] volatility, boolean isCalibrateable)
Creates a simple volatility model using given piece-wise constant values on a given discretization grid.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
clone()
LIBORVolatilityModel
getCloneWithModifiedData(Map<String,Object> dataModified)
Returns a clone of this model where the specified properties have been modified.LIBORVolatilityModelFromGivenMatrix
getCloneWithModifiedParameter(RandomVariable[] parameter)
RandomVariable[]
getParameter()
RandomVariable
getVolatility(int timeIndex, int component)
Implement this method to complete the implementation.-
Methods inherited from class net.finmath.montecarlo.interestrate.models.covariance.LIBORVolatilityModel
getLiborPeriodDiscretization, getParameterAsDouble, getTimeDiscretization
-
-
-
-
Constructor Detail
-
LIBORVolatilityModelFromGivenMatrix
public LIBORVolatilityModelFromGivenMatrix(RandomVariableFactory abstractRandomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, RandomVariable[][] volatility, boolean isCalibrateable)
Creates a simple volatility model using given piece-wise constant values on a given discretization grid.- Parameters:
abstractRandomVariableFactory
- The random variable factor used to construct random variables from the parameters.timeDiscretization
- Discretization of simulation time.liborPeriodDiscretization
- Discretization of tenor times.volatility
- Volatility matrix volatility[timeIndex][componentIndex] where timeIndex the index of the start time in timeDiscretizationFromArray and componentIndex from liborPeriodDiscretizationisCalibrateable
- Set this to true, if the parameters are available for calibration.
-
LIBORVolatilityModelFromGivenMatrix
public LIBORVolatilityModelFromGivenMatrix(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, RandomVariable[][] volatility, boolean isCalibrateable)
Creates a simple volatility model using given piece-wise constant values on a given discretization grid.- Parameters:
timeDiscretization
- Discretization of simulation time.liborPeriodDiscretization
- Discretization of tenor times.volatility
- Volatility matrix volatility[timeIndex][componentIndex] where timeIndex the index of the start time in timeDiscretizationFromArray and componentIndex from liborPeriodDiscretizationisCalibrateable
- Set this to true, if the parameters are available for calibration.
-
LIBORVolatilityModelFromGivenMatrix
public LIBORVolatilityModelFromGivenMatrix(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, RandomVariable[][] volatility)
Creates a simple volatility model using given piece-wise constant values on a given discretization grid.- Parameters:
timeDiscretization
- Discretization of simulation time.liborPeriodDiscretization
- Discretization of tenor times.volatility
- Volatility matrix volatility[timeIndex][componentIndex] where timeIndex the index of the start time in timeDiscretizationFromArray and componentIndex from liborPeriodDiscretization
-
LIBORVolatilityModelFromGivenMatrix
public LIBORVolatilityModelFromGivenMatrix(RandomVariableFactory abstractRandomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, double[][] volatility, boolean isCalibrateable)
Creates a simple volatility model using given piece-wise constant values on a given discretization grid.- Parameters:
abstractRandomVariableFactory
- The random variable factor used to construct random variables from the parameters.timeDiscretization
- Discretization of simulation time.liborPeriodDiscretization
- Discretization of tenor times.volatility
- Volatility matrix volatility[timeIndex][componentIndex] where timeIndex the index of the start time in timeDiscretizationFromArray and componentIndex from liborPeriodDiscretizationisCalibrateable
- Set this to true, if the parameters are available for calibration.
-
LIBORVolatilityModelFromGivenMatrix
public LIBORVolatilityModelFromGivenMatrix(RandomVariableFactory abstractRandomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, double[][] volatility)
Creates a simple volatility model using given piece-wise constant values on a given discretization grid.- Parameters:
abstractRandomVariableFactory
- The random variable factor used to construct random variables from the parameters.timeDiscretization
- Discretization of simulation time.liborPeriodDiscretization
- Discretization of tenor times.volatility
- Volatility matrix volatility[timeIndex][componentIndex] where timeIndex the index of the start time in timeDiscretizationFromArray and componentIndex from liborPeriodDiscretization
-
LIBORVolatilityModelFromGivenMatrix
public LIBORVolatilityModelFromGivenMatrix(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, double[][] volatility)
Creates a simple volatility model using given piece-wise constant values on a given discretization grid.- Parameters:
timeDiscretization
- Discretization of simulation time.liborPeriodDiscretization
- Discretization of tenor times.volatility
- Volatility matrix volatility[timeIndex][componentIndex] where timeIndex the index of the start time in timeDiscretizationFromArray and componentIndex from liborPeriodDiscretization
-
-
Method Detail
-
getVolatility
public RandomVariable getVolatility(int timeIndex, int component)
Description copied from class:LIBORVolatilityModel
Implement this method to complete the implementation.- Specified by:
getVolatility
in classLIBORVolatilityModel
- Parameters:
timeIndex
- The time index (for timeDiscretizationFromArray)component
- The libor index (for liborPeriodDiscretization)- Returns:
- A random variable (e.g. as a vector of doubles) representing the volatility for each path.
-
getParameter
public RandomVariable[] getParameter()
- Specified by:
getParameter
in classLIBORVolatilityModel
-
getCloneWithModifiedParameter
public LIBORVolatilityModelFromGivenMatrix getCloneWithModifiedParameter(RandomVariable[] parameter)
- Specified by:
getCloneWithModifiedParameter
in classLIBORVolatilityModel
-
clone
public Object clone()
- Specified by:
clone
in classLIBORVolatilityModel
-
getCloneWithModifiedData
public LIBORVolatilityModel getCloneWithModifiedData(Map<String,Object> dataModified)
Description copied from class:LIBORVolatilityModel
Returns a clone of this model where the specified properties have been modified. Note that there is no guarantee that a model reacts on a specification of a properties in the parameter mapdataModified
. If data is provided which is ignored by the model no exception may be thrown. Furthermore the structure of the correlation model has to match changed data. A change of the time discretizations may requires a change in the parameters but this function will just insert the new time discretization without changing the parameters. An exception may not be thrown.- Specified by:
getCloneWithModifiedData
in classLIBORVolatilityModel
- Parameters:
dataModified
- Key-value-map of parameters to modify.- Returns:
- A clone of this model (or a new instance of this model if no parameter was modified).
-
-