template Instrument

This template models a callable bond. It pays a fixed or a floating coupon rate at the end of every coupon period (unless the bond has been called). Callability is restricted to some (or all) of the coupon dates. This is specified by a separate schedule.

Signatory: depository, issuer

Field Type Description
depository Party The depository of the instrument.
issuer Party The issuer of the instrument.
id Id The identifier of the instrument.
version Text The instrument’s version.
holdingStandard HoldingStandard The holding standard for holdings referencing this instrument.
description Text A description of the instrument.
floatingRate Optional FloatingRate A description of the floating rate to be used (if applicable). This supports both Libor and SOFR style reference rates (using a compounded index, e.g. the SOFR Index).
couponRate Decimal The fixed coupon rate, per annum. For example, in case of a "3.5% p.a coupon" this should be 0.035. This can also be used as a floating coupon spread. For example, in case of "3M Libor + 0.5%" this should be 0.005.
capRate Optional Decimal The maximum coupon rate possible. For example, if "3M Libor + 0.5%" would result in a rate of 2.5%, but capRate is 2.0%, the coupon rate used would be 2.0%.
floorRate Optional Decimal The minimum coupon rate possible. For example, if "3M Libor + 0.5%" would result in a rate of -0.2%, but floorRate is 0.0%, the coupon rate used would be 0.0%.
couponSchedule PeriodicSchedule The schedule for the periodic coupon payments. The coupon is paid on the last date of each schedule period. In case of a floating rate, the reference rate will be fixed in relation to this schedule (in case of a Libor rate: at the start/end of each period, as specified by FloatingRate). This is the main schedule of the instrument, which drives both the calculation and the payment of coupons. It also defines the issue date and the maturity date of the bond.
callSchedule PeriodicSchedule The bond is callable on the last date of each schedule period. For example, if this schedule is the same as the couponSchedule, it means that the bond can be called on each coupon payment date.
noticeDays Int The number of business days in advance of the coupon date that the issuer must give notice if it wants to call the bond. The election whether to call or not to call must be done by this date.
holidayCalendarIds [Text] The identifiers of the holiday calendars to be used for the coupon schedule.
calendarDataProvider Party The reference data provider to use for the holiday calendar.
dayCountConvention DayCountConventionEnum The day count convention used to calculate day count fractions. For example: Act360.
useAdjustedDatesForDcf Bool Configure whether to use adjusted dates (as specified in businessDayAdjustment of the couponSchedule) for day count fractions.
currency InstrumentKey The currency of the bond. For example, if the bond pays in USD this should be a USD cash instrument.
notional Decimal The notional of the bond. This is the face value corresponding to one unit of the bond instrument. For example, if one bond unit corresponds to 1000 USD, this should be 1000.0.
observers PartiesMap The observers of the instrument.
lastEventTimestamp Time (Market) time of the last recorded lifecycle event. If no event has occurred yet, the time of creation should be used.
prevEvents [EventData] A list of previous events that have been lifecycled on this instrument so far. CALLABLE_BOND_TEMPLATE_END

Data Types

type T

= Instrument

Type synonym for Instrument.