Class AmortizingFixedRateBondFunctions
- Namespace
- NanoQL.Instruments
- Assembly
- NanoQL.dll
The schedule and the notionals of a French amortization, for AmortizingFixedRateBond.
public static class AmortizingFixedRateBondFunctions
- Inheritance
-
AmortizingFixedRateBondFunctions
- Inherited Members
Methods
SinkingNotionals(Period, Frequency, double, double)
The notionals of a French amortization: constant payments of interest and principal at the frequency, linear amortization when the coupon per period is below 1e-12; the initial notional first and 0 last.
public static ImmutableArray<double> SinkingNotionals(Period bondLength, Frequency frequency, double couponRate, double initialNotional)
Parameters
bondLengthPeriodThe bond's length, a whole number of the frequency's periods.
frequencyFrequencyThe payment frequency.
couponRatedoubleThe coupon rate, annual.
initialNotionaldoubleThe initial notional.
Returns
- ImmutableArray<double>
The notionals, one more than the periods.
Exceptions
- ArgumentOutOfRangeException
The frequency isn't a member of its enum, or is OtherFrequency; or the bond's length is in a time unit shorter than a day.
- ArgumentException
The bond's length isn't positive (QuantLib writes past the notionals' end), or isn't a whole number of the frequency's periods, a frequency of no period among them (QuantLib divides by zero).
SinkingSchedule(Date, Period, Frequency, Calendar?)
The schedule of a French amortization: from the start date to the start date plus the bond's length, at the frequency, unadjusted and generated backward.
public static Schedule SinkingSchedule(Date startDate, Period bondLength, Frequency frequency, Calendar? paymentCalendar)
Parameters
startDateDateThe start date.
bondLengthPeriodThe bond's length.
frequencyFrequencyThe payment frequency.
paymentCalendarCalendarThe schedule's calendar, or null, QuantLib's empty calendar.
Returns
- Schedule
The schedule.
Exceptions
- ArgumentOutOfRangeException
The frequency isn't a member of its enum, or is OtherFrequency.
- ArgumentException
The start date is
default(Date), or the schedule can't be generated from the dates and the frequency.