Class ErrorEstimation

java.lang.Object
net.finmath.singleswaprate.data.ErrorEstimation

public class ErrorEstimation extends Object
Provides several error estimates between values taken from market data and values taken from a model. The estimates first have to be generated, after which each estimate can be requested.
Author:
Christian Fries, Roland Bachl
  • Constructor Details

    • ErrorEstimation

      public ErrorEstimation(LocalDate referenceDate, SchedulePrototype fixMetaSchedule, SchedulePrototype floatMetaSchedule, AnnuityMapping.AnnuityMappingType annuityMappingType, SwaptionDataLattice physicalPremiumsATM, SwaptionDataLattice cashPayerPremiums, SwaptionDataLattice cashReceiverPremiums, String discountCurveName, String forwardCurveName, String volatilityCubeName, double replicationLowerBound, double replicationUpperBound, int replicationNumberOfEvaluationPoints) throws IOException
      Create the class.
      Parameters:
      referenceDate - The reference date.
      fixMetaSchedule - The meta data with which to create schedules from the tenor grid for the fixed leg.
      floatMetaSchedule - The meta data with which to create schedules from the tenor grid for the float leg.
      annuityMappingType - The type of annuity mapping to use for cash settled swaptions.
      physicalPremiumsATM - The lattice containing atm physically settled swaption premiums.
      cashPayerPremiums - The lattice containing cash payer premiums.
      cashReceiverPremiums - The lattice containing cash receiver premiums.
      discountCurveName - The name of the discount curve in the model.
      forwardCurveName - The name of the forward curve in the model.
      volatilityCubeName - The name of the volatility cube in the model.
      replicationLowerBound - The lowest strike to use during replication.
      replicationUpperBound - The highest strike to use during replication.
      replicationNumberOfEvaluationPoints - The number of strikes to evaluate during replication.
      Throws:
      IOException - Thrown when there is a problem fetching data from the MarketDataHandler.
  • Method Details

    • evaluate

      public void evaluate(SwaptionDataLattice nodes, VolatilityCubeModel model)
      Evaluate the market data against the model. The nodes to be evaluated on are given by a lattice. The values of the lattice are not taken into account, only their position. If no lattice (null) is provided, all available data is evaluated.
      Parameters:
      nodes - A lattice indicating on which points errors should be evaluated. Optional.
      model - The model against which to evaluate.
    • getCashAverageError

      public double getCashAverageError()
      Get the average error in cash settled swaption premiums.
      Returns:
      The average error in cash settled swaption premiums.
    • getCashMaxError

      public double getCashMaxError()
      Get the maximal error in cash settled swaption premiums.
      Returns:
      The maximal error in cash settled swaption premiums.
    • getCashAverageErrorPercent

      public double getCashAverageErrorPercent()
      Get the average error in cash settled swaption premiums, in percent difference from the market data.
      Returns:
      The average error in cash settled swaption premiums, in percent difference from the market data.
    • getCashMaxErrorPercent

      public double getCashMaxErrorPercent()
      Get the maximal error in cash settled swaption premiums, in percent difference from the market data.
      Returns:
      The maximal error in cash settled swaption premiums, in percent difference from the market data.
    • getPhysicalAverageError

      public double getPhysicalAverageError()
      Get the average error in physically settled swaption premiums.
      Returns:
      The average error in physically settled swaption premiums.
    • getPhysicalMaxError

      public double getPhysicalMaxError()
      Get the maximal error in physically settled swaption premiums.
      Returns:
      The maximal error in physically settled swaption premiums.
    • getPhysicalAverageErrorPercent

      public double getPhysicalAverageErrorPercent()
      Get the average error in physically settled swaption premiums, in percent difference from the market data.
      Returns:
      The average error in physically settled swaption premiums, in percent difference from the market data.
    • getPhysicalMaxErrorPercent

      public double getPhysicalMaxErrorPercent()
      Get the maximal error in physically settled swaption premiums, in percent difference from the market data.
      Returns:
      The maximal error in physically settled swaption premiums, in percent difference from the market data.
    • getCashAverageError

      public double getCashAverageError(int maturity, int termination, VolatilityCubeModel model)
      Get the average error in cash settled swaption premiums at a specific node on the tenor grid.
      Parameters:
      maturity - The maturity at which to evaluate.
      termination - The termination at which to evaluate.
      model - The model against which to evaluate.
      Returns:
      The average error in cash settled swaption premiums.
    • getCashMaxError

      public double getCashMaxError(int maturity, int termination, VolatilityCubeModel model)
      Get the maximal error in cash settled swaption premiums at a specific node on the tenor grid.
      Parameters:
      maturity - The maturity at which to evaluate.
      termination - The termination at which to evaluate.
      model - The model against which to evaluate.
      Returns:
      The maximal error in cash settled swaption premiums.
    • getCashAverageErrorPercent

      public double getCashAverageErrorPercent(int maturity, int termination, VolatilityCubeModel model)
      Get the average error in cash settled swaption premiums, in percent difference from the market data at a specific node on the tenor grid.
      Parameters:
      maturity - The maturity at which to evaluate.
      termination - The termination at which to evaluate.
      model - The model against which to evaluate.
      Returns:
      The average error in cash settled swaption premiums, in percent difference from the market data.
    • getCashMaxErrorPercent

      public double getCashMaxErrorPercent(int maturity, int termination, VolatilityCubeModel model)
      Get the maximal error in cash settled swaption premiums, in percent difference from the market data at a specific node on the tenor grid.
      Parameters:
      maturity - The maturity at which to evaluate.
      termination - The termination at which to evaluate.
      model - The model against which to evaluate.
      Returns:
      The maximal error in cash settled swaption premiums, in percent difference from the market data.