Order Entry Specs
This document describes the application level FIX messages used to submit and manage orders for equities, futures, and options, including single-leg and multi-leg variants.
This document is intended to be used in conjunction with the SpiderRock FIX Session Guide which describes session level message handling and other SpiderRock FIX conventions in more detail.
Please refer to the OrderManagement section of this site for more information about SpiderRock execution and order management algos and concepts.
Supported Order Types
DMA style orders - These are market or limit orders with a simple limit price and a designated exchange.
Smart/Sweep style orders - These market or limit orders, with a simple limit price, and no designated exchange. These orders will be routed to one or more exchanges at SpiderRock's discretion.
Algorithmic orders These are orders with complex algo behavior and complex price and size limits. They can both provide and interact with liquidity on any public exchange.
Multi-Leg orders - Also known as spread orders, these are orders to buy and sell orders with more than one option simultaneously. Multi-Leg orders can have DMA, Smart/Sweep, or Complex Algo style order handling. They can also work legs individually across all relevant exchanges.
Opening/Closing auctions - Orders designated for participation in either exchange opening or closing auctions.
Order Life Cycle
Delayed start time The order may contain a start time parameter to specify when an order becomes active.
Wait-start The order can be be staged so that it does not become active until released (active size is initially zero).
Staged The order is entered by one user, and activated by another user.
StageReview The order is entered by one trading system, and activated by another system (compliance/risk).
Stop Time The order stops working when the stop time is reached.
Order Duration The order stops working when the order duration is reached
Price Range Cancel The order stops working when an underlying price is reached.
User Cancel The order is explicitly cancelled by the client
Note: Orders can be staged, released, and cancelled by any combination of SpiderRock GUI tools, the SpiderRock SRSE API, and FIX messaging.
Application Messages
NewOrderSingle (Client to SpiderRock)
NewOrderSingle<D> messages are used to submit orders for single securities. Both the standard order types and algorithmic order types offered by SpiderRock are communicated using this message.
In addition to standard FIX tags, SpiderRock uses custom FIX tags (5,000+) for SpiderRock specific parameters. More information about the SpiderRock tags can be found in the SpiderRock Tag Appendix below.
Basic Version
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
Standard Header | Y | MsgType = D | |||
11 | ClOrdId | Y | string | altOrderId | Client order ID (24 character max) |
60 | TransactTime | Y | utcDttm | orderDttm | Time this order request was initiated/released. Formatted as: YYYYMMDD-HH:MM:SS.fff Note: this order must arrive at SpiderRock within 15 seconds of the TransactTime to be considered a valid order. |
1 | Account | Y | string | accnt | SR account acronym. Must be configured prior to testing or trading Superseded by SRAccnt |
204 | CustomerOrFirm | N | string | firmType | 0 = Customer 1 = Firm 2 = Broker / Dealer 4 = Market Maker 5 = Non-Member Market Maker 8 = Customer Professional Will default to SR account configuration if not specified Superseded by: SRFirmType |
528 | OrderCapacity | N | char | orderCapacity | A = Agency G = Prop I = Individual P = Principal R = Riskless W = AgentOtherMember Will default to SR account configuration if not specified Superseded by: SROrderCapacity |
167 | SecurityType | N | string | secType | Alternative to CFICode<461> CS = Equity default FUT = Future/Future Options OPT = Equity Option Superseded by :SRSecType Default=stock |
54 | Side | Y | char | orderSide ssaleFlag | 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). OrderSide superseded by: SROrderSide SsaleFlag superseded by: SRShortSaleFlag |
38 | OrderQty | Y | int | orderSize | Executable quantity Superseded by: SRORderSize |
77 | PositionEffect | N | char | positionType | O = Open C = Close R = Rolled F = FIFO Superseded by: SRPositionType |
40 | OrdType | N | char | orderLimitType | 1 = Market 2 = Limit 5 = Market on Close B = Limit on Close Required for DMA and Smart/Sweep style orders. Not required for more complex order types. If necessary, use Market as the order type when submitting orders with more complex behavior. Superseded by: SROrderLimitType Default=Price |
44 | Price | N | float | orderPrcLimit | Required for limit order types Superseded by: SROrderPrcLimit |
59 | TimeInForce | N | string | orderDuration parentOrderHandling | 0 = Day 2 = Opening 3 = Immediate or Cancel (IOC) 6 = Good Till Date/Time (or Duration) 7 = Closing OrderDuration Superseded by: SRMarketSession |
126 | ExpireTime | N | UTCTimeStamp | goodTillDttm | Superseded by: SRGoodTillDttm |
100 | ExDestination | N | multiple-value string | exchMask | SR Destination Code (see appendix) Required for DMA style orders Superseded by: SRExDestination |
440 | ClearingAccount | N | string | clearingAccnt (in child order) | Superseded by SRClearingFlipAccount, then SRClearingAccnt |
439 | ClearingFirm | N | string | clearingFirm (in child order) | Superseded by: SRClearingFlipFirm |
Any SR Tags | N | ||||
Standard Trailer | Y |
Common Extensions
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
5020 | SRAccnt | N | string | accnt | SR account acronym. Must be configured prior to testing or trading Supersedes Account |
5022 | SRClientFirm | N | string | clientFirm | SR client firm acronym, used in account lookup. Must be configured prior to testing or trading |
5012 | SRAltAccnt | N | string | altAccnt | SR alternative account acronym. Must be configured prior to testing or trading |
5166 | SRFirmType | N | string | firmType | Supersedes CustomerOrFirm |
5168 | SROrderCapacity | N | char | orderCapacity | A = Agency G = Prop I = Individual P = Principal R = Riskless W = AgentOtherMember Will default to SR account configuration if not specified Supersedes OrderCapacity |
5016 | SRSecType | N | string | secType | Supersedes SecurityType |
5015 | SRSecKey | N | string | secType | Supersedes typical resolution |
5040 | SROrderSide | N | char | orderSide | Supersedes Side |
5172 | SRShortSaleFlag | N | char | ssaleFlag | 1 = Long 2 = Short 3 = Exempt 4 = Auto 5 = Open 6 = Close 8 = Cover 7 = NA |
5042 | SROrderSize | N | int | orderSize | Supersedes OrderQty |
5170 | SRPositionType | N | char | positionType | Supersedes PositionEffect |
5700 | LocateBroker | N | string | locateFirm | Superseded by: SRLocateFirm |
5221 | SRLocateFirm | N | string | locateFirm | Supersedes LocateBroker |
5098 | SROrderLimitType | N | char | orderLimitType | Supersedes OrdType |
5106 | SROrderPrcLimit | N | float | orderPrcLimit | Supersedes Price |
5089 | SRMarketSession | N | string | orderDuration parentOrderHandling | Supersedes TimeinForce |
5088 | SRGoodTillDttm | N | UTCTimeStamp | goodTillDttm | Supersedes ExpireTime |
5094 | SROrderHandling | N | string | parentOrderHandling | Supersedes typical resolution If failure to resolve, Default=DMA |
5360 | SRExDestination | N | multiple-value string | exchMask | Supersedes ExDestination |
5374 | SRClearingFlipAccount | N | string | clearingFlipAccnt (in child order) | Supersedes ClearingAccount |
5026 | SRClearingAccount | N | string | clearingAccnt (in child order) | Supersedes ClearingAccount |
5373 | SRClearingFlipFirm | N | string | clearingFlipFirm (in child order) | Supersedes ClearingFirm |
5375 | SRClearingFlipType | N | string | clearingFlipType (in child order) | Examples: BRKR CMTA GVUP NSCC DTCC QSR DVP |
Example -- DMA
DMA orders are used to send a single order to a specific exchange or destination. This order type allows the client to control where the order is traded. Note that DMA orders may interact with dark liquidity in the SpiderRock platform if this is desired.
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
Standard Header | Y | MsgType = D | |||
Basic NewOrderSingle Fields | See "NewOrderSingle" above | ||||
100 | ExDestination | Y | string | exchMask | SR Destination Code (see appendix) |
Standard Trailer | Y |
Example - Smart/Sweep
Smart/Sweep orders are used to send an order without specifying a destination. SpiderRock will determine the optimal destination(s) for the order and will automatically sweep multiple destinations to maximize liquidity capture. This order type can optionally post any unfilled balance on an exchange.
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
Standard Header | Y | MsgType = D | |||
Basic NewOrderSingle Fields | See "NewOrderSingle" above | ||||
Standard Trailer | Y |
Example - Staged/WaitStart
The SRStartType<5090> tag is used to send staged/wait orders to SpiderRock. These orders will be sent to the exchange once the client commands their release. Note that orders can be released in multiple ways: via the SpiderRock GUI tools, the SpiderRock SRSE/SQL API, and a Listexecute<L> FIX message. Staged orders will be acknowledged immediately; fills will only be reported after the order has been released.
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
Standard Header | Y | MsgType = D | |||
Basic NewOrderSingle Fields | See "NewOrderSingle" above | ||||
Algorithmic NewOrderSingle Fields | See "NewOrderSingle" above | ||||
5086 | SRStageType | Y | int | spdrStageType | 1 = ModifyAny 2 = ModifyAlgo |
5090 | SRStartType | Y | int | startType | 2 = WaitTrigger (wait start) |
Standard Trailer | Y |
Example - Market-On-Open/Market-On-Close
Market-On-Open/Market-On-Close orders are used when participating in opening and closing exchange auctions. Note: Either FIX 4.2 or FIX 4.4style OrdType/TimeInForce tagging is allowed.
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
Standard Header | Y | MsgType = D | |||
Basic NewOrderSingle Fields | See "NewOrderSingle" above | ||||
59 | TimeInForce | Y | char | parentOrderHandling | 2 = At the opening 7 = At the Close |
Standard Trailer | Y |
Example - SpiderRock Algorithm
Complex Algo/Parent orders express intent to interact with the market in a variety of ways. These parent orders can, and frequently do, result in multiple child orders being generated and routed to the exchange.
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
Standard Header | Y | MsgType = D | |||
Basic NewOrderSingle Fields | See "NewOrderSingle" above | ||||
5036 | SRUsername | N | string | userName | Client defined username Used for customer service and futures compliance If necessary, a default may be assigned to the FIX session. (24 character max) |
5055 | SRProgressExposeTime | N | int | progressExposeTime | Duration in seconds |
5094 | SROrderHandling | Y | int | orderHandling | Primary order handling algorithm 1 = ActiveTaker 2 = PostOnly 3 = DMA 4 = MktOnOpn 5 = MktOnCls 11 = CrossResponse 12 = AuctionResponse |
5096 | SRBalanceHandling | N | int | parentBalanceHandling | 0 = None (non-marketable balance will not be posted) default 1 = PostWith 2 = PostTurn 3 = PostImprove 4 = PostLimit 5 = PostLmtW 7 = PostWthF 9 = PostFlash 10 = PostFlashW 12 = PostFlashI |
5090 | SRStartType | N | int | startType | 0 = Immediate 1 = WaitTrigger (wait for RiskGroup/Sweep trigger) 2 = Staged (wait for order to be modified/r eleased) |
5089 | SRMarketSession | char | marketSession | 1 = Regular Market 2 = Pre-Market 3 = Post-Market 4 = Regular and Pre-Market 5 = Regular and Post-Market 6 = All Day | |
5086 | SROrderDuration | N | int | orderDuration | Order with SRMarketSession = GTD expires after working for this number of seconds. |
5088 | SRGoodTillDttm | N | utcDttm | goodTillDttm | Order with SRMarketSession = GTD expires at this time. |
5028 | SRExecBrokerCode | N | string | execBrkrCode | Overrides the default executing broker for this parent order |
5034 | SRStrategy | N | string | strategy | Client strategy label. Displayed on SR Order Manager |
5082 | SRExDestination | N | string | exchMask | Space separated exchange list; default = all available exchanges |
5046 | SRMaxExposureSize | N | int | maxExposureSize | Maximum simultaneous public exposure size across all exchanges |
5048 | SRNumMakeExchanges | N | int | numMakeExchanges | Number of public exposure exchanges |
5050 | SRPublicSize | N | char | publicSize | 0 = None 1 = Randomize 2 = MktSize 3 = FullSize 4 = MktSizeA 5 = MktSizeB 6 = MktSizeC 7 = FullSizeR Max25Pct=8 Max50Pct=9 Max75Pct=10 NoSize=11 |
5052 | SRCanCxlOverlap | N | char | canOverlapCxlRepl | When replacing (cancel-with-replacement) a child order, can cancel request overlap with new order? The order may overfill if 'Y'. Y = Yes N = No |
5080 | SRMaxChildOrders | N | int | maxChildOrders | Upper bound for the number of child orders generated for this parent order Default: 1000 |
5054 | SRProgressRule | N | int | progressRule | 0 = Immediate default 1 = Twap 2 = Vwap (not available for options) 3 = TwapReset 4 = VwapReset (not available for options) 5 = FastReset 6 = SlowReset 7 = TwapAlpha 8 = VwapAlpha (not available for options) 11 = SpdrPulse |
5056 | SRProgressSliceCnt | N | int | progressSliceCnt | number of slices to use (default = 4 or 8) [max 20] |
5104 | SRTakeReachRule | N | int | takeReachRule | 0 = None 1 = Delayed 2 = Passive 3 = WeakOnly 4 = RespondOnly 5 = FullSize 6 = ISOSweep 7 = AllOrNone 8 = QtyOrMore 9 = UpToQty 10 = AtMost25 11 = AtMost50 12 = MinTakeFee |
5098 | SROrderLimitType | N | int | orderLimitType | 0 = Market 1 = MarketArrival 2 = Prc 3 = PrcDe 4 = PrcDeX 5 = PrcDeT 6 = PrcDeP 7 = PrcDeXT 8 = PrcD eXP 9 = Vol 10 = VolX 11 = PrcV 12 = PrcVX 13 = VolPrc 14 = RelMid 15 = RelJoin 16 = RelCross 17 = SmrtFast 18 = SmrtNorm 19 = RelTurn 20 = PrcDeEm 22 = VolEm 23 = Aux 24 = UPrcPct 25 = PkgNeutral 26 = RcPrem 27 = SynthLimitMM 28 = SynthLimitBW 29 = SynthLimitWW |
5106 | SROrderPrcLimit | N | float | orderPrcLimit | Applies if SROrderLimitType<5098> = Prc |
5126 | SROrderPrcOffset | N | float | orderPrcOffset | Default=0 |
5132 | SRTakeAlphaFactor | N | float | takeAlphaFactor | |
5134 | SRMakeAlphaFactor | N | float | makeAlphaFactor | |
5136 | SRTakeProbability | N | float | takeProbability | |
5138 | SRMakeProbability | N | float | makeProbability | |
5259 | SRMaxSymDayDDeltaLn | N | float | maxSymDayDDeltaLn | max acct+symbol day $delta long Should be a positive number; Defaults to no limit |
5260 | SRMaxSymDayDDeltaSh | N | float | maxSymDayDDeltaSh | max acct+symbol day $delta short Should be a positive number; Defaults to no limit |
5058 | SRVwap Participation | N | float | vwapParticipation | Target VWAP participation rate (target % of trade activity) |
5290 | SRUserData1 | N | string | userData1 | User defined field (max 255 chars) - Can be returned on exec reports, forwarded on drop lines, or copied onto child orders. Please advise SpiderRock support staff of intended behavior. |
5291 | SRUserData2 | N | string | userData2 | User defined field (max 255 chars) - Can be returned on exec reports, forwarded on drop lines, or copied onto child orders. Please advise SpiderRock support staff of intended behavior. |
SR Option Specific Fields | See "Algorithmic Order -- Option Specific Fields" below | ||||
Standard Trailer | Y |
Algorithmic Order -- Option Specific Fields
The following fields can be included in Algorithmic orders when SecurityType<167> = Option.
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
5170 | SRPositionType | N | int | positionType | Primary position type (single leg orders) |
5060 | SRAuctionResponder | N | string | auctionResponder | 0 =None ANY = parent order can be an auction responder |
5108 | SROrderRefUPrc | N | float | orderRefUPrc | The stock reference price, a contribution to the order premium. |
5110 | SROrderRefDelta | N | float | orderRefDelta | |
5112 | SROrderRefGamma | N | float | orderRefGamma | |
5192 | SROrderRefRMetric1 | N | float | orderRefRMetric1 | User supplied custom risk metric |
5194 | SROrderRefRMetric2 | N | float | orderRefRMetric2 | User supplied RMetric2 value |
5196 | SROrderRefRMetric3 | N | float | orderRefRMetric3 | User supplied RMetric3 value |
5198 | SROrderRefRMetric4 | N | float | orderRefRMetric4 | User supplied RMetric4 value |
5200 | SROrderRefRMetric5 | N | float | orderRefRMetric5 | User supplied RMetric5 value |
5212 | SROrderRefRMetric6 | N | float | orderRefRMetric6 | User supplied RMetric6 value |
5236 | SROrderRefRMetric7 | N | float | orderRefRMetric7 | User supplied RMetric7 value |
5116 | SROrderVolLimit | N | float | orderVolLimit | Order volatility limit - Valid range: [0.005, 9.000]. Required if SROrderLimitType<5098> is Vol, VolX, or VolPrc Ignored if SROrderLimitType is Market |
5118 | SRRateOverride | N | float | rateOverride | Must be positive |
5120 | SRSDivOverride | N | float | sdivOverride | |
5122 | SRDDivOverride | N | string | ddivOverride | Discrete dividends override Format:[years: amount, years:amount, ...] |
5124 | SROverrideCode | N | char | overrideCode | SDiv/DDiv override rule (applies if LimitType = Vol) 0 = None S = SDivOnly D = DDivOnly B = Both |
5228 | SRMakeSurfWidthOffset | N | float | makeSurfWidthOffset | |
5229 | SRTakeSurfWidthOffset | N | float | takeSurfWidthOffset | |
5140 | SRTakeSurfPrcOffset | N | float | takeSurfPrcOffset | |
5142 | SRTakeSurfVolOffset | N | float | takeSurfVolOffset | |
5144 | SRMakeSurfPrcOffset | N | float | makeSurfPrcOffset | |
5146 | SRMakeSurfVolOffset | N | float | makeSurfVolOffset | |
5072 | SRCxlUPrcRange | N | bool | cxlUPrcRange | Cancel order if outside stock price range Y = Yes N = No Z = Yes/Halt - Yes and also cancel on underlying halt M = No/Halt - No, but cancel on underlying halt |
5074 | SRMinUBid | N | float | minUBid | Any non-hold status will revert to markup if stock NBBO Mid is outside [midStockPx,maxUAsk] range. |
5076 | SRMaxUAsk | N | float | See description for minUBid | |
5078 | SRMinOptionPx | N | float | maxUAsk | Option price floor for orders tied to stock |
5255 | SRMaxExpDayWtVegaLn | N | float | maxExpDayWtVegaLn | max accnt+expiration day wvega (time weighted) long. Should be a positive number; Defaults to no limit |
5256 | SRMaxExpDayWtVegaSh | N | float | maxExpDayWtVegaSh | max accnt+expiration day wvega (time weighted) short. Should be a positive number; Defaults to no limit |
5257 | SRMaxSymDayWtVegaLn | N | float | maxSymDayWtVegaLn | max acct+symbol day vega long. Should be a positive number; Defaults to no limit |
5258 | SRMaxSymDayWtVegaSh | N | float | maxExpDayWtVegaSh | max acct+symbol day $delta short. Should be a positive number; Defaults to no limit |
Algorithmic Order -- Option Autohedging Fields
If autohedging is enabled, then any resulting autohedge fills will be reported using the orders. Note that since autohedge trades are generated in response to option fills, perhaps over multiple orders, some accommodations must be made in the resulting autohedge execution reports. They cannot be reported back to the client on an order entry line; all autohedged drop reports are reported down a separate FIX drop line.
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
5152 | SRAutoHedge | N | char | autoHedge | N = NoHedge default X = FastCrx Y = FastDark Z = SlowDark F = AutoCrx S = AutoTrn M = AutoMid A = SpdrAuto 1 = Spdr10S 3 = Spdr30S 9 = Spdr90S 5 = Spdr5M H = Spdr30M D = SpdrDay 12 = SmartFast 13 = SmartNorm V1 = AlphaVwap1pct=V1 V2 = AlphaVwap2pct V5 = AlphaVwap5pct V25 = AlphaVwap25pct T = Static |
OrderCancelReplace (Client to SpiderRock)
The OrderCancelReplace<G> request is used to change the parameters of an existing New Order Single.
An ExecutionReport<8> with ExecType<150>=Pending Replace will be sent unless the OrderCancelReplace<G> can immediately be accepted (ExecutionReport<8> with ExecType<150>=Replaced) or rejected (OrderCancelReject<9> message).
An OrderCancelReplace<G> request will only be accepted if any associated child orders can successfully be cancelled. Requests that cannot be processed will be rejected with a CancelReject<3> message.
An order’s algorithmic parameters remain unaffected unless a new value is manually updated for a specific parameter. If a new value is not supplied, the previous order's algo parameters are carried forward onto the new order.
An OrderCancelReplace<G> request may be sent to increase the quantity on a filled order, but not a cancelled nor rejected order.
In addition to standard FIX tags, SpiderRock uses custom FIX tags (5,000+) for SpiderRock specific parameters. More information about the SpiderRock tags can be found in the SpiderRock Tag Appendix below.
Basic Version
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
Standard Header | Y | MsgType = G | |||
1 | Account | Y | string | accnt | SR account acronym. Must be configured prior to testing or trading Superseded by SRAccnt |
11 | ClOrdId | Y | string | altOrderId | Client order ID (24 character max) |
38 | OrderQty | Y | int | orderSize | Executable quantity Superseded by: SRORderSize |
54 | Side | Y | char | orderSide ssaleFlag | 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). OrderSide superseded by: SROrderSide SsaleFlag superseded by: SRShortSaleFlag |
40 | OrdType | N | char | orderLimitType | 1 = Market 2 = Limit 5 = Market on Close B = Limit on Close Required for DMA and Smart/Sweep style orders. Not required for more complex order types. If necessary, use Market as the order type when submitting orders with more complex behavior. Superseded by: SROrderLimitType Default=Price |
44 | Price | N | float | orderPrcLimit | Required for limit order types Superseded by: SROrderPrcLimit |
59 | TimeInForce | N | string | orderDuration parentOrderHandling | 0 = Day 2 = Opening 3 = Immediate or Cancel (IOC) 6 = Good Till Date/Time (or Duration) 7 = Closing OrderDuration Superseded by: SRMarketSession |
126 | ExpireTime | N | UTCTimeStamp | goodTillDttm | Superseded by: SRGoodTillDttm |
52 | SendingTime | N | UTCTimeStamp | Time of message transmission always expressed in UTC (Universal Time Coordinated, also known as “GMT”) | |
60 | TransactTime | Y | utcDttm | orderDttm | Time this order request was initiated/released. Formatted as: YYYYMMDD-HH:MM:SS.fff Note: this order must arrive at SpiderRock within 15 seconds of the TransactTime to be considered a valid order. |
100 | ExDestination | N | multiple-value string | exchMask | SR Destination Code (see appendix) Required for DMA style orders Superseded by: SRExDestination |
Any SR Tags | N | ||||
Standard Trailer | Y |
Common Extensions
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
5020 | SRAccnt | N | string | accnt | SR account acronym. Must be configured prior to testing or trading Supersedes Account |
5022 | SRClientFirm | N | string | clientFirm | SR client firm acronym, used in account lookup. Must be configured prior to testing or trading |
5012 | SRAltAccnt | N | string | altAccnt | SR alternative account acronym. Must be configured prior to testing or trading |
5042 | SROrderSize | N | int | orderSize | Supersedes OrderQty |
5040 | SROrderSide | N | char | orderSide | Supersedes Side |
5098 | SROrderLimitType | N | char | orderLimitType | Supersedes OrdType |
5106 | SROrderPrcLimit | N | float | orderPrcLimit | Supersedes Price |
5089 | SRMarketSession | N | string | orderDuration parentOrderHandling | Supersedes TimeinForce |
5088 | SRGoodTillDttm | N | UTCTimeStamp | goodTillDttm | Supersedes ExpireTime |
5094 | SROrderHandling | N | string | parentOrderHandling | Supersedes typical resolution If failure to resolve, Default=DMA |
5360 | SRExDestination | N | multiple-value string | exchMask | Supersedes ExDestination |
NewOrderMultileg (Client to SpiderRock)
A NewOrderMultileg<AB> message is used to submit an order for up to 6 option legs and one equity leg as a package. Both standard multi-leg order types and the more complex ones offered by SpiderRock are communicated using this message.
The NewOrderMultileg<AB> fields listed in the following table are used in common by all SpiderRock multileg orders. Additional fields are used by different order types to communicate their unique features. These fields are described in subsequent sections.
In addition to standard FIX tags, SpiderRock uses custom FIX tags (5,000+) for SpiderRock specific parameters. More information about the SpiderRock tags can be found in the SpiderRock Tag Appendix below.
Basic Version
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
Standard Header | Y | MsgType = AB | |||
11 | ClOrdId | Y | string | altOrderId | Client order ID (24 character max) |
60 | TransactTime | Y | utcDttm | orderDttm | Time this order request was initiated/released. Formatted as: YYYYMMDD-HH:MM:SS.fff Note: this order must arrive at SpiderRock within 15 seconds of the TransactTime to be considered a valid order. |
1 | Account | Y | string | accnt | SR account acronym. Must be configured prior to testing or trading Superseded by SRAccnt |
204 | CustomerOrFirm | N | string | firmType | 0 = Customer 1 = Firm 2 = Broker / Dealer 4 = Market Maker 5 = Non-Member Market Maker 8 = Customer Professional Will default to SR account configuration if not specified Superseded by: SRFirmType |
528 | OrderCapacity | N | char | orderCapacity | A = Agency G = Prop I = Individual P = Principal R = Riskless W = AgentOtherMember Will default to SR account configuration if not specified Superseded by: SROrderCapacity |
167 | SecurityType | N | string | secType | Alternative to CFICode<461> CS = Equity default FUT = Future/Future Options OPT = Equity Option Superseded by :SRSecType Default=stock |
54 | Side | Y | char | orderSide ssaleFlag | 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). OrderSide superseded by: SROrderSide SsaleFlag superseded by: SRShortSaleFlag |
38 | OrderQty | Y | int | orderSize | Executable quantity Superseded by: SRORderSize |
77 | PositionEffect | N | char | positionType | O = Open C = Close R = Rolled F = FIFO Superseded by: SRPositionType |
40 | OrdType | N | char | orderLimitType | 1 = Market 2 = Limit 5 = Market on Close B = Limit on Close Required for DMA and Smart/Sweep style orders. Not required for more complex order types. If necessary, use Market as the order type when submitting orders with more complex behavior. Superseded by: SROrderLimitType Default=Price |
44 | Price | N | float | orderPrcLimit | Required for limit order types Superseded by: SROrderPrcLimit |
59 | TimeInForce | N | string | orderDuration parentOrderHandling | 0 = Day 2 = Opening 3 = Immediate or Cancel (IOC) 6 = Good Till Date/Time (or Duration) 7 = Closing OrderDuration Superseded by: SRMarketSession |
126 | ExpireTime | N | UTCTimeStamp | goodTillDttm | Superseded by: SRGoodTillDttm |
440 | ClearingAccount | N | string | clearingAccnt (in child order) | Superseded by SRClearingFlipAccount, then SRClearingAccnt |
439 | ClearingFirm | N | string | clearingFirm (in child order) | Superseded by: SRClearingFlipFirm |
100 | ExDestination | N | multiple-value string | exchMask | SR Destination Code (see appendix) Required for DMA style orders Superseded by: SRExDestination |
555 | NoLegs | Y | int | Number of leg repeating groups | |
Leg Repeating Group | |||||
654 | LegRefId | N | hexlong | OrderLegsItem.stockLegId or OrderLegsItem.LegIdN (where N is NoLegs #) | Unique indicator for specific leg |
608 | LegCFICode | N | string | Used to construct child order seckey | Superseded by: SRLegSecType |
609 | LegSecurityType | N | string | Superseded by: SRLegSecType | |
600 | LegSymbol | Y | string | Used to construct child order seckey | |
611 | LegMaturityDate | N | LocalMktDate | Used to construct child order seckey | |
610 | LegMaturityMonthYear | Y* | month-year | Used to construct child order seckey | *Required if LegMaturityDate is absent. |
205 | MaturityDay | Y* | day-of-month | Used to construct child order seckey | *Required if LegMaturityDate is absent. |
612 | LegStrikePrice | Y | float | Used to construct child order seckey | |
1358 | LegPutOrCall | Y* | int | Used to construct child order seckey | 0 = Put, 1 = Call *Required if LegCFICode is absent |
601 | LegSymbolSfx | N | string | Used to construct child order seckey | WI = “When Issued” for a security to be reissued under an old CUSIP or ISIN CD = a EUCP with lump-sum interest rather than discount price |
623 | LegRatioQty | N | float | OrderLegsItem.multN (where N is NoLegs #) | |
624 | LegSide | Y | char | OrderLegsItem.sideN (where N is NoLegs #) | 1 = Buy 2 = Sell 5 = Sell Short Y = Sell Short Auto 6 = Sell Short Exempt |
564 | LegPositionEffect | N | char | OrderLegsItem.posTypeN (where N is NoLegs #) | O = Open C = Close R = Rolled F = FIFO |
End of Leg Repeating Group | |||||
Any SR Tags | N | ||||
Standard Trailer | Y |
Common Extensions
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
5020 | SRAccnt | N | string | accnt | SR account acronym. Must be configured prior to testing or trading Supersedes Account |
5022 | SRClientFirm | N | string | clientFirm | SR client firm acronym, used in account lookup. Must be configured prior to testing or trading |
5012 | SRAltAccnt | N | string | altAccnt | SR alternative account acronym. Must be configured prior to testing or trading |
5166 | SRFirmType | N | string | firmType | Supersedes CustomerOrFirm |
5168 | SROrderCapacity | N | char | orderCapacity | A = Agency G = Prop I = Individual P = Principal R = Riskless W = AgentOtherMember Will default to SR account configuration if not specified Supersedes OrderCapacity |
5016 | SRSecType | N | string | secType | Supersedes SecurityType |
5015 | SRSecKey | N | string | secType | Supersedes typical resolution |
5040 | SROrderSide | N | char | orderSide | Supersedes Side |
5172 | SRShortSaleFlag | N | char | ssaleFlag | 1 = Long 2 = Short 3 = Exempt 4 = Auto 5 = Open 6 = Close 8 = Cover 7 = NA |
5042 | SROrderSize | N | int | orderSize | Supersedes OrderQty |
5170 | SRPositionType | N | char | positionType | Supersedes PositionEffect |
5700 | LocateBroker | N | string | locateFirm | Superseded by: SRLocateFirm |
5221 | SRLocateFirm | N | string | locateFirm | Supersedes LocateBroker |
5098 | SROrderLimitType | N | char | orderLimitType | Supersedes OrdType |
5106 | SROrderPrcLimit | N | float | orderPrcLimit | Supersedes Price |
5089 | SRMarketSession | N | string | orderDuration parentOrderHandling | Supersedes TimeinForce |
5088 | SRGoodTillDttm | N | UTCTimeStamp | goodTillDttm | Supersedes ExpireTime |
5094 | SROrderHandling | N | string | parentOrderHandling | Supersedes typical resolution If failure to resolve, Default=DMA |
5374 | SRClearingFlipAccount | N | string | clearingFlipAccnt (in child order) | Supersedes ClearingAccount |
5026 | SRClearingAccount | N | string | clearingAccnt (in child order) | Supersedes ClearingAccount |
5373 | SRClearingFlipFirm | N | string | clearingFlipFirm (in child order) | Supersedes ClearingFirm |
5375 | SRClearingFlipType | N | string | clearingFlipType (in child order) | Examples: BRKR CMTA GVUP NSCC DTCC QSR DVP |
5360 | SRExDestination | N | multiple-value string | exchMask | Supersedes ExDestination |
Leg Repeating Group Tags | |||||
5305 | SRLegSecType | N | string | Supersedes LegCFICode, LegSecurityType | |
5304 | SRLegSecKey | N | string | Used to construct child order seckey | Supersedes typical resolution |
5303 | SRLegSide | N | string | OrderLegsItem.sideN (where N is NoLegs #) | Supersedes LegSide B = Buy S = Sell |
5307 | SRLegShortSaleFlag | N | char | OrderLegsItem.ssaleFlag | 1 = Long 2 = Short 3 = Exempt 4 = Auto 5 = Open 6 = Close 8 = Cover 7 = NA |
5306 | SRLegPosEffect | N | string | OrderLegsItem.posTypeN (where N is NoLegs #) | O = Open C = Close A = Auto |
End of Leg Repeating Group Tags |
Example - DMA
DMA orders are used to send a multi-leg order to a specified exchange or destination. This order type is appropriate when the client wishes to control where the order is traded. Note that DMA orders may interact with dark liquidity in the SpiderRock platform if configured to do so.
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
Standard Header | Y | MsgType = AB | |||
Basic NewOrderMultileg Fields | See "NewOrderMultileg" above | ||||
100 | ExDestination | Y | string | exchMask | SR Destination Code (see appendix) - Required for DMA style orders Superceded by: SRExDestination |
Standard Trailer | Y |
Example - Smart/Sweep
Smart/Sweep orders are used to send an order without specifying a destination. SpiderRock will determine the optimal destination(s) for the order and will automatically sweep multiple destinations to maximize liquidity capture. This order type can optionally post any unfilled balance on an exchange.
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
Standard Header | Y | MsgType = AB | |||
Basic NewOrderMultileg Fields | See "NewOrderMultileg" above | ||||
Standard Trailer | Y |
Example - Staged/WaitStart
The SRStartType<5090> tag is used to send staged/wait orders to SpiderRock. These orders will be sent to exchange as market orders once the client commands their release. Note that orders can be released in multiple ways: via SpiderRock GUI tools, via the SpiderRock SRSE/SQL API, and via a Listexecute<L> fix message. Staged orders will be acknowledged immediately; fills will only be reported after the order has been released.
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
Standard Header | Y | MsgType = AB | |||
Any Combination of Basic or Complex NewOrderMultiLeg Fields | |||||
5086 | SRStageType | Y | int | spdrStageType | 1 = ModifyAny 2 = ModifyAlgo |
5090 | SRStartType | Y | int | startType | 2 = WaitTrigger (wait start) |
Standard Trailer | Y |
Example - Multileg Algorithm
SpiderRock Algorithmic orders express intent to interact with the market in a variety of ways. These parent orders can, and frequently do, result in multiple child orders being generated and routed to the exchange.
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
Standard Header | Y | MsgType = AB | |||
Basic NewOrderMultileg Fields (See NewOrderMultileg above) | |||||
5036 | SRUsername | N | string | altUserName | Client defined username. - Used for customer service and futures compliance - If necessary, a default may be assigned to the FIX session (24 character max). |
5055 | SRProgressExposeTime | N | int | progressExposeTime | Default = 0 |
5094 | SROrderHandling | Y | int | orderHandling | Primary order handling algorithm 8 = Legger 9 = Seeker 10 = SeekerLegger 20 = CobMaker |
5096 | SRBalanceHandling | N | int | parentBalanceHandling | 0 = None (non-marketable balance will not be posted) 4 = PostLimit |
5086 | SRStageType | Y | int | spdrStageType | 1 = ModifyAny 2 = ModifyAlgo |
5090 | SRStartType | N | int | startType | 0 = Immediate 1 = WaitTrigger (wait for RiskGroup/Sweep trigger) 2 = Staged (wait for order to be modified/released) |
5089 | SRMarketSession | char | marketSession | 1 = Regular Market 2 = Pre-Market 3 = Post-Market 4 = Regular and Pre-Market 5 = Regular and Post-Market 6 = All Day | |
5086 | SROrderDuration | int | orderDuration | Order with SRMarketSession = GTD expires after working for this number of seconds 0/missing = ignore | |
5088 | SRGoodTillDttm | utcDttm | goodTillDttm | Order with SRMarketSession = GTD expires at this time working for this number of seconds | |
5034 | SRStrategy | N | string | strategy | Client strategy label. Displayed on SR Order Manager |
5360 | SRExDestination | string | exchMask | Comma separated exchange list; default = all available exchanges | |
5046 | SRMaxExposureSize | int | maxExposureSize | Maximum simultaneous public exposure size across all exchanges | |
5048 | SRNumMakeExchanges | int | numMakeExchanges | Number of public exposure exchanges | |
5050 | SRPublicSize | N | char | publicSize | 0 = None 1 = Randomize 2 = MktSize 3 = FullSize 4 = MktSizeA 5 = MktSizeB 6 = MktSizeC 7 = FullSizeR |
5080 | SRMaxChildOrders | int | maxChildOrders | Upper bound for the number of child orders generated for this parent order | |
5054 | SRProgressRule | int | progressRule | 0 = Immediate (default) 1 = Twap 3 = TwapReset 5 = FastReset 6 = SlowReset 7 = TwapAlpha progressRule 11 = SpdrPulse | |
5056 | progressSliceCnt | int | progressSliceCnt | Number of slices to use (default = 4 or 8) [max 20] | |
5104 | SRTakeReachRule | int | takeReachRule | 0 = Immediate 1 = Delayed 2 = Passive | |
5098 | SROrderLimitType | string | orderLimitType | 0 = Market 1 = MarketArrival 2 = Prc 3 = PrcDe 4 = PrcDeX 6 = PrcDeP 8 = PrcDeXP 14 = RelMid 15 = RelJoin 16 = RelCross | |
5100 | SRTakeLimitClass | char | takeLimitClass | 0 = Simple 1=Surface Probability=2 SurfProb=3 | |
5102 | SRMakeLimitClass | char | makeLimitClass | 0 = Simple 1=Surface Probability=2 SurfProb=3 | |
5106 | SROrderPrcLimit | float | orderPrcLimit | Applies if SROrderLimitType<5098> = Prc | |
5108 | SROrderRefUPrc | price | orderRefUPrc | default=underlier.mid | |
5110 | SROrderRefDelta | float | orderRefDelta | Default=option.delta | |
5112 | SROrderRefGamma | float | orderRefGamma | Default=option.gamma | |
5116 | SROrderVolLimit | N | float | orderVolLimit | Order volatility limit - Valid range: [0.005, 9.000]. Required if SROrderLimitType<5098> is Vol, VolX, or VolPrc Ignored if SROrderLimitType is Market |
5126 | SROrderPrcOffset | float | orderPrcOffset | Default=0 | |
5128 | SRTakeAlphaType | char | takeAlphaType | 1 = Static 2 = Hawk 3 = Eagle 4 = Falcon 5 = Relative | |
5130 | SRMakeAlphaType | char | makeAlphaType | 1 = Static 2 = Hawk 3 = Eagle 4 = Falcon 5 = Relative | |
5132 | SRTakeAlphaFactor | float | takeAlphaFactor | ||
5134 | SRMakeAlphaFactor | float | makeAlphaFactor | ||
5136 | SRTakeProbability | float | takeProbability | ||
5138 | SRMakeProbability | float | makeProbability | ||
5202 | SRLeadSide | char | leadSide | SROrderHandling=Legger Only 1 = Buy 2 = Sell | |
5204 | SRMaxCompletionSlippage | float | maxCompletionSlippage | SROrderHandling=Legger Only | |
5206 | SROrderRefPremium | float | orderRefPremium | Reference premium (multileg orders only) | |
5290 | SRUserData1 | N | string | userData1 | User defined field (max 255 chars) Can be returned on exec reports; forward to drop lines or forwarded to child orders Please advise SpiderRock support staff of intended behavior. |
5291 | SRUserData2 | N | string | userData2 | User defined field (max 255 chars) Can be returned on exec reports; forward to drop lines or forwarded to child orders Please advise SpiderRock support staff of intended behavior. |
Standard Trailer | Y |
Example - Legger
Legger orders allow SpiderRock to determine optimal destination(s) for the order. SpiderRock will automatically sweep multiple destinations to maximize the order's liquidity capturer. Any unfilled balance can optionally be posted to exchange.
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
Basic NewOrderMultileg Fields (See NewOrderMultileg above) | |||||
5094 | SROrderHandling | Y | int | orderHandling | Primary order handling algorithm 8 = Legger |
5096 | SRBalanceHandling | N | int | parentBalanceHandling | 0 = None (non-marketable balance will not be posted) 4 = PostLimit |
5202 | SRLeadSide | N | char | leadSide | Legger Only 1 = Buy 2 = Sell |
5204 | SRMaxCompletionSlippage | N | float | maxCompletionSlippage | Legger Only |
Standard Trailer | Y |
MultilegCancelReplace (Client to SpiderRock)
The MultilegCancelReplace<AC> request is used to change the parameters of an existing New Order Single.
An ExecutionReport<8> with ExecType<150>=Pending Replace will be sent unless the MultilegCancelReplace<AC> can immediately be accepted (ExecutionReport<8> with ExecType<150>=Replaced) or rejected (OrderCancelReject<9> message).
An MultilegCancelReplace<AC> request will only be accepted if any associated child orders can successfully be cancelled. Requests that cannot be processed will be rejected with a CancelReject<3> message.
In addition to standard FIX tags, SpiderRock uses custom FIX tags (5,000+) for SpiderRock specific parameters. More information about the SpiderRock tags can be found in the SpiderRock Tag Appendix below.
Basic Version
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
Standard Header | Y | MsgType = AC | |||
11 | ClOrdId | Y | string | altOrderId | Client order ID of the cancel request (24 character max) |
41 | OrigClOrdId | Y | string | altPrevOrderId | Client order ID of the original order that is requested to be canceled (24 character max) |
1 | Account | Y | string | accnt | SR account acronym. Must be configured prior to testing or trading Superseded by SRAccnt |
38 | OrderQty | Y | int | orderSize | Executable quantity Superseded by: SRORderSize |
54 | Side | Y | char | orderSide ssaleFlag | 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). OrderSide superseded by: SROrderSide SsaleFlag superseded by: SRShortSaleFlag |
40 | OrdType | N | char | orderLimitType | 1 = Market 2 = Limit 5 = Market on Close B = Limit on Close Required for DMA and Smart/Sweep style orders. Not required for more complex order types. If necessary, use Market as the order type when submitting orders with more complex behavior. Superseded by: SROrderLimitType Default=Price |
44 | Price | N | float | orderPrcLimit | Required for limit order types Superseded by: SROrderPrcLimit |
59 | TimeInForce | N | string | orderDuration parentOrderHandling | 0 = Day 2 = Opening 3 = Immediate or Cancel (IOC) 6 = Good Till Date/Time (or Duration) 7 = Closing OrderDuration Superseded by: SRMarketSession |
126 | ExpireTime | N | UTCTimeStamp | goodTillDttm | Superseded by: SRGoodTillDttm |
52 | SendingTime | N | UTCTimeStamp | Time of message transmission always expressed in UTC (Universal Time Coordinated, also known as “GMT”) | |
60 | TransactTime | Y | utcDttm | orderDttm | Time this order request was initiated/released. Formatted as: YYYYMMDD-HH:MM:SS.fff Note: this order must arrive at SpiderRock within 15 seconds of the TransactTime to be considered a valid order. |
440 | ClearingAccount | N | string | clearingAccnt (in child order) | Superseded by SRClearingFlipAccount, then SRClearingAccnt |
439 | ClearingFirm | N | string | clearingFirm (in child order) | Superseded by: SRClearingFlipFirm |
100 | ExDestination | N | multiple-value string | exchMask | SR Destination Code (see appendix) Required for DMA style orders Superseded by: SRExDestination |
Leg Repeating Group | |||||
654 | LegRefId | N | hexlong | OrderLegsItem.stockLegId or OrderLegsItem.LegIdN (where N is NoLegs #) | Unique indicator for specific leg |
608 | LegCFICode | N | string | Used to construct child order seckey | Superseded by: SRLegSecType |
609 | LegSecurityType | N | string | Superseded by: SRLegSecType | |
600 | LegSymbol | Y | string | Used to construct child order seckey | |
611 | LegMaturityDate | N | LocalMktDate | Used to construct child order seckey | |
610 | LegMaturityMonthYear | Y* | month-year | Used to construct child order seckey | *Required if LegMaturityDate is absent. |
205 | MaturityDay | Y* | day-of-month | Used to construct child order seckey | *Required if LegMaturityDate is absent. |
612 | LegStrikePrice | Y | float | Used to construct child order seckey | |
1358 | LegPutOrCall | Y* | int | Used to construct child order seckey | 0 = Put, 1 = Call *Required if LegCFICode is absent |
601 | LegSymbolSfx | N | string | Used to construct child order seckey | WI = “When Issued” for a security to be reissued under an old CUSIP or ISIN CD = a EUCP with lump-sum interest rather than discount price |
623 | LegRatioQty | N | float | OrderLegsItem.multN (where N is NoLegs #) | |
624 | LegSide | Y | char | OrderLegsItem.sideN (where N is NoLegs #) | 1 = Buy 2 = Sell 5 = Sell Short Y = Sell Short Auto 6 = Sell Short Exempt |
564 | LegPositionEffect | N | char | OrderLegsItem.posTypeN (where N is NoLegs #) | O = Open C = Close R = Rolled F = FIFO |
End of Leg Repeating Group | |||||
Any SR Tags | N | ||||
Standard Trailer | Y |
Common Extensions
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentOrder) | Comments |
---|---|---|---|---|---|
5020 | SRAccnt | N | string | accnt | SR account acronym. Must be configured prior to testing or trading Supersedes Account |
5022 | SRClientFirm | N | string | clientFirm | SR client firm acronym, used in account lookup. Must be configured prior to testing or trading |
5012 | SRAltAccnt | N | string | altAccnt | SR alternative account acronym. Must be configured prior to testing or trading |
5042 | SROrderSize | N | int | orderSize | Supersedes OrderQty |
5040 | SROrderSide | N | char | orderSide | Supersedes Side |
5098 | SROrderLimitType | N | char | orderLimitType | Supersedes OrdType |
5106 | SROrderPrcLimit | N | float | orderPrcLimit | Supersedes Price |
5089 | SRMarketSession | N | string | orderDuration parentOrderHandling | Supersedes TimeinForce |
5088 | SRGoodTillDttm | N | UTCTimeStamp | goodTillDttm | Supersedes ExpireTime |
5094 | SROrderHandling | N | string | parentOrderHandling | Supersedes typical resolution If failure to resolve, Default=DMA |
5374 | SRClearingFlipAccount | N | string | clearingFlipAccnt (in child order) | Supersedes ClearingAccount |
5026 | SRClearingAccount | N | string | clearingAccnt (in child order) | Supersedes ClearingAccount |
5373 | SRClearingFlipFirm | N | string | clearingFlipFirm (in child order) | Supersedes ClearingFirm |
5375 | SRClearingFlipType | N | string | clearingFlipType (in child order) | Examples: BRKR CMTA GVUP NSCC DTCC QSR DVP |
5360 | SRExDestination | N | multiple-value string | exchMask | Supersedes ExDestination |
Leg Repeating Group Tags | |||||
5305 | SRLegSecType | N | string | Supersedes LegCFICode, LegSecurityType | |
5304 | SRLegSecKey | N | string | Used to construct child order seckey | Supersedes typical resolution |
5303 | SRLegSide | N | string | OrderLegsItem.sideN (where N is NoLegs #) | Supersedes LegSide B = Buy S = Sell |
5307 | SRLegShortSaleFlag | N | char | OrderLegsItem.ssaleFlag | 1 = Long 2 = Short 3 = Exempt 4 = Auto 5 = Open 6 = Close 8 = Cover 7 = NA |
5306 | SRLegPosEffect | N | string | OrderLegsItem.posTypeN (where N is NoLegs #) | O = Open C = Close A = Auto |
End of Leg Repeating Group Tags |
ExecutionReport (SpiderRock to Client)
SpiderRock natively follows FIX 4.4 rules for ExecutionReport handling but can switch to FIX 4.2 on request. In addition to standard FIX tags, SpiderRock uses custom FIX tags (5,000+) for SpiderRock specific parameters. More information about the SpiderRock tags can be found in the SpiderRock Tag Appendix below.
Tag | Field Name | Req'd | Type | Associated Record Value SpdrParentReport (r) SpdrParentExecution (x) | Comments |
---|---|---|---|---|---|
Standard Header | Y | MsgType = 8 | |||
115 | OnBehalfOfCompID | N | string | execBrkrClFirm (x) | client/firm at executing broker |
116 | OnBehalfOfSubID | N | string | execBrkrUserName (x) | userName at executing broker |
11 | ClOrdID | Y | string | parentNumber (x) | See Also: SRBaseParentNumber |
1 | Account | Y | string | accnt (r) execBrkrAccnt (x) | |
20 | ExecTransType | Y | int | execStatus (x) | 0 = New 1 = Cancel 2 = Correct 3 = Status |
150 | ExecType | Y | char | execStatus (x) | 0 = New 1 = Partial fill (Replaced) 2 = Fill (Replaced) 3 = Done for day 4 = Canceled 5 = Replace 6 = Pending Cancel (e.g. result of Order Cancel Request) 7 = Stopped 8 = Rejected 9 = Suspended A = Pending New B = Calculated C = Expired D = Restated (ExecutionRpt sent unsolicited by sellside, with ExecRestatementReason (378) set) E = Pending Replace (e.g. result of Order Cancel/Replace Request) F = Trade (partial fill or fill) G = Trade Correct (formerly an ExecTransType (20)) H = Trade Cancel (formerly an ExecTransType) I = Order Status (formerly an ExecTransType) |
39 | OrdStatus | Y | char | spdrOrderStatus (r) fillQuantity (r) execType (r) | 0 = New 1 = Partially filled 2 = Filled 3 = Done for day 4 = Canceled 5 = Replaced (Removed/Replaced) 6 = Pending Cancel (e.g. result of Order Cancel Request) 7 = Stopped 8 = Rejected 9 = Suspended A = Pending New B = Calculated C = Expired D = Accepted for bidding E = Pending Replace (e.g. result of Order Cancel/Replace Request) |
41 | OrigClOrdID | N | string | prevParentNumber (r) | Conditionally required for response to a Cancel or Cancel/Replace request - (ExecType=PendingCancel, Replaced, or Canceled) |
37 | OrderID | Y | hexlong | baseParentNumber (r) | Unique ID for order chain assigned by SpiderRock |
54 | Side | Y | char | orderSide (x) ssaleFlag (x) | Value from executing venue - Value may differ from client's order if execution order is sold short. 1 = Buy 2 = Sell 3 = Buy minus 4 = Sell plus 5 = Sell short 6 = Sell short exempt 7 = Undisclosed (valid for IOI and List Order messages only) 8 = Cross (orders where counterparty is an exchange, valid for all messages except IOIs) 9 = Cross short A = Cross short exempt B = “As Defined” (for use with multileg instruments) C = “Opposite” (for use with multileg instruments) D = Subscribe (e.g. CIV) E = Redeem (e.g. CIV) F = Lend (FINANCING - identifies direction of collateral) G = Borrow (FINANCING - identifies direction of collateral) |
38 | OrderQty | Y | int | orderSize (x) | parent order size |
40 | OrdType | Y | char | parentOrderHandling (r) limitPrice (r) orderLimitType (r) | 1 = Market 2 = Limit 3 = Stop 4 = Stop limit 5 = Market on close (No longer used) 6 = With or without 7 = Limit or better (Deprecated) 8 = Limit with or without 9 = On basis A = On close (No longer used) B = Limit on close (No longer used) C = Forex - Market (No longer used) D = Previously quoted E = Previously indicated F = Forex - Limit (No longer used) G = Forex - Swap H = Forex - Previously Quoted (No longer used) I = Funari (Limit Day Order with unexecuted portion handled as Market On Close. E.g. Japan) J = Market If Touched (MIT) K = Market with Leftover as Limit (market order then unexecuted quantity becomes limit order at last price) L = Previous Fund Valuation Point (Historic pricing) (for CIV) M = Next Fund Valuation Point –(Forward pricing) (for CIV) P = Pegged |
528 | OrderCapacity | N | char | orderCapacity (r) | 1 = Program Trade 2 = Index Arbitrage 3 = Non-Index Arbitrage 4 = Competing Market Maker 5 = Acting as Market Maker or Specialist in the security 6 = Acting as Market Maker or Specialist in the underlying security of a derivative security 7 = Foreign Entity (of foreign government or regulatory jurisdiction) 8 = External Market Participant 9 = External Inter-connected Market Linkage A = Riskless Arbitrage |
44 | Price | N | float | limitPrice (r) | Value from client's order |
59 | TimeInForce | N | string | orderDuration (r) parentOrderHandling (r) | 0 = Day (or session) 1 = Good Till Cancel (GTC) 2 = At the Opening (OPG) 3 = Immediate or Cancel (IOC) 4 = Fill or Kill (FOK) 5 = Good Till Crossing (GTX) 6 = Good Till Date 7 = At the Close |
Symbology | |||||
55 | Symbol | Y | string | secKey (x) | Value from client's order |
65 | SymbolSfx | N | string | secKey (x) | Value from client's order |
167 | SecurityType | N | string | secKey (x) | MLEG = Multileg CS = Common Stock FUT = Future OPT = Option |
541 | MaturityDate | N | string | secKey (x) | Value from client's order YYYYMMDD |
200 | MaturityMonthYear | N | string | secKey (x) | Value from client's order YYYYMM |
205 | MaturityDay | N | int | secKey (x) | Value from client's order 1-31 |
202 | StrikePrice | N | price | secKey (x) | Value from client's order |
201 | PutOrCall | N | int | secKey (x) | Value from client's order 0 = Put 1 = Call |
100 | ExDestination | N | string | childExDest (r) | Child order exchange destination |
204 | CustomerOrFirm | N | char | firmType (r) | Child order firm type 0 = Customer 1 = Firm 2 = Broker / Dealer 3 = Broker Dealer Customer 4 = Market Maker 5 = Non-Member Market Maker 8 = Customer Professional J =Fim JBO |
77 | PositionEffect | N | string | positionType (x) | Parent order position type O = Open C = Close R = Rolled F = FIFO |
439 | ClearingFirm | N | string | clearingFirm (x) | Clearing firm |
440 | ClearingAccount | N | string | clearingAccnt (x) | Clearing firm account |
19 | ExecRefID | N | string | Reference identifier used with Trade Cancel and Trade Correct execution types. | |
17 | ExecID | Y | string | Unique ID assigned by SpiderRock | |
654 | LegRefID | N | string | legRefId (x) | Used to identify a specific leg for multileg order execution reports |
6 | AvgPx | Y | float | sumFillMoney (x) sumFillQty (x) | Execution price |
14 | CumQty | Y | int | sumFillQty (x) | |
151 | LeavesQty | Y | int | orderSize(x) sumFillQty (x) | 0 if order is not active |
31 | LastPx | Y | float | fillPrice (x) | |
32 | LastQty | Y | int | fillQuantity (x) | |
30 | LastMkt | N | string | fillMarket (x) childExDest (x) | Value from executing venue |
29 | LastCapacity | N | string | lastCapacity (x) | Child order capacity 1 = Agent 2 = Cross as agent 3 = Cross as principal 4 = Principal |
58 | Text | N | string | spdrCloseReason (r), orderClosedText (r) | |
60 | TransactTime | Y | utcDttm | fillTransactDttm (x) timestamp (r) | Time of execution/order creation (expressed in UTC) |
75 | TradeDate | N | utcDttm | secKey (x) fill.fillDttm (x) | Indicates date of trade referenced in this message in YYYYMMDD format. Absence of this field indicates current day (expressed in local time at place of trade) |
76 | ExecBroker | N | string | extExecBroker (r) | Child executing venue |
5607 | SRStreetExecID | N | string | fillExecId (x) | Street side execution ID |
5608 | SRStreetExecRefID | N | string | fillExecRefId (x) | Street side execution ref Id |
442 | MultiLegReportingType | N | char | parentShape (r) | Used to indicate what an Execution Report represents (e.g. used with multi-leg securities, such as option strategies, spreads, etc.). |
5602 | SRFillNumber | N | hexlong | fillNumber (x) | SpiderRock execution number |
5611 | SRExchLiqTag | N | string | exchLiquidityTag (x) | Exchange supplied liquidity code |
5610 | SRLiquidityTag | N | string | spdrLiquidityTag (x) | SpiderRock normalized venue liquidity tag |
5619 | SRExchFeeEst | N | float | fillExchFee (x) | SpiderRock estimate of the exchange fee based on liquidity tags (best effort) |
5618 | SRBillingRate | N | float | fillBrkrRate (x) fillRoutingRate (x) | Billing brokerage + Routing rate |
5360 | SRExDestination | N | string | childExDest (x) | Child order exchange destination |
5627 | SRChildShortSaleFlag | N | string | childSSaleFlag (x) | |
5625 | SRChildPositionType | N | string | childPosType (x) | Child order position type |
5631 | SRStreetRoute | N | string | routingCode (x) | SpiderRock market routing code |
5038 | SROrderDttm | N | utcDttm | orderDttm (r) | |
5012 | SRAltAccnt | N | string | altAccnt (r) | Client assigned account |
5014 | SRAltUserName | N | string | altUserName (r) | Client assigned user name |
5034 | SRStrategy | N | string | parentStrategy (r) | Client assigned strategy name |
5009 | SRSpdrSource | N | string | spdrSource (r) | Source of this order (FIX, SRSE, HedgeTool, etc) |
5000 | SRParentNumber | N | hexlong | parentNumber (r) | SpiderRock order id. See Also SRBaseParentNumber |
5004 | SRBaseParentNumber | N | hexlong | baseParentNumber (r) | Unique ID for order chain assigned by SpiderRock See Also SRParentNumber |
5290 | SRUserData1 | N | string | userData1 (r) | Client supplied data field |
5291 | SRUserData2 | N | string | userData2 (r) | Client supplied data field |
5088 | SRGoodTillDttm | N | datetime | goodTillDttm (r) | |
Standard Trailer | Y |
OrderCancelRequest (Client to SpiderRock)
An OrderCancelRequest<F> message requests the cancelation of all the remaining quantity of an order. The request will only be accepted if the order can be successfully pulled back from a downstream exchange, broker, or equivalent destination.
Tag | Field Name | Req'd | Type | Associated Record Value (SpdrParentReport) | Comments |
---|---|---|---|---|---|
Standard Header | Y | MsgType = F | |||
1 | Account | Y | string | accnt | SR account acronym. Must be configured prior to testing or trading Superseded by SRAccnt |
11 | ClOrdId | Y | string | altOrderId | Client order ID of the cancel request (24 character max) |
41 | OrigClOrdID | Y | string | altPrevOrderId | Client order ID of the original order that is requested to be canceled (24 character max) |
52 | SendingTime | N | UTCTimeStamp | Time of message transmission always expressed in UTC (Universal Time Coordinated, also known as “GMT”) | |
60 | TransactTime | Y | utcDttm | orderDttm | Time this order request was initiated/released. Formatted as: YYYYMMDD-HH:MM:SS.fff Note: this order must arrive at SpiderRock within 15 seconds of the TransactTime to be considered a valid order. |
Any SR Tags | N | ||||
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 | Associated Record Value (SpdrParentReport) | Comments |
---|---|---|---|---|---|
Standard Header | Y | MsgType = 9 | |||
5520 | SROrderClass | N | string | Valid values: P = Parent C = Child R = RiskDrop | |
5340 | SROrderShape | N | string | parentShape | 0 = Single 1 = Cross 2 = MLeg 3 = MLegCross |
5009 | SRSpdrSource | N | string | spdrSource | Parent order source |
5341 | SRHasStockLeg | N | string | Y = Yes N = No | |
11 | ClOrdId | Y | hexlong | pkey.parentNumber + ":CXL" | Client order ID of the cancel request (24 character max) |
41 | OrigClOrdID | Y | hexlong | pkey.parentNumber | Client order ID of the original order that is requested to be canceled (24 character max) |
434 | CxlRejResponseTo | Y | char | Valid values: 1 = OrderCancelRequest <F> 2 = OrderCancel/Replace Request <G> | |
102 | CxlRejReason | N | int | 0 = TooLateToCancel 1 = UnknownOrder 2 = BrokerOption 3 = OrderAlreadyInPendingStatus 4 = UnableToProcessOrderMassCancelRequest 5 = DidNotMatchLastTransactTime 6 = DuplicateClOrdIdReceived 99 = Other | |
5000 | SRParentNumber | N | hexlong | pkey.parentNumber | |
5004 | SRBaseParentNumber | N | hexlong | pkey.baseParentNumber | |
5250 | SRRiskGroupId | N | hexlong | riskGroupId | |
37 | OrderID | Y | hexlong | baseParentNumber | Unique ID for order chain assigned by SpiderRock |
5020 | SRAccnt | N | string | accnt | SR account acronym. |
39 | OrdStatus | Y | char | spdrOrderStatus (r) fillQuantity (r) execType (r) | 0 = New 1 = Partially filled 2 = Filled 3 = Done for day 4 = Canceled 5 = Replaced (Removed/Replaced) 6 = Pending Cancel (e.g. result of Order Cancel Request) 7 = Stopped 8 = Rejected 9 = Suspended A = Pending New B = Calculated C = Expired D = Accepted for bidding E = Pending Replace (e.g. result of Order Cancel/Replace Request) |
60 | TransactTime | Y | utcDttm | orderDttm | Time this order request was initiated/released. Formatted as: YYYYMMDD-HH:MM:SS.fff |
58 | Text | N | string | orderClosedText |
SpiderRock Tags Appendix
In addition to standard FIX fields, SpiderRock uses custom FIX tags with tag numbers in the range 5,000-5,999 for SpiderRock specific parameters.
Tag | Field Name | Type | Enums |
---|---|---|---|
5000 | SRParentNumber | hexlong | |
5002 | SRPrevParentNumber | hexlong | |
5004 | SRBaseParentNumber | hexlong | |
5005 | SRParent390Number | long | |
5006 | SRAltOrderId | string | |
5007 | SRAltPrevOrderId | string | |
5008 | SRGroupingCode | hexlong | |
5009 | SRSpdrSource | string | |
5010 | SRAltAutoHedgeId | string | |
5011 | SRPackageId | long | |
5012 | SRAltAccnt | string | |
5014 | SRAltUserName | string | |
5015 | SRSecKey | string | |
5016 | SRSecType | string | Valid values: 1 = Stock 2 = Future 3 = Option 4 = MLeg |
5017 | SRAssetType | string | |
5018 | SRTickerSrc | string | |
5019 | SRSecurityDesc | string | |
5020 | SRAccnt | string | |
5022 | SRClientFirm | string | |
5023 | SRClientAccnt | string | |
5024 | SRClearingFirm | string | |
5026 | SRClearingAccnt | string | |
5027 | SRStrategyAccnt | string | |
5028 | SRAccountRouteCode | string | |
5030 | SRExternExDest | string | |
5032 | SRExternParams | string | |
5034 | SRStrategy | string | |
5036 | SRUsername | string | |
5037 | SROrderCreateTimestamp | datetime | |
5038 | SROrderDttm | datetime | |
5039 | SRUSecDesc | string | |
5040 | SROrderSide | string | Valid values: B = Buy S = Sell |
5041 | SROrderStatus | string | Valid values: 0 = New 1 = PartialFill 2 = Filled 3 = DoneForDay 4 = Canceled 5 = Replaced 6 = PendingCxl 7 = Stopped 8 = Rejected 9 = Suspended A = PendingNew B = Calculated C = Expired D = Accepted E = PendingRpl G = CmeTradeCorrect H = CmeTradeCxl Y = PendingCls Z = Closed T = PendingTrg |
5042 | SROrderSize | int | |
5044 | SROrderActiveSize | int | |
5046 | SRMaxExposureSize | int | |
5048 | SRNumMakeExchanges | int | |
5050 | SRPublicSize | string | Valid values: 0 = None 1 = Randomize 2 = MktSize 3 = FullSize 4 = MktSizeA 5 = MktSizeB 6 = MktSizeC 7 = FullSizeR 8 = Max25Pct 9 = Max50Pct 10 = Max75Pct 11 = NoSize |
5052 | SRCanCxlOverlap | string | Valid values: Y = Yes N = No |
5054 | SRProgressRule | string | Valid values: 0 = None 1 = Twap 2 = Vwap 3 = TwapReset 4 = VwapReset 5 = FastReset 6 = SlowReset 7 = TwapAlpha 8 = VwapAlpha 9 = TwapAlphaC 10 = VwapAlphaC 11 = AutoComplete 12 = AllowImmediate 13 = Manual 14 = SpdrPulse I = IOC 16 = FlashMakeTake |
5055 | SRProgressExposeTime | int | |
5056 | SRProgressSliceCnt | int | |
5057 | SRCloseReason | int | |
5058 | SRVwapParticipation | float | |
5060 | SRAuctionResponder | string | Valid values: ANY = Any |
5062 | SRMaxTakeExchFee | float | |
5064 | SRMaxMakeExchFee | float | |
5066 | SRIncTakeExchFee | string | Valid values: 1 = ExclFee 2 = IncFee |
5068 | SRIncMakeExchFee | string | Valid values: 1 = ExclFee 2 = IncFee |
5070 | SRMakeExchRule | string | Valid values: 1 = MaxPart 2 = FeeOptimal 3 = ImprvOnly 4 = FeeStrict |
5072 | SRCxlUPrcRange | string | Valid values: Y = Yes N = No |
5074 | SRMinUBid | float | |
5076 | SRMaxUAsk | float | |
5078 | SRMinOptionPx | float | |
5080 | SRMaxChildOrders | int | |
5081 | SRStageReview | string | Valid values: Y = Yes N = No |
5083 | SRStageType | string | Valid values: 1 = ModifyAny 2 = ModifyAlgo |
5085 | SRStartDttm | datetime | |
5086 | SROrderDuration | int | |
5088 | SRGoodTillDttm | datetime | |
5089 | SRMarketSession | string | Valid values: 1 = RegMkt 2 = PreMkt 3 = PostMkt 4 = PreRegMkt 5 = RegPostMkt 6 = AllDay |
5090 | SRStartType | string | Valid values: 1 = WaitTrigger 2 = TriggerAll |
5092 | SRProgressTimeout | int | |
5094 | SROrderHandling | string | Valid values: 1 = ActiveTaker 2 = PostOnly 3 = DMA 4 = MktOnOpn 5 = MktOnCls 8 = Legger 9 = Seeker 10 = SeekerLegger 11 = CrossResponse 12 = AuctionResponse 13 = AwayAlgo 14 = ExchPing 19 = SweepTake 20 = CobMaker 21 = TestParent 22 = BlockAuction 23 = BlockResponse 24 = Matrix 25 = FlashAuction |
5096 | SRBalanceHandling | string | Valid values: 1 = PostWith 2 = PostTurn 3 = PostImprove 4 = PostLimit 6 = MaxIntern 7 = PostWthF 8 = PostImprvR 9 = PostFlash 10 = PostFlashW 11 = PostPeg 12 = PostFlashI |
5097 | SRAlgoTemplate | string | |
5098 | SROrderLimitType | string | Valid values: 0 = Market 1 = MarketArrival 2 = Prc 3 = PrcDe 4 = PrcDeX 5 = PrcDeT 6 = PrcDeP 7 = PrcDeXT 8 = PrcDeXP 9 = Vol 10 = VolX 11 = PrcV 12 = PrcVX 13 = VolPrc 14 = RelMid 15 = RelJoin 16 = RelCross 17 = SmrtFast 18 = SmrtNorm 19 = RelTurn |
5100 | SRTakeLimitClass | string | Valid values: 0 = Simple 1 = Surface 2 = Probability 3 = SurfProb |
5102 | SRMakeLimitClass | string | Valid values: 0 = Simple 1 = Surface 2 = Probability 3 = SurfProb |
5103 | SRIncludeSRNetwork | string | Valid values: 0 = None 1 = Include 2 = Exclude 3 = Disclose |
5104 | SRTakeReachRule | string | Valid values: 0 = None 1 = Delayed 2 = Passive 3 = WeakOnly 4 = RespondOnly 5 = FullSize 6 = ISOSweep 7 = AllOrNone 8 = QtyOrMore 9 = UpToQty 10 = AtMost25 11 = AtMost50 12 = MinTakeFee |
5106 | SROrderPrcLimit | price | |
5107 | SROrderRefUBid | price | |
5108 | SROrderRefUPrc | price | |
5109 | SROrderRefUAsk | price | |
5110 | SROrderRefDelta | float | |
5112 | SROrderRefGamma | float | |
5114 | SROrderRefTheta | float | |
5116 | SROrderVolLimit | float | |
5117 | SROrderParentLmtPrc | price | |
5118 | SRRateOverride | float | |
5120 | SRSDivOverride | float | |
5122 | SRDDivOverride | string | |
5124 | SROverrideCode | string | Valid values: 0 = None S = SDivOnly D = DDivOnly B = Both |
5126 | SROrderPrcOffset | price | |
5128 | SRTakeAlphaType | string | Valid values: 0 = None 1 = Static 2 = Hawk 3 = Eagle 4 = Falcon 5 = Relative |
5130 | SRMakeAlphaType | string | Valid values: 0 = None 1 = Static 2 = Hawk 3 = Eagle 4 = Falcon 5 = Relative |
5132 | SRTakeAlphaFactor | float | |
5134 | SRMakeAlphaFactor | float | |
5136 | SRTakeProbability | float | |
5138 | SRMakeProbability | float | |
5140 | SRTakeSurfPrcOffset | float | |
5142 | SRTakeSurfVolOffset | float | |
5144 | SRMakeSurfPrcOffset | float | |
5146 | SRMakeSurfVolOffset | float | |
5148 | SROrderRefEventMult | float | |
5150 | SROrderRefEventDttm | datetime | |
5152 | SRAutoHedge | string | Valid values: N = NoHedge X = FastCrx Y = FastDark Z = SlowDark F = AutoCrx S = AutoTrn M = AutoMid A = SpdrAuto 1 = Spdr10S 3 = Spdr30S 9 = Spdr90S 5 = Spdr5M H = Spdr30M D = SpdrDay 12 = SmartFast 13 = SmartNorm V1 = AlphaVwap1pct V2 = AlphaVwap2pct V5 = AlphaVwap5pct V25 = AlphaVwap25pct T = Static 21 = Custom 22 = AwayAlgo |
5154 | SRHedgeInstrument | string | Valid values: 0 = Default 1 = FrontMonth 2 = FutUnderlier 3 = Stock 4 = Future 5 = DirectStock 6 = DirectFuture 7 = GroupStock 8 = GroupFuture 9 = StkUnderlier |
5156 | SRHedgeFKey | string | |
5158 | SRHedgeRatio | float | |
5160 | SRHedgeSession | string | Valid values: 1 = RegMkt 2 = PreMkt 3 = PostMkt 4 = PreRegMkt 5 = RegPostMkt 6 = AllDay |
5162 | SRExternHedgeExDest | string | |
5164 | SRExternHedgeParams | string | |
5166 | SRFirmType | string | Valid values: C = Customer F = Firm MM = MarketMaker PC = ProCustomer BD = BrokerDealer AwayMM = AwayMM JBO = FirmJBO BDC = BrkrDlrCust |
5167 | SRFutCustType | string | Valid values: I = Individual PR = Proprietary OM = OtherMember NM = NonMember |
5168 | SROrderCapacity | string | Valid values: A = Agency P = Principal I = Individual PR = Proprietary AOM = AgentOtherMember |
5169 | SRFutClearingRange | string | Valid values: 0 = Customer 1 = Firm |
5170 | SRPositionType | string | Valid values: 1 = NA 2 = Short 3 = Long 4 = Exempt 5 = Open 6 = Close 7 = Auto |
5172 | SRShortSaleFlag | string | Valid values: 1 = Long 2 = Short 3 = Exempt 4 = Auto 5 = Open 6 = Close 8 = Cover 7 = NA |
5173 | SRArrivalSSaleFlag | string | Valid values: 1 = Long 2 = Short 3 = Exempt 4 = Auto 5 = Open 6 = Close 8 = Cover 7 = NA |
5174 | SRNoCrossGroup | string | |
5175 | SRArrivalFirmPos | int | |
5176 | SRExchTraderId | string | |
5177 | SRExchBadgeId | string | |
5178 | SRLargeTraderId | string | |
5180 | SRTradingLocation | string | |
5182 | SRRefRMetric1Src | string | Valid values: 1 = User 2 = Vega 3 = WVega 4 = WTVega 5 = TVega 6 = Theta 7 = DTheta 8 = Gamma 9 = DGamma 10 = DDeltaIvS |
5184 | SRRefRMetric2Src | string | Valid values: 1 = User 2 = Vega 3 = WVega 4 = WTVega 5 = TVega 6 = Theta 7 = DTheta 8 = Gamma 9 = DGamma 10 = DDeltaIvS |
5186 | SRRefRMetric3Src | string | Valid values: 1 = User 2 = Vega 3 = WVega 4 = WTVega 5 = TVega 6 = Theta 7 = DTheta 8 = Gamma 9 = DGamma 10 = DDeltaIvS |
5188 | SRRefRMetric4Src | string | Valid values: 1 = User 2 = Vega 3 = WVega 4 = WTVega 5 = TVega 6 = Theta 7 = DTheta 8 = Gamma 9 = DGamma 10 = DDeltaIvS |
5190 | SRRefRMetric5Src | string | Valid values: 1 = User 2 = Vega 3 = WVega 4 = WTVega 5 = TVega 6 = Theta 7 = DTheta 8 = Gamma 9 = DGamma 10 = DDeltaIvS |
5192 | SROrderRefRMetric1 | float | |
5194 | SROrderRefRMetric2 | float | |
5196 | SROrderRefRMetric3 | float | |
5198 | SROrderRefRMetric4 | float | |
5200 | SROrderRefRMetric5 | float | |
5202 | SRLeadSide | string | Valid values: B = Buy S = Sell |
5204 | SRMaxCompletionSlippage | price | |
5206 | SROrderRefPremium | float | |
5208 | SRCrossNoticeId | hexlong | |
5210 | SRTheoVol | float | |
5212 | SROrderRefRMetric6 | float | |
5213 | SRRefRMetric6Src | string | Valid values: 1 = User 2 = Vega 3 = WVega 4 = WTVega 5 = TVega 6 = Theta 7 = DTheta 8 = Gamma 9 = DGamma 10 = DDeltaIvS |
5214 | SRMaxExpDayRMetric6Ln | float | |
5215 | SRMaxExpDayRMetric6Sh | float | |
5220 | SRLocatePool | string | |
5221 | SRLocateFirm | string | |
5222 | SRLocateQuan | int | |
5223 | SRLocateID | string | |
5224 | SRFirmPosition | int | |
5228 | SRMakeSurfWidthOffset | float | |
5229 | SRTakeSurfWidthOffset | float | |
5230 | SRStockLegGiveup | string | |
5232 | SRRiskResetType | string | Valid values: 1 = RoutingCode 2 = Accnt 3 = ClientFirm 4 = Symbol |
5233 | SRRiskResetValue | string | |
5235 | SRRefRMetric7Src | string | Valid values: 1 = User 2 = Vega 3 = WVega 4 = WTVega 5 = TVega 6 = Theta 7 = DTheta 8 = Gamma 9 = DGamma 10 = DDeltaIvS |
5236 | SROrderRefRMetric7 | float | |
5237 | SRMaxSymDayRMetric7Ln | float | |
5238 | SRMaxSymDayRMetric7Sh | float | |
5239 | SRSymDayRMetric7Offset | float | |
5240 | SRRequestType | string | Valid values: 1 = RFQ 2 = BlockAuction |
5241 | SRRequestState | string | Valid values: 1 = Start 2 = Update |
5242 | SRQtyConditions | string | Valid values: 0 = None 1 = UpToQty 2 = QtyOrMore |
5244 | SRMinResponseQty | int | |
5246 | SRIndicatedPrice | price | |
5247 | SRPriceType | string | Valid values: 1 = Static 2 = DeltaAdjusted |
5248 | SRNbboCapMod | string | Valid values: 0 = None 1 = NoCap 2 = Nbbo 3 = Penny 4 = FivePennies 5 = TenPennies |
5250 | SRRiskGroupId | hexlong | |
5255 | SRMaxExpDayWtVegaLn | float | |
5256 | SRMaxExpDayWtVegaSh | float | |
5257 | SRMaxSymDayWtVegaLn | float | |
5258 | SRMaxSymDayWtVegaSh | float | |
5259 | SRMaxSymDayDDeltaLn | float | |
5260 | SRMaxSymDayDDeltaSh | float | |
5261 | SRMaxGrpDayDDeltaLn | float | |
5262 | SRMaxGrpDayDDeltaSh | float | |
5264 | SRMaxGrpDayVegaLn | float | |
5265 | SRMaxGrpDayVegaSh | float | |
5266 | SRMaxGrpDayVegaAbs | float | |
5267 | SRGrpDayVegaRatio | float | |
5272 | SRMaxGrpDayRMetric1Ln | float | |
5273 | SRMaxGrpDayRMetric1Sh | float | |
5274 | SRMaxGrpDayRMetric1Abs | float | |
5275 | SRGrpDayRMetric1Ratio | float | |
5276 | SRMaxGrpDayRMetric2Ln | float | |
5277 | SRMaxGrpDayRMetric2Sh | float | |
5278 | SRMaxGrpDayRMetric3Ln | float | |
5279 | SRMaxGrpDayRMetric3Sh | float | |
5280 | SRMaxGrpDayRMetric4Ln | float | |
5281 | SRMaxGrpDayRMetric4Sh | float | |
5282 | SRMaxGrpDayRMetric5Ln | float | |
5283 | SRMaxGrpDayRMetric5Sh | float | |
5284 | SRMaxGrpDayContractsLn | int | |
5285 | SRMaxGrpDayContractsSh | int | |
5286 | SRMaxGrpDayContractsAbs | int | |
5287 | SRMaxSymDayVegaLn | float | |
5288 | SRMaxSymDayVegaSh | float | |
5290 | SRUserData1 | string | |
5291 | SRUserData2 | string | |
5292 | SRDropData1 | string | |
5293 | SRDropData2 | string | |
5295 | SRChildData | string | |
5296 | SRChildOrderPrice | float | |
5297 | SRChildOrderSize | int | |
5298 | SRChildOrderId | string | |
5300 | SRLegId | long | |
5301 | SRLegAltId | string | |
5302 | SRLegIndex | long | |
5303 | SRLegSide | string | Valid values: B = Buy S = Sell |
5304 | SRLegSecKey | string | |
5305 | SRLegSecType | string | |
5306 | SRLegPosEffect | string | Valid values: O = OPEN C = CLOSE A = AUTO |
5307 | SRLegShortSaleFlag | string | Valid values: 1 = Long 2 = Short 3 = Exempt 4 = Auto 5 = Open 6 = Close 8 = Cover 7 = NA |
5310 | SRLegPosEffectFace | string | Valid values: O = OPEN C = CLOSE A = AUTO |
5311 | SRLegShortSaleFlagFace | string | Valid values: 1 = Long 2 = Short 3 = Exempt 4 = Auto 5 = Open 6 = Close 8 = Cover 7 = NA |
5314 | SRLegProductGroup | string | |
5315 | SRLegIdReview | string | |
5316 | SRLegAltIdReview | string | |
5320 | SRAccEmaCxlDDeltaLn | float | |
5321 | SRAccEmaCxlDDeltaSh | float | |
5322 | SRAccEmaCxlWtVegaLn | float | |
5323 | SRAccEmaCxlWtVegaSh | float | |
5340 | SROrderShape | string | 0 = Single 1 = Cross 2 = MLeg 3 = MLegCross |
5341 | SRHasStockLeg | string | |
5342 | SRExecShape | string | |
5343 | SRWaitTriggerId | long | |
5344 | SRWaitTriggerCount | int | |
5345 | SRWaitTriggerStripe | string | |
5346 | SRWaitTriggerTimestamp | long | |
5347 | SRQueueTriggerTimestamp | long | |
5350 | SRExecBrokerMPID | string | |
5351 | SRExecBrokerCode | string | |
5352 | SRExecBrokerAccnt | string | |
5353 | SRExecBrokerClFirm | string | |
5355 | SRTradingSession | string | Valid values: 0 = RegularMarket 1 = PreMarket 2 = PostMarket 3 = PostMarketETF 4 = All 5 = Auto 6 = NextDay |
5357 | SRSpdrOrderType | string | Valid values: 1 = Market 2 = Limit 3 = MktOnOpen 4 = LmtOnOpen 5 = MktOnClose 6 = LmtOnClose 7 = PegMid 8 = PegPri 9 = PegMkt 10 = PegMidOrLimit 11 = PegPriOrLimit 12 = PegMktOrLimit |
5358 | SRParentOrderSize | long | |
5360 | SRExDestination | string | |
5363 | SRMMPrefCode | string | |
5364 | SRMMClrAccnt | string | |
5368 | SRFaceParticipation | string | |
5370 | SRCrossHandlingDetail | string | |
5371 | SRBestPrice | price | |
5372 | SRCrossHandling | string | |
5373 | SRClearingFlipFirm | string | |
5374 | SRClearingFlipAccount | string | |
5375 | SRClearingFlipType | string | |
5376 | SRClOrdId | string | |
5377 | SRStreetClOrdId | string | |
5378 | SRSideClOrdId | string | |
5379 | SRStreetBrokerMPID | string | |
5380 | SRPersistent | string | Valid values: Y = True N = False |
5381 | SRCrossAttribute | string | |
5382 | SRHeld | string | Valid values: Y = True N = False |
5384 | SRDirected | string | Valid values: Y = True N = False |
5386 | SRLastCapacity | string | Valid values: 1 = AGENT 2 = CROSS_AS_AGENT 3 = CROSS_AS_PRINCIPAL 4 = PRINCIPAL |
5387 | SRQueuePriority | int | |
5388 | SRExecBrokerOnBehalfOf | string | |
5392 | SRTickSrcTimestamp | long | |
5393 | SRTickNetTimestamp | long | |
5394 | SRTickEngTimestamp | long | |
5395 | SRTickSgwTimestamp | long | |
5396 | SRSendTimestamp | long | |
5398 | SROrderCreateReason | string | Valid values: 0 = None 1 = CheckAddExch 2 = DarkCross 3 = DmaExtern 4 = DmaSmart 5 = MakeJoin 6 = MakeNbboImpr 7 = MakePostLimit 8 = MakeSelfImpr 9 = MarketAuction 10 = MatrixImpr 11 = MatrixJoin 12 = MatrixLvlSweep 13 = MatrixMaxSweep 14 = MLegSeeker 15 = OptAuctionResp 16 = OptFaceHandler 17 = RelWaitTrigger 18 = SprdDma 19 = SprdFace 20 = SprdSeeker 21 = TakeBrkr 22 = TakeExch 23 = TakeNbbo 24 = RFQRequest 25 = MLegResponse 26 = BrkrCross 27 = PostFlash 28 = MakeOff 29 = MakeFlashImprv 30 = AwayExtern 31 = MatrixCross 32 = ExchPing 33 = BrkrReview 34 = AuctionResponse 35 = SweepTake 36 = TestChild |
5399 | SROrderCancelReason | int | |
5400 | SRContractMultiplier | float | |
5401 | SRDisplayPrice | string | |
5402 | SRPriceFormat | string | |
5403 | SRNativePrice | price | |
5405 | SRDisplayFactor | price | |
5406 | SRSecurityGroup | string | |
5407 | SRProductGroup | string | |
5408 | SRProductClass | string | |
5409 | SRNativeLastPrice | price | |
5410 | SRExtTraderId | string | |
5411 | SRExecUsername | string | |
5412 | SRExecFirmID | string | |
5413 | SRPrimaryExch | string | |
5417 | SRRoutingInstruction | string | Valid values: ALO = AddLiqOnly DNR = DoNotRoute ISO = IntermarketSweep MQ = MassQuote |
5420 | SRInternalMPID | string | |
5421 | SRClientMPID | string | |
5430 | SRAuctionId | string | |
5431 | SRAuctionType | string | |
5435 | SRHasAutoHedge | string | Valid values: Y = Yes N = No |
5436 | SRHedgeUnits | float | |
5437 | SRHedgeSecKey | string | |
5450 | SRContingentAction | string | Valid values: C = ContingentTrigger W = WaitTrigger |
5451 | SRContingentTick2Action | float | |
5452 | SRContingentLatency | float | |
5453 | SRContingentCxlDttm | datetime | |
5454 | SRSymEmaCxlDDeltaLn | float | |
5455 | SRSymEmaCxlDDeltaSh | float | |
5456 | SRSymEmaCxlWtVegaLn | float | |
5457 | SRSymEmaCxlWtVegaSh | float | |
5458 | SRMaxExpDayDDeltaLn | float | |
5459 | SRMaxExpDayDDeltaSh | float | |
5460 | SRContingency | string | Valid values: L = CxlPrtLo H = CxlPrtHi 1 = TakeProbM1 2 = TakeProbM2 3 = TakeProbM3 |
5461 | SRContingentSecKey | string | |
5462 | SRContingentLevel | price | |
5465 | SRRouteType | string | Valid values: 1 = LiveOrder 2 = Allocation 3 = StageReview 4 = RiskReset |
5468 | SROutgoingSeqCheckPt | int | |
5470 | SRBaseActiveQuantity | long | |
5471 | SRBaseCumFillQuantity | long | |
5473 | SRBaseMaxOpenChildCnt | long | |
5474 | SRLegBaseActiveQuantity | long | |
5475 | SRLegBaseCumFillQuantity | long | |
5476 | SRSideEffect | string | Valid values: BO = BuyOpening BC = BuyClosing SO = SellOpening SS = SellClosing |
5477 | SRSideEffectCum | long | |
5478 | SRSideEffectAvgPx | float | |
5480 | SRReviewResult | string | Valid values: 0 = None 1 = Release 2 = RejectParent 3 = CancelParent 4 = CancelReview 5 = CancelReplaceReview |
5500 | SRFixRouteDn | string | |
5501 | SRFixRouteUp | string | |
5502 | SRSessionClientFirm | string | |
5510 | SRUdpPort | int | |
5520 | SROrderClass | string | Valid values: P = Parent C = Child R = RiskDrop |
5530 | SREnableCrossNotices | string | Valid values: Y = Yes N = No |
5532 | SREnableDarkQuoteRequests | string | Valid values: Y = Yes N = No |
5534 | SREnableMassQuoteRequests | string | Valid values: Y = Yes N = No |
5535 | SRRouteControl | string | Valid values: 0 = None 1 = Unused 2 = Enabled 3 = Disabled 4 = SafeMode |
5601 | SRBaseClOrdID | long | |
5602 | SRFillNumber | hexlong | |
5605 | SRRejectCode | string | |
5606 | SRChildRejectReason | string | Valid values: 1 = UnknownSym 2 = MarketClosed 3 = LimitExceeded 4 = TooLateToCxl 5 = UnknownOrder 6 = DupeOrder 7 = BrokerOption 8 = SystemErr 9 = SRRiskLmt 10 = OtherError 11 = SecurityClosed |
5607 | SRStreetExecID | string | |
5608 | SRStreetExecRefID | string | |
5610 | SRLiquidityTag | string | |
5611 | SRExchLiqTag | string | |
5612 | SRExchangeFillDetails | string | |
5618 | SRBillingRate | float | |
5619 | SRExchFeeEst | float | |
5625 | SRChildPositionType | string | Valid values: 1 = NA 2 = Short 3 = Long 4 = Exempt 5 = Open 6 = Close 7 = Auto |
5627 | SRChildShortSaleFlag | string | Valid values: 1 = Long 2 = Short 3 = Exempt 4 = Auto 5 = Open 6 = Close 8 = Cover 7 = NA |
5631 | SRStreetRoute | string | |
5647 | SRBillingSecType | string | Valid values: E = Equity F = Future EO = EqtOption FO = FutOption |
5648 | SRBillingCategory | string | Valid values: A = Alpha A50 = AlphaTop50 TM = TiedMaker TT = TiedTaker S = SOR D = DMA AR = AuctionResponse BA = BlockAuction BR = BlockResponse F = Facilitate AF = AlphaFacilitate AT = AwayTrade SO = SymOverride E = Extern NB = NonBillable IS = IsoSweep SS = SpdrSweep SK = Seeker LEG = Legger AD = Drop AA = AwayAlgo G = GTH AG = AlphaGTH |
5661 | SRContraDetail | string | |
5662 | SRContraCapacity | string | Valid values: 0 = Customer 1 = Firm 2 = BrokerDealer 4 = MarketMaker 5 = AwayMarketMaker 8 = ProCustomer J = FirmJBO 3 = BrkrDlrCust |
5663 | SRReportDetail | string | |
5665 | SRPeggedLimit | string | Valid values: Y = Yes N = No |
5667 | SRCrossBroken | string | Valid values: Y = Yes N = No |
5670 | SRNbboBidPx | float | |
5671 | SRNbboAskPx | float | |
5672 | SRNbboBidSz | int | |
5673 | SRNbboAskSz | int | |
5680 | SRExchBidPx | float | |
5681 | SRExchAskPx | float | |
5682 | SRExchBidSz | int | |
5683 | SRExchAskSz | int | |
5690 | SRUBidPx | float | |
5691 | SRUAskPx | float | |
5692 | SRUBidSz | int | |
5693 | SRUAskSz | int | |
5694 | SRUBidCxlPx | float | |
5695 | SRUAskCxlPx | float | |
5999 | SRChildOrderHandling | string |