Module net.finmath.lib
Class InterestRateMonteCarloProductFactory.SwaptionPhysicalMonteCarlo
- java.lang.Object
-
- net.finmath.montecarlo.AbstractMonteCarloProduct
-
- net.finmath.montecarlo.interestrate.products.AbstractLIBORMonteCarloProduct
-
- net.finmath.modelling.productfactory.InterestRateMonteCarloProductFactory.SwaptionPhysicalMonteCarlo
-
- All Implemented Interfaces:
DescribedProduct<InterestRateSwaptionProductDescriptor>
,Product
,TermStructureMonteCarloProduct
,MonteCarloProduct
- Enclosing class:
- InterestRateMonteCarloProductFactory
public static class InterestRateMonteCarloProductFactory.SwaptionPhysicalMonteCarlo extends AbstractLIBORMonteCarloProduct implements DescribedProduct<InterestRateSwaptionProductDescriptor>
Monte-Carlo method based implementation of a physically settled interest rate swaption from a product descriptor.- Author:
- Christian Fries, Roland Bachl
-
-
Constructor Summary
Constructors Constructor Description SwaptionPhysicalMonteCarlo(InterestRateSwaptionProductDescriptor descriptor, LocalDate referenceDate)
Create product from descriptor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description InterestRateSwaptionProductDescriptor
getDescriptor()
Return a product descriptor representing this product.RandomVariable
getValue(double evaluationTime, LIBORModelMonteCarloSimulationModel model)
This method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime.-
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, getValues, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.finmath.montecarlo.MonteCarloProduct
getCurrency, getValue, getValue, getValues, getValues, getValues, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData
-
-
-
-
Constructor Detail
-
SwaptionPhysicalMonteCarlo
public SwaptionPhysicalMonteCarlo(InterestRateSwaptionProductDescriptor descriptor, LocalDate referenceDate)
Create product from descriptor.- Parameters:
descriptor
- The descriptor of the product.referenceDate
- The reference date of the data for the valuation, used to convert absolute date to relative dates in double representation.
-
-
Method Detail
-
getDescriptor
public InterestRateSwaptionProductDescriptor getDescriptor()
Description copied from interface:DescribedProduct
Return a product descriptor representing this product.- Specified by:
getDescriptor
in interfaceDescribedProduct<InterestRateSwaptionProductDescriptor>
- Returns:
- The product descriptor of this product.
-
getValue
public RandomVariable getValue(double evaluationTime, LIBORModelMonteCarloSimulationModel model) throws CalculationException
Description copied from interface:TermStructureMonteCarloProduct
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:
getValue
in interfaceTermStructureMonteCarloProduct
- Specified by:
getValue
in 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.
-
-