Complete Fill
Message is “Execution Report” (35=8)
| Tag | Name | Required | Notes |
|---|---|---|---|
| 37 | OrderID | Required | OpenYield's order ID |
| 11 | ClOrdID | Required | Subscriber order ID |
| 17 | ExecID | Required | OpenYield's fill ID for this message |
| 39 | OrdStatus | Required | 0=New·1=PartiallyFilled·2=Filled·4=Canceled·5=Replaced·8=Rejected·A=PendingNew·B=Calculated |
| 63 | SettlType | Required | 0=Regular settlement·6=Future dated settlement |
| 64 | SettlDate | Required | Settlement date YYYYMMDD |
| 54 | Side | Required | 1=Buy·2=SellMatches order |
| 38 | OrderQty | Required | Matches order |
| 44 | Price | Required | Matches order |
| 59 | TimeInForce | Required | 0=Day (59=0; good till cancel for the trading day at OpenYield)·3=ImmediateOrCancel·4=FillOrKillMatches order |
| 18 | ExecInst | Optional | G=AllOrNone·Z=Single Fill or Cancel (SFC; cancel if not best)Matches order |
| 32 | LastQty | Required | Final fill quantity |
| 31 | LastPx | Required | Final fill price |
| 151 | LeavesQty | Required | 0 |
| 14 | CumQty | Required | Full order quantity |
| 6 | AvgPx | Required | Average fill price for the trade |
| 60 | TransactTime | Required | Time the fill was booked |
| 381 | GrossTradeAmt | Required | Principal cash for this trade |
| 157 | NumDaysInterest | Required | Number of days of accrued interest for this trade |
| 159 | AccruedInterestAmt | Required | Accrued interest dollar amount |
| 118 | NetMoney | Required | Settlement cash amount for this trade |
PartyBlock-Fill(453 NoPartyIDs)
Party block returned by OpenYield on fill execution reports (ExecType=F). Includes contra-party settlement information.
| Tag | Name | Required | Notes |
|---|---|---|---|
| 453 | NoPartyIDsCount | Required | Number of party block entriesSet to the number of entries that follow. |
| The fields below repeat once per entry (count in NoPartyIDs) | |||
| 448 | PartyID | Required | — |
| 452 | PartyRole | Required | Role of this party entry |
Party Roles
| Role | Name | Required | Notes |
|---|---|---|---|
| 3 | Client ID | Required | Matches order |
| 4 | Clearing Firm | Optional | Matches order |
| 5 | Investor ID | Optional | Matches order |
| 24 | Customer Code | Optional | Matches order |
| 11 | Order Origination Trader | Optional | Matches order |
| 17 | Contra Firm | Required | Bilateral: MPID of settlement counterparty. Intermediated: OpenYield's MPID |
| 18 | Contra Clearing Firm | Optional | Bilateral: DTCC participant number of the contra clearing firm. Intermediated: OpenYield's clearing DTCC code |
| 1 | Executing Firm | Required | OpenYield MPID |
SecurityBlock
The security being traded.
| Tag | Name | Required | Notes |
|---|---|---|---|
| 55 | Symbol | Required | Same value as SecurityID (48) |
| 48 | SecurityID | Required | Security identifier (ISIN, CUSIP, or FIGI per configuration) |
| 22 | SecurityIDSource | Required | 1=CUSIP·4=ISIN·A=Bloomberg Symbol (FIGI) |
| 460 | Product | Conditional | 1=Agency·3=Corporate·6=Government·11=MunicipalRequired on OpenYield responses; optional on subscriber messages. |
FeeBlock(136 NoMiscFees)
Fee disclosure block included on fill execution reports. OpenYield discloses all applicable fees.
| Tag | Name | Required | Notes |
|---|---|---|---|
| 136 | NoMiscFeesCount | Conditional | Number of fee entriesSet to the number of entries that follow. Not sent when the group has no entries. |
| The fields below repeat once per entry (count in NoMiscFees) | |||
| 137 | MiscFeeAmt | Optional | — |
| 139 | MiscFeeType | Optional | 1=Regulatory (TAF — applicable on bond sells)·3=Local Commission (markup included in price)·8=Markup (trade fee to the maker)·12=Agent (clearing cost for intermediated trades) |
The entire fee block is optional. Individual fee entries are included only when applicable. For bilateral trades billed in arrears, this block may be absent.
ExecutionReportCore
Fields common to all order execution reports: ExecType discriminator and optional Yield.
| Tag | Name | Required | Notes |
|---|---|---|---|
| 150 | ExecType | Required | 0=New·4=Canceled·5=Replaced·8=Rejected·F=Trade·G=TradeCorrect·H=TradeCancel |
| 236 | Yield | Optional | Set for fixed- and zero-coupon bonds |
StipulationsBlock(232 NoStipulations)
Optional Minima constraints on a resting order or quote. When present, restricts the quantities a taker may fill against this maker order. Encoded as a FIX stipulations repeating group.
| Tag | Name | Required | Notes |
|---|---|---|---|
| 232 | NoStipulationsCount | Optional | Number of Minima stipulations in the repeating groupSet to the number of entries that follow. Not sent when the group has no entries. |
| The fields below repeat once per entry (count in NoStipulations) | |||
| 233 | StipulationType | Required | MINQTY=Minimum Quantity·MININCR=Minimum Increment·MINDNOM=Minimum Balance Remaining (MINDNOM; OpenYield usage)MINQTY, MININCR, or MINDNOM |
| 234 | StipulationValue | Required | Numeric value for the stipulation |
If an order has been completely filled, OpenYield sends an Execution Report (35=8) with the ExecType (150) field set to F (Trade) and OrdStatus (39) field set to 2 (Filled).
ExecType values 1 (Partial Fill) and 2 (Fill) were removed in FIX 4.3 and later; OpenYield sends ExecType F (Trade). Use OrdStatus (39) to distinguish partial from complete fills.
This is the final message for the order; there is no separate completion message.
For example, an order for 100 is filled completely in one execution: