Accept a Forwarded Quote
Message is “Quote Response” (35=AJ)
| Tag | Name | Required | Notes |
|---|---|---|---|
| 117 | QuoteID | Required | Quote ID from the forwarded Quote message being accepted |
| 694 | QuoteRespType | Required | 1=Hit/Lift (accept quote)·6=Pass1 (Hit/Lift) to accept, 6 (Pass) to pass. Other values are ignored. |
| 693 | QuoteRespID | Required | Your ID for this QuoteResponse (required by the FIX 4.4 data dictionary) |
| 11 | ClOrdID | Required | Your ID for the accept; the ClOrdID of the resulting limit order |
| 54 | Side | Required | 1=Buy·2=SellOpposite side to the forwarded quote |
| 132 | BidPx | Conditional | Required when Side=Buy: your price, or 0 for the quote's price |
| 134 | BidSize | Conditional | Required when Side=Buy: the size to accept; 0 is a pass |
| 133 | OfferPx | Conditional | Required when Side=Sell: your price, or 0 for the quote's price |
| 135 | OfferSize | Conditional | Required when Side=Sell: the size to accept; 0 is a pass |
| 60 | TransactTime | Required | Time of acceptance |
| 131 | QuoteReqID | Required | The QuoteReqID of the original request |
PartyBlock-Inbound(453 NoPartyIDs)
Party block sent by subscribers on orders, quotes, and Summon requests. Identifies the trading party and optional sub-accounts.
| 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 | Your assigned counterparty code (not MPID) |
| 4 | Clearing Firm | Conditional | Your MPID shown to contra firms. Optional if OpenYield can determine it via rules; required if you have multiple MPIDs or are configured to send it. |
| 5 | Investor ID | Optional | Account / sub-account code, if the subscriber is configured for sub-accounts |
| 24 | Customer Code | Conditional | Pass-through tag; OpenYield returns this unchanged on all responses. Use for internal codes, strategy, algo, desk, portfolio, etc. |
| 11 | Order Origination Trader | Conditional | Obfuscated trader code for GUI users. OpenYield reflects it on all responses. |
Optionally add a PartySubID block (802/523/803) under role 4 if the subscriber has multiple accounts at the same DTCC clearing firm (set PartySubIDType 803=10, PartySubID 523=clearing account code).
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. |
This applies to connections set up for Legacy RFQ.
Accept a forwarded quote before its ValidUntilTime (62), about 30 seconds after your request. After that, the responder's quote may have been removed from the book.
OpenYield ignores QuoteResponse (35=AJ) messages unless QuoteRespType (694) is 1 (Hit/Lift) or 6 (Pass). A Pass, or a Hit/Lift with size 0, gets no reply.
For a Hit/Lift, OpenYield places a new limit order on the marketplace, on the opposite side to the quote:
- The size is the size on your QuoteResponse.
- The price is your price, or the quote's price if you send 0.
- It fills against whatever is on the book at that price or better. That can be more than one response, or none if the quotes have moved. Accepting does not lock the quote.
- It is rejected if the security differs from the quote's or the side is not opposite to it (OrdRejReason
103=11), or if the QuoteID is unknown (103=5). - If your connection is set up for it, what's left is cancelled 30 seconds after your request. Otherwise it stays on the book until you cancel it.
For example, to accept the first quote from Quotes Forwarded to the Initiator (QRS20250214-SD-000000000001), send:
OpenYield acknowledges this as a new order (ExecType 150=0, OrdStatus 39=0) and places it on the order book:
Fills arrive on TR and DC, as described in Execution. The order fills at the best price on the book, up to the price you send. In this example, QRS20250214-SD-000000000002 (96.3399) was at the top of the book, so the fill is at that better price.