Class AbstractAnalyticVolatilityCubeProduct

java.lang.Object
net.finmath.singleswaprate.products.AbstractAnalyticVolatilityCubeProduct
All Implemented Interfaces:
AnalyticProduct, Product, AnalyticVolatilityCubeProduct
Direct Known Subclasses:
AbstractSingleSwapRateProduct

public abstract class AbstractAnalyticVolatilityCubeProduct extends Object implements AnalyticVolatilityCubeProduct
Abstract layer between interface and implementation, which ensures compatibility of model and product.
Author:
Christian Fries, Roland Bachl
  • Constructor Details

    • AbstractAnalyticVolatilityCubeProduct

      public AbstractAnalyticVolatilityCubeProduct()
  • Method Details

    • getValue

      public double getValue(double evaluationTime, AnalyticModel model)
      Description copied from interface: AnalyticProduct
      Return the valuation of the product using the given model. The model has to implement the modes of AnalyticModel.
      Specified by:
      getValue in interface AnalyticProduct
      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:
      The value of the product using the given model.
    • getValue

      public Object getValue(double evaluationTime, Model model)
      Description copied from interface: Product
      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.
      Specified by:
      getValue in interface Product
      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.
    • getValue

      public double getValue(VolatilityCubeModel model)
      Return the valuation of the product at time 0 using the given model. The model has to implement the modes of VolatilityCubeModel.
      Parameters:
      model - The model under which the product is valued.
      Returns:
      The value of the product using the given model.