Skip to main content
Version: Staging

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 simulaneously. 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.

Staged/Wait Start order management Most order types may be queued in SpiderRock systems until released by the client. These order types can be used to integrate client risk/approval systems with orders generated by trading groups. Alternatively, they can be used to integrate trader approval of orders generated by automated strategies.

Note: Orders can be both staged in and released 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 fields, SpiderRock uses custom FIX fields (5,000+) for SpiderRock specific parameters.

TagField NameReq'dTypeComments
Standard HeaderYMsgType = D
11ClOrdIdYstringClient order ID (24 character max)
1AccountYstringSR account acronym. Must be configured prior to testing or trading
100ExDestinationNstringSR Destination Code (see appendix)
Required for DMA style orders
40OrdTypeNchar1 = Market
2 = Limit
5 = Market on Close
B = Limit on
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.
44PriceNfloatRequired for limit order types
59TimeInForceNstring0 = Day
2 = Opening
3 = Immediate or Cancel (IOC)
6 = Good Till Date/Time (or Duration)
7 = Closing
207SecurityExchangeNstringMarket used to identify a security's issuing authority (see Appendix A for those accepted by SpiderRock)
For Futures products: the issuing authority must be supplied
For Equities and Equity Options in which the issuing authority SecurityExchange<207> is not explicitly supplied, NMS is assumed.
461CFICodeNstringES = Equity Common Shares [CS]
F = Future [FUT]
OC = Option - Call [OPT]
OP = Option - Put [OPT]
201PutOrCallNintAlternative to CFICode<461>
0 = Put
1 = Call
167SecurityTypeNstringAlternative to CFICode<461>
CS = Equity default
FUT = Future/Future Options
OPT = Equity Option
55SymbolYstringExchange 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 included in this field, e.g. GCZ22
65SymbolSfxBstringSymbol suffix
22IDSourceNstring8 = Exchange Symbol is accepted when used in conjunction with SecurityID<48> to communicate the Exchange Symbol.
48SecurityIDNstringExchange symbol, when IDSource = 8 and Symbol<55> is blank.
541MaturityDateNstringFor Futures and Options YYYYMMDD
200MaturityMonthYearNstringAlternative to MaturityDate<541> YYYYMM
205MaturityDayNintAlternative to MaturityDate<541> 1-31
202StrikePriceNfloatOption strike price
54SideYchar1 = 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).
77OpenCloseNcharFor 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).
204CustomerOrFirmNchar0 = 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
528OrderCapacityNcharA = Agency
G = Prop
I = Individual
P = Principal
R = Riskless
W = AgentOtherMember
Will default to SR account configuration if not specified
60TransactTimeYutcDttmTime this order request was initiated/released. Formatted as: YYYYMMDD-HH:MM:SS.fff
Note: this order must arrive at SpiderRpcl within 15 seconds of the TransactTime to be considered a valid order.
38OrderQtyYintExecutable quantity
Standard TrailerY

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.

TagField NameReq'dTypeComments
Standard HeaderYMsgType = D
Basic NewOrderSingle FieldsSee "NewOrderSingle" above
100ExDestinationYstringSR Destination Code (see appendix)
Standard TrailerY

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.

TagField NameReq'dTypeComments
Standard HeaderYMsgType = D
Basic NewOrderSingle FieldsSee "NewOrderSingle" above
Standard TrailerY

Example - Staged/WaitStart

The SRStartType<5090> tag is used to send staged/wait orders to SpiderRock. These orders will be sent to the exchange as market orders 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.

TagField NameReq'dTypeComments
Standard HeaderYMsgType = D
Basic NewOrderSingle FieldsSee "NewOrderSingle" above
Algorithmic NewOrderSingle FieldsSee "NewOrderSingle" above
5090SRStartTypeYint2 = Staged (wait start)
Standard TrailerY

Example - MarketOnOpen/MarketOnClose

MarketOnOpen/MarketOnClose 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.

TagField NameReq'dTypeComments
Standard HeaderYMsgType = D
Basic NewOrderSingle FieldsSee "NewOrderSingle" above
59TimeInForceYchar2 = At the openning
7 = At the Close
Standard TrailerY

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.

TagField NameReq'dTypeComments
Standard HeaderYMsgType = D
Basic NewOrderSingle FieldsSee "NewOrderSingle" above
5036SRUsernameNstringClient defined username
Used for customer service and futures compliance
If necessary, a default may be assigned to the FIX session. (24 character max)
5055SRProgressExposeTimeNintDuration in seconds
5094SROrderHandlingYintPrimary order handling algorithm
1 = ActiveTaker
2 = PostOnly
3 = DMA
4 = MktOnOpn
5 = MktOnCls
11 = CrossResponse
12 = AuctionResponse
5096SRBalanceHandlingNint0 = 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
5090SRStartTypeNint0 = Immediate
1 = WaitTrigger (wait for RiskGroup/Sweep trigger)
2 = Staged (wait for order to be modified/released)
5089SRMarketSessionchar1 = Regular Market
2 = Pre-Market
3 = Post-Market
4 = Regular and Pre-Market
5 = Regular and Post-Market
6 = All Day
5084SRTimeInForceNstringDay = Order remains working until the end of the day's primary trading session.
EXT = Extended Day - Order remains working through the day's intended trading session until the next top of day rotation.
WK = Week - Order remains working for the remainder of the week's normal trading sessions.
EWK = Extended Week - Order remains working for the week's remaining extended trading sessions until the next Friday/EndOfWeek rotation.
IOC = Immediate or Cancel - Order expires after one attempt at execution OR after one second.
GTD = Good Till Duration - Order remains working through the day's extended trading session until the next top of day rotation OR when SRGoodTillDttm time is reached OR after working for SROrderDuration seconds.
5086SROrderDurationNintOrder with SrTimeInForce = GTD expires after working for this number of seconds.
5088SRGoodTillDttmNutcDttmOrder with SrTimeInForce = GTD expires at this time.
5028SRAltRouteCodeNstringAlternate child order routing code (assigned by SR)
5034SRStrategyNstringClient strategy label. Displayed on SR Order Manager
5082SRExchangesNstringComma separated exchange list; default = all available exchanges
5046SRMaxExposureSizeNintMaximum simultaneous public exposure size across all exchanges
5048SRNumMakeExchangesNintNumber of public exposure exchanges
5050SRPublicSizeNchar0 = None
1 = Randomize
2 = MktSize
3 = FullSize
4 = MktSizeA
5 = MktSizeB
6 = MktSizeC
7 = FullSizeR
5052SRCanCxlOverlapNcharY = Yes
5080SRMaxChildOrdersNintUpper bound for the number of child orders generated for this parent order
5054SRProgressRuleNint0 = 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
5056SRTwapSliceCntNintNumber of TWAP slices (default = 1)
5104SRTakeReachRuleNint0 = Immediate
1 = Delayed
2 = Passive
5098SROrderLimitTypeNint0 = Market
1 = MarketArrival
2 = Prc
3 = PrcDe
4 = PrcDeX
5 = PrcDeT
6 = PrcDeP
7 = PrcDeXT
8 = PrcDeXP
9 = Vol
10 = VolX
11 = VolF
12 = VolFX
13 = VolPrc
14 = RelMid
15 = RelJoin
16 = RelCross
17 = SmrtFast
18 = SmrtNorm
19 = RelTurn
5106SROrderPrcLimitNfloatApplies if SROrderLimitType<5098> = Prc
5126SROrderPrcOffsetNfloatDefault=0
5132SRTakeAlphaFactorNfloat
5134SRMakeAlphaFactorNfloat
5136SRTakeProbabilityNfloat
5138SRMakeProbabilityNfloat
5253SRMax AccDayDDeltaLnNfloatmax accnt day $delta long
Should be a positive number; Defaults to no limit
5254SRMax AccDayDDeltaShNfloatmax accnt day $delta short
Should be a positive number; Defaults to no limit
5259SRMax SymDayDDeltaLnNfloatmax acct+symbol day $delta long
Should be a positive number; Defaults to no limit
5260SRMax SymDayDDeltaShNfloatmax acct+symbol day $delta short
Should be a positive number; Defaults to no limit
5058SRVwap ParticipationNfloatTarget vwap participation rate (target % of trade activity)
5290SRUserData1NstringUser 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.
5291SRUserData2NstringUser 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 FieldsSee "Algorithmic Order -- Option Specific Fields" below
Standard TrailerY

Algorithmic Order -- Option Specific Fields

The following fields can be included in Algorithmic orders when SecurityType<167> = Option.

TagField NameReq'dTypeComments
5170SRPositionTypeNintPrimary position type (single leg orders)
5060SRAuctionResponderNstringIf set, parent order can be an auction responder
5108SROrderRefUPrcNfloatThe stock reference price, a contribution to the order premium.
5110SROrderRefDeltaNfloat
5112SROrderRefGammaNfloat
5192SROrderRefRMetric1NfloatUser supplied custom risk metric
5194SROrderRefRMetric2NfloatUser supplied RMetric2 value
5196SROrderRefRMetric3NfloatUser supplied RMetric3 value
5198SROrderRefRMetric4NfloatUser supplied RMetric4 value
5116SROrderVolLimitNfloatOrder volatility limit - Valid range: [0.005, 9.000].
Required if SROrderLimitType<5098> is Vol, VolX, or VolPrc
Ignored if SROrderLimitType is Market
5118SRRateOverrideNfloatMust be positive
5120SRSDivOverrideNfloat
5122SRDDivOverrideNstringDiscrete dividends override
Format:[years: amount, years:amount, ...]
5124SROverrideCodeNcharSDiv/DDiv override rule (applies if LimitType = Vol)
S = SDivOnly
D = DDivOnly
B = Both
5228SRMakeSurfWidthOffsetNfloat
5229SRTakeSurfWidthOffsetNfloat
5140SRTakeSurfPrcOffsetNfloat
5142SRTakeSurfVolOffsetNfloat
5144SRMakeSurfPrcOffsetNfloat
5146SRMakeSurfVolOffsetNfloat
5072SRCxlUPrcRangeNboolCancel order if/when outside stock price range
5074SRMinUBidNfloatAny non-hold status will revert to markup if stock NBBO Mid is outside [midStockPx,maxUAsk] range.
5076SRMaxUAskNfloatSee description for minUBid
5078SRMinOptionPxNfloatOption price floor for orders tied to stock
5251SRMax AccDayWtVegaLnNfloatmax accnt day wvega (time weighted) long. Should be a positive number; Defaults to no limit
5252SRMax AccDayWtVegaShNfloatmax accnt day wvega (time weighted) short. Should be a positive number; Defaults to no limit
5255SRMax ExpDayWtVegaLnNfloatmax accnt+expiration day wvega (time weighted) long. Should be a positive number; Defaults to no limit
5256SRMax ExpDayWtVegaShNfloatmax accnt+expiration day wvega (time weighted) short. Should be a positive number; Defaults to no limit
5257SRMax SymDayWtVegaLnNfloatmax acct+symbol day vega long. Should be a positive number; Defaults to no limit
5258SRMax SymDayWtVegaShNfloatmax 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.

TagField NameReq'dTypeComments
5152SRAutoHedgeNcharN = NoHedge default
F = AutoCrx
S= AutoTrn
M = AutoMid
A = SpdrAuto
1 = Spdr10S
3 = Spdr30S
9 = Spdr90S
5 = Spdr5M
H = Spdr30M
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.

TagField NameReq'dTypeComments
Standard HeaderYMsgType = G
11ClOrdIdYstringClient order ID of the cancel request (24 character max)
41OrigClOrdIDYstringClOrdID<11> of the previous order (NOT the initial order of the day) when canceling an order. (24 character max)
Modifiable New Order Single Fields (See list above)
Standard TrailerY

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 fields, SpiderRock uses custom FIX fields (5,000+) for SpiderRock specific parameters.

TagField NameReq'dTypeComments
Standard HeaderYMsgType = AB
11ClOrdIdYstringClient order ID (24 character max)
1AccountYstringSR account acronym Must be configured prior to testing or trading
38OrderQtyYintExecutable quantity
54SideNchar1 = Buy
100ExDestinationNstringSR Destination Code (see appendix) - Required for DMA style orders
40OrdTypeNchar1 = Market
2 = Limit - Required for DMA and Smart/Sweep style orders
44PriceNfloatRequired for limit order types
59TimeInForceNstring0 = Day
3 = Immediate or Cancel (IOC)
60TransactTimeYutcDttmTime this order request was initiated/released. Formatted as: YYYYMMDD-HH:MM:SS.fff
Note: this order must arrive at SpiderRpcl within 15 seconds of the TransactTime to be considered a valid order.
Algorithmic Multileg FieldsSee "Multileg Algorithm" below
555NoLegsYintNumber of legs
→ 654LegRefIdYstringUsed to identify a specific leg
→ 616LegSecurityExchangeNstringAlternative to CFICode<461>
If used, specify for Futures and Options
If not specified, Equity is assumed
FUT -- Future/Future Options
OPT -- Equity Option
CS (default) -- Equity
→ 608LegCFICodeNstringES= Equity Common Shares
F = Future [FUT]
OC = Option - Call [OPT]
OP = Option - Put [OPT]
→ 609LegSecurityTypeNstringAlternative to LegCFICode<608>
CS = Equity default
FUT = Future/Future Options
OPT = Equity Option
→ 600LegSymbolYstringLeg 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 included in this field, e.g. GCZ22.
→ 601LegSymbolSfxNstringLeg Symbol Suffix
→ 611LegMaturityDateNstringFor Futures and Options. Formatted as: YYYYMMDD
→ 612LegStrikePriceNfloatOption strike price
→ 624LegSideYchar1 = 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).
→ 623LegRatioQtyYintThe ratio of quantity for this individual leg relative to the entire multileg security
→ 564LegPositionEffectNcharFor 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).
Standard TrailerY

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.

TagField NameReq'dTypeComments
Standard HeaderYMsgType = AB
Basic NewOrderMultileg FieldsSee "NewOrderMultileg" above
100ExDestinationYstringSR Destination Code (see appendix) - Required for DMA style orders
Standard TrailerY

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.

TagField NameReq'dTypeComments
Standard HeaderYMsgType = AB
Basic NewOrderMultileg FieldsSee "NewOrderMultileg" above
Standard TrailerY

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.

TagField NameReq'dTypeComments
Standard HeaderYMsgType = AB
Any Combination of Basic or Complex NewOrderMultiLeg Fields
5090SRStartTypeYint
2 = Staged
Standard TrailerY

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.

TagField NameReq'dTypeComments
Standard HeaderYMsgType = AB
Basic NewOrderMultileg Fields (See NewOrderMultileg above)
5036SRUsernameNstringClient defined username. - Used for customer service and futures compliance - If necessary, a default may be assigned to the FIX session (24 character max).
5055SRProgressExposeTimeNintDefault = 0
5094SROrderHandlingYintPrimary order handling algorithm
8 = Legger
9 = Seeker
10 = SeekerLegger
20 = CobMaker
5096SRBalanceHandlingNint0 = None (non-marketable balance will not be posted)
4 = PostLimit
5090SRStartTypeNint0 = Immediate
1 = WaitTrigger (wait for RiskGroup/Sweep trigger)
2 = Staged (wait for order to be modified/released)
5089SRMarketSessionchar1 = Regular Market
2 = Pre-Market
3 = Post-Market
4 = Regular and Pre-Market
5 = Regular and Post-Market
6 = All Day
5084SRTimeInForcestringDay = Day -- Order remains working until the end of the day's primary trading session.
EXT = Extended Day - Order remains working through the day's extended trading session until the next top of day rotation. - WK = Week - Order remains working for the remainder of the week's normal trading sessions.
EWK = Extended Week - Order remains working for the week's remaining extended trading sessions until the next Friday/EndOfWeek rotation.
IOC = Immediate or Cancel - Order expires after one attempt at execution OR after one second.
GTD = Good Till Duration - Order remains working through the day's extended trading session until the next top of day rotation OR when SRGoodTillDttm time is reached OR after working for SROrderDuration seconds.
5089SRMarketSessionchar1 = Regular Market
2 = Pre-Market
3 = Post-Market
4 = Regular and Pre-Market
5 = Regular and Post-Market
6 = All Day
5086SROrderDurationintOrder with SrTimeInForce = GTD expires after working for this number of seconds 0/missing = ignore
5088SRGoodTillDttmutcDttmOrder with SrTimeInForce = GTD expires at this time working for this number of seconds
5028SRAltRouteCodestringAlternate child order routing code (assigned by SR)
5034SRStrategyNstringClient strategy label. Displayed on SR Order Manager
5082SRExchangesstringComma separated exchange list; default = all available exchanges
5046SRMaxExposureSizeintMaximum simultaneous public exposure size across all exchanges
5048SRNumMakeExchangesintNumber of public exposure exchanges
5050SRPublicSizeNchar0 = None
1 = Randomize
2 = MktSize
3 = FullSize
4 = MktSizeA
5 = MktSizeB
6 = MktSizeC
7 = FullSizeR
5080SRMaxChildOrdersintUpper bound for the number of child orders generated for this parent order
5054SRProgressRuleint0 = Immediate (default)
1 = Twap
3 = TwapReset
5 = FastReset
6 = SlowReset
7 = TwapAlpha
11 = SpdrPulse
5056SRTwapSliceCntintNumber of TWAP slices (default = 1)
5104SRTakeReachRuleint0 = Immediate
1 = Delayed
2 = Passive
5098SROrderLimitTypestring0 = Market
1 = MarketArrival
2 = Prc
3 = PrcDe
4 = PrcDeX
6 = PrcDeP
8 = PrcDeXP
14 = RelMid
15 = RelJoin
16 = RelCross
5100SRTakeLimitClasscharSimple=0 Surface=1 Probability=2 SurfProb=3
5102SRMakeLimitClasscharSimple=0 Surface=1 Probability=2 SurfProb=3
5106SROrderPrcLimitfloatApplies if LimitType = Prc[]
5109SROrderRefUAskprice
5110SROrderRefDeltafloatDefault=option.delta
5112SROrderRefGammafloatDefault=option.gamma
5114SROrderRefThetafloat
5116SROrderVolLimitNfloatOrder volatility limit - Valid range: [0.005, 9.000].
Required if SROrderLimitType<5098> is Vol, VolX, or VolPrc
Ignored if SROrderLimitType is Market
5126SROrderPrcOffsetfloatDefault=0
5128SRTakeAlphaTypechar1 = Static
2 = Hawk
3 = Eagle
4 = Falcon
5 = Relative
5130SRMakeAlphaTypechar1 = Static
2 = Hawk
3 = Eagle
4 = Falcon
5 = Relative
5132SRTakeAlphaFactorfloat
5134SRMakeAlphaFactorfloat
5136SRTakeProbabilityfloat
5138SRMakeProbabilityfloat
5202SRLeadSidecharSROrderHandling=Legger Only
1 = Buy
2 = Sell
5204SRMaxCompletionSlippagefloatSROrderHandling=Legger Only
5206SROrderRefPremiumfloatReference premium (multileg orders only)
5290SRUserData1NstringUser 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.
5291SRUserData2NstringUser 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.

TagField NameReq'dTypeComments
Basic NewOrderMultileg Fields (See NewOrderMultileg above)
5094SROrderHandlingYintPrimary order handling algorithm
8 = Legger
5096SRBalanceHandlingNint0 = None (non-marketable balance will not be posted)
4 = PostLimit
5202SRLeadSidecharLegger Only
1 = Buy
2 = Sell
5204SRMaxCompletionSlippagefloatLegger Only
Standard TrailerY

MultilegCancelReplace (Client to SpiderRock)

The MultilegCancelReplace<AD> 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<AD> can immediately be accepted (ExecutionReport<8> with ExecType<150>=Replaced) or rejected (OrderCancelReject<9> message).

An MultilegCancelReplace<AD> 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.

TagField NameReq'dTypeComments
Standard HeaderYMsgType = AC
11ClOrdIdYstringClient order ID of the cancel request (24 character max)
41OrigClOrdIDYstringClOrdID<11> of the previous order (NOT the initial order of the day) when canceling an order. (24 character max)
Modifiable NewOrderMultileg Fields (See list above)
Standard TrailerY

ExecutionReport (SpiderRock to Client)

SpiderRock natively follows FIX 4.4 rules for ExecutionReport handling but can switch to FIX 4.2 on request.

TagField NameReq'dTypeComments
37OrderIDYstringUnique ID for order chain assigned by SpiderRock
198SecondaryOrderIDNstringValue from executing venue
11ClOrdIDYstringValue from client request
41OrigClOrdIDNstringConditionally required for response to a Cancel or Cancel/Replace request - (ExecType=PendingCancel, Replaced, or Canceled)
76ExecBrokerNstringValue from executing venue
5036SRUsernameNstringUsed for customer service and futures compliance
5012SRAltAccntNstring
5410SRExtTraderIdNstring
5350SRExecBrokerMPIDNstringExecuting broker MPID
17ExecIDYstringUnique ID assigned by SpiderRock
20ExecTransTypeYint
19ExecRefIDNstring
150ExecTypeYchar
60TransactTimeYutcDttmTime the transaction represented by this ExecutionReport occurred
39OrdStatusYchar
103OrdRejReasonNintFor optional use with ExecType = 8 (Rejected)
378ExecRes tatementReasonNintIf replaced in the SpiderRock System using another order entry method
1AccountYstringAssigned by SpiderRock
54SideYcharValue from executing venue - Value may differ from client's order if execution order is sold short.
38OrderQtyYint
40OrdTypeYcharOrder type of this execution
77OpenCloseNcharValue from client's order
44PriceNfloatValue from client's order
528OrderCapacityNcharValue from order to venue
32LastSharesYint
31LastPxYfloat
30LastMktNstringValue from executing venue
29LastCapacityNstringValue from executing venue
151LeavesQtyYint0 if order is not active, not (OrderQty-Cum)
14CumQtyYint
6AvgPxYfloatExecution price
58TextNstring
5605SRRejectCodeNintSee Appendix C for a list of SR reject codes
442MultiLegReportingTypeNcharUsed 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
654LegRefIDNstringUsed to identify a specific leg for multileg order execution reports
439ClearingFirmNstringValue from client's order, or SpiderRock account config
440ClearingAccountNstringValue from client's order, or SpiderRock account config
Symbology
22IdSourceNintValue from client's order
48SecurityIdNstringValue from client's order
167SecurityTypeNstringValue from client's order
55SymbolYstringValue from client's order
65SymbolSfxNstringValue from client's order
207SecurityExchangeYstringExchange
461CFICodeNstringValue from client's order
201PutOrCallNintValue from client's order
541MaturityDateNstringValue from client's order YYYYMMDD
200MaturityMonthYearNstringValue from client's order YYYYMM
205MaturityDayNintValue from client's order 1-31
202StrikePriceNpriceValue from client's order
Billing Parameters
5648SRBillingCategoryNstringA = Alpha
A50 = AlphaTop50
TM = TiedMaker
TT = TiedTaker
S = SOR
D = DMA
AT = AwayTrade
F = Facilitate
AF = AlphaFacilitate
AR = AuctionResponse
BA = BlockAuction
BR = BlockResponse
E = Extern
SO = SymOverride
NB = NonBillable
SS = SpdrSweep
IS = IsoSweep
5613SRBillingRateNfloatTier 1 billing rate
5610SRLiquidityTagNstringFrom SpiderRock normalized venue liquidity tag
5614SRExchFeeEstNfloatFrom exchange published Fee Schedules
5611SRExchLiqTagNstringExchange supplied liquidity code
Standard TrailerY

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.

TagField NameReq'dTypeComments
Standard HeaderYMsgType = F
11ClOrdIdYstringClient order ID of the cancel request (24 character max)
41OrigClOrdIDYstringClOrdID<11> of the previous order (NOT the initial order of the day) when canceling an order (24 character max)
37OrderIDNstringSR assigned OrderID (from an ExecutionReport message) - Note: one of OrigClOrdID or OrderID must be supplied.
55SymbolNstring
65SymbolSfxNstring
167SecurityTypeNstringMust be specified if a Future or Option - If a Future: Symbol<55>, SecurityType<167>, and MaturityMonthYear<200> are required - If an Option: Symbol<55>, SecurityType<167>, MaturityMonthYear<200>, PutOrCall<201>, and StrikePrice<202> are required
200MaturityMonthYearNstringFor Futures and Options
205MaturityDayNintFor Futures and Options
201PutOrCallNintFor Options
202StrikePriceNfloatFor Options
54SideNchar1 = 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)
60TransactTimeYutcDttmTime this order request was initiated/released. Formatted as: YYYYMMDD-HH:MM:SS.fff
Note: this order must arrive at SpiderRpcl within 15 seconds of the TransactTime to be considered a valid order.
38OrderQtyNintExecutable quantity
58TextNstringUser supplied text such as a cancel reason
Standard TrailerY

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.

TagField NameReq'dTypeComments
Standard HeaderYMsgType = 8
37OrderIDYstringUnique ID for order chain assigned by SpiderRock
11ClOrdIDYstringValue from client request
41OrigClOrdIDYstringConditionally required for response to a Cancel or Cancel/Replace request (ExecType=PendingCancel, Replaced, or Canceled)
434CxlRej ResponseToYcharValid values:
1 = OrderCancelRequest <F>
2 = OrderCancel/Replace Request <G>
102CxlRejReasonNint
39OrdStatusYcharOrdStatus value after this cancel reject is applied
58TextNstring
Standard TrailerY