Class 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 Detail

      • 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 Detail

      • 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.
      • getCapletFixingTimeVectorInYears

        public double[] getCapletFixingTimeVectorInYears()