Trade 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 (also GoodTilCancel at OpenYield)·3=ImmediateOrCancel·4=FillOrKillMatches order |
| 18 | ExecInst | Optional | G=AllOrNone·Z=Cancel if not Best (Single Fill or Cancel)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. Not sent when the group has no entries. |
| The fields below repeat once per entry — NoPartyIDs times | |||
| 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 code of contra clearing house. Intermediated: OpenYield's clearing DTCC code |
| 1 | Executing Firm | Required | OpenYield MPID |
SecurityBlock
The security being traded.
| Tag | Name | Required | Notes |
|---|---|---|---|
| 55 | Symbol | Required | Security identifier (ISIN, CUSIP, or FIGI per configuration) |
| 48 | SecurityID | Required | Security identifier (ISIN, CUSIP, or FIGI per configuration) |
| 22 | SecurityIDSource | Required | 1=CUSIP·4=ISIN·A=Bloomberg FIGI |
| 460 | Product | Required (Y/O) | 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 — NoMiscFees times | |||
| 137 | MiscFeeAmt | Optional | — |
| 139 | MiscFeeType | Optional | 1=Regulatory (TAF — applicable on bond sells)·3=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 — NoStipulations times | |||
| 233 | StipulationType | Required | MINQTY=Minimum Quantity·MININCR=Minimum Increment·MINDNOM=Minimum Balance RemainingMINQTY, 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).
In FIX 4.4, ExecType 1 (Partial Fill) and 2 (Fill) are not supported by the standard. Look to the OrdStatus field for this information.
The next message from OpenYield will be a Calculated message repeating the final trade information.
For example, the remaining 90 is filled: