Zero Coupon Bond

Hi-

We are looking to ingest Zero Coupon Bond details in FixTags below,

40844 - PaymentScheduleStepFrequencyPeriod
40845 - PaymentScheduleStepFrequencyUnit
40390 - LegPaymentScheduleStepFrequencyPeriod
40391 - LegPaymentScheduleStepFrequencyUnit

Is there a FIX guidance on capturing ZCB?

For instance : Frequency - 0, Unit - Z? I do not see any indication in the FIXTag enum values defined in Fiximate.

Thank you
Abde

What message type are you using?

@abdemanaf46, should be less complex to identify an instrument as being a zero coupon bond.

The Instrument component has CouponType(1946) = 0 (Zero) and is part of all messages related to a security across all asset classes.

The InstrumentExtension component has the repeating group AttribGrp with InstAttribType(871) = 2 (Zero Coupon). It is available in a subset of message types in the pre-trade and post-trade area but not in the trade area.

Hi-

We are using the Quote Message Type.

@abdemanaf46, Hanno’s response should be your answer - a zero-coupon bond simply pays no interest during its lifetime but the investor receives full face value at maturity. CouponType(1946) appears in the Instrument component and thus appears in virtually every FIX security master and trading message.
What are you trying to communicate using the PaymentScheduleStep tags? Those tags were introduced to specify notional and rate steps of a payment stream, e.g. in an Interest Rate Swap. Bonds don’t have a “notional” and zero-coupons have no “rate”.

Thanks @deankauffman & @hanno.klein

Makes sense to capture this in CouponType (1946).

A correction that this needs to be incorporated for IRS, therefore for multi-legs we need to capture the coupontype as well. I did not see a legcoupontype field in Leg Instrument component block. Any suggestions?

LegCouponType(2161) is part of the InstrumentLeg component. What did you use as source? It should always be FIXimate on the FIX website.

@abdemanaf46: For defining a single IRS contract in FIX, don’t use the InstrumentLeg component for the streams. InstrumentLeg is intended to be used for trades involving 2 or more separate securities. An IRS contract is a single security with two payment streams and should be defined using two instances of the <StreamGrp> component within a single instance of <Instrument>.