-
- All Known Subinterfaces:
AnalyticProduct
,AnalyticProduct
,AnalyticVolatilityCubeProduct
,DescribedProduct<T>
,FiniteDifference1DProduct
,FourierTransformProduct
,MonteCarloProduct
,TermStructureMonteCarloProduct
- All Known Implementing Classes:
AbstractAnalyticProduct
,AbstractAnalyticProduct
,AbstractAnalyticVolatilityCubeProduct
,AbstractAssetMonteCarloProduct
,AbstractFourierTransformProduct
,AbstractIndex
,AbstractLIBORMonteCarloProduct
,AbstractMonteCarloProduct
,AbstractPeriod
,AbstractProductComponent
,AbstractSingleSwapRateProduct
,AccrualAccount
,AccruedInterest
,AnalyticModelForwardCurveIndex
,AnalyticModelIndex
,AnnuityDummyProduct
,AsianOption
,BasketOption
,BermudanDigitalOption
,BermudanOption
,BermudanSwaption
,BermudanSwaptionFromSwapSchedules
,BlackScholesDeltaHedgedPortfolio
,BlackScholesHedgedPortfolio
,Bond
,Bond
,Bond
,BondWithForeignNumeraire
,CancelableSwap
,Cap
,Caplet
,CappedFlooredIndex
,CapShiftedVol
,Cashflow
,Cashflow
,Cashflow
,CashSettledPayerSwaption
,CashSettledReceiverSwaption
,Choice
,CMSOption
,ConstantMaturitySwap
,ConstantMaturitySwaprate
,DateIndex
,DeltaHedgedPortfolioWithAAD
,Deposit
,Deposit
,DigitalCaplet
,DigitalFloorlet
,DigitalOption
,DigitalOption
,DigitalOptionDeltaLikelihood
,EuropeanOption
,EuropeanOption
,EuropeanOptionDeltaLikelihood
,EuropeanOptionDeltaPathwise
,EuropeanOptionDeltaPathwiseForGeometricModel
,EuropeanOptionGammaLikelihood
,EuropeanOptionGammaPathwise
,EuropeanOptionRhoLikelihood
,EuropeanOptionRhoPathwise
,EuropeanOptionThetaPathwise
,EuropeanOptionVegaLikelihood
,EuropeanOptionVegaPathwise
,EuropeanOptionWithBoundary
,ExpectedTailLoss
,ExposureEstimator
,FDMEuropeanCallOption
,FDMEuropeanPutOption
,FiniteDifferenceDeltaHedgedPortfolio
,FiniteDifferenceHedgedPortfolio
,FixedCoupon
,FlexiCap
,Forward
,Forward
,ForwardAgreement
,ForwardAgreementWithFundingRequirement
,ForwardCurveIndex
,ForwardRateAgreement
,ForwardRateAgreement
,ForwardRateAgreementGeneralized
,ForwardRateVolatilitySurfaceCurvature
,FundingCapacity
,HybridAssetMonteCarloProduct
,IndexedValue
,InterestRateMonteCarloProductFactory.SwapLegMonteCarlo
,InterestRateMonteCarloProductFactory.SwapMonteCarlo
,InterestRateMonteCarloProductFactory.SwaptionPhysicalMonteCarlo
,LaggedIndex
,LIBORBond
,LIBORIndex
,LinearCombinationIndex
,LocalRiskMinimizingHedgePortfolio
,MarketForwardRateAgreement
,MarketForwardRateAgreement
,MaxIndex
,MinIndex
,MoneyMarketAccount
,NormalizingDummyProduct
,Numeraire
,NumerairePerformanceIndex
,NumerairePerformanceOnScheduleIndex
,Option
,Performance
,Performance
,PerformanceIndex
,Period
,Portfolio
,Portfolio
,Portfolio
,PortfolioMonteCarloProduct
,PowIndex
,ProductCollection
,ProductIndex
,Selector
,SimpleCappedFlooredFloatingRateBond
,SimpleSwap
,SimpleZeroSwap
,SingleAssetFourierProductFactory.DigitalOptionFourierMethod
,SingleAssetFourierProductFactory.EuropeanOptionFourierMethod
,SingleAssetMonteCarloProductFactory.DigitalOptionMonteCarlo
,SingleAssetMonteCarloProductFactory.EuropeanOptionMonteCarlo
,Swap
,Swap
,Swap
,SwapAnnuity
,SwapAnnuity
,SwapLeg
,SwapLeg
,SwapLeg
,SwapLegWithFundingProvider
,SwaprateCovarianceAnalyticApproximation
,Swaption
,SwaptionAnalyticApproximation
,SwaptionAnalyticApproximationRebonato
,SwaptionATM
,SwaptionFromSwapSchedules
,SwaptionGeneralizedAnalyticApproximation
,SwaptionSimple
,SwaptionSingleCurve
,SwaptionSingleCurveAnalyticApproximation
,SwaptionWithComponents
,SwapWithComponents
,TimeDiscreteEndOfMonthIndex
,TriggerIndex
,UnsupportedIndex
,UnsupportedProduct
,WorstOfExpressCertificate
public interface Product
Interface implemented by all financial product which may be valued by a model.- Version:
- 1.0
- Author:
- Christian Fries
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description Object
getValue(double evaluationTime, Model model)
Return the valuation of the product using the given model.default Map<String,Object>
getValues(double evaluationTime, Model model)
Return the valuation of the product using the given model.
-
-
-
Method Detail
-
getValue
Object getValue(double evaluationTime, Model model)
Return the valuation of the product using the given model. Implement this method using a checked cast of the model to a derived model for which the product provides a valuation algorithm. Example: an interest rate product requires that the passed model object implements the interface of an interest rate model. Since there is no polymorphism on arguments (see Double Dynamic Dispatch), we reply on a checked cast.- Parameters:
evaluationTime
- The evaluation time as double. Cash flows prior and including this time are not considered.model
- The model under which the product is valued.- Returns:
- Object containing the value of the product using the given model.
-
getValues
default Map<String,Object> getValues(double evaluationTime, Model model)
Return the valuation of the product using the given model. Implement this method using a checked cast of the model to a derived model for which the product provides a valuation algorithm. Example: an interest rate product requires that the passed model object implements the interface of an interest rate model. Since there is no polymorphism on arguments (see Double Dynamic Dispatch), we reply on a checked cast.- Parameters:
evaluationTime
- The evaluation time as double. Cash flows prior and including this time are not considered.model
- The model under which the product is valued.- Returns:
- Map containing the value of the product using the given model.
-
-