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 MarketSurfaceCubicPolynomialWireSurface(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 MarketSurfaceCustomSplineWireSurface(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 MarketSurfaceCustomWireSurface(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 MarketSurfaceHestonRunMarketSurface(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 MarketSurfaceKaklisPandelisWireSurface(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 MarketSurfaceKLKHyperbolicWireSurface(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 MarketSurfaceKLKRationalLinearWireSurface(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 MarketSurfaceKLKRationalQuadraticWireSurface(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 MarketSurfaceQuarticPolynomialWireSurface(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
-