Class FlowScheduleCalculator

java.lang.Object
net.finmath.smartcontract.valuation.implementation.FlowScheduleCalculator

public class FlowScheduleCalculator extends Object
Decomposes the underlying swap of a Smart Derivative Contract contained in a FMPL into individual periods and values them using historic market data. Stores the results as flow-schedule objects of type FlowScheduleSwap or FlowScheduleSwapLeg.
Author:
Raphael Prandtl
  • Constructor Details

    • FlowScheduleCalculator

      public FlowScheduleCalculator()
  • Method Details

    • getFlowScheduleSwapXml

      public String getFlowScheduleSwapXml(String productData, String marketData)
      Parameters:
      productData - The FPML of the Smart Derivative Contract
      marketData - The FPML of the historic market data
      Returns:
      The flow schedule of the underlying swap as an XML-string.
    • getFlowScheduleSwap

      public FlowScheduleSwap getFlowScheduleSwap(String productData, String marketData)
      Parameters:
      productData - The FPML of the Smart Derivative Contract
      marketData - The FPML of the historic market data
      Returns:
      The flow schedule of the underlying swap as a FlowScheduleSwap
    • getFlowScheduleSwapLeg

      public FlowScheduleSwapLeg getFlowScheduleSwapLeg(String productData, String marketData, FlowScheduleCalculator.LegType legType)
      Parameters:
      productData - The FPML of the Smart Derivative Contract
      marketData - The FPML of the historic market data
      legType - The FlowScheduleCalculator.LegType of the swap, i.e. LEG_RECEIVER or LEG_PAYER
      Returns:
      The flow schedule of the underlying swap leg as an XML-string
    • getSmartderivativeContractDescriptor

      public SmartDerivativeContractDescriptor getSmartderivativeContractDescriptor(String productData)