Interface FiniteDifferenceProduct<M extends FiniteDifferenceModel>
- Type Parameters:
M- The finite-difference model type compatible with the product.
- All Superinterfaces:
Product
- All Known Subinterfaces:
FiniteDifferenceConstrainedProduct, FiniteDifferenceEquityEventProduct, FiniteDifferenceEquityProduct, FiniteDifferenceInterestRateProduct
- All Known Implementing Classes:
AmericanOption, AsianOption, BarrierOption, BasketOption, BermudanOption, BestOfOption, Bond, DigitalBarrierOption, DigitalBasketOption, DigitalOption, DoubleBarrierBinaryOption, DoubleBarrierOption, EuropeanOption, FloatingStrikeSwingOption, OptionOnBond, ShoutOption, Swap, SwapLeg, Swaption, Swaption.ResolvedSwaption, SwingOption, TouchOption, WorstOfOption
Base interface for finite-difference products.
The interface abstracts the common structure shared by all finite-difference products, independently of the asset class. A product is parameterized by the specific finite-difference model type against which it can be valued.
- Author:
- Alessandro Gnoatto
-
Method Summary
Modifier and TypeMethodDescriptionReturns the value.double[]Returns the value.default ObjectReturn the valuation of the product using the given model.double[][]Returns the value.
-
Method Details
-
getValue
Returns the value.- Parameters:
evaluationTime- The value.model- The value.- Returns:
- The value.
-
getValues
-
getModelClass
-
getValue
Description copied from interface:ProductReturn 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.
-