Class VolatilityCube
- Namespace
- NanoQL.Experimental
- Assembly
- NanoQL.dll
A volatility cube of interest-rate volatility surfaces and abcd at-the-money curves on one reference date.
[Experimental("NQL0001")]
public sealed class VolatilityCube
- Inheritance
-
VolatilityCube
- Inherited Members
Remarks
Immutable. QuantLib's minIndexTenor() and maxIndexTenor() are declared and never defined, so they
aren't ported.
Constructors
VolatilityCube(IEnumerable<InterestRateVolSurface>, IEnumerable<AbcdAtmVolCurve>)
Initializes a new instance of the VolatilityCube class.
public VolatilityCube(IEnumerable<InterestRateVolSurface> surfaces, IEnumerable<AbcdAtmVolCurve> curves)
Parameters
surfacesIEnumerable<InterestRateVolSurface>The surfaces, at least two.
curvesIEnumerable<AbcdAtmVolCurve>The at-the-money curves.
Exceptions
- ArgumentNullException
An argument or an element is null.
- NanoQLException
There are fewer than two surfaces ("at least 2 surfaces are needed"), or the reference dates differ ("different reference dates").
Properties
Curves
Gets the at-the-money curves.
public ImmutableArray<AbcdAtmVolCurve> Curves { get; }
Property Value
Surfaces
Gets the surfaces.
public ImmutableArray<InterestRateVolSurface> Surfaces { get; }