Special Case: Accept a Quote

Message is Quote Response (35=AJ)

SubscriberOpenYieldRQ
TagNameRequiredNotes
117QuoteIDRequiredQuote ID from the forwarded Quote message being accepted
694QuoteRespTypeRequired1=Hit/Lift (accept quote)·4=Pass
60TransactTimeRequiredTime of acceptance
131QuoteReqIDRequiredThe original RFO request ID
Repeating Group

PartyBlock-Inbound(453 NoPartyIDs)

Party block sent by subscribers on orders, quotes, and RFO requests. Identifies the trading party and optional sub-accounts.

TagNameRequiredNotes
453NoPartyIDsCountRequiredNumber 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
448PartyIDRequired
452PartyRoleRequiredRole of this party entry

Party Roles

RoleNameRequiredNotes
3Client IDRequiredYour assigned counterparty code (not MPID)
4Clearing FirmRequired (Y/O)Your MPID shown to contra firms. Optional if OpenYield can determine it via rules; mandatory if multiple MPIDs or configured so.
5Investor IDOptionalAccount / sub-account code if subscriber is configured for SubIDs
24Customer CodeRequired (Y/O)Pass-through tag; OpenYield returns this unchanged on all responses. Use for internal codes, strategy, algo, desk, portfolio, etc.
11Order Origination TraderRequired (Y/O)Obfuscated trader code for GUI users. OpenYield reflects it on all responses.

Optionally add a PartySubID block (802/523/804) under role 4 if subscriber has multiple accounts at the same DTCC clearing (set PartySubIDType 804=10, PartySubID 523=clearing account code).

Field Group

SecurityBlock

The security being traded.

TagNameRequiredNotes
55SymbolRequiredSecurity identifier (ISIN, CUSIP, or FIGI per configuration)
48SecurityIDRequiredSecurity identifier (ISIN, CUSIP, or FIGI per configuration)
22SecurityIDSourceRequired1=CUSIP·4=ISIN·A=Bloomberg FIGI
460ProductRequired (Y/O)1=Agency·3=Corporate·6=Government·11=MunicipalRequired on OpenYield responses; optional on subscriber messages.
Note

This flow is only available for special case configured subscribers.

A subscriber has less than 18 seconds (or whatever our firm window is set to) to accept quotes in order to have a high probability of execution.

OpenYield ignores all Quote Responses that are not 1=Hit/Lift or 4=Pass (694). For these, OpenYield gets the information from the quote and places it on the marketplace as a limit order.

For example, to accept the first quote above, send before the window closes:

8=FIX.4.4 9=238 35=AJ 34=452 49=BASTION-RQ 52=20250214-21:14:57.565 56=OPENYIELD-RQ 11=XORD-000001 22=4 48=US023135CF19 54=2 55=US023135CF19 117=QRS20250214-SD-000000000001 133=96.2832 135=100 453=2 448=Bastion 452=3 448=OYLD 452=1 693=XRES-000001 694=1 10=137

OpenYield acknowledges this as a NEW order, and places it on the order book:

8=FIX.4.4 9=326 35=8 34=458 49=OPENYIELD-RQ 52=20250214-21:14:57.586 56=BASTION-RQ 6=0 11=XORD-000001 14=0 17=RSP20250214-OD-000000000102 22=4 31=0 32=0 37=ORD20250214-OD-000000000028 38=100 39=0 44=0 48=US023135CF19 54=2 55=US023135CF19 118=0 136=0 150=0 151=100 157=0 159=0 236=0 381=0 453=3 448=Bastion 452=3 448=BAST 452=4 448=OYLD 452=1 10=243
Note

the execution happens at the top of the book up to the price you send, so in this case, QRS20250214-SD-000000000002 was actually at the top of the book, so the execution happens there and you get a better price.

8=FIX.4.4 9=437 35=8 34=459 49=OPENYIELD-RQ 52=20250214-21:14:57.602 56=BASTION-RQ 6=96.3399 11=XORD-000001 14=100 17=FIL20250214-000000000002 22=4 31=96.3399 32=100 37=ORD20250214-OD-000000000028 38=100 39=2 44=96.3399 48=US023135CF19 54=2 55=US023135CF19 60=20250214-21:14:57 64=20250218 118=97485.73 136=0 150=F 151=0 157=86 159=1145.83 236=5.11492046 381=96339.9 453=5 448=Bastion 452=3 448=OYLD 452=17 448=0235 452=18 448=BAST 452=4 448=OYLD 452=1 10=223