Skip to main content
Version: Staging

Option Algos

Algo Overview

Sweep Algos

Sweep algorithms enable a synchronized order delivery mechanism to multiple exchanges to maximize liquidity capture.

  • Users can send marketable limit orders to the engine to maximize liquidity capture.
  • Orders will automatically route to the optimal exchange(s) based on exchange fees and available liquidity.
  • Orders can interact with off-exchange liquidity pools to increase available liquidity and reduce exchange fees.

Volatility Algos

Volatility algorithms enable orders with dynamic price or volatility limits to accurately represent client's trading intent in fast markets.

  • User seeks best possible fill relative to limit provided. SpiderRock Connect supports a number of tied-to-underlier limit types including volatility and price + delta limits.
  • Orders will automatically route to the optimal exchange(s) based on exchange fees and available liquidity.

Multi-leg Algos

Multi-leg algorithms enable spread orders to sweep available liquidity across Exchange COBs or working orders in single-leg markets.

  • Spread orders (up to 6 option legs and 1 stock leg) can seek liquidity on Exchange COBs or source liquidity across multiple single-leg exchanges.
  • Spread limit price can be static or tied to the underlying instrument.
  • Options fills can be automatically hedged / legging style orders can include an auto-complete slippage and a leg size exposure parameter.

Alpha Taking Algos

Alpha taking algorithms reduce transaction costs by timing the release of marketable limit orders based on dynamic surface limits or probability limits.

  • Orders wait for actionable opportunity to remove liquidity so that fills are statistically targeting a mid-market or better fill a few minutes forward.
  • Probability calculations are inclusive of expected exchange fees.
  • Alpha probabilities are recomputed continuously as market data changes.

Alpha Making Algos

Alpha making algorithms reduce transaction costs by posting and moving orders into exchange order books based on dynamic surface limits or probability limits.

  • Orders are almost always liquidity-adding orders on exchange and can include a traditional static or tied-to-underlier limit.
  • Algo instructions specify how much orders can improve markets.
  • Probability calculations are inclusive of expected exchange fees and expected depth profile when adding a new order to an exchange order book.

Facilitation Algos

Facilitation algorithms enable client firms to submit facilitation orders to exchanges for public exposure prior to crossing with firm interest.

  • Crossing algos can be used to either maximize or minimize firm interaction with client orders.
  • Orders will sweep all available liquidity or create space to facilitate via exchange auction mechanisms.
  • Client can leverage SpiderRock alpha probabilities to make real-time facilitation decisions.

Sweep Algos

Sweep algos maximize liquidity capture with immediately marketable limit orders on products that are multiply listed.

Order type: Simple market orders without an explicit destination.

Mechanism: SpiderRock Connect optimizes the child-order delivery to available exchanges in order to either minimize exchange fees when attempting to trade less than visible size, or maximize liquidity capture when attempting to trade visible size or more.

Corresponding FIX Tags

OptionGUI ToolFIX TagFIX Value
Order TypeActiveTaker50941
Post TypeNoPost50960
Make Limit ClassSimple51020
Take Limit ClassSimple51000
Limit TypeMarket50980

Volatility Algos

Volatility algos work an order at the best possible price relative to the user-limit expressed in volatility or price + delta based.

Order Type: Simple dynamic limit orders that are sensitive to exchange fee/rebate profiles

Mechanism: SpiderRock Connect's execution engines will dynamically determine the best venue based primarily on exchange fees followed by available liquidity, and will cancel and replace child orders as the underlier price moves to accurately represent client trading intent.

Corresponding FIX Tags

OptionGUI ToolFIX TagFIX Value
Order TypeActiveTaker50941
Post TypePostLimit50964
Make Limit ClassSimple51020
Take Limit ClassSimple51000
Limit Type if VolMid, Cross, Market5098
Limit Type if PrcMarket, MarketArrival, Prc, PrcDe, PrcDeX, PrcDeT, PrcDeP, PrcDeXT, PrcDeXP, Vol, VolX, PrcV, PrcVX, VolPrc, RelMid, RelJoin, RelCross, SmrtFast, SmrtNorm, RelTurn50980, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19

Multi-Leg Algos

The SpiderRock spread order handler offers enhanced ways to source liquidity by sweeping the complex order books (COBs) or work orders in single-leg markets.

Order Type: Simple dynamic limit orders that are sensitive to exchange fee/rebate profiles

Mechanism: Spread orders are comprised of a maximum of 6 option legs and 1 stock leg. They are either static limit orders or have a price + delta limit tied to an underlying symbol. They can post liquidity or wait to be marketable before being represented in the market. They can also be auto-hedged with the corresponding underlying instrument.

Mechanism/Algo Settings: Spread orders can be sent up to 3 different COBs. If any responses are received and the parent order remains unfilled, the parent order balance will be moved to the exchange with the best response. If no responses are received, the order will either be left on the COB (Seeker) or switched to the MultiLegLegger handle depending on the order type selected. This handler can source liquidity across multiple single-leg exchanges. While this handler attempts to fill the order in discrete leg packages, it does have legging risk. Users can choose not to post liquidity and wait until some number of spread units become marketable, or post liquidity to compete more aggressively with public interest.

Corresponding FIX Tags

OptionGUI ToolFIX TagFIX Value
Order TypeSeeker, Seek/Leg, Legger, Facilitate50949, 10, 8, 6
Post TypeNoPost, PostWith, PostTurn, PostImpr, PostLimit, PostLmtW, PostWithF50960, 1, 2, 3, 4, 5, 7
Make Limit Class,Simple, Surface, Probability, mksurf|tkprob51020, 1, 2, 3
Take Limit ClassSimple, Surface, Probability, mksurf|tkprob51000, 1, 2, 3
Limit TypeMarket, MarketArrival, Prc, PrcDe, PrcDeX, PrcDeT, PrcDeP, PrcDeXT, PrcDeXP, Vol, VolX, PrcV, PrcVX, VolPrc, RelMid, RelJoin, RelCross, SmrtFast, SmrtNorm, RelTurn50980, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
Exposure10%, 20$, 50%, 100%5046Integer (%)
SlippagePennies (num field)5204Price
LeadBuy, Sell, Any52021, 2, 0

Alpha Taking Algos

Alpha taking algos reduce transaction costs by timing the release of marketable limit orders based on surface limits or probability limits.

Order Type: These orders are marketable limit orders triggered by the SpiderRock dynamic surface (+ or – an offset) or alpha probabilities. Users can express the probability at which they want to work an order. Parent orders are discretionary and wait for an actionable opportunity. Orders don’t necessarily fill.

Mechanism/Algo Settings: Orders remain dark until triggered by a secondary limit (Surface or Probability). Alpha probabilities are numerical estimates of expected short term profitability of the available price points at or between the current public bid and offer and are derived from SpiderRock machine learning algorithms.

Corresponding FIX Tags

OptionGUI ToolFIX TagFIX Value
Order TypeActiveTaker50941
Post TypeNoPost50960
Take Limit ClassSurface, Probability, mksurf|tkprob51001, 2, 3
Limit Type if VolMid, Cross, Market5098
Limit Type if PrcMarket, MarketArrival, Prc, PrcDe, PrcDeX, PrcDeT, PrcDeP, PrcDeXT, PrcDeXP, Vol, VolX, PrcV, PrcVX, VolPrc, RelMid, RelJoin, RelCross, SmrtFast, SmrtNorm, RelTurn50980, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
Surface LimitPrc Offset ask, Prc Offset bid5518, 5536Price
Take Probability Alpha TypeStatic, Relative, Eagle, Hawk, Falcon51281, 5, 3, 2, 4
Take Probability LimitIf Static: set TakeLimit (Num)5136float

Alpha Making Algos

Alpha making algos reduce transaction costs by posting liquidity based on dynamic surface limits or probability limits (which are often better the NBBO).

Order Type: These orders are non-marketable limit orders that are designed to never remove liquidity. These orders typically have a primary user-supplied limit, which acts as a top or bottom limit, and a secondary limit expressed as a + or - offset from the SpiderRock surface, or leaning on the SpiderRock alpha probabilities. Orders are discretionary resting orders and may not fill.

Mechanism/Algo settings: Orders will post in the market at levels that are computed from the effective limit, which is the tightest of the user-supplied limit and the secondary limit (based on the Surface or Probability). The limit at which the order is represented in the market is highly dynamic and will generate a number of cancels/replaces to achieve the desired level of execution.

Corresponding FIX Tags

OptionGUI ToolFIX TagFIX Value
Order TypePostOnly50942
Post TypePostWith, PostTurn, PostImpr, PostLimit, PostLmtW, PostWithF, PostFlash50960, 1, 2, 3, 4, 5, 7
Make Limit ClassSurface, Probability51021, 2, 3
Limit Type if VolMid, Cross, Market50989, 10, 0
Limit Type if PrcMarket, MarketArrival, Prc, PrcDe, PrcDeX, PrcDeT, PrcDeP, PrcDeXT, PrcDeXP, Vol, VolX, PrcV, PrcVX, VolPrc, RelMid, RelJoin, RelCross, SmrtFast, SmrtNorm, RelTurn50980, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
Surface LimitPrc Offset ask, Prc Offset bid5518, 5536Price
Make Probability Alpha TypeStatic, Relative, Eagle, Hawk, Falcon51301, 5, 3, 2, 4
Make Probability LimitIf Static: set MakeLimit (Num)5138float

Corresponding Alpha Taking and Making Algos

Alpha Taking and Alpha Making algos can be combined. Users will post in the market, if the limit becomes marketable the taking component of the algo will take that price.

Corresponding FIX Tags

OptionGUI ToolFIX TagFIX Value
Order TypeActiveTaker50941
Post TypePostWith, PostTurn, PostImpr, PostLimit, PostLmtW, PostWithF, PostFlash50960, 1, 2, 3, 4, 5, 7
Take Limit ClassSurface, Probability, mksurf|tkprob51001, 2, 3
Make Limit Class,Simple, Surface, Probability, mksurf|tkprob51020, 1, 2, 3
Limit Type if VolMid, Cross, Market50989, 10, 0
Limit Type if PrcMarket, MarketArrival, Prc, PrcDe, PrcDeX, PrcDeT, PrcDeP, PrcDeXT, PrcDeXP, Vol, VolX, PrcV, PrcVX, VolPrc, RelMid, RelJoin, RelCross, SmrtFast, SmrtNorm, RelTurn50980, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
Surface LimitPrc Offset ask, Prc Offset bid5518, 5536Price
Take Probability Alpha TypeStatic, Relative, Eagle, Hawk, Falcon51281, 5, 3, 2, 4
Make Probability Alpha TypeStatic, Relative, Eagle, Hawk, Falcon51301, 5, 3, 2, 4
Take Probability LimitIf Static: set TakeLimit (Num)5136float
Make Probability LimitIf Static: set MakeLimit (Num)5138float

Common Order Parameters

Common Order ModifiersDescriptionFIX TagFIX Value
Start TypeImmediate, WaitTrigger, Staged50900, 1, 2
ActiveOrderSize(num)5044int
TimeInForceDay, IOC, GTD, ExtDay, Week, ExtWeek50841, 2, 3, 4, 5, 6
OrderDuration(num)seconds5086int
GoodTillDttmUTC Timestamp5088datetime
AltRouteCodeAlternative child order route code5028string
StrategyText strategy field5034string
ExchangesComma-separated exchange list, default=all5082string
MaxExposureSizeMaximum exposure size of order5046int
NumMakeExchangesNumber of public exchanges to post5048int
PublicSizeNone, Randomize, MktSize, FullSize50500, 1, 2, 3
CanCxlOverlapYes, No5052Y, N
MaxChildOrdersUpper bound for the number of child orders5080int
TwapSliceCountNumber of TWAP slices (default = 1)5056int
TakeReachImmediate, Delayed, Passive, WeakOnly51040, 1, 2, 3
OrderPriceOffsetdefault = 05126price
OrderPrcLimitIf LimitType = Prc5106price
TakeAlphaFactorFor relative probability limit5132float
MakeAlphaFactorFor relative probability limit5134float
MaxAccDayDDeltaLnmax account day $delta long (num)5253float
MaxAccDayDDeltaShmax account day $delta short (num)5254float
MaxSymDayDDeltaLnmax symbol day $delta long (num)5259float
MaxSymDayDDeltaShmax symbol day $delta short (num)5260float
OrderRefUPrcstock reference price, default = 05108price
OrderRefDeltaReference delta, default = option delta5110float
OrderRefGammaReference delta, default = option gamma5112float
OrderRefThetaReference theta, default = option theta5114float
OrderRefMetric1User-supplied custom risk metric #15192float
OrderRefMetric2User-supplied custom risk metric #25194float
OrderRefMetric3User-supplied custom risk metric #35196float
OrderRefMetric4User-supplied custom risk metric #45198float
OrderVolLimitif LmtType=Vol, VolX,VolPrc. Igrored if LmtType=Market5116float
RateOverrideignore is 0, if > 0, override5118float
SDivOverrideSDivOverride5120float
DDivOverrideDiscrete Div Override5122string
srOverrideCodeis LimitType = Vol, SDivOnly, DDivOnly, Both5124S, D, B
srMakeSurfacePrcOffsetdefault = 05144float
srTakeSurfacePrcOffsetdefault = 05410float
srMakeSurfaceVolOffsetdefault = 05146float
srTakeSurfaceVolOffsetdefault = 05142float
srCxlUPrcRangeCancel order is outside stock price range5072Y, N
srMinUBidWill hold if outside min stock price5074float
srMaxUAskWill hold if outside max stock price5076float
srMinOptionPxOption floor price for tied to stock orders5078float
srAutoHedgeNoHedge, FastCrx, AutoCrx, AutoTrn, AutoMid, SpdrAuto, Spdr10S, Spdr30S, Spdr90S, Spdr5M, Spdr30M, Static5152N, X, F, S, M, A, 1, 3, 9, 5, H, T
srAutoHedgeSSaleFlagLong, Short, Exempt, Auto, Open, Close, Cover, NA51721, 2, 3, 4, 5, 6, 8, 7
srAutoHedgeClOrdIDRequired if AutoHedge enabled. ClOrdld that will be used on hedge execution5010string
srMaxAccDayWtVegaLnmax account day wvega (time-weighted) short5251float
srMaxAccDayWtVegaShmax account day wvega (time-weighted) long5252float
srMaxExpDayWtVegaLnmax account+expiration day wvega (time-weighted) long5255float
srMaxExpDayWtVegaShmax account+expiration day wvega (time-weighted) short5256float
srMaxSymDayWtVegaLnmax account+symbol day vega long5257float
srMaxSymDayWtVegaShmax account+symbol day vega short5258float