Class StrippedYoYOptionlets
- Namespace
- NanoQL.Experimental
- Assembly
- NanoQL.dll
Year-on-year optionlet volatilities stripped along each strike: a volatility curve per strike, what QuantLib's
YoYOptionletStripper holds after its initialize.
[Experimental("NQL0001")]
public sealed class StrippedYoYOptionlets
- Inheritance
-
StrippedYoYOptionlets
- Inherited Members
Remarks
Slice(Date) is QuantLib's slice, each curve read at the date through its own observation lag;
Slice(double) reads each curve at a time on its own clock, with no lag, which
KInterpolatedYoYOptionletVolatilitySurface<TInterpolator> reads.
Constructors
StrippedYoYOptionlets(IEnumerable<double>, IEnumerable<YoYOptionletVolatilitySurface>)
Initializes a new instance of the StrippedYoYOptionlets class.
public StrippedYoYOptionlets(IEnumerable<double> strikes, IEnumerable<YoYOptionletVolatilitySurface> curves)
Parameters
strikesIEnumerable<double>The strikes, increasing.
curvesIEnumerable<YoYOptionletVolatilitySurface>The volatility curve stripped at each strike, one per strike.
Exceptions
- ArgumentNullException
An argument or a curve is null.
- ArgumentException
The curves aren't one per strike, or there is no strike.
Properties
Curves
Gets the volatility curve stripped at each strike, one per strike.
public ImmutableArray<YoYOptionletVolatilitySurface> Curves { get; }
Property Value
MaxStrike
Gets the highest strike.
public double MaxStrike { get; }
Property Value
MinStrike
Gets the lowest strike.
public double MinStrike { get; }
Property Value
Strikes
Gets the strikes.
public ImmutableArray<double> Strikes { get; }
Property Value
Methods
Slice(Date)
The volatilities at a date, each strike's curve read at the date and its strike: QuantLib's
slice.
public (ImmutableArray<double> Strikes, ImmutableArray<double> Volatilities) Slice(Date d)
Parameters
dDateThe date, observed through each curve's lag.
Returns
- (ImmutableArray<double> Times, ImmutableArray<double> Rates)
The strikes and the volatilities.
Exceptions
- NanoQLException
A curve can't give a volatility at the date.
Slice(double)
The volatilities at a time, each strike's curve read at the time and its strike.
public (ImmutableArray<double> Strikes, ImmutableArray<double> Volatilities) Slice(double t)
Parameters
tdoubleThe time on the curves' clock, already observed: no lag is applied.
Returns
- (ImmutableArray<double> Times, ImmutableArray<double> Rates)
The strikes and the volatilities.
Exceptions
- NanoQLException
A curve can't give a volatility at the time.