Update Order

Message is Order Cancel Replace Request (35=G)

SubscriberOpenYieldTR
TagNameRequiredNotes
41OrigClOrdIDRequiredClOrdID of the order being replaced
11ClOrdIDRequiredNew subscriber order ID for this replacement
18ExecInstOptionalG=AllOrNoneMust match original
54SideRequired1=Buy·2=SellMust match original
60TransactTimeRequiredTime of the replacement request
38OrderQtyRequiredNew quantity
40OrdTypeRequired1=Market·2=LimitMust match original
423PriceTypeOptional1=Percentage (clean percent of face value)
44PriceRequiredNew price
59TimeInForceOptional0=Day (also GoodTilCancel at OpenYield)·3=ImmediateOrCancel·4=FillOrKillMust match original
640Price2OptionalDealer only: new tiered price
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.

Send an OrderCancelReplaceRequest (35=G) to modify the price (44) or quantity (38) of a resting limit order. Market orders cannot be replaced.

Set OrigClOrdID (41) to the most recent ClOrdID of the order being replaced, and assign a new ClOrdID (11) — this becomes the active order ID going forward and must be used in any subsequent replace or cancel. Changing side, security, TimeInForce, or Investor ID will be rejected.

If the order is partially filled, the replace applies to the remaining open quantity; fills already booked are preserved.

For example, replace order OEMS-0002.0 at a new price of 101.00 (44=101), assigning ClOrdID OEMS-0002.1:

8=FIX.4.4 9=222 35=G 34=64 49=OPENEMS-TR 52=20231031-15:51:40.041 56=OPENYIELD-TR 11=OEMS-0002.1 22=4 38=10 40=2 41=OEMS-0002.0 44=101 48=USZ00000ZZ0X 54=2 55=USZ00000ZZ0X 60=20231031-15:51:40 423=1 453=2 448=RedBull 452=3 448=APCC 452=4 10=013

Message is Execution Report (35=8)

OrdStatus (39) = 5ReplacedExecType (150) = 5Replaced
OpenYieldSubscriberTRRQ
TagNameRequiredNotes
37OrderIDRequiredOpenYield's order ID
11ClOrdIDRequiredNew ClOrdID of the replacement order
41OrigClOrdIDRequiredClOrdID of the order being replaced
17ExecIDRequiredOpenYield's response ID for this message
39OrdStatusRequired0=New·1=PartiallyFilled·2=Filled·4=Canceled·5=Replaced·8=Rejected·A=PendingNew·B=Calculated
54SideRequired1=Buy·2=SellMatches order
38OrderQtyRequiredNew order quantity
44PriceRequiredNew order price
59TimeInForceRequired0=Day (also GoodTilCancel at OpenYield)·3=ImmediateOrCancel·4=FillOrKillMatches order
18ExecInstOptionalG=AllOrNoneMatches order
32LastQtyRequired0
31LastPxRequired0
151LeavesQtyRequiredRemaining quantity after replacement
14CumQtyRequiredQuantity filled so far (may be non-zero if partially filled before replace)
6AvgPxRequiredAverage fill price (zero if no fills)
381GrossTradeAmtOptionalPrincipal cash if partially filled
159AccruedInterestAmtOptionalAccrued if partially filled
118NetMoneyOptionalSettlement cash if partially filled
Repeating Group

PartyBlock-Execution(453 NoPartyIDs)

Party block returned by OpenYield on non-fill execution reports.

TagNameRequiredNotes
448PartyIDRequired
452PartyRoleRequiredRole of this party entry

Party Roles

RoleNameRequiredNotes
3Client IDRequiredMatches Order
4Clearing FirmOptionalMatches Order
5Investor IDOptionalMatches Order
24Customer CodeOptionalMatches Order
11Order Origination TraderOptionalMatches Order
1Executing FirmRequiredOpenYield MPID
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.
Repeating Group

ExecutionReportCore

Fields common to all order execution reports: ExecType discriminator and optional Yield.

TagNameRequiredNotes
150ExecTypeRequired0=New·4=Canceled·5=Replaced·8=Rejected·F=Trade·G=TradeCorrect·H=TradeCancel
236YieldOptionalSet for fixed and zero coupon bonds

OpenYield responds with an Execution Report (35=8, ExecType 150=5 Replaced, OrdStatus 39=5 Replaced) confirming the replacement. The order retains the same OrderID (37).

8=FIX.4.4 9=265 35=8 34=65 49=OPENYIELD-TR 52=20231031-15:51:40.044 56=OPENEMS-TR 6=0 11=OEMS-0002.1 14=0 17=RSP20231031-000000364 22=4 31=0 32=0 37=20 38=10 39=5 44=0 48=USZ00000ZZ0X 54=2 55=USZ00000ZZ0X 118=0 150=5 151=10 159=0 236=0 381=0 453=2 448=RedBull 452=3 448=OYLD 452=1 10=081