Class PiecewiseConvexMonotoneZero
- Namespace
- NanoQL.TermStructures
- Assembly
- NanoQL.dll
A yield term structure bootstrapped on rate helpers, on convex-monotone interpolated zero rates.
public sealed class PiecewiseConvexMonotoneZero : PiecewiseYieldCurve<ZeroYield, ConvexMonotone, IterativeBootstrap>, IInterpolatedCurve<ZeroYield, ConvexMonotone>
- Inheritance
-
PiecewiseConvexMonotoneZero
- Implements
- Inherited Members
- Extension Methods
Remarks
QuantLib-Python's %template name for PiecewiseYieldCurve<TTraits, TInterpolator, TBootstrap> on
ZeroYield, ConvexMonotone and IterativeBootstrap: it adds
constructors only.
Constructors
PiecewiseConvexMonotoneZero(Date, IEnumerable<BootstrapHelper<YieldTermStructure>>, DayCounter, EvaluationContext, IEnumerable<double>?, IEnumerable<Date>?, ConvexMonotone, IterativeBootstrap)
Initializes a new instance of the PiecewiseConvexMonotoneZero class with a fixed reference date, and bootstraps it.
public PiecewiseConvexMonotoneZero(Date referenceDate, IEnumerable<BootstrapHelper<YieldTermStructure>> instruments, DayCounter dayCounter, EvaluationContext context, IEnumerable<double>? jumps = null, IEnumerable<Date>? jumpDates = null, ConvexMonotone i = default, IterativeBootstrap bootstrap = default)
Parameters
referenceDateDateThe reference date.
instrumentsIEnumerable<BootstrapHelper<YieldTermStructure>>The helpers the curve is bootstrapped on.
dayCounterDayCounterThe day counter.
contextEvaluationContextThe evaluation context the helpers are dated and priced in.
jumpsIEnumerable<double>The discount-factor jumps, or null for none.
jumpDatesIEnumerable<Date>The jumps' dates, or null for 31 December of successive years.
iConvexMonotoneThe interpolator.
bootstrapIterativeBootstrapThe bootstrap.
Exceptions
- ArgumentNullException
context,instrumentsordayCounteris null.- ArgumentException
A helper is null, the reference date is
default(Date), or the jumps and their dates differ in number.- NanoQLException
The bootstrap fails.
Methods
Create(int, Calendar, IEnumerable<BootstrapHelper<YieldTermStructure>>, DayCounter, EvaluationContext, IEnumerable<double>?, IEnumerable<Date>?, ConvexMonotone, IterativeBootstrap)
A curve with a reference date that is the evaluation date advanced by settlement days on a calendar: QuantLib's constructors taking settlement days, whose reference date moves with the evaluation date. The curve is built for the context's evaluation date.
public static PiecewiseConvexMonotoneZero Create(int settlementDays, Calendar calendar, IEnumerable<BootstrapHelper<YieldTermStructure>> instruments, DayCounter dayCounter, EvaluationContext context, IEnumerable<double>? jumps = null, IEnumerable<Date>? jumpDates = null, ConvexMonotone i = default, IterativeBootstrap bootstrap = default)
Parameters
settlementDaysintThe settlement days.
calendarCalendarThe calendar the settlement days are counted on.
instrumentsIEnumerable<BootstrapHelper<YieldTermStructure>>The helpers the curve is bootstrapped on.
dayCounterDayCounterThe day counter.
contextEvaluationContextThe evaluation context.
jumpsIEnumerable<double>The discount-factor jumps, or null for none.
jumpDatesIEnumerable<Date>The jumps' dates, or null for 31 December of successive years.
iConvexMonotoneThe interpolator.
bootstrapIterativeBootstrapThe bootstrap.
Returns
- PiecewiseConvexMonotoneZero
The bootstrapped curve.
Exceptions
- ArgumentNullException
context,calendar,instrumentsordayCounteris null.- ArgumentOutOfRangeException
settlementDaysis negative.- ArgumentException
A helper is null, or the jumps and their dates differ in number.
- NanoQLException
The bootstrap fails.