Initiate a New Request for Order

Message is Quote Request (35=R)

bothbothRQ
TagNameRequiredNotes
131QuoteReqIDRequiredUnique request ID. Reuse same ID for updates and cancels.
146NoRelatedSymRequiredMust be 1
537QuoteTypeOptional0=Indicative (Order Book Summon)·1=Tradeable (Firm RFO)Defaults to Tradeable.
54SideRequired1=Buy·2=SellWhat YOU want to do: Buy=want offers back (OWIC), Sell=want bids back (BWIC).
38OrderQtyRequiredQuantity in configured units. Set to 0 to cancel.
62ValidUntilTimeOptionalResponder-received only: end of collection window
126ExpireTimeOptionalResponder-received only: end of firm window
423PriceTypeOptional1=Percentage (clean percent of face value)
44PriceOptionalReserve price as percent. Set to 0 to cancel
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
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.
Repeating 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.

New RFOs are sent on the Request Session ("-RQ"). OpenYield validates the Request for correctness as well as:

  • Ensure the security is supported on the platform
  • Ensure the quantity is within compliance limits
  • Ensure the reserve price is within compliance limits of mid-market or opening price (if set)
Note

The 54=Side field is what you want to do. So set it to Sell if you want to get bids back (BWIC) or Buy if you want offers back (OWIC).

Note

Fields 64 "ValidUntilTime" and 126 "ExpireTime" may be set, but will be ignored as will any other fields.

For example, to send in a Bid Wanted (54=Sell) to sell 100 (38=100) of US023135CF19 with a reserve price of 101.255 (44=101.255):

8=FIX.4.4 9=193 35=R 34=9 49=BASTION-RQ 52=20250213-18:48:22.941 56=OPENYIELD-RQ 131=REQ-MUN-0002 146=1 55=US023135CF19 48=US023135CF19 22=4 537=1 54=2 38=100 44=101.255 453=2 448=Bastion 452=3 448=OYLD 452=1 10=038

OpenYield acknowledges the order with the Pending New OrdStatus (39=A) and ExecType (150=0):

8=FIX.4.4 9=320 35=8 34=13 49=OPENYIELD-RQ 52=20250213-18:48:22.997 56=BASTION-RQ 6=0 11=REQ-MUN-0002 14=0 17=RSP20250213-SD-000000000002 22=4 31=0 32=0 37=ORD20250213-SD-000000000005 38=100 39=A 44=0 48=US023135CF19 54=2 55=US023135CF19 118=0 136=0 150=0 151=100 159=0 236=0 381=0 453=3 448=Bastion 452=3 448=BAST 452=4 448=OYLD 452=1 10=041

If a reserve price was set, when OpenYield places the order on the marketplace, it acknowledges this by changing the order status to New (39=0):

8=FIX.4.4 9=320 35=8 34=16 49=OPENYIELD-RQ 52=20250213-18:48:27.001 56=BASTION-RQ 6=0 11=REQ-MUN-0002 14=0 17=RSP20250213-OD-000000000016 22=4 31=0 32=0 37=ORD20250213-OD-000000000008 38=100 39=0 44=0 48=US023135CF19 54=2 55=US023135CF19 118=0 136=0 150=0 151=100 159=0 236=0 381=0 453=3 448=Bastion 452=3 448=BAST 452=4 448=OYLD 452=1 10=008