UNPKG

@finbourne/lusid-sdk-angular8

Version:

An angular (8+) SDK for secure access to the LUSID® by FINBOURNE web API

93 lines (92 loc) 5.77 kB
import { FlowConventions } from './flowConventions'; import { LusidInstrument } from './lusidInstrument'; /** * LUSID representation of a Vanilla Fixed Rate Bond. */ export interface Bond { /** * The Start date of the bond, this is normally when accrual of the first coupon begins. */ startDate: Date; /** * The Maturity date of the bond, this is when the last coupon accrual period ends. Note that while most bonds have their last payment on this date there are some cases where the final payment is the next working day. */ maturityDate: Date; /** * The domestic currency of the instrument. */ domCcy: string; flowConventions: FlowConventions; /** * The face-value or principal for the bond at outset. This might be reduced through its lifetime in the event of amortisation or similar. */ principal: number; /** * Simple coupon rate. */ couponRate: number; /** * External market codes and identifiers for the bond, e.g. ISIN. */ identifiers?: { [key: string]: string; } | null; /** * 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, than there is no ex-dividend period. */ exDividendDays?: number | null; /** * Optional. If set, this is the date at which the bond begins to accrue interest, if not set then the bond begins to accrue on the StartDate. */ initialCouponDate?: Date | null; /** * The date that the first coupon of the bond is paid. This is required for bonds that have a long first coupon or short first coupon. The first coupon pay date is used as an anchor to compare with the start date and determine if this is a long/short coupon period. */ firstCouponPayDate?: Date | null; /** * The calculation type applied to the bond coupon amount. This is required for bonds that have a particular type of computing the period coupon, such as simple compounding, irregular coupons etc. The default CalculationType is `Standard`, which returns a coupon amount equal to Principal * Coupon Rate / Coupon Frequency. Coupon Frequency is 12M / Payment Frequency. Payment Frequency can be 1M, 3M, 6M, 12M etc. So Coupon Frequency can be 12, 4, 2, 1 respectively. Supported string (enumeration) values are: [Standard, DayCountCoupon, NoCalculationFloater, BrazilFixedCoupon]. */ calculationType?: string | null; /** * The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap */ instrumentType: Bond.InstrumentTypeEnum; } export declare namespace Bond { type InstrumentTypeEnum = 'QuotedSecurity' | 'InterestRateSwap' | 'FxForward' | 'Future' | 'ExoticInstrument' | 'FxOption' | 'CreditDefaultSwap' | 'InterestRateSwaption' | 'Bond' | 'EquityOption' | 'FixedLeg' | 'FloatingLeg' | 'BespokeCashFlowsLeg' | 'Unknown' | 'TermDeposit' | 'ContractForDifference' | 'EquitySwap' | 'CashPerpetual' | 'CapFloor' | 'CashSettled' | 'CdsIndex' | 'Basket' | 'FundingLeg' | 'FxSwap' | 'ForwardRateAgreement' | 'SimpleInstrument' | 'Repo' | 'Equity' | 'ExchangeTradedOption' | 'ReferenceInstrument' | 'ComplexBond' | 'InflationLinkedBond' | 'InflationSwap'; const InstrumentTypeEnum: { QuotedSecurity: LusidInstrument.InstrumentTypeEnum; InterestRateSwap: LusidInstrument.InstrumentTypeEnum; FxForward: LusidInstrument.InstrumentTypeEnum; Future: LusidInstrument.InstrumentTypeEnum; ExoticInstrument: LusidInstrument.InstrumentTypeEnum; FxOption: LusidInstrument.InstrumentTypeEnum; CreditDefaultSwap: LusidInstrument.InstrumentTypeEnum; InterestRateSwaption: LusidInstrument.InstrumentTypeEnum; Bond: LusidInstrument.InstrumentTypeEnum; EquityOption: LusidInstrument.InstrumentTypeEnum; FixedLeg: LusidInstrument.InstrumentTypeEnum; FloatingLeg: LusidInstrument.InstrumentTypeEnum; BespokeCashFlowsLeg: LusidInstrument.InstrumentTypeEnum; Unknown: LusidInstrument.InstrumentTypeEnum; TermDeposit: LusidInstrument.InstrumentTypeEnum; ContractForDifference: LusidInstrument.InstrumentTypeEnum; EquitySwap: LusidInstrument.InstrumentTypeEnum; CashPerpetual: LusidInstrument.InstrumentTypeEnum; CapFloor: LusidInstrument.InstrumentTypeEnum; CashSettled: LusidInstrument.InstrumentTypeEnum; CdsIndex: LusidInstrument.InstrumentTypeEnum; Basket: LusidInstrument.InstrumentTypeEnum; FundingLeg: LusidInstrument.InstrumentTypeEnum; FxSwap: LusidInstrument.InstrumentTypeEnum; ForwardRateAgreement: LusidInstrument.InstrumentTypeEnum; SimpleInstrument: LusidInstrument.InstrumentTypeEnum; Repo: LusidInstrument.InstrumentTypeEnum; Equity: LusidInstrument.InstrumentTypeEnum; ExchangeTradedOption: LusidInstrument.InstrumentTypeEnum; ReferenceInstrument: LusidInstrument.InstrumentTypeEnum; ComplexBond: LusidInstrument.InstrumentTypeEnum; InflationLinkedBond: LusidInstrument.InstrumentTypeEnum; InflationSwap: LusidInstrument.InstrumentTypeEnum; }; }