Class CapletVolBootstrapping

java.lang.Object
net.finmath.marketdata.model.volatility.caplet.CapletVolBootstrapping

public class CapletVolBootstrapping extends Object
This class implements a caplet volatility bootstrapper. Given an object of type CapVolMarketData which contains market volatilities for caps it calculates the caplet volatilities.
Author:
Daniel Willhalm (initial version), Christian Fries (review and fixes)
  • Constructor Details

    • CapletVolBootstrapping

      public CapletVolBootstrapping(CorrelationProvider correlationProvider, CapVolMarketData capVolMarketData, AnalyticModel parsedModel)
      The constructor of the caplet bootstrapping class.
      Parameters:
      correlationProvider - The correlationProvider which is necessary only if the underlying cap data changes its tenor (common for EUR cap data).
      capVolMarketData - The market data for the caps.
      parsedModel - The analytic model for forward and discount curves.
    • CapletVolBootstrapping

      public CapletVolBootstrapping(CapVolMarketData capVolMarketData, AnalyticModel parsedModel)
      Overloaded constructor of the caplet bootstrapping class if a correlation provider isn't necessary.
      Parameters:
      capVolMarketData - The market data for the caps.
      parsedModel - The analytic model for forward and discount curves.
  • Method Details

    • getCapletVolMatrix

      public double[][] getCapletVolMatrix() throws CalculationException
      Method that bootstraps the caplet volatilities from the cap volatility data. It is assumed that the caplet volatilities between available cap volatility data is constant. The bisection method is used as a root finder to align the cap price and the sum of caplets price.
      Returns:
      The bootstrapped caplet volatility matrix.
      Throws:
      CalculationException - Thrown if calculation fails arithmetically.
    • calculateCapVolsFromCapletVols

      public double[][] calculateCapVolsFromCapletVols(double[][] inputCapletVolMatrix)
      Method that implements the opposite direction. That means using a caplet volatility matrix the cap volatility matrix is calculated
      Parameters:
      inputCapletVolMatrix - The caplet volatility matrix.
      Returns:
      The cap volatility matrix.
    • getParsedModel

      public AnalyticModel getParsedModel()
    • getDiscountCurve

      public DiscountCurve getDiscountCurve()
    • getForwardCurve

      public ForwardCurve getForwardCurve()
    • getCapletFixingTimeVectorInYears

      public double[] getCapletFixingTimeVectorInYears()