Auction Responder Specs
Both SpiderRock Connect and on-exchange auctions can be responded to via NewOrderSingle and NewOrderMultileg FIX messages.
Typically, a responder would subscribe for auction notices via a SpiderRock MLink server or by asking for a SpiderRock client FIX session with LiquidityRequest messages enabled. Both methods supply an AuctionNoticeID (sometimes called noticeNumber) that the client is expected to return to SpiderRock when responding to an auction.
Response orders can cancelled at any time by the user and will automatically expire at the end of the auction sequence they are responsive to.
SpiderRock generally follows FIX 4.4 conventions but can switch to FIX 4.2 conventions on request.
Application Messages
NewOrderSingle (Client to SpiderRock)
NewOrderSingle<D> messages are used to submit responses to single security auction notices (liquidity requests).
Tag | Field Name | Req'd | Type | Comments |
---|---|---|---|---|
StandardHeader | Y | MsgType = D | ||
11 | ClOrdId | Y | string | Client order ID (24 character max) |
5208 | SRCrossNoticeID | Y | string | QuoteRequestID from Liquidity Request |
5094 | SROrderHandling | Y | int | 23 = BlockResponse |
1 | Account | Y | String | SR account acronym |
461 | CFJ Code | N | string | OC = Option - Call[OPT] OP = Option - Put[OPT] |
201 | PutOrCall | N | int | Alternative to CFICode<461> 0 = Put 1 = Call |
167 | SecurityType | N | string | Alternative to CFICode<461> OPT - Equity Option |
55 | Symbol | Y | string | Exchange Symbol - May incorporate symbol suffix (eg. VIA.A) - For OPRA options, SpiderRock accepts an OSI code |
65 | SymbolSfx | N | string | Symbol suffix |
541 | MaturityDate | N | string | For Options YYYYMMDD |
200 | MaturityMonthYear | N | string | Alternative to MaturityDate<541> YYYYMM |
205 | MaturityDay | N | int | Alternative to MaturityDate<541> 1-31 |
202 | StrikePrice | N | float | Option strike price |
54 | Side | Y | char | 1 = Buy 2 = Sell Must be opposite of the side in the liquidity request |
38 | OrderQty | Y | int | Executable quantity |
77 | OpenClose | N | char | For Options O = Open C = Close A = Auto (SR determines whether child orders should be marked open or closed by looking up account/aggregate group position when child orders are created). |
44 | Price | Y | double | Liquidity response price (4 decimals; does not need to be in normal price increments). |
5098 | SROrderLimitType | N | int | 2 = Price (static price) 3 = PriceDeGa (delta/gamma adjusted price; uMid reference) 4 = PriceDeGaX (delta/gamma adjusted price; uCross reference) Default is Price |
5104 | SRTakeReachRule | Y | char | 5 = FullSize 10 = AtMost25 11 = AtMost50 |
5108 | SROrderRefUPrc | N | float | The initial reference price for PriceDeGa and PriceDeGaX order limit types. Default is SR supplied underlier reference at time of order arrival. |
5110 | SRorderRefDelta | N | float | The reference delta for PriceDeGa and PriceDeGaX order limit types. Default is SR supplied delta at time of order arrival. |
5112 | SROrderRefGamma | N | float | The reference gamma for PriceDeGa and PriceDeGaX order limit types. Default is SR supplied gamma at time of order arrival. |
60 | TransactTime | Y | utcDttm | YYYYMMDD-HH:MM:SS (Message must arrive within 15 seconds to be considered valid). |
StandardTrailer | Y |
NewOrderMultileg (Client to SpiderRock)
NewOrderMultileg<AB> messages are used to submit responses to multi-leg security auction notices (liquidity requests).
Tag | Field Name | Req'd | Type | Comments |
---|---|---|---|---|
StandardHeader | Y | MsgType = AB | ||
11 | ClOrdID | Y | string | Client order ID (24-character max) |
5208 | SRCrossNoticeID | Y | string | QuoteRequestID from LiquidityRequest |
5094 | SROrderHandling | Y | int | 23 = BlockResponse |
1 | Account | Y | string | SR account acronym |
555 | NoLegs | Y | int | Number of legs |
=654 | LegRefId | Y | string | Used to identify a specific leg |
=608 | LegCEICode | N | string | ES = Equity Common Shares [CS] F = Future [FUT] OC = Option - Call [OPT] OP = Option - Put [Opt] |
=609 | LegSecurityType | N | string | Alternative to LegCEICode<608> for Equities and Futures only. - Must be specified for Futures and Options - If not specified, Equity assumed OPT - Equitiy Option CS or <empty> - Equity |
=600 | LegSymbol | Y | string | Leg Exchange symbol - may incorporate symbol suffix, e.g. VIA.A - For OPRA options, spiderRock accepts an OSI code in this field. - For standardized futures products, maturity information can be inclided in this field, (e.g. GCZ22 [for the Dec-22 Comex Gold Future]) |
=601 | LegSymbolSfx | N | string | Leg Symbol Suffix |
=611 | LegMaturityDate | N | string | For Futures and Options YYYYMMDD |
=612 | LegStrikePrice | N | float | Option strike price |
=624 | LegSide | Y | char | 1 = Buy 2 = Sell 5 = Sell short 6 = Sell short exempt Y = Sell auto (SR determines whether child orders should be selling long or short by looking up account/aggregate group position when child orders are created). |
=623 | LegRatioQty | Y | int | The ratio of quantity for this individual leg relative to the entire multileg security |
=564 | LegPositionEffect | N | char | For Option leg: O = Open C = Close For Stock leg when 624=1 (Buy) and 54=2 (Sell): 2 = Sell long 5 = Sell short 6 = Sell short exempt A = Auto (SR determi9nes whether child orders should be marked open or closed by looking yp account/aggregate group position when child orders are created). Default is A (Auto) if not supplied. Note: Auto is only allowed if the trading account is configured for auto-marking. |
54 | Side | Y | char | 1 = Buy 2 = Sell Must be opposite of the side in the liquidity request |
38 | OrderQty | Y | int | Executable quantity |
44 | Price | Y | double | Liquidity response price (4 decimals; does not need to be in normal price increments). |
5098 | SROrderLimitType | N | int | 2 = Price (static price) 3 = PriceDeGa (delta/gamma adjusted price; uMid reference) 4 = PriceDeGaX (delta/gamma adjusted price; uCross reference) Default is Price |
5104 | SRTakeReachRule | Y | char | 5 = FullSize 10 = AtMost25 11 = AtMost50 |
5108 | SROrderRefUPrc | N | float | The initial reference price for PriceDeGa and PriceDeGaX order limit types. Default is SR supplied underlier reference at time of order arrival. |
5110 | SRorderRefDelta | N | float | The reference delta for PriceDeGa and PriceDeGaX order limit types. Default is SR supplied delta at time of order arrival. |
5112 | SROrderRefGamma | N | float | The reference gamma for PriceDeGa and PriceDeGaX order limit types. Default is SR supplied gamma at time of order arrival. |
60 | TransactTime | Y | utcDttm | YYYYMMDD-HH:MM:SS (Message must arrive within 15 seconds to be considered valid). |
StandardTrailer | Y |
ExecutionReport (SpiderRock to Client)
Tag | Field Name | Req'd | Type | Comments |
---|---|---|---|---|
StandardHeader | Y | MsgType = 8 | ||
37 | OrderID | Y | string | Unique ID for order chain assigned by SpiderRock |
11 | ClOrdID | Y | string | Client order ID (24-character max) |
41 | OrigClordID | N | string | Conditionally required for response to a Cancel or Cancel/Replace request (ExecType=PendingCancel, Replaced, or Canceled) |
76 | ExecBroker | N | string | Value from executing venue |
5036 | SRUsername | N | string | Used for customer service and futures compliance |
5012 | SRAltAccnt | N | string | |
5410 | SRExtTraderID | N | string | |
5350 | SRExecBrokerMPID | N | string | Executing Broker MPID |
17 | ExecID | Y | string | Unique ID assigned by SpiderRock |
20 | ExecTransType | Y | Int | |
19 | ExecRefID | N | string | |
150 | ExecType | Y | char | |
60 | TransactTime | Y | utcDttm | YYYYMMDD-HH:MM:SS.sss Time the transaction represented by this ExecutionReport occured |
39 | OrdStatus | Y | char | |
103 | OrdRejReason | N | int | For optional use with ExecType = 8 (Rejected) |
1 | Account | Y | string | Assigned by SpiderRock |
54 | Side | Y | char | Value from executing venue Value may differ from client's order if execution order is sold short. |
38 | OrderQty | Y | int | |
40 | OrdType | Y | char | Order type of this execution |
77 | OpenClose | N | char | Value from client's order |
44 | Price | N | double | Value from client's order |
528 | OrderCapacity | N | char | Value from order to venue |
32 | LastShares | Y | int | |
31 | LastPx | Y | double | |
30 | LastMkt | N | string | Value from executing venue |
29 | LastCapacity | N | string | Value from executing venue |
151 | LeavesQty | Y | int | 0 if order is not active, not (OrderQty-Cum) |
14 | CumQty | Y | int | |
6 | AvgPx | Y | double | Execution Price |
58 | Text | N | string | |
5605 | SRRejectCode | N | int | See Appendix C for a list of SR reject codes |
442 | MultiLegReportingType | N | char | Used to indicate what an Execution Report represents (e.g. used with multi-leg securities, such as option strategies, spreads, etc.). 1 = SINGLE_SECURITY 2 = INDIVIDUAL_LEG 3 = MULTI_LEG_SECURITY |
654 | LegRefID | N | string | Used to identify a specific leg for multileg order execution reports |
439 | ClearingFirm | N | string | Value from client's order, or SpiderRock account config |
440 | ClearingAccount | N | string | Value from client's order, or SpiderRock account config |
167 | SecurityType | N | string | Value from client's order |
55 | Symbol | Y | string | Value from client's order |
65 | SymbolSfx | N | string | Value from client's order |
461 | CFICode | N | string | Value from cient's order |
201 | PutOrCall | N | int | Value from client's order |
541 | MaturityDate | N | string | Value from client's order YYYYMMDD |
200 | MaturityMonthyear | N | string | Value from client's order YYYYMM |
205 | MaturityDay | N | int | Value from client's order 1-31 |
202 | StrikePrice | N | price | Value from client's order |
StandardTrailer | Y |
OrderCancelRequest (Client to SpiderRock)
Tag | Field Name | Req'd | Type | Comments |
---|---|---|---|---|
Standard Header | Y | MsgType = F | ||
11 | ClOrdID | Y | string | Client order ID (24-character max) |
41 | OrigClordID | Y | string | ClOrdID<11> of the previous order (NOT the initial order of the day) when canceling an order (24-character max) |
58 | Text | N | string | User supplied text such as a cancel reason |
60 | TransactTime | Y | utcDttm | YYYYMMDD-HH:MM:SS.sss |
Standard Trailer | Y |
OrderCancelReject (SpiderRock to Client)
SpiderRock FIX Gateways follow FIX 4.4 style rules for CancelReject handling but can switch to FIX 4.2 on request.
Tag | Field Name | Req'd | Type | Comments |
---|---|---|---|---|
Standard Header | Y | MsgType = 9 | ||
37 | OrderID | Y | string | Unique ID for order chain assigned by SpiderRock |
11 | ClOrdID | Y | string | Value from client request |
41 | OrigClOrdID | Y | string | Conditionally required for response to a Cancel or Cancel/Replace request (ExecType=PendingCancel, Replaced, or Canceled) |
434 | CxlRejResponseTo | Y | char | Valid values: 1 = OrderCancelRequest <F> 2 = OrderCancel/Replace Request <G> |
102 | CxlRejReason | N | int | |
39 | OrdStatus | Y | char | OrdStatus value after this cancel reject is applied |
58 | Text | N | string | |
Standard Trailer | Y |
LiquidityRequest (SpiderRock to Client)
QuoteRequest<R> messages are used to notify responders about liquidity response opportunities. The same message is used for both flash (20ms) and block (up to 5 minutes) auctions.
Tag | Field Name | Req'd | Type | Comments |
---|---|---|---|---|
StandardHeader | Y | MsgType = R | ||
131 | QuoteReqID | Y | string | Must be included as SRCrossNoticeID (24-character max) on New Order Single and New Order Multileg responses. |
55 | Symbol | Y | string | If 167=OPT: OSI Option Code If 167=MLEG: Exchange Symbol |
167 | SecurityType | Y | string | OPT = Equity Option MLEG = Multileg Spread |
38 | OrderQty | Y | int | Executable quantity |
44 | Price | N | float | Will exist if initiator is disclosing a public price |
54 | Side | N | char | 1=Buy 2=Sell Initiator Side will exist if initiator is disclosing a public side |
104 | IOIQualifier | N | char | L = UptoQty A = AllorNone M = QtyOrMore |
303 | QuoteRegType | Y | char | B = Block F = Flash |
60 | TransactTime | Y | utcDttm | YYYYMMDD-HH:MM:SS.sss |
5022 | SRClientFirm | N | string | SRClientFirmCode of the initiating client firm (if disclosed) |
555 | No Legs | N | int | Number of legs (MLeg Only) |
=600 | LegSymbol | Y | string | If 609=CS: Leg Exchange symbol If 609=OPT: Option OSI code |
=609 | LegSecurityType | Y | string | OPT = Equity Option CS = Equity |
=624 | LegSide | Y | char | 1 = Buy 2 = Sell |
=623 | LegRatioQty | Y | int | The ratio of quantity for this individual leg relative to the entire multileg security |
StandardTrailer | Y |