import { FlowConventionName } from './flowConventionName'; import { FlowConventions } from './flowConventions'; import { Compounding } from './compounding'; import { ExDividendConfiguration } from './exDividendConfiguration'; import { Schedule } from './schedule'; import { IndexConvention } from './indexConvention'; /** * Schedule for fixed coupon payments */ export interface FloatSchedule extends Schedule { /** * Date to start generate from */ startDate?: string; /** * Date to generate to */ maturityDate?: string; flowConventions?: FlowConventions; conventionName?: FlowConventionName; /** * Optional. Number of calendar days in the ex-dividend period. If the settlement date falls in the ex-dividend period then the coupon paid is zero and the accrued interest is negative. If set, this must be a non-negative number. If not set, or set to 0, then there is no ex-dividend period. NOTE: This field is deprecated. If you wish to set the ExDividendDays on a bond, please use the ExDividendConfiguration. */ exDividendDays?: number | null; indexConventionName?: FlowConventionName; indexConventions?: IndexConvention; /** * Scaling factor, the quantity outstanding on which the rate will be paid. */ notional?: number; /** * Payment currency. This does not have to be the same as the nominal bond or observation/reset currency. */ paymentCurrency?: string | null; /** * Spread over floating rate given as a fraction. */ spread?: number; /** * StubType required of the schedule Supported string (enumeration) values are: [ShortFront, ShortBack, LongBack, LongFront, Both]. */ stubType?: string | null; exDividendConfiguration?: ExDividendConfiguration; compounding?: Compounding; /** * Control how resets are generated relative to payment convention(s). Supported string (enumeration) values are: [InAdvance, InArrears]. */ resetConvention?: string | null; /** * The available values are: FixedSchedule, FloatSchedule, OptionalitySchedule, StepSchedule, Exercise, FxRateSchedule, Invalid */ scheduleType: FloatSchedule.ScheduleTypeEnum; } export declare namespace FloatSchedule { type ScheduleTypeEnum = 'FixedSchedule' | 'FloatSchedule' | 'OptionalitySchedule' | 'StepSchedule' | 'Exercise' | 'FxRateSchedule' | 'Invalid'; const ScheduleTypeEnum: { FixedSchedule: ScheduleTypeEnum; FloatSchedule: ScheduleTypeEnum; OptionalitySchedule: ScheduleTypeEnum; StepSchedule: ScheduleTypeEnum; Exercise: ScheduleTypeEnum; FxRateSchedule: ScheduleTypeEnum; Invalid: ScheduleTypeEnum; }; }