Package org.drip.state.creator
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 Modelstatic 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 SurfacestartDate
- Start/Epoch Julian Datecurrency
- CurrencyxArray
- Array of X OrdinatesyArray
- Array of Y OrdinatesnodeGrid
- Double Array of the Surface NodeswireSpanSegmentCustomBuilderControl
- The Wire Span Segment CustomizersurfaceSegmentCustomBuilderControl
- 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 SurfacestartDate
- Start/Epoch Julian Datecurrency
- CurrencyxArray
- Array of X OrdinatestenorArray
- Array of Maturity TenorsnodeGrid
- 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 SurfacestartDate
- Start/Epoch Julian Datecurrency
- CurrencyxArray
- Array of X OrdinatestenorArray
- Array of Maturity TenorsnodeGrid
- 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 SurfacestartDate
- Start/Epoch Julian Datecurrency
- CurrencyxArray
- Array of X OrdinatestenorArray
- Array of Maturity TenorsnodeGrid
- 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 SurfacestartDate
- Start/Epoch Julian Datecurrency
- CurrencyxArray
- Array of X OrdinatestenorArray
- Array of Maturity TenorsnodeGrid
- Double Array of the Surface Nodestension
- 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 SurfacestartDate
- Start/Epoch Julian Datecurrency
- CurrencyxArray
- Array of X OrdinatestenorArray
- Array of Maturity TenorsnodeGrid
- Double Array of the Surface Nodestension
- 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 SurfacestartDate
- Start/Epoch Julian Datecurrency
- CurrencyxArray
- Array of X OrdinatestenorArray
- Array of Maturity TenorsnodeGrid
- Double Array of the Surface Nodestension
- 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 SurfacestartDate
- Start/Epoch Julian Datecurrency
- CurrencyxArray
- Array of X OrdinatestenorArray
- Array of Maturity TenorsnodeGrid
- Double Array of the Surface NodeswireSpanSegmentCustomBuilderControl
- The Wire Span Segment CustomizersurfaceSegmentCustomBuilderControl
- 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 NamestartDate
- Epoch/Start Datecurrency
- CurrencyriskFreeRate
- Risk-Free Rateunderlier
- The UnderlierisForward
- TRUE - The Underlier represents the Forward, FALSE - it represents SpotinitialVolatility
- Initial VolatilitystrikeArray
- Array of StrikestenorArray
- Array of Maturity TenorshestonOptionPricerParams
- The Heston Stochastic Volatility Generation ParametersgeneratePriceSurface
- TRUE - Generate the Price Surface; FALSE - Generate the Vol SurfacewireSpanSegmentCustomBuilderControl
- The Wire Span Segment CustomizersurfaceSpanSegmentCustomBuilderControl
- The Surface Segment Customizer- Returns:
- Instance of the Market Node Surface
-