net.finmath.montecarlo.interestrate.products
Class Swaption
- java.lang.Object
-
- net.finmath.montecarlo.AbstractMonteCarloProduct
-
- net.finmath.montecarlo.interestrate.products.AbstractLIBORMonteCarloProduct
-
- net.finmath.montecarlo.interestrate.products.Swaption
-
- All Implemented Interfaces:
- ProductInterface
public class Swaption extends AbstractLIBORMonteCarloProduct
Implements the valuation of a swaption under a LIBORModelMonteCarloSimulationInterface
-
-
Constructor Summary
Constructors Constructor and Description Swaption(double exerciseDate, double[] fixingDates, double[] paymentDates, double[] swaprates)Create a swaption.Swaption(double exerciseDate, double[] fixingDates, double[] paymentDates, double[] periodLengths, double[] swaprates)Create a swaption.Swaption(double exerciseDate, TimeDiscretizationInterface swapTenor, double swaprate)Creates a swaption using a TimeDiscretization
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description RandomVariableInterfacegetValue(double evaluationTime, LIBORModelMonteCarloSimulationInterface model)This method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime.doublegetValue(ForwardCurveInterface forwardCurve, double swaprateVolatility)This method returns the value of the product using a Black-Scholes model for the swap rate The model is determined by a discount factor curve and a swap rate volatility.java.lang.StringtoString()-
Methods inherited from class net.finmath.montecarlo.interestrate.products.AbstractLIBORMonteCarloProduct
getFactorDrift, getValue, getValueForModifiedData, getValues
-
Methods inherited from class net.finmath.montecarlo.AbstractMonteCarloProduct
getCurrency, getValue, getValue, getValues, getValues, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData
-
-
-
-
Constructor Detail
-
Swaption
public Swaption(double exerciseDate, double[] fixingDates, double[] paymentDates, double[] periodLengths, double[] swaprates)Create a swaption.- Parameters:
exerciseDate- Vector of exercise dates.fixingDates- Vector of fixing dates.paymentDates- Vector of payment dates (must have same length as fixing dates).periodLengths- Vector of period lengths.swaprates- Vector of strikes (must have same length as fixing dates).
-
Swaption
public Swaption(double exerciseDate, double[] fixingDates, double[] paymentDates, double[] swaprates)Create a swaption.- Parameters:
exerciseDate- Vector of exercise dates.fixingDates- Vector of fixing dates.paymentDates- Vector of payment dates (must have same length as fixing dates).swaprates- Vector of strikes (must have same length as fixing dates).
-
Swaption
public Swaption(double exerciseDate, TimeDiscretizationInterface swapTenor, double swaprate)Creates a swaption using a TimeDiscretization- Parameters:
exerciseDate- Exercise date.swapTenor- Object specifying period start and end dates.swaprate- Strike.
-
-
Method Detail
-
getValue
public RandomVariableInterface getValue(double evaluationTime, LIBORModelMonteCarloSimulationInterface model) throws CalculationException
This method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime. Note: For a lattice this is often the value conditional to evalutationTime, for a Monte-Carlo simulation this is the (sum of) value discounted to evaluation time. Cashflows prior evaluationTime are not considered.- Specified by:
getValuein classAbstractLIBORMonteCarloProduct- Parameters:
evaluationTime- The time on which this products value should be observed.model- The model used to price the product.- Returns:
- The random variable representing the value of the product discounted to evaluation time
- Throws:
CalculationException- Thrown if the valuation fails, specific cause may be available via thecause()method.
-
getValue
public double getValue(ForwardCurveInterface forwardCurve, double swaprateVolatility)
This method returns the value of the product using a Black-Scholes model for the swap rate The model is determined by a discount factor curve and a swap rate volatility.- Parameters:
forwardCurve- The forward curve on which to value the swap.swaprateVolatility- The Black volatility.- Returns:
- Value of this product
-
toString
public java.lang.String toString()
- Overrides:
toStringin classAbstractMonteCarloProduct
-
-
DataMelt 3.0 © DataMelt by jWork.ORG