net.finmath.montecarlo.interestrate.products
Class AbstractLIBORMonteCarloProduct
- java.lang.Object
-
- net.finmath.montecarlo.AbstractMonteCarloProduct
-
- net.finmath.montecarlo.interestrate.products.AbstractLIBORMonteCarloProduct
-
- All Implemented Interfaces:
- ProductInterface
- Direct Known Subclasses:
- AbstractProductComponent, BermudanSwaption, Bond, Caplet, CMSOption, DigitalCaplet, FlexiCap, ForwardRateVolatilitySurfaceCurvature, MoneyMarketAccount, SimpleSwap, Swap, SwapLeg, Swaption, SwaptionAnalyticApproximation, SwaptionAnalyticApproximationRebonato, SwaptionSimple, SwaptionSingleCurveAnalyticApproximation
public abstract class AbstractLIBORMonteCarloProduct extends AbstractMonteCarloProduct
Base calls for product that need an AbstractLIBORMarketModel as base class
-
-
Constructor Summary
Constructors Constructor and Description AbstractLIBORMonteCarloProduct()AbstractLIBORMonteCarloProduct(java.lang.String currency)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method and Description FactorDriftInterfacegetFactorDrift(LIBORModelMonteCarloSimulationInterface referenceScheme, LIBORModelMonteCarloSimulationInterface targetScheme)Overwrite this method if the product supplies a custom FactorDriftInterface to be used in proxy simulation.abstract RandomVariableInterfacegetValue(double evaluationTime, LIBORModelMonteCarloSimulationInterface model)This method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime.RandomVariableInterfacegetValue(double evaluationTime, MonteCarloSimulationInterface model)This method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime.RandomVariableInterfacegetValueForModifiedData(double evaluationTime, MonteCarloSimulationInterface monteCarloSimulationInterface, java.util.Map<java.lang.String,java.lang.Object> dataModified)java.util.Map<java.lang.String,java.lang.Object>getValues(double evaluationTime, LIBORModelMonteCarloSimulationInterface model)This method returns the valuation of the product within the specified model, evaluated at a given evalutationTime.-
Methods inherited from class net.finmath.montecarlo.AbstractMonteCarloProduct
getCurrency, getValue, getValue, getValues, getValues, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, toString
-
-
-
-
Constructor Detail
-
AbstractLIBORMonteCarloProduct
public AbstractLIBORMonteCarloProduct(java.lang.String currency)
- Parameters:
currency- The currency of this product (may be null for "any currency").
-
AbstractLIBORMonteCarloProduct
public AbstractLIBORMonteCarloProduct()
-
-
Method Detail
-
getValue
public abstract 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.- 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.
-
getValueForModifiedData
public RandomVariableInterface getValueForModifiedData(double evaluationTime, MonteCarloSimulationInterface monteCarloSimulationInterface, java.util.Map<java.lang.String,java.lang.Object> dataModified) throws CalculationException
- Throws:
CalculationException
-
getValues
public java.util.Map<java.lang.String,java.lang.Object> getValues(double evaluationTime, LIBORModelMonteCarloSimulationInterface model) throws CalculationExceptionThis method returns the valuation of the product within the specified model, evaluated at a given evalutationTime. The valuation is returned in terms of a map. The map may contain additional information. 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.- 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 RandomVariableInterface getValue(double evaluationTime, MonteCarloSimulationInterface model) throws CalculationException
Description copied from class:AbstractMonteCarloProductThis method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime. 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. More generally: The value random variable is a random variable V*(t) such that the time-t conditional expectation of V*(t) is equal to the value of the financial product in time t. An example for V*(t) is the sum of t-discounted payoffs. Cashflows prior evaluationTime are not considered.- Specified by:
getValuein classAbstractMonteCarloProduct- 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.
-
getFactorDrift
public FactorDriftInterface getFactorDrift(LIBORModelMonteCarloSimulationInterface referenceScheme, LIBORModelMonteCarloSimulationInterface targetScheme)
Overwrite this method if the product supplies a custom FactorDriftInterface to be used in proxy simulation.- Parameters:
referenceScheme- The reference schemetargetScheme- The target scheme- Returns:
- The FactorDriftInterface
-
-
DataMelt 3.0 © DataMelt by jWork.ORG