Module net.finmath.lib
Class AbstractAssetMonteCarloProduct
java.lang.Object
net.finmath.montecarlo.AbstractMonteCarloProduct
net.finmath.montecarlo.assetderivativevaluation.products.AbstractAssetMonteCarloProduct
- All Implemented Interfaces:
Product
,AssetMonteCarloProduct
,MonteCarloProduct
- Direct Known Subclasses:
AsianOption
,BasketOption
,BermudanDigitalOption
,BermudanOption
,BlackScholesDeltaHedgedPortfolio
,BlackScholesHedgedPortfolio
,DeltaHedgedPortfolioWithAAD
,DigitalOption
,DigitalOptionDeltaLikelihood
,EuropeanOption
,EuropeanOptionDeltaLikelihood
,EuropeanOptionDeltaPathwise
,EuropeanOptionDeltaPathwiseForGeometricModel
,EuropeanOptionGammaLikelihood
,EuropeanOptionGammaPathwise
,EuropeanOptionRhoLikelihood
,EuropeanOptionRhoPathwise
,EuropeanOptionThetaPathwise
,EuropeanOptionVegaLikelihood
,EuropeanOptionVegaPathwise
,EuropeanOptionWithBoundary
,FiniteDifferenceDeltaHedgedPortfolio
,FiniteDifferenceHedgedPortfolio
,ForwardAgreement
,ForwardAgreementWithFundingRequirement
,LocalRiskMinimizingHedgePortfolio
public abstract class AbstractAssetMonteCarloProduct
extends AbstractMonteCarloProduct
implements AssetMonteCarloProduct
Base class for products requiring an AssetModelMonteCarloSimulationModel for valuation.
- Version:
- 1.0
- Author:
- Christian Fries
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract RandomVariable
getValue(double evaluationTime, AssetModelMonteCarloSimulationModel model)
getValue(double evaluationTime, MonteCarloSimulationModel 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.AbstractMonteCarloProduct
getCurrency, getValue, getValue, getValues, getValues, getValues, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, toString
-
Constructor Details
-
AbstractAssetMonteCarloProduct
public AbstractAssetMonteCarloProduct()
-
-
Method Details
-
getValue
public abstract RandomVariable getValue(double evaluationTime, AssetModelMonteCarloSimulationModel model) throws CalculationException- Specified by:
getValue
in interfaceAssetMonteCarloProduct
- Throws:
CalculationException
-
getValue
public RandomVariable getValue(double evaluationTime, MonteCarloSimulationModel model) throws CalculationExceptionDescription copied from interface:MonteCarloProduct
This 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:
getValue
in interfaceMonteCarloProduct
- Specified by:
getValue
in 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.
-