Skip to main content
Version: 8.5.11.3

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.

ATS Auction Initiate - Initiate a BlockAuction or FlashAuction in the SpiderRock Connect ATS.

ATS Auction Respond - Respond to a BlockAuction or FlashAuction in the SpiderRock Connect ATS.

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.

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

TagField NameReq'dTypeAssociated Record Value
(SpdrParentOrder)
Comments
Standard HeaderYMsgType = D
11ClOrdIdYstringaltOrderIdClient order ID (24 character max)
60TransactTimeYutcDttmorderDttmTime 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.
1AccountYstringaccntSR account acronym. Must be configured prior to testing or trading
Superseded by SRAccnt
204CustomerOrFirmNstringfirmType0 = 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
528OrderCapacityNcharorderCapacityA = Agency
G = Prop
I = Individual
P = Principal
R = Riskless
W = AgentOtherMember
Will default to SR account configuration if not specified
Superseded by: SROrderCapacity
167SecurityTypeNstringsecTypeAlternative to CFICode<461>
CS = Equity default
FUT = Future/Future Options
OPT = Equity Option
Superseded by :SRSecType
Default = stock
54SideYcharorderSide
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
38OrderQtyYintorderSizeExecutable quantity
Superseded by: SRORderSize
77PositionEffectNcharpositionTypeO = Open
C = Close
R = Rolled
F = FIFO
Superseded by: SRPositionType
40OrdTypeNcharorderLimitType1 = 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
44PriceNfloatorderPrcLimitRequired for limit order types
Superseded by: SROrderPrcLimit
59TimeInForceNstringorderDuration
parentOrderHandling
0 = Day
2 = Opening
3 = Immediate or Cancel (IOC)
6 = Good Till Date/Time (or Duration)
7 = Closing
OrderDuration Superseded by: SRMarketSession
126ExpireTimeNUTCTimeStampgoodTillDttmSuperseded by: SRGoodTillDttm
100ExDestinationNmultiple-value
string
exchMaskSR Destination Code (see appendix)
Required for DMA style orders
Superseded by: SRExDestination
440ClearingAccountNstringclearingAccnt (in child order)Superseded by SRClearingFlipAccount, then SRClearingAccnt
439ClearingFirmNstringclearingFirm (in child order)Superseded by: SRClearingFlipFirm
Any SR TagsN
Standard TrailerY

Common Extensions

TagField NameReq'dTypeAssociated Record Value
(SpdrParentOrder)
Comments
5020SRAccntNstringaccntSR account acronym.
Must be configured prior to testing or trading
Supersedes Account
5022SRClientFirmNstringclientFirmSR client firm acronym, used in account lookup.
Must be configured prior to testing or trading
5012SRAltAccntNstringaltAccntSR alternative account acronym.
Must be configured prior to testing or trading
5166SRFirmTypeNstringfirmTypeSupersedes CustomerOrFirm
5168SROrderCapacityNcharorderCapacityA = Agency
G = Prop
I = Individual
P = Principal
R = Riskless
W = AgentOtherMember
Will default to SR account configuration if not specified
Supersedes OrderCapacity
5016SRSecTypeNstringsecTypeSupersedes SecurityType
5015SRSecKeyNstringsecTypeSupersedes typical resolution
5040SROrderSideNcharorderSideSupersedes Side
5172SRShortSaleFlagNcharssaleFlag1 = Long
2 = Short
3 = Exempt
4 = Auto
5 = Open
6 = Close
8 = Cover
7 = NA
5042SROrderSizeNintorderSizeSupersedes OrderQty
5170SRPositionTypeNcharpositionTypeSupersedes PositionEffect
5700LocateBrokerNstringlocateFirmSuperseded by: SRLocateFirm
5221SRLocateFirmNstringlocateFirmSupersedes LocateBroker
5098SROrderLimitTypeNcharorderLimitTypeSupersedes OrdType
5106SROrderPrcLimitNfloatorderPrcLimitSupersedes Price
5089SRMarketSessionNstringorderDuration
parentOrderHandling
Supersedes TimeInForce
5088SRGoodTillDttmNUTCTimeStampgoodTillDttmSupersedes ExpireTime
5094SROrderHandlingNstringparentOrderHandlingSupersedes typical resolution
If failure to resolve, Default = DMA
5360SRExDestinationNmultiple-value
string
exchMaskSupersedes ExDestination
5374SRClearingFlipAccountNstringclearingFlipAccnt (in child order)Supersedes ClearingAccount
5026SRClearingAccountNstringclearingAccnt (in child order)Supersedes ClearingAccount
5373SRClearingFlipFirmNstringclearingFlipFirm (in child order)Supersedes ClearingFirm
5375SRClearingFlipTypeNstringclearingFlipType (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.

TagField NameReq'dTypeAssociated Record Value
(SpdrParentOrder)
Comments
Standard HeaderYMsgType = D
Basic NewOrderSingle FieldsSee "NewOrderSingle" above
100ExDestinationYstringexchMaskSR Destination Code (see appendix)
5094SROrderHandlingYstringparentOrderHandling3 = DMA
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 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'dTypeAssociated Record Value
(SpdrParentOrder)
Comments
Standard HeaderYMsgType = D
Basic NewOrderSingle FieldsSee "NewOrderSingle" above
Algorithmic NewOrderSingle FieldsSee "NewOrderSingle" above
5083SRStageTypeYintspdrStageType1 = ModifyAny
2 = ModifyAlgo
5090SRStartTypeYintstartType1 = WaitTrigger (wait start)
Standard TrailerY

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.

TagField NameReq'dTypeAssociated Record Value
(SpdrParentOrder)
Comments
Standard HeaderYMsgType = D
Basic NewOrderSingle FieldsSee "NewOrderSingle" above
59TimeInForceYcharparentOrderHandling2 = At the opening
7 = At the Close
5094SROrderHandlingYstringparentOrderHandling4 = MktOnOpn
5 = MktOnCls
Standard TrailerY

Other Possible Extensions

TagField NameReq'dTypeAssociated Record Value
(SpdrParentOrder)
Comments
5036SRUsernameNstringuserNameClient defined username
Used for customer service and futures compliance
If necessary, a default may be assigned to the FIX session. (24 character max)
5055SRProgressExposeTimeNintprogressExposeTimeDuration in seconds
5096SRBalanceHandlingNintparentBalanceHandling0 = 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
5090SRStartTypeNintstartType0 = Immediate
1 = WaitTrigger (wait for RiskGroup/Sweep trigger)
2 = Staged (wait for order to be modified/released)
5089SRMarketSessionNcharmarketSession1 = Regular Market
2 = Pre-Market
3 = Post-Market
4 = Regular and Pre-Market
5 = Regular and Post-Market
6 = All Day
5086SROrderDurationNintorderDurationOrder with SRMarketSession = GTD expires after working for this number of seconds.
5088SRGoodTillDttmNutcDttmgoodTillDttmOrder with SRMarketSession = GTD expires at this time.
5028SRExecBrokerCodeNstringexecBrkrCodeOverrides the default executing broker for this parent order
5034SRStrategyNstringstrategyClient strategy label. Displayed on SR Order Manager
5082SRExDestinationNstringexchMaskSpace separated exchange list; default = all available exchanges
5046SRMaxExposureSizeNintmaxExposureSizeMaximum simultaneous public exposure size across all exchanges
5048SRNumMakeExchangesNintnumMakeExchangesNumber of public exposure exchanges
5050SRPublicSizeNcharpublicSize0 = None
1 = Randomize
2 = MktSize
3 = FullSize
4 = MktSizeA
5 = MktSizeB
6 = MktSizeC
7 = FullSizeR
Max25Pct = 8
Max50Pct = 9
Max75Pct = 10
NoSize = 11
5052SRCanCxlOverlapNcharcanOverlapCxlReplWhen replacing (cancel-with-replacement) a child order, can cancel request overlap with new order? The order may overfill if 'Y'.
Y = Yes
N = No
5080SRMaxChildOrdersNintmaxChildOrdersUpper bound for the number of child orders generated for this parent order
Default : 1000
5054SRProgressRuleNintprogressRule0 = 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
5056SRProgressSliceCntNintprogressSliceCntnumber of slices to use (default = 4 or 8) [max 20]
5104SRTakeReachRuleNinttakeReachRule0 = 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
5098SROrderLimitTypeNintorderLimitType0 = 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
5106SROrderPrcLimitNfloatorderPrcLimitApplies if SROrderLimitType<5098> = Prc
5126SROrderPrcOffsetNfloatorderPrcOffsetDefault = 0
5132SRTakeAlphaFactorNfloattakeAlphaFactor
5134SRMakeAlphaFactorNfloatmakeAlphaFactor
5136SRTakeProbabilityNfloattakeProbability
5138SRMakeProbabilityNfloatmakeProbability
5259SRMaxSymDayDDeltaLnNfloatmaxSymDayDDeltaLnmax acct+symbol day $delta long
Should be a positive number; Defaults to no limit
5260SRMaxSymDayDDeltaShNfloatmaxSymDayDDeltaShmax acct+symbol day $delta short
Should be a positive number; Defaults to no limit
5058SRVwap ParticipationNfloatvwapParticipationTarget VWAP participation rate (target % of trade activity)
5290SRUserData1NstringuserData1User 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.
5291SRUserData2NstringuserData2User 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.
5060SRAuctionResponderNstringauctionResponder0 = None
ANY = parent order can be an auction responder
5108SROrderRefUPrcNfloatorderRefUPrcThe stock reference price, a contribution to the order premium.
5110SROrderRefDeltaNfloatorderRefDelta
5112SROrderRefGammaNfloatorderRefGamma
5192SROrderRefRMetric1NfloatorderRefRMetric1User supplied custom risk metric
5194SROrderRefRMetric2NfloatorderRefRMetric2User supplied RMetric2 value
5196SROrderRefRMetric3NfloatorderRefRMetric3User supplied RMetric3 value
5198SROrderRefRMetric4NfloatorderRefRMetric4User supplied RMetric4 value
5200SROrderRefRMetric5NfloatorderRefRMetric5User supplied RMetric5 value
5212SROrderRefRMetric6NfloatorderRefRMetric6User supplied RMetric6 value
5236SROrderRefRMetric7NfloatorderRefRMetric7User supplied RMetric7 value
5116SROrderVolLimitNfloatorderVolLimitOrder volatility limit - Valid range: [0.005, 9.000].
Required if SROrderLimitType<5098> is Vol, VolX, or VolPrc
Ignored if SROrderLimitType is Market
5118SRRateOverrideNfloatrateOverrideMust be positive
5120SRSDivOverrideNfloatsdivOverride
5122SRDDivOverrideNstringddivOverrideDiscrete dividends override
Format : [years: amount, years:amount, ...]
5124SROverrideCodeNcharoverrideCodeSDiv/DDiv override rule (applies if LimitType = Vol)
0 = None
S = SDivOnly
D = DDivOnly
B = Both
5228SRMakeSurfWidthOffsetNfloatmakeSurfWidthOffset
5229SRTakeSurfWidthOffsetNfloattakeSurfWidthOffset
5140SRTakeSurfPrcOffsetNfloattakeSurfPrcOffset
5142SRTakeSurfVolOffsetNfloattakeSurfVolOffset
5144SRMakeSurfPrcOffsetNfloatmakeSurfPrcOffset
5146SRMakeSurfVolOffsetNfloatmakeSurfVolOffset
5072SRCxlUPrcRangeNboolcxlUPrcRangeCancel order if outside stock price range
Y = Yes
N = No
Z = Yes/Halt - Yes and also cancel on underlying halt
M = No/Halt
5068SRCxlExpiryTimeNstringcxlExpireTimeFormat is HH:MM (24-hour clock)
5074SRExecBenchmarkPriceNfloatexecBenchmarkPriceBenchmark for execution comparison
5076SRExecBenchmarkTypeNstringexecBenchmarkTypeVALID Types: VWAP, MID, PBID, PBID2, or PASK

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

TagField NameReq'dTypeAssociated Record Value
(SpdrParentOrder)
Comments
Standard HeaderYMsgType = G
1AccountYstringaccntSR account acronym. Must be configured prior to testing or trading
Superseded by SRAccnt
11ClOrdIdYstringaltOrderIdClient order ID (24 character max)
38OrderQtyYintorderSizeExecutable quantity
Superseded by: SRORderSize
54SideYcharorderSide
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
40OrdTypeNcharorderLimitType1 = 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
44PriceNfloatorderPrcLimitRequired for limit order types
Superseded by: SROrderPrcLimit
59TimeInForceNstringorderDuration
parentOrderHandling
0 = Day
2 = Opening
3 = Immediate or Cancel (IOC)
6 = Good Till Date/Time (or Duration)
7 = Closing
OrderDuration Superseded by: SRMarketSession
126ExpireTimeNUTCTimeStampgoodTillDttmSuperseded by: SRGoodTillDttm
52SendingTimeNUTCTimeStampTime of message transmission
always expressed in UTC (Universal Time Coordinated, also known as “GMT”)
60TransactTimeYutcDttmorderDttmTime 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.
100ExDestinationNmultiple-value
string
exchMaskSR Destination Code (see appendix)
Required for DMA style orders
Superseded by: SRExDestination
Any SR TagsN
Standard TrailerY

Common Extensions

TagField NameReq'dTypeAssociated Record Value
(SpdrParentOrder)
Comments
5020SRAccntNstringaccntSR account acronym. Must be configured prior to testing or trading
Supersedes Account
5022SRClientFirmNstringclientFirmSR client firm acronym, used in account lookup. Must be configured prior to testing or trading
5012SRAltAccntNstringaltAccntSR alternative account acronym.
Must be configured prior to testing or trading
5042SROrderSizeNintorderSizeSupersedes OrderQty
5040SROrderSideNcharorderSideSupersedes Side
5098SROrderLimitTypeNcharorderLimitTypeSupersedes OrdType
5106SROrderPrcLimitNfloatorderPrcLimitSupersedes Price
5089SRMarketSessionNstringorderDuration
parentOrderHandling
Supersedes TimeinForce
5088SRGoodTillDttmNUTCTimeStampgoodTillDttmSupersedes ExpireTime
5094SROrderHandlingNstringparentOrderHandlingSupersedes typical resolution
If failure to resolve, Default=DMA
5360SRExDestinationNmultiple-value
string
exchMaskSupersedes 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

TagField NameReq'dTypeAssociated Record Value
(SpdrParentOrder)
Comments
Standard HeaderYMsgType = AB
11ClOrdIdYstringaltOrderIdClient order ID (24 character max)
60TransactTimeYutcDttmorderDttmTime 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.
1AccountYstringaccntSR account acronym. Must be configured prior to testing or trading
Superseded by SRAccnt
204CustomerOrFirmNstringfirmType0 = 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
528OrderCapacityNcharorderCapacityA = Agency
G = Prop
I = Individual
P = Principal
R = Riskless
W = AgentOtherMember
Will default to SR account configuration if not specified
Superseded by: SROrderCapacity
167SecurityTypeNstringsecTypeAlternative to CFICode<461>
CS = Equity default
FUT = Future/Future Options
OPT = Equity Option
Superseded by :SRSecType
Default=stock
54SideYcharorderSide
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
38OrderQtyYintorderSizeExecutable quantity
Superseded by: SRORderSize
77PositionEffectNcharpositionTypeO = Open
C = Close
R = Rolled
F = FIFO
Superseded by: SRPositionType
40OrdTypeNcharorderLimitType1 = 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
44PriceNfloatorderPrcLimitRequired for limit order types
Superseded by: SROrderPrcLimit
59TimeInForceNstringorderDuration
parentOrderHandling
0 = Day
2 = Opening
3 = Immediate or Cancel (IOC)
6 = Good Till Date/Time (or Duration)
7 = Closing
OrderDuration Superseded by: SRMarketSession
126ExpireTimeNUTCTimeStampgoodTillDttmSuperseded by: SRGoodTillDttm
440ClearingAccountNstringclearingAccnt (in child order)Superseded by SRClearingFlipAccount, then SRClearingAccnt
439ClearingFirmNstringclearingFirm (in child order)Superseded by: SRClearingFlipFirm
100ExDestinationNmultiple-value
string
exchMaskSR Destination Code (see appendix)
Required for DMA style orders
Superseded by: SRExDestination
555NoLegsYintNumber of leg repeating groups
Leg Repeating Group
654LegRefIdNhexlongOrderLegsItem.stockLegId
or
OrderLegsItem.LegIdN
(where N is NoLegs #)
Unique indicator for specific leg
608LegCFICodeNstringUsed to construct child order seckeySuperseded by: SRLegSecType
609LegSecurityTypeNstringSuperseded by: SRLegSecType
600LegSymbolYstringUsed to construct child order seckey
611LegMaturityDateNLocalMktDateUsed to construct child order seckey
610LegMaturityMonthYearY*month-yearUsed to construct child order seckey*Required if LegMaturityDate is absent.
205MaturityDayY*day-of-monthUsed to construct child order seckey*Required if LegMaturityDate is absent.
612LegStrikePriceYfloatUsed to construct child order seckey
1358LegPutOrCallY*intUsed to construct child order seckey0 = Put, 1 = Call
*Required if LegCFICode is absent
601LegSymbolSfxNstringUsed to construct child order seckeyWI = “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
623LegRatioQtyNfloatOrderLegsItem.multN (where N is NoLegs #)
624LegSideYcharOrderLegsItem.sideN (where N is NoLegs #)1 = Buy
2 = Sell
5 = Sell Short
Y = Sell Short Auto
6 = Sell Short Exempt
564LegPositionEffectNcharOrderLegsItem.posTypeN (where N is NoLegs #)O = Open
C = Close
R = Rolled
F = FIFO
End of Leg Repeating Group
Any SR TagsN
Standard TrailerY

Common Extensions

TagField NameReq'dTypeAssociated Record Value
(SpdrParentOrder)
Comments
5020SRAccntNstringaccntSR account acronym. Must be configured prior to testing or trading
Supersedes Account
5022SRClientFirmNstringclientFirmSR client firm acronym, used in account lookup. Must be configured prior to testing or trading
5012SRAltAccntNstringaltAccntSR alternative account acronym.
Must be configured prior to testing or trading
5166SRFirmTypeNstringfirmTypeSupersedes CustomerOrFirm
5168SROrderCapacityNcharorderCapacityA = Agency
G = Prop
I = Individual
P = Principal
R = Riskless
W = AgentOtherMember
Will default to SR account configuration if not specified
Supersedes OrderCapacity
5016SRSecTypeNstringsecTypeSupersedes SecurityType
5015SRSecKeyNstringsecTypeSupersedes typical resolution
5040SROrderSideNcharorderSideSupersedes Side
5172SRShortSaleFlagNcharssaleFlag1 = Long
2 = Short
3 = Exempt
4 = Auto
5 = Open
6 = Close
8 = Cover
7 = NA
5042SROrderSizeNintorderSizeSupersedes OrderQty
5170SRPositionTypeNcharpositionTypeSupersedes PositionEffect
5700LocateBrokerNstringlocateFirmSuperseded by: SRLocateFirm
5221SRLocateFirmNstringlocateFirmSupersedes LocateBroker
5098SROrderLimitTypeNcharorderLimitTypeSupersedes OrdType
5106SROrderPrcLimitNfloatorderPrcLimitSupersedes Price
5089SRMarketSessionNstringorderDuration
parentOrderHandling
Supersedes TimeinForce
5088SRGoodTillDttmNUTCTimeStampgoodTillDttmSupersedes ExpireTime
5094SROrderHandlingNstringparentOrderHandlingSupersedes typical resolution
If failure to resolve, Default=DMA
5374SRClearingFlipAccountNstringclearingFlipAccnt (in child order)Supersedes ClearingAccount
5026SRClearingAccountNstringclearingAccnt (in child order)Supersedes ClearingAccount
5373SRClearingFlipFirmNstringclearingFlipFirm (in child order)Supersedes ClearingFirm
5375SRClearingFlipTypeNstringclearingFlipType (in child order)Examples:
BRKR
CMTA
GVUP
NSCC
DTCC
QSR
DVP
5360SRExDestinationNmultiple-value
string
exchMaskSupersedes ExDestination
Leg Repeating Group Tags
5305SRLegSecTypeNstringSupersedes LegCFICode, LegSecurityType
5304SRLegSecKeyNstringUsed to construct child order seckeySupersedes typical resolution
5303SRLegSideNstringOrderLegsItem.sideN (where N is NoLegs #)Supersedes LegSide
B = Buy
S = Sell
5307SRLegShortSaleFlagNcharOrderLegsItem.ssaleFlag1 = Long
2 = Short
3 = Exempt
4 = Auto
5 = Open
6 = Close
8 = Cover
7 = NA
5306SRLegPosEffectNstringOrderLegsItem.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.

TagField NameReq'dTypeAssociated Record Value
(SpdrParentOrder)
Comments
Standard HeaderYMsgType = AB
Basic NewOrderMultileg FieldsSee "NewOrderMultileg" above
100ExDestinationYstringexchMaskSR Destination Code (see appendix) - Required for DMA style orders
Superceded by: SRExDestination
5094SROrderHandlingYstringparentOrderHandling3 = DMA
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'dTypeAssociated Record Value
(SpdrParentOrder)
Comments
Standard HeaderYMsgType = AB
Any Combination of Basic or Complex NewOrderMultiLeg Fields
5083SRStageTypeYintspdrStageType1 = ModifyAny
2 = ModifyAlgo
5090SRStartTypeYintstartType2 = WaitTrigger (wait start)
Standard TrailerY

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'dTypeAssociated Record Value
(SpdrParentOrder)
Comments
Basic NewOrderMultileg Fields (See NewOrderMultileg above)
5094SROrderHandlingYintorderHandlingPrimary order handling algorithm
8 = Legger
5096SRBalanceHandlingNintparentBalanceHandling0 = None (non-marketable balance will not be posted)
4 = PostLimit
5202SRLeadSideNcharleadSideLegger Only
1 = Buy
2 = Sell
5204SRMaxCompletionSlippageNfloatmaxCompletionSlippageLegger Only
5094SROrderHandlingYstringparentOrderHandling8 = Legger
10 = SeekerLegger
Standard TrailerY

Other Possible Extensions

TagField NameReq'dTypeAssociated Record Value
(SpdrParentOrder)
Comments
Standard HeaderYMsgType = AB
Basic NewOrderMultileg Fields (See NewOrderMultileg above)
5036SRUsernameNstringaltUserNameClient defined username. Used for customer service and futures compliance. If necessary, a default may be assigned to the FIX session (24 character max).
5055SRProgressExposeTimeNintprogressExposeTimeDefault = 0
5096SRBalanceHandlingNintparentBalanceHandling0 = None (non-marketable balance will not be posted)
4 = PostLimit
5086SRStageTypeYintspdrStageType1 = ModifyAny
2 = ModifyAlgo
5090SRStartTypeNintstartType0 = Immediate
1 = WaitTrigger (wait for RiskGroup/Sweep trigger)
2 = Staged (wait for order to be modified/released)
5034SRStrategyNstringstrategyClient strategy label. Displayed on SR Order Manager.
5046SRMaxExposureSizeNintmaxExposureSizeMaximum simultaneous public exposure size across all exchanges.
5048SRNumMakeExchangesNintnumMakeExchangesNumber of public exposure exchanges.
5050SRPublicSizeNcharpublicSize0 = None
1 = Randomize
2 = MktSize
3 = FullSize
4 = MktSizeA
5 = MktSizeB
6 = MktSizeC
7 = FullSizeR
5080SRMaxChildOrdersNintmaxChildOrdersUpper bound for the number of child orders generated for this parent order.
5054SRProgressRuleNintprogressRule0 = Immediate (default)
1 = Twap
3 = TwapReset
5 = FastReset
6 = SlowReset
7 = TwapAlpha
11 = SpdrPulse
5056progressSliceCntNintprogressSliceCntNumber of slices to use (default = 4 or 8) [max 20].
5104SRTakeReachRuleNinttakeReachRule0 = Immediate
1 = Delayed
2 = Passive
5100SRTakeLimitClassNchartakeLimitClass0 = Simple
1 = Surface
2 = Probability
3 = SurfProb
5102SRMakeLimitClassNcharmakeLimitClass0 = Simple
1 = Surface
2 = Probability
3 = SurfProb
5108SROrderRefUPrcNpriceorderRefUPrcdefault=underlier.mid
5110SROrderRefDeltaNfloatorderRefDeltaDefault=option.delta
5112SROrderRefGammaNfloatorderRefGammaDefault=option.gamma
5116SROrderVolLimitNfloatorderVolLimitOrder volatility limit - Valid range: [0.005, 9.000].
Required if SROrderLimitType is Vol, VolX, or VolPrc.
Ignored if SROrderLimitType is Market.
5126SROrderPrcOffsetNfloatorderPrcOffsetDefault = 0
5128SRTakeAlphaTypeNchartakeAlphaType1 = Static
2 = Hawk
3 = Eagle
4 = Falcon
5 = Relative
5130SRMakeAlphaTypeNcharmakeAlphaType1 = Static
2 = Hawk
3 = Eagle
4 = Falcon
5 = Relative
5132SRTakeAlphaFactorNfloattakeAlphaFactor
5134SRMakeAlphaFactorNfloatmakeAlphaFactor
5136SRTakeProbabilityNfloattakeProbability
5138SRMakeProbabilityNfloatmakeProbability
5202SRLeadSideNcharleadSideSROrderHandling = Legger Only
1 = Buy
2 = Sell
5204SRMaxCompletionSlippageNfloatmaxCompletionSlippageSROrderHandling = Legger Only
5206SROrderRefPremiumNfloatorderRefPremiumReference premium (multileg orders only)
5290SRUserData1NstringuserData1User defined field (max 255 chars). Can be returned on exec reports; forwarded to child orders or drop lines.
5291SRUserData2NstringuserData2User defined field (max 255 chars). Can be returned on exec reports; forwarded to child orders or drop lines.

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

TagField NameReq'dTypeAssociated Record Value
(SpdrParentOrder)
Comments
Standard HeaderYMsgType = AC
11ClOrdIdYstringaltOrderIdClient order ID of the cancel request (24 character max)
41OrigClOrdIdYstringaltPrevOrderIdClient order ID of the original order that is requested to be canceled (24 character max)
1AccountYstringaccntSR account acronym. Must be configured prior to testing or trading
Superseded by SRAccnt
38OrderQtyYintorderSizeExecutable quantity
Superseded by: SRORderSize
54SideYcharorderSide
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
40OrdTypeNcharorderLimitType1 = 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
44PriceNfloatorderPrcLimitRequired for limit order types
Superseded by: SROrderPrcLimit
59TimeInForceNstringorderDuration
parentOrderHandling
0 = Day
2 = Opening
3 = Immediate or Cancel (IOC)
6 = Good Till Date/Time (or Duration)
7 = Closing
OrderDuration Superseded by: SRMarketSession
126ExpireTimeNUTCTimeStampgoodTillDttmSuperseded by: SRGoodTillDttm
52SendingTimeNUTCTimeStampTime of message transmission
always expressed in UTC (Universal Time Coordinated, also known as “GMT”)
60TransactTimeYutcDttmorderDttmTime 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.
440ClearingAccountNstringclearingAccnt (in child order)Superseded by SRClearingFlipAccount, then SRClearingAccnt
439ClearingFirmNstringclearingFirm (in child order)Superseded by: SRClearingFlipFirm
100ExDestinationNmultiple-value
string
exchMaskSR Destination Code (see appendix)
Required for DMA style orders
Superseded by: SRExDestination
Leg Repeating Group
654LegRefIdNhexlongOrderLegsItem.stockLegId
or
OrderLegsItem.LegIdN
(where N is NoLegs #)
Unique indicator for specific leg
608LegCFICodeNstringUsed to construct child order seckeySuperseded by: SRLegSecType
609LegSecurityTypeNstringSuperseded by: SRLegSecType
600LegSymbolYstringUsed to construct child order seckey
611LegMaturityDateNLocalMktDateUsed to construct child order seckey
610LegMaturityMonthYearY*month-yearUsed to construct child order seckey*Required if LegMaturityDate is absent.
205MaturityDayY*day-of-monthUsed to construct child order seckey*Required if LegMaturityDate is absent.
612LegStrikePriceYfloatUsed to construct child order seckey
1358LegPutOrCallY*intUsed to construct child order seckey0 = Put, 1 = Call
*Required if LegCFICode is absent
601LegSymbolSfxNstringUsed to construct child order seckeyWI = “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
623LegRatioQtyNfloatOrderLegsItem.multN (where N is NoLegs #)
624LegSideYcharOrderLegsItem.sideN (where N is NoLegs #)1 = Buy
2 = Sell
5 = Sell Short
Y = Sell Short Auto
6 = Sell Short Exempt
564LegPositionEffectNcharOrderLegsItem.posTypeN (where N is NoLegs #)O = Open
C = Close
R = Rolled
F = FIFO
End of Leg Repeating Group
Any SR TagsN
Standard TrailerY

Common Extensions

TagField NameReq'dTypeAssociated Record Value
(SpdrParentOrder)
Comments
5020SRAccntNstringaccntSR account acronym. Must be configured prior to testing or trading
Supersedes Account
5022SRClientFirmNstringclientFirmSR client firm acronym, used in account lookup. Must be configured prior to testing or trading
5012SRAltAccntNstringaltAccntSR alternative account acronym.
Must be configured prior to testing or trading
5042SROrderSizeNintorderSizeSupersedes OrderQty
5040SROrderSideNcharorderSideSupersedes Side
5098SROrderLimitTypeNcharorderLimitTypeSupersedes OrdType
5106SROrderPrcLimitNfloatorderPrcLimitSupersedes Price
5089SRMarketSessionNstringorderDuration
parentOrderHandling
Supersedes TimeinForce
5088SRGoodTillDttmNUTCTimeStampgoodTillDttmSupersedes ExpireTime
5094SROrderHandlingNstringparentOrderHandlingSupersedes typical resolution
If failure to resolve, Default=DMA
5374SRClearingFlipAccountNstringclearingFlipAccnt (in child order)Supersedes ClearingAccount
5026SRClearingAccountNstringclearingAccnt (in child order)Supersedes ClearingAccount
5373SRClearingFlipFirmNstringclearingFlipFirm (in child order)Supersedes ClearingFirm
5375SRClearingFlipTypeNstringclearingFlipType (in child order)Examples:
BRKR
CMTA
GVUP
NSCC
DTCC
QSR
DVP
5360SRExDestinationNmultiple-value
string
exchMaskSupersedes ExDestination
Leg Repeating Group Tags
5305SRLegSecTypeNstringSupersedes LegCFICode, LegSecurityType
5304SRLegSecKeyNstringUsed to construct child order seckeySupersedes typical resolution
5303SRLegSideNstringOrderLegsItem.sideN (where N is NoLegs #)Supersedes LegSide
B = Buy
S = Sell
5307SRLegShortSaleFlagNcharOrderLegsItem.ssaleFlag1 = Long
2 = Short
3 = Exempt
4 = Auto
5 = Open
6 = Close
8 = Cover
7 = NA
5306SRLegPosEffectNstringOrderLegsItem.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.

TagField NameReq'dTypeAssociated Record Value
SpdrParentReport (r)
SpdrParentExecution (x)
Comments
Standard HeaderYMsgType = 8
115OnBehalfOfCompIDNstringexecBrkrClFirm (x)client/firm at executing broker
116OnBehalfOfSubIDNstringexecBrkrUserName (x)userName at executing broker
11ClOrdIDYstringparentNumber (x)See Also: SRBaseParentNumber
1AccountYstringaccnt (r)
execBrkrAccnt (x)
20ExecTransTypeYintexecStatus (x)0 = New
1 = Cancel
2 = Correct
3 = Status
150ExecTypeYcharexecStatus (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)
39OrdStatusYcharspdrOrderStatus (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)
41OrigClOrdIDNstringprevParentNumber (r)Conditionally required for response to a Cancel or Cancel/Replace request - (ExecType=PendingCancel, Replaced, or Canceled)
37OrderIDYhexlongbaseParentNumber (r)Unique ID for order chain assigned by SpiderRock
54SideYcharorderSide (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)
38OrderQtyYintorderSize (x)parent order size
40OrdTypeYcharparentOrderHandling (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
528OrderCapacityNcharorderCapacity (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
44PriceNfloatlimitPrice (r)Value from client's order
59TimeInForceNstringorderDuration (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
55SymbolYstringsecKey (x)Value from client's order
65SymbolSfxNstringsecKey (x)Value from client's order
167SecurityTypeNstringsecKey (x)MLEG = Multileg
CS = Common Stock
FUT = Future
OPT = Option
541MaturityDateNstringsecKey (x)Value from client's order YYYYMMDD
200MaturityMonthYearNstringsecKey (x)Value from client's order YYYYMM
205MaturityDayNintsecKey (x)Value from client's order 1-31
202StrikePriceNpricesecKey (x)Value from client's order
201PutOrCallNintsecKey (x)Value from client's order
0 = Put
1 = Call
100ExDestinationNstringchildExDest (r)Child order exchange destination
204CustomerOrFirmNcharfirmType (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
77PositionEffectNstringpositionType (x)Parent order position type
O = Open
C = Close
R = Rolled
F = FIFO
439ClearingFirmNstringclearingFirm (x)Clearing firm
440ClearingAccountNstringclearingAccnt (x)Clearing firm account
19ExecRefIDNstringReference identifier used with Trade Cancel and Trade Correct execution types.
17ExecIDYstringUnique ID assigned by SpiderRock
654LegRefIDNstringlegRefId (x)Used to identify a specific leg for multileg order execution reports
6AvgPxYfloatsumFillMoney (x)
sumFillQty (x)
Execution price
14CumQtyYintsumFillQty (x)
151LeavesQtyYintorderSize(x)
sumFillQty (x)
0 if order is not active
31LastPxYfloatfillPrice (x)
32LastQtyYintfillQuantity (x)
30LastMktNstringfillMarket (x)
childExDest (x)
Value from executing venue
29LastCapacityNstringlastCapacity (x)Child order capacity
1 = Agent
2 = Cross as agent
3 = Cross as principal
4 = Principal
58TextNstringspdrCloseReason (r), orderClosedText (r)
60TransactTimeYutcDttmfillTransactDttm (x)
timestamp (r)
Time of execution/order creation (expressed in UTC)
75TradeDateNutcDttmsecKey (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)
76ExecBrokerNstringextExecBroker (r)Child executing venue
5607SRStreetExecIDNstringfillExecId (x)Street side execution ID
5608SRStreetExecRefIDNstringfillExecRefId (x)Street side execution ref Id
442MultiLegReportingTypeNcharparentShape (r)Used to indicate what an Execution Report represents (e.g. used with multi-leg securities, such as option strategies, spreads, etc.).
5602SRFillNumberNhexlongfillNumber (x)SpiderRock execution number
5611SRExchLiqTagNstringexchLiquidityTag (x)Exchange supplied liquidity code
5610SRLiquidityTagNstringspdrLiquidityTag (x)SpiderRock normalized venue liquidity tag
5619SRExchFeeEstNfloatfillExchFee (x)SpiderRock estimate of the exchange fee based on liquidity tags (best effort)
5618SRBillingRateNfloatfillBrkrRate (x)
fillRoutingRate (x)
Billing brokerage + Routing rate
5360SRExDestinationNstringchildExDest (x)Child order exchange destination
5627SRChildShortSaleFlagNstringchildSSaleFlag (x)
5625SRChildPositionTypeNstringchildPosType (x)Child order position type
5631SRStreetRouteNstringroutingCode (x)SpiderRock market routing code
5038SROrderDttmNutcDttmorderDttm (r)
5012SRAltAccntNstringaltAccnt (r)Client assigned account
5014SRAltUserNameNstringaltUserName (r)Client assigned user name
5034SRStrategyNstringparentStrategy (r)Client assigned strategy name
5009SRSpdrSourceNstringspdrSource (r)Source of this order (FIX, SRSE, HedgeTool, etc)
5000SRParentNumberNhexlongparentNumber (r)SpiderRock order id. See Also SRBaseParentNumber
5004SRBaseParentNumberNhexlongbaseParentNumber (r)Unique ID for order chain assigned by SpiderRock
See Also SRParentNumber
5290SRUserData1NstringuserData1 (r)Client supplied data field
5291SRUserData2NstringuserData2 (r)Client supplied data field
5088SRGoodTillDttmNdatetimegoodTillDttm (r)
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'dTypeAssociated Record Value
(SpdrParentReport)
Comments
Standard HeaderYMsgType = F
1AccountYstringaccntSR account acronym. Must be configured prior to testing or trading
Superseded by SRAccnt
11ClOrdIdYstringaltOrderIdClient order ID of the cancel request (24 character max)
41OrigClOrdIDYstringaltPrevOrderIdClient order ID of the original order that is requested to be canceled (24 character max)
52SendingTimeNUTCTimeStampTime of message transmission
always expressed in UTC (Universal Time Coordinated, also known as “GMT”)
60TransactTimeYutcDttmorderDttmTime 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 TagsN
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'dTypeAssociated Record Value
(SpdrParentReport)
Comments
Standard HeaderYMsgType = 9
5520SROrderClassNstringValid values:
P = Parent
C = Child
R = RiskDrop
5340SROrderShapeNstringparentShape0 = Single
1 = Cross
2 = MLeg
3 = MLegCross
5009SRSpdrSourceNstringspdrSourceParent order source
5341SRHasStockLegNstringY = Yes
N = No
11ClOrdIdYhexlongpkey.parentNumber + ":CXL"Client order ID of the cancel request (24 character max)
41OrigClOrdIDYhexlongpkey.parentNumberClient order ID of the original order that is requested to be canceled (24 character max)
434CxlRejResponseToYcharValid values:
1 = OrderCancelRequest <F>
2 = OrderCancel/Replace Request <G>
102CxlRejReasonNint0 = TooLateToCancel
1 = UnknownOrder
2 = BrokerOption
3 = OrderAlreadyInPendingStatus
4 = UnableToProcessOrderMassCancelRequest
5 = DidNotMatchLastTransactTime
6 = DuplicateClOrdIdReceived
99 = Other
5000SRParentNumberNhexlongpkey.parentNumber
5004SRBaseParentNumberNhexlongpkey.baseParentNumber
5250SRRiskGroupIdNhexlongriskGroupId
37OrderIDYhexlongbaseParentNumberUnique ID for order chain assigned by SpiderRock
5020SRAccntNstringaccntSR account acronym.
39OrdStatusYcharspdrOrderStatus (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)
60TransactTimeYutcDttmorderDttmTime this order request was initiated/released. Formatted as: YYYYMMDD-HH:MM:SS.fff
58TextNstringorderClosedText

ATS Auction Initiate (Client to SpiderRock)

Initiate a BlockAuction or a FlashAuction by sending NewOrderSingle (35=D) or NewOrderMultileg (35=AB) messages as specified above. The following tags should also be set with the following auction parameters.

TagField NameReq'dTypeComments
Standard Header
5094SROrderHandlingYint22 = BlockAuction
25 = FlashAuction
5103SRIncludeSRNetworkNint0 = None
1 = Visible to all counter parties in SR Network, anonymously
2 = Only visible to directed counter parities
3 = Visible to all counter parties in SR Network, and disclose initiating firm
5105SRBlockVisibilityNint0 = None
1 = Neither
2 = Side only
3 = Side and Price

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. Please refer to the SpiderRock Tags Appendix page for more information.