Interface TermStructureMonteCarloProduct
- All Superinterfaces:
MonteCarloProduct, Product
- All Known Implementing Classes:
AbstractIndex, AbstractLIBORMonteCarloProduct, AbstractPeriod, AbstractProductComponent, AbstractTermStructureMonteCarloProduct, AccrualAccount, AccruedInterest, AnalyticModelForwardCurveIndex, AnalyticModelIndex, BermudanSwaption, BermudanSwaptionFromSwapSchedules, Bond, CancelableSwap, Caplet, CappedFlooredIndex, Cashflow, Choice, CMSOption, ConstantMaturitySwaprate, DateIndex, DigitalCaplet, DigitalFloorlet, ExpectedTailLoss, ExposureEstimator, FixedCoupon, FlexiCap, ForwardCurveIndex, ForwardRateVolatilitySurfaceCurvature, FundingCapacityWithMemory, FundingCapacityWithoutMemory, IndexedValue, InterestRateMonteCarloProductFactory.SwapLegMonteCarlo, InterestRateMonteCarloProductFactory.SwapMonteCarlo, InterestRateMonteCarloProductFactory.SwaptionPhysicalMonteCarlo, LaggedIndex, LIBORBond, LIBORIndex, LinearCombinationIndex, MaxIndex, MinIndex, MoneyMarketAccount, Numeraire, NumerairePerformanceIndex, NumerairePerformanceOnScheduleIndex, Option, PerformanceIndex, Period, Portfolio, PowIndex, ProductCollection, ProductIndex, Selector, SimpleCappedFlooredFloatingRateBond, SimpleSwap, SimpleZeroSwap, Swap, SwapLeg, SwapLegWithFundingProvider, Swaption, SwaptionAnalyticApproximation, SwaptionAnalyticApproximationRebonato, SwaptionATM, SwaptionFromSwapSchedules, SwaptionGeneralizedAnalyticApproximation, SwaptionSimple, SwaptionSingleCurve, SwaptionSingleCurveAnalyticApproximation, SwaptionWithComponents, SwapWithComponents, TimeDiscreteEndOfMonthIndex, TriggerIndex, UnsupportedIndex
Interface for products requiring an LIBORModelMonteCarloSimulationModel as base class
- Version:
- 1.0
- Author:
- Christian Fries
-
Method Summary
Modifier and TypeMethodDescriptiongetFactorDrift(LIBORModelMonteCarloSimulationModel referenceScheme, LIBORModelMonteCarloSimulationModel targetScheme) Overwrite this method if the product supplies a custom FactorDriftInterface to be used in proxy simulation.getValue(double evaluationTime, TermStructureMonteCarloSimulationModel model) This method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime.getValues(double evaluationTime, TermStructureMonteCarloSimulationModel model) This method returns the valuation of the product within the specified model, evaluated at a given evalutationTime.Methods inherited from interface MonteCarloProduct
getCurrency, getValue, getValue, getValue, getValues, getValues, getValues, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData
-
Method Details
-
getValue
RandomVariable getValue(double evaluationTime, TermStructureMonteCarloSimulationModel 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.
-
getValues
Map<String,Object> getValues(double evaluationTime, TermStructureMonteCarloSimulationModel model) throws CalculationException This 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.
-
getFactorDrift
FactorTransform getFactorDrift(LIBORModelMonteCarloSimulationModel referenceScheme, LIBORModelMonteCarloSimulationModel 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
-