Module net.finmath.lib
Class LIBORVolatilityModelTimeHomogenousPiecewiseConstant
java.lang.Object
net.finmath.montecarlo.interestrate.models.covariance.LIBORVolatilityModel
net.finmath.montecarlo.interestrate.models.covariance.LIBORVolatilityModelTimeHomogenousPiecewiseConstant
- All Implemented Interfaces:
Serializable
Implements a piecewise constant volatility model, where
\( \sigma(t,T) = sigma_{i} \) where \( i = \max \{ j : \tau_{j} \leq T-t \} \) and
\( \tau_{0}, \tau_{1}, \ldots, \tau_{n-1} \) is a given time discretization.
- Version:
- 1.0
- Author:
- Christian Fries
- See Also:
- Serialized Form
-
Constructor Summary
ConstructorsConstructorDescriptionLIBORVolatilityModelTimeHomogenousPiecewiseConstant(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, TimeDiscretization timeToMaturityDiscretization, double[] volatility)
Create a piecewise constant volatility model, where \( \sigma(t,T) = sigma_{i} \) where \( i = \max \{ j : \tau_{j} \leq T-t \} \) and \( \tau_{0}, \tau_{1}, \ldots, \tau_{n-1} \) is a given time discretization.LIBORVolatilityModelTimeHomogenousPiecewiseConstant(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, TimeDiscretization timeToMaturityDiscretization, RandomVariable[] volatility)
Create a piecewise constant volatility model, where \( \sigma(t,T) = sigma_{i} \) where \( i = \max \{ j : \tau_{j} \leq T-t \} \) and \( \tau_{0}, \tau_{1}, \ldots, \tau_{n-1} \) is a given time discretization.LIBORVolatilityModelTimeHomogenousPiecewiseConstant(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, TimeDiscretization timeToMaturityDiscretization, double[] volatility)
Create a piecewise constant volatility model, where \( \sigma(t,T) = sigma_{i} \) where \( i = \max \{ j : \tau_{j} \leq T-t \} \) and \( \tau_{0}, \tau_{1}, \ldots, \tau_{n-1} \) is a given time discretization.LIBORVolatilityModelTimeHomogenousPiecewiseConstant(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, TimeDiscretization timeToMaturityDiscretization, RandomVariable[] volatility)
Create a piecewise constant volatility model, where \( \sigma(t,T) = sigma_{i} \) where \( i = \max \{ j : \tau_{j} \leq T-t \} \) and \( \tau_{0}, \tau_{1}, \ldots, \tau_{n-1} \) is a given time discretization. -
Method Summary
Modifier and TypeMethodDescriptionclone()
getCloneWithModifiedData(Map<String,Object> dataModified)
Returns a clone of this model where the specified properties have been modified.getCloneWithModifiedParameter(RandomVariable[] parameter)
getVolatility(int timeIndex, int liborIndex)
Implement this method to complete the implementation.Methods inherited from class net.finmath.montecarlo.interestrate.models.covariance.LIBORVolatilityModel
getLiborPeriodDiscretization, getParameterAsDouble, getTimeDiscretization
-
Constructor Details
-
LIBORVolatilityModelTimeHomogenousPiecewiseConstant
public LIBORVolatilityModelTimeHomogenousPiecewiseConstant(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, TimeDiscretization timeToMaturityDiscretization, RandomVariable[] volatility)Create a piecewise constant volatility model, where \( \sigma(t,T) = sigma_{i} \) where \( i = \max \{ j : \tau_{j} \leq T-t \} \) and \( \tau_{0}, \tau_{1}, \ldots, \tau_{n-1} \) is a given time discretization.- Parameters:
randomVariableFactory
- The random variable factor used to construct random variables from the parameters.timeDiscretization
- The simulation time discretization tj.liborPeriodDiscretization
- The period time discretization Ti.timeToMaturityDiscretization
- The discretization \( \tau_{0}, \tau_{1}, \ldots, \tau_{n-1} \) of the piecewise constant volatility function.volatility
- The values \( \sigma_{0}, \sigma_{1}, \ldots, \sigma_{n-1} \) of the piecewise constant volatility function.
-
LIBORVolatilityModelTimeHomogenousPiecewiseConstant
public LIBORVolatilityModelTimeHomogenousPiecewiseConstant(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, TimeDiscretization timeToMaturityDiscretization, RandomVariable[] volatility)Create a piecewise constant volatility model, where \( \sigma(t,T) = sigma_{i} \) where \( i = \max \{ j : \tau_{j} \leq T-t \} \) and \( \tau_{0}, \tau_{1}, \ldots, \tau_{n-1} \) is a given time discretization.- Parameters:
timeDiscretization
- The simulation time discretization tj.liborPeriodDiscretization
- The period time discretization Ti.timeToMaturityDiscretization
- The discretization \( \tau_{0}, \tau_{1}, \ldots, \tau_{n-1} \) of the piecewise constant volatility function.volatility
- The values \( \sigma_{0}, \sigma_{1}, \ldots, \sigma_{n-1} \) of the piecewise constant volatility function.
-
LIBORVolatilityModelTimeHomogenousPiecewiseConstant
public LIBORVolatilityModelTimeHomogenousPiecewiseConstant(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, TimeDiscretization timeToMaturityDiscretization, double[] volatility)Create a piecewise constant volatility model, where \( \sigma(t,T) = sigma_{i} \) where \( i = \max \{ j : \tau_{j} \leq T-t \} \) and \( \tau_{0}, \tau_{1}, \ldots, \tau_{n-1} \) is a given time discretization.- Parameters:
randomVariableFactory
- The random variable factor used to construct random variables from the parameters.timeDiscretization
- The simulation time discretization tj.liborPeriodDiscretization
- The period time discretization Ti.timeToMaturityDiscretization
- The discretization \( \tau_{0}, \tau_{1}, \ldots, \tau_{n-1} \) of the piecewise constant volatility function.volatility
- The values \( \sigma_{0}, \sigma_{1}, \ldots, \sigma_{n-1} \) of the piecewise constant volatility function.
-
LIBORVolatilityModelTimeHomogenousPiecewiseConstant
public LIBORVolatilityModelTimeHomogenousPiecewiseConstant(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, TimeDiscretization timeToMaturityDiscretization, double[] volatility)Create a piecewise constant volatility model, where \( \sigma(t,T) = sigma_{i} \) where \( i = \max \{ j : \tau_{j} \leq T-t \} \) and \( \tau_{0}, \tau_{1}, \ldots, \tau_{n-1} \) is a given time discretization.- Parameters:
timeDiscretization
- The simulation time discretization tj.liborPeriodDiscretization
- The period time discretization Ti.timeToMaturityDiscretization
- The discretization \( \tau_{0}, \tau_{1}, \ldots, \tau_{n-1} \) of the piecewise constant volatility function.volatility
- The values \( \sigma_{0}, \sigma_{1}, \ldots, \sigma_{n-1} \) of the piecewise constant volatility function.
-
-
Method Details
-
getParameter
- Specified by:
getParameter
in classLIBORVolatilityModel
-
getCloneWithModifiedParameter
public LIBORVolatilityModelTimeHomogenousPiecewiseConstant getCloneWithModifiedParameter(RandomVariable[] parameter)- Specified by:
getCloneWithModifiedParameter
in classLIBORVolatilityModel
-
getVolatility
Description copied from class:LIBORVolatilityModel
Implement this method to complete the implementation.- Specified by:
getVolatility
in classLIBORVolatilityModel
- Parameters:
timeIndex
- The time index (for timeDiscretizationFromArray)liborIndex
- The libor index (for liborPeriodDiscretization)- Returns:
- A random variable (e.g. as a vector of doubles) representing the volatility for each path.
-
clone
- Specified by:
clone
in classLIBORVolatilityModel
-
getCloneWithModifiedData
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).
-