Class ScenarioMarketSurfaceBuilder

java.lang.Object
org.drip.state.creator.ScenarioMarketSurfaceBuilder

public class ScenarioMarketSurfaceBuilder
extends java.lang.Object
ScenarioMarketSurfaceBuilder implements the construction of the scenario market Node surface using the input option instruments, their quotes, and a wide variety of custom builds. It implements the following Functions:
  • Build an Instance of the Market Node Surface using Custom Wire Span and Surface Splines
  • Construct a Scenario Market Surface off of Cubic Polynomial Wire Spline and Cubic Polynomial Surface Spline
  • Construct a Scenario Market Surface off of Quartic Polynomial Wire Spline and Quartic Polynomial Surface Spline
  • Construct a Scenario Market Surface off of Kaklis-Pandelis Wire Spline and Kaklis-Pandelis Surface Spline
  • Construct a Scenario Market Surface off of KLK Hyperbolic Wire Spline and KLK Hyperbolic Surface Spline
  • Construct a Scenario Market Surface off of KLK Rational Linear Wire Spline and KLK Rational Linear Surface Spline
  • Construct a Scenario Market Surface off of KLK Rational Quadratic Wire Spline and KLK Rational Quadratic Surface Spline
  • Construct a Scenario Market Surface off of Custom Wire Spline and Custom Surface Spline
  • Create a Price/Volatility Market Surface Based off of a Single Run using the Heston 1993 Model

Module Product Core Module
Library Fixed Income Analytics
Project Latent State Inference and Creation Utilities
Package Scenario State Curve/Surface Builders
Author:
Lakshmi Krishnamurthy
  • Constructor Summary

    Constructors
    Constructor Description
    ScenarioMarketSurfaceBuilder()  
  • Method Summary

    Modifier and Type Method Description
    static MarketSurface CubicPolynomialWireSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double[] xArray, java.lang.String[] tenorArray, double[][] nodeGrid)
    Construct a Scenario Market Surface off of Cubic Polynomial Wire Spline and Cubic Polynomial Surface Spline.
    static MarketSurface CustomSplineWireSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double[] xArray, double[] yArray, double[][] nodeGrid, SegmentCustomBuilderControl wireSpanSegmentCustomBuilderControl, SegmentCustomBuilderControl surfaceSegmentCustomBuilderControl)
    Build an Instance of the Market Node Surface using Custom Wire Span and Surface Splines.
    static MarketSurface CustomWireSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double[] xArray, java.lang.String[] tenorArray, double[][] nodeGrid, SegmentCustomBuilderControl wireSpanSegmentCustomBuilderControl, SegmentCustomBuilderControl surfaceSegmentCustomBuilderControl)
    Construct a Scenario Market Surface off of Custom Wire Spline and Custom Surface Spline.
    static MarketSurface HestonRunMarketSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double riskFreeRate, double underlier, boolean isForward, double initialVolatility, double[] strikeArray, java.lang.String[] tenorArray, HestonOptionPricerParams hestonOptionPricerParams, boolean generatePriceSurface, SegmentCustomBuilderControl wireSpanSegmentCustomBuilderControl, SegmentCustomBuilderControl surfaceSpanSegmentCustomBuilderControl)
    Create a Price/Volatility Market Surface Based off of a Single Run using the Heston 1993 Model
    static MarketSurface KaklisPandelisWireSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double[] xArray, java.lang.String[] tenorArray, double[][] nodeGrid)
    Construct a Scenario Market Surface off of Kaklis-Pandelis Wire Spline and Kaklis-Pandelis Surface Spline.
    static MarketSurface KLKHyperbolicWireSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double[] xArray, java.lang.String[] tenorArray, double[][] nodeGrid, double tension)
    Construct a Scenario Market Surface off of KLK Hyperbolic Wire Spline and KLK Hyperbolic Surface Spline.
    static MarketSurface KLKRationalLinearWireSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double[] xArray, java.lang.String[] tenorArray, double[][] nodeGrid, double tension)
    Construct a Scenario Market Surface off of KLK Rational Linear Wire Spline and KLK Rational Linear Surface Spline.
    static MarketSurface KLKRationalQuadraticWireSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double[] xArray, java.lang.String[] tenorArray, double[][] nodeGrid, double tension)
    Construct a Scenario Market Surface off of KLK Rational Quadratic Wire Spline and KLK Rational Quadratic Surface Spline.
    static MarketSurface QuarticPolynomialWireSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double[] xArray, java.lang.String[] tenorArray, double[][] nodeGrid)
    Construct a Scenario Market Surface off of Quartic Polynomial Wire Spline and Quartic Polynomial Surface Spline.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ScenarioMarketSurfaceBuilder

      public ScenarioMarketSurfaceBuilder()
  • Method Details

    • CustomSplineWireSurface

      public static final MarketSurface CustomSplineWireSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double[] xArray, double[] yArray, double[][] nodeGrid, SegmentCustomBuilderControl wireSpanSegmentCustomBuilderControl, SegmentCustomBuilderControl surfaceSegmentCustomBuilderControl)
      Build an Instance of the Market Node Surface using Custom Wire Span and Surface Splines.
      Parameters:
      name - Name of the Volatility Surface
      startDate - Start/Epoch Julian Date
      currency - Currency
      xArray - Array of X Ordinates
      yArray - Array of Y Ordinates
      nodeGrid - Double Array of the Surface Nodes
      wireSpanSegmentCustomBuilderControl - The Wire Span Segment Customizer
      surfaceSegmentCustomBuilderControl - The Surface Segment Customizer
      Returns:
      Instance of the Market Node Surface
    • CubicPolynomialWireSurface

      public static final MarketSurface CubicPolynomialWireSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double[] xArray, java.lang.String[] tenorArray, double[][] nodeGrid)
      Construct a Scenario Market Surface off of Cubic Polynomial Wire Spline and Cubic Polynomial Surface Spline.
      Parameters:
      name - Name of the Volatility Surface
      startDate - Start/Epoch Julian Date
      currency - Currency
      xArray - Array of X Ordinates
      tenorArray - Array of Maturity Tenors
      nodeGrid - Double Array of the Surface Nodes
      Returns:
      Instance of the Market Node Surface
    • QuarticPolynomialWireSurface

      public static final MarketSurface QuarticPolynomialWireSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double[] xArray, java.lang.String[] tenorArray, double[][] nodeGrid)
      Construct a Scenario Market Surface off of Quartic Polynomial Wire Spline and Quartic Polynomial Surface Spline.
      Parameters:
      name - Name of the Volatility Surface
      startDate - Start/Epoch Julian Date
      currency - Currency
      xArray - Array of X Ordinates
      tenorArray - Array of Maturity Tenors
      nodeGrid - Double Array of the Surface Nodes
      Returns:
      Instance of the Market Node Surface
    • KaklisPandelisWireSurface

      public static final MarketSurface KaklisPandelisWireSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double[] xArray, java.lang.String[] tenorArray, double[][] nodeGrid)
      Construct a Scenario Market Surface off of Kaklis-Pandelis Wire Spline and Kaklis-Pandelis Surface Spline.
      Parameters:
      name - Name of the Volatility Surface
      startDate - Start/Epoch Julian Date
      currency - Currency
      xArray - Array of X Ordinates
      tenorArray - Array of Maturity Tenors
      nodeGrid - Double Array of the Surface Nodes
      Returns:
      Instance of the Market Node Surface
    • KLKHyperbolicWireSurface

      public static final MarketSurface KLKHyperbolicWireSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double[] xArray, java.lang.String[] tenorArray, double[][] nodeGrid, double tension)
      Construct a Scenario Market Surface off of KLK Hyperbolic Wire Spline and KLK Hyperbolic Surface Spline.
      Parameters:
      name - Name of the Volatility Surface
      startDate - Start/Epoch Julian Date
      currency - Currency
      xArray - Array of X Ordinates
      tenorArray - Array of Maturity Tenors
      nodeGrid - Double Array of the Surface Nodes
      tension - The Tension Parameter
      Returns:
      Instance of the Market Node Surface
    • KLKRationalLinearWireSurface

      public static final MarketSurface KLKRationalLinearWireSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double[] xArray, java.lang.String[] tenorArray, double[][] nodeGrid, double tension)
      Construct a Scenario Market Surface off of KLK Rational Linear Wire Spline and KLK Rational Linear Surface Spline.
      Parameters:
      name - Name of the Volatility Surface
      startDate - Start/Epoch Julian Date
      currency - Currency
      xArray - Array of X Ordinates
      tenorArray - Array of Maturity Tenors
      nodeGrid - Double Array of the Surface Nodes
      tension - The Tension Parameter
      Returns:
      Instance of the Market Node Surface
    • KLKRationalQuadraticWireSurface

      public static final MarketSurface KLKRationalQuadraticWireSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double[] xArray, java.lang.String[] tenorArray, double[][] nodeGrid, double tension)
      Construct a Scenario Market Surface off of KLK Rational Quadratic Wire Spline and KLK Rational Quadratic Surface Spline.
      Parameters:
      name - Name of the Volatility Surface
      startDate - Start/Epoch Julian Date
      currency - Currency
      xArray - Array of X Ordinates
      tenorArray - Array of Maturity Tenors
      nodeGrid - Double Array of the Surface Nodes
      tension - The Tension Parameter
      Returns:
      Instance of the Market Node Surface
    • CustomWireSurface

      public static final MarketSurface CustomWireSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double[] xArray, java.lang.String[] tenorArray, double[][] nodeGrid, SegmentCustomBuilderControl wireSpanSegmentCustomBuilderControl, SegmentCustomBuilderControl surfaceSegmentCustomBuilderControl)
      Construct a Scenario Market Surface off of Custom Wire Spline and Custom Surface Spline.
      Parameters:
      name - Name of the Volatility Surface
      startDate - Start/Epoch Julian Date
      currency - Currency
      xArray - Array of X Ordinates
      tenorArray - Array of Maturity Tenors
      nodeGrid - Double Array of the Surface Nodes
      wireSpanSegmentCustomBuilderControl - The Wire Span Segment Customizer
      surfaceSegmentCustomBuilderControl - The Surface Segment Customizer
      Returns:
      Instance of the Market Node Surface
    • HestonRunMarketSurface

      public static final MarketSurface HestonRunMarketSurface​(java.lang.String name, JulianDate startDate, java.lang.String currency, double riskFreeRate, double underlier, boolean isForward, double initialVolatility, double[] strikeArray, java.lang.String[] tenorArray, HestonOptionPricerParams hestonOptionPricerParams, boolean generatePriceSurface, SegmentCustomBuilderControl wireSpanSegmentCustomBuilderControl, SegmentCustomBuilderControl surfaceSpanSegmentCustomBuilderControl)
      Create a Price/Volatility Market Surface Based off of a Single Run using the Heston 1993 Model
      Parameters:
      name - Surface Name
      startDate - Epoch/Start Date
      currency - Currency
      riskFreeRate - Risk-Free Rate
      underlier - The Underlier
      isForward - TRUE - The Underlier represents the Forward, FALSE - it represents Spot
      initialVolatility - Initial Volatility
      strikeArray - Array of Strikes
      tenorArray - Array of Maturity Tenors
      hestonOptionPricerParams - The Heston Stochastic Volatility Generation Parameters
      generatePriceSurface - TRUE - Generate the Price Surface; FALSE - Generate the Vol Surface
      wireSpanSegmentCustomBuilderControl - The Wire Span Segment Customizer
      surfaceSpanSegmentCustomBuilderControl - The Surface Segment Customizer
      Returns:
      Instance of the Market Node Surface