Class CorrelationProviderTenorBasis

java.lang.Object
net.finmath.marketdata.model.volatility.caplet.tenorconversion.CorrelationProviderTenorBasis
All Implemented Interfaces:
CorrelationProvider

public class CorrelationProviderTenorBasis extends Object implements CorrelationProvider
This class implements a correlation provider based on iCap market data. The weekly iCap delivery consists of 3M and 6M caplet volatilities. Using those and the formulas from the Schlenkrich paper we can calculate the correlation between forward rates of the form F(0,0.5*i,0.5*i+0.3) and F(0,0.5*i+0.25,0.5*(i+1)). Those aren't enough though to convert tenors from anything else than 3M to 6M.
Author:
Daniel Willhalm
To dos:
Calibrate a parameterization as suggested by Schlenkrich given the calculated 3M correlations and use this parameterization to extract all missing correlations.
  • Constructor Details

  • Method Details

    • get6MCorrelation

      public double get6MCorrelation(double firstForwardFixingTimeVectorInYears, double secondForwardFixingTimeVectorInYears, AnalyticModel analyticModel) throws CalculationException
      Throws:
      CalculationException
    • get3MCorrelation

      public double get3MCorrelation(double firstForwardFixingTimeVectorInYears, double secondForwardFixingTimeVectorInYears, AnalyticModel analyticModel) throws CalculationException
      Throws:
      CalculationException
    • getiCap3MCapletVolMatrix

      public double[][] getiCap3MCapletVolMatrix()
    • getiCap6MCapletVolMatrix

      public double[][] getiCap6MCapletVolMatrix()
    • getCorrelationMatrix3M

      public double[][] getCorrelationMatrix3M()
    • getCorrelationMatrix6M

      public double[][] getCorrelationMatrix6M()
    • getICap3MCapletVolBootrapper

      public CapletVolBootstrapping getICap3MCapletVolBootrapper()
    • getICap6MCapletVolBootrapper

      public CapletVolBootstrapping getICap6MCapletVolBootrapper()
    • getCorrelation

      public double getCorrelation(int oldTenor, double firstForwardFixingTimeVectorInYears, double secondForwardFixingTimeVectorInYears, AnalyticModel analyticModel, String indexForDiscount) throws CalculationException
      Specified by:
      getCorrelation in interface CorrelationProvider
      Throws:
      CalculationException