Partial 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 (regular or tiered) |
| 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 | This fill quantity |
| 31 | LastPx | Required | This fill price |
| 151 | LeavesQty | Required | Remaining quantity after this fill |
| 14 | CumQty | Required | Cumulative filled quantity |
| 6 | AvgPx | Required | Average fill price so far |
| 60 | TransactTime | Required | Time the fill was booked |
| 381 | GrossTradeAmt | Required | Principal cash for this fill |
| 157 | NumDaysInterest | Required | Number of days of accrued interest for this fill |
| 159 | AccruedInterestAmt | Required | Accrued interest dollar amount |
| 118 | NetMoney | Required | Settlement cash amount for this fill |
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 is partially filled with a match on the market, OpenYield sends an Execution Report (35=8) with the ExecType (150) field set to F (Trade) and OrdStatus (39) field set to 1 (Partially 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.
For example if 10 of 100 was filled, where we gave a Trade ExecType (150=F) and a Partially Filled OrdStatus (39=1):