Schema: SpdrParentBrkrDetail (ID: 4060)
SpdrParentBrkrDetail records are created/published by SpiderRock Execution Engines. Each record describes the current active detail of a single parent broker.
METADATA
Attribute | Value |
---|---|
Topic | 3985-parent-orders |
MLink Token | Internal |
SRSE Product | SRTrade |
Note: The symbol
=
next to a field number indicates that it is a primary key.
BODY
# | Field | Type | Comment |
---|---|---|---|
10= | accnt | string(16) | |
11= | secKey | OptionKey | |
12= | secType | enum : SpdrKeyType | |
13= | spdrSource | enum : SpdrSource | |
14= | groupingCode | long | |
15= | orderSide | enum : BuySell | |
16= | clientFirm | string(16) | SR client firm |
100 | userName | string(24) | SR user name string |
106 | engineName | text1 | server stripe |
109 | parentNumber | long | SR parent number |
112 | baseParentNumber | long | |
115 | riskGroupId | long | all orders with the same riskGroupId share a common set of risk counters;.Grp. risk limits apply to these shared counters |
118 | triggerGroupId | long | |
124 | strategy | string(36) | parent order strategy (description only) |
581 | spdrStageType | enum : SpdrStageType | parent is a staged order [ToolVisible] |
582 | startType | enum : StartType | |
127 | maxExposureSize | int | maximum simultaneous cumulative child order public size exposure (-1 = orderActiveSize) [order can overfill if > orderActiveSize and numMakeExchanges > 1] |
130 | numMakeExchanges | byte | number of exchanges (1 - 4) on which to publish public making orders. Effective number might be less than requested number if sufficient exchanges are not available. |
133 | publicSize | enum : PublicSizeHandling | public order size handling |
136 | canOverlapCxlRepl | enum : YesNo | can execution engines overlap cancel/replace operations [order can overfill if YES] (at most one active overlapping cxl/replace operation for each parent order) |
139 | progressRule | enum : ProgressRule | Immediate = all size immediately available;TWAP = size released in time intervals;VWAP = size released in volume intervals; |
142 | progressSliceCnt | byte | number of progress slices to use (default = 4 or 8) [max 20] |
145 | progressExposeTime | int | minimum time (secs) to expose order (0 = no minimum; used to guarantee that the order is exposed at mid-market for some time before actively taking) |
148 | vwapParticipation | float | target vwap participation rate (target % of trade activity) |
151 | minMktOnClosePct | byte | Minimum pct [0 - 100] of order reserved for the on-close auction |
154 | triggerType | enum : TriggerType | type of trigger (PrintVol/SurfVol only for options) [print = print or actionable quote] |
157 | triggerLevel | float | stop/trigger price for parent order to go active |
583 | marketSession | enum : MarketSession | |
163 | startDttm | DateTime | [optional] (parent order start time) |
166 | orderDuration | int | [optional] (number of seconds) |
169 | goodTillDttm | DateTime | [optional] (default: 2099-01-01) |
584 | expireDttm | DateTime | EE Parent Order Expiry Dttm |
172 | cxlUPrcRange | enum : UPrcCxl | cancel spdr order if/when outside stock price range |
175 | minUBid | float | [optional] |
178 | maxUAsk | float | [optional] (< $0.01 = none) |
181 | minMaxType | enum : MinMaxType | if Prc minUBid/maxUAsk are expressed as prices; if Pct then they are expresses as pct change since parent order arrival |
184 | minOptionPx | float | [optional] option price floor for tied to stock orders |
187 | maxChildOrders | int | maximum number of child orders that can be generated by this parent order [order will terminate if/when this cap is reached;zero or neg = unlimited] |
190 | exchMask | uint | eligible exchanges (0 = all) |
587 | externExDest | string(16) | |
586 | execBrkrCode | string(16) | execBrkrCode attached to parent order (if any) |
196 | positionType | enum : PositionType | |
199 | ssaleFlag | enum : ShortSaleFlag | |
202 | locateQuan | int | available locate quantity (if selling short) @ child order send time |
205 | locateFirm | string(6) | firm granting the locate (also locate firm used on street FIX orders) |
208 | locatePool | string(16) | locate pool @ firm granting the locate |
211 | parentOrderHandling | enum : ParentOrderHandling | |
214 | parentBalanceHandling | enum : ParentBalanceHandling | |
217 | blockVisibility | enum : BlockVisibility | |
220 | orderLimitType | enum : SpdrLimitType | |
223 | takeLimitClass | enum : SpdrLimitClass | Simple = LimitPrice, Surface = BEST(LimitPrice, SurfLimit), Probability = BEST(LimitPrice, ProbLimit) |
226 | makeLimitClass | enum : SpdrLimitClass | Simple = LimitPrice, Surface = BEST(LimitPrice, SurfLimit), Probability = BEST(LimitPrice, ProbLimit) |
229 | takeReachRule | enum : ReachRule | Immediate = reach room immediately available; Delayed = available after [1-3] seconds; Passive = available if contra side aggresses; WeakOnly = only take if available size < avgMarketSize; ISOSweep = Intermarket Sweep [requires WaitTrigger] |
232 | orderPrcLimit | double | Applies if LimitType = Prc[] |
235 | orderRefUPrc | double | default=underlier.mid |
238 | orderRefDelta | float | default=option.delta |
241 | orderRefGamma | float | default=option.gamma |
244 | orderRefTheta | float | |
247 | orderRefYears | float | |
250 | orderVolLimit | float | Applies if LimitType = Vol[] [uses SR dividends and borrow rates] |
253 | rateOverride | float | zero = ignore;> zero = override |
256 | sdivOverride | float | |
259 | ddivOverride | text2 | discrete dividend string override ([yearsToExpiry,divYears:divAmount,divYears:divAmount, ...]) |
262 | overrideCode | enum : OverrideCode | |
265 | orderPrcOffset | double | default=0 |
268 | takeAlphaType | enum : AlphaType | Applies if takeLimitClass = Probability |
271 | makeAlphaType | enum : AlphaType | Applies if makeLimitClass = Probability |
274 | takeAlphaFactor | float | [-2,+2] takeProbLimit = MAX(takeProbability, takeProbAvg + takeAlphaFactor * takeProbStd) [if takeAlphaType = Relative] |
277 | makeAlphaFactor | float | [-2,+2] makeProbLimit = MAX(makeProbability, makeProbAvg + makeAlphaFactor * makeProbStd) [if makeAlphaType = Relative] |
280 | takeProbability | float | takeProbLimit = takeProbability [if takeAlphaType = Static] |
283 | makeProbability | float | makeProbLimit = makeProbability [if makeAlphaType = Static] |
286 | takeSurfPrcOffset | double | default=0 |
289 | takeSurfVolOffset | float | default=0 |
292 | takeSurfWidthOffset | float | [-1.x to +1.x] -1.0 = -0.5 * avgMktWidth, +1.0 = +0.5 * avgMktWidth |
295 | makeSurfPrcOffset | double | default=0 |
298 | makeSurfVolOffset | float | default=0 |
301 | makeSurfWidthOffset | float | [-1.x to +1.x] -1.0 = -0.5 * avgMktWidth, +1.0 = +0.5 * avgMktWidth |
328 | expDayWtVegaOffset | float | max acct+symbol day wtVega offset (target) |
322 | maxExpDayWtVegaLn | float | max accnt+expiration day (time weighted) vega long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset) |
325 | maxExpDayWtVegaSh | float | max accnt+expiration day (time weighted) vega short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset) |
358 | maxExpDayRMetric6Ln | float | max acct+expiration day rMetric6 long (positive number;-1=no limit);risk limit = max limit - current net counter |
361 | maxExpDayRMetric6Sh | float | max acct+expiration day rMetric6 short (positive number;-1=no limit);risk limit = max limit + current net counter |
355 | symDayDDeltaOffset | float | max acct+symbol day $delta offset (target) |
349 | maxSymDayDDeltaLn | float | max acct+symbol day $delta long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset) |
352 | maxSymDayDDeltaSh | float | max acct+symbol day $delta short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset) |
337 | symDayVegaOffset | float | max acct+symbol day vega offset (target) |
331 | maxSymDayVegaLn | float | max acct+symbol day vega long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset) |
334 | maxSymDayVegaSh | float | max acct+symbol day vega short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset) |
346 | symDayWtVegaOffset | float | max acct+symbol day wtVega offset (target) |
340 | maxSymDayWtVegaLn | float | max acct+symbol day (time weighted) vega long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset) |
343 | maxSymDayWtVegaSh | float | max acct+symbol day (time weighted) vega short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset) |
367 | maxSymDayRMetric7Ln | float | max acct+symbol day rMetric7 long (positive number;-1=no limit);risk limit = max limit - current net counter |
370 | maxSymDayRMetric7Sh | float | max acct+symbol day rMetric7 short (positive number;-1=no limit);risk limit = max limit + current net counter |
376 | maxGrpDayDDeltaLn | float | max acct+riskGroup day $delta long (positive number;-1=no limit);risk limit = max limit - current net counter |
379 | maxGrpDayDDeltaSh | float | max acct+riskGroup day $delta short (positive number;-1=no limit);risk limit = max limit + current net counter |
385 | maxGrpDayVegaLn | float | max acct+riskGroup day vega long (positive number;-1=no limit);risk limit = max limit - current net counter |
388 | maxGrpDayVegaSh | float | max acct+riskGroup day vega short (positive number;-1=no limit);risk limit = max limit + current net counter |
391 | maxGrpDayVegaAbs | float | max acct+riskGroup day vega abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter) |
394 | grpDayVegaRatio | float | target bot / sld ratio (eg ratio=2.0 means that neutral is bot vega = 2x sld vega) |
445 | maxGrpDayContractsLn | int | max acct+riskGroup day opt contracts long (positive number;-1=no limit);risk limit = max limit - current net counter |
448 | maxGrpDayContractsSh | int | max acct+riskGroup day opt contracts short (positive number;-1=no limit);risk limit = max limit + current net counter |
451 | maxGrpDayContractsAbs | int | max acct+riskGroup day opt contracts abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter) |
409 | maxGrpDayRMetric1Ln | float | max acct+riskGroup day rMetric1 long (positive number;-1=no limit);risk limit = max limit - current net counter |
412 | maxGrpDayRMetric1Sh | float | max acct+riskGroup day rMetric1 short (positive number;-1=no limit);risk limit = max limit + current net counter |
415 | maxGrpDayRMetric1Abs | float | max acct+riskGroup day rMetric1 abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter) |
418 | grpDayRMetric1Ratio | float | target bot / sld ratio (eg ratio=0.5 means that neutral is bot rMetric1 = 0.5x sld rMetric1) |
421 | maxGrpDayRMetric2Ln | float | max acct+riskGroup day rMetric2 long (positive number;-1=no limit);risk limit = max limit - current net counter |
424 | maxGrpDayRMetric2Sh | float | max acct+riskGroup day rMetric2 short (positive number;-1=no limit);risk limit = max limit + current net counter |
427 | maxGrpDayRMetric3Ln | float | max acct+riskGroup day rMetric3 long (positive number;-1=no limit);risk limit = max limit - current net counter |
430 | maxGrpDayRMetric3Sh | float | max acct+riskGroup day rMetric3 short (positive number;-1=no limit);risk limit = max limit + current net counter |
433 | maxGrpDayRMetric4Ln | float | max acct+riskGroup day rMetric4 long (positive number;-1=no limit);risk limit = max limit - current net counter |
436 | maxGrpDayRMetric4Sh | float | max acct+riskGroup day rMetric4 short (positive number;-1=no limit);risk limit = max limit + current net counter |
439 | maxGrpDayRMetric5Ln | float | max acct+riskGroup day rMetric5 long (positive number;-1=no limit);risk limit = max limit - current net counter |
442 | maxGrpDayRMetric5Sh | float | max acct+riskGroup day rMetric5 short (positive number;-1=no limit);risk limit = max limit + current net counter |
454 | symEmaCxlDDeltaLn | float | max acct+symbol 60s EMA $delta long (positive number; <= 0 is no limit) [will immediately cxl all option orders in a symbol if any order in the symbol breaches] |
457 | symEmaCxlDDeltaSh | float | max acct+symbol 60s EMA $delta short (positive number; <= 0 is no limit) |
460 | symEmaCxlWtVegaLn | float | max acct+symbol 60s EMA wtVega long (positive number; <= 0 is no limit) [will immediately cxl all option orders in a symbol if any order in the symbol breaches] |
463 | symEmaCxlWtVegaSh | float | max acct+symbol 60s EMA wtVega short (positive number; <= 0 is no limit) |
466 | arriveBid | double | |
469 | arriveAsk | double | |
472 | arriveSweepCount | int | number of parent orders arriving with immediately available sweep qty |
475 | arriveSweepOrderQty | int | total size of all child orders generated due to parent order arrival sweep |
478 | arriveSweepFillQty | int | total fill size due to parent order arrival sweep |
481 | numSweepChildOrders | int | child orders generated in initial arrival sweep |
484 | auctionLink | int | total linkage auction contracts while parent order was active |
487 | auctionFace | int | total facilitation auction contracts while parent order was active |
490 | auctionResp | int | total auction response contracts |
493 | prtActiveCnt | int | total print events while parent order was active; [any exchange; all prints] |
496 | prtQtyActive | int | total quantity printed while parent order was active; [any exchange; all prints] |
499 | prtQtyActiveMny | float | total of (quantity printed x print price) while parent order was active |
502 | prtEligibleCnt | int | total eligible (public) print events while parent order was active; [any exchange; all eligible prints] |
505 | prtQtyEligible | int | total eligible (public) quantity printed while parent order was active; [any exchange; all eligible prints] |
508 | prtQtyLimitOK | int | total quantity printed at or better than parent limit while parent was active; SUM(MIN(PrintSize,OpenParentOrderSize)) [any exchange] |
511 | prtQtyCompete | int | total quantity printed on an exchange on which we had a competitive child order on that exchange; SUM(MIN(PrintSize, OpenChildOrderSize)) [childOrder.exch = print.exch] |
514 | prtQtyAwayChld | int | total quantity printed on an away exchange when we had a competitive child order(s) in the market and the away exchange was competitive prior to the print; SUM(MIN(PrintSize, OpenChildOrderSize)) [childOrder.exch != print.exch] |
517 | prtQtyNoCompete | int | total quantity printed on an exchange when the print exchange was not competitive prior to the print (non quote-competitive prints) |
520 | prtQtyNoCompNbbo | int | total quantity printed on an exchange when the NBBO was not competitive prior to the print (non nbbo-competitive prints) |
523 | mkCheckCnt | int | total number of times order was checked for making |
526 | minMkProb | float | min make probability while broker active |
529 | avgMkProb | float | average make probability while broker active |
532 | curMkProb | float | current make probability |
535 | tkCheckCnt | int | total number of times order was checked for taking |
538 | maxTkProb | float | max take probability while broker active |
541 | avgTkProb | float | average take probability while broker active |
544 | curTkProb | float | current take probability |
547 | prtPrbCnt | int | total number of print probability records while broker active (all limit types) |
550 | prtPrbCheck | int | number of print probability records with active probability printTake handler |
553 | prtPrbLmtOK | int | number of print probability records that pass broker takeLimit |
556 | tkQtyLmtOK | int | total quantity available to take at parent limit or better while broker active |
559 | avgQteSzRatio | float | average ratio of child size / nbbo size during the life of the working order when child order is at nbbo |
562 | cntQteSzRatio | int | sample counter for above [1 second intervals]; qteCnRatio / qteCnRatioCnt = avg of child size / nbbo size while broker active |
565 | minQteWidth | float | minimum quote width during active order window |
568 | avgQteWidth | float | average quote width (during active order window) |
571 | cntQteWidth | int | |
574 | updateSrc | enum : UpdateSource | |
577 | numUpdates | int | number of record updates (cumulative for the day) |
580 | timestamp | DateTime | SR system timestamp |
Get Schema API Call
- Python
- cUrl
import requests
# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'
# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'
# Replace with your desired MsgType.
MSG_TYPE = 'SpdrParentBrkrDetail'
# Request Parameters for Get Schema Of The MsgType
params = {
#Required Parameters
"apiKey": API_KEY,
"cmd": 'getschema',
"msgType": MSG_TYPE,
}
response = requests.get(MLINK_PROD_URL, params=params)
curl -G 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json' \
--data-urlencode 'apiKey=XXXX-XXXX-XXXX-XXXX' \
--data-urlencode 'cmd=getschema' \
--data-urlencode 'msgType=SpdrParentBrkrDetail'
Get Msg API Call
- Python
- cUrl
import requests
# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'
# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'
# Replace with your desired MsgType.
MSG_TYPE = 'SpdrParentBrkrDetail'
# Replace with your pkey value for getting the specific message desired
PKEY = 'ReplaceThisValueForTheQueryToWork'
# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned.
VIEW = 'userName|engineName|parentNumber|baseParentNumber|riskGroupId|triggerGroupId|strategy|spdrStageType|startType|maxExposureSize|numMakeExchanges|publicSize|canOverlapCxlRepl|progressRule|progressSliceCnt|progressExposeTime|vwapParticipation|minMktOnClosePct|triggerType|triggerLevel|marketSession|startDttm|orderDuration|goodTillDttm|expireDttm|cxlUPrcRange|minUBid|maxUAsk|minMaxType|minOptionPx|maxChildOrders|exchMask|externExDest|execBrkrCode|positionType|ssaleFlag|locateQuan|locateFirm|locatePool|parentOrderHandling|parentBalanceHandling|blockVisibility|orderLimitType|takeLimitClass|makeLimitClass|takeReachRule|orderPrcLimit|orderRefUPrc|orderRefDelta|orderRefGamma|orderRefTheta|orderRefYears|orderVolLimit|rateOverride|sdivOverride|ddivOverride|overrideCode|orderPrcOffset|takeAlphaType|makeAlphaType|takeAlphaFactor|makeAlphaFactor|takeProbability|makeProbability|takeSurfPrcOffset|takeSurfVolOffset|takeSurfWidthOffset|makeSurfPrcOffset|makeSurfVolOffset|makeSurfWidthOffset|expDayWtVegaOffset|maxExpDayWtVegaLn|maxExpDayWtVegaSh|maxExpDayRMetric6Ln|maxExpDayRMetric6Sh|symDayDDeltaOffset|maxSymDayDDeltaLn|maxSymDayDDeltaSh|symDayVegaOffset|maxSymDayVegaLn|maxSymDayVegaSh|symDayWtVegaOffset|maxSymDayWtVegaLn|maxSymDayWtVegaSh|maxSymDayRMetric7Ln|maxSymDayRMetric7Sh|maxGrpDayDDeltaLn|maxGrpDayDDeltaSh|maxGrpDayVegaLn|maxGrpDayVegaSh|maxGrpDayVegaAbs|grpDayVegaRatio|maxGrpDayContractsLn|maxGrpDayContractsSh|maxGrpDayContractsAbs|maxGrpDayRMetric1Ln|maxGrpDayRMetric1Sh|maxGrpDayRMetric1Abs|grpDayRMetric1Ratio|maxGrpDayRMetric2Ln|maxGrpDayRMetric2Sh|maxGrpDayRMetric3Ln|maxGrpDayRMetric3Sh|maxGrpDayRMetric4Ln|maxGrpDayRMetric4Sh|maxGrpDayRMetric5Ln|maxGrpDayRMetric5Sh|symEmaCxlDDeltaLn|symEmaCxlDDeltaSh|symEmaCxlWtVegaLn|symEmaCxlWtVegaSh|arriveBid|arriveAsk|arriveSweepCount|arriveSweepOrderQty|arriveSweepFillQty|numSweepChildOrders|auctionLink|auctionFace|auctionResp|prtActiveCnt|prtQtyActive|prtQtyActiveMny|prtEligibleCnt|prtQtyEligible|prtQtyLimitOK|prtQtyCompete|prtQtyAwayChld|prtQtyNoCompete|prtQtyNoCompNbbo|mkCheckCnt|minMkProb|avgMkProb|curMkProb|tkCheckCnt|maxTkProb|avgTkProb|curTkProb|prtPrbCnt|prtPrbCheck|prtPrbLmtOK|tkQtyLmtOK|avgQteSzRatio|cntQteSzRatio|minQteWidth|avgQteWidth|cntQteWidth|updateSrc|numUpdates|timestamp'
# Replace with your desired where clause.
# a string in the form "field1:eq:valuse" or "(field1:ne:value1 & field1:ne:value2)
# "WHERE" clauses can contain the following comparison symbols:
# :gt: is greater than
# :ge: is greater than or equal to
# :lt: is less than
# :le: is less than or equal to
# :eq: is equal
# :ne: is not equal
# %26 is an AND statement
# | is an OR statement
# :sw: is starts with
# :ew: is ends with
# :cv: is contains values
# :nv: is does not contain value
# :cb: is contained between (two dates for instance) separated by '$'
WHERE = 'accnt:eq:ExampleString'
# Request Parameters for getmsg Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getmsg',
"pkey": PKEY,
"msgType": MSG_TYPE,
# Optional Parameters
"view": VIEW,
"where": WHERE
}
response = requests.get(MLINK_PROD_URL, params=params)
curl -G 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json' \
--data-urlencode 'apiKey=XXXX-XXXX-XXXX-XXXX' \
--data-urlencode 'cmd=getmsg' \
--data-urlencode 'pkey=ReplaceThisValueForTheQueryToWork' \
--data-urlencode 'msgType=SpdrParentBrkrDetail' \
--data-urlencode 'view=userName|engineName|parentNumber|baseParentNumber|riskGroupId|triggerGroupId|strategy|spdrStageType|startType|maxExposureSize|numMakeExchanges|publicSize|canOverlapCxlRepl|progressRule|progressSliceCnt|progressExposeTime|vwapParticipation|minMktOnClosePct|triggerType|triggerLevel|marketSession|startDttm|orderDuration|goodTillDttm|expireDttm|cxlUPrcRange|minUBid|maxUAsk|minMaxType|minOptionPx|maxChildOrders|exchMask|externExDest|execBrkrCode|positionType|ssaleFlag|locateQuan|locateFirm|locatePool|parentOrderHandling|parentBalanceHandling|blockVisibility|orderLimitType|takeLimitClass|makeLimitClass|takeReachRule|orderPrcLimit|orderRefUPrc|orderRefDelta|orderRefGamma|orderRefTheta|orderRefYears|orderVolLimit|rateOverride|sdivOverride|ddivOverride|overrideCode|orderPrcOffset|takeAlphaType|makeAlphaType|takeAlphaFactor|makeAlphaFactor|takeProbability|makeProbability|takeSurfPrcOffset|takeSurfVolOffset|takeSurfWidthOffset|makeSurfPrcOffset|makeSurfVolOffset|makeSurfWidthOffset|expDayWtVegaOffset|maxExpDayWtVegaLn|maxExpDayWtVegaSh|maxExpDayRMetric6Ln|maxExpDayRMetric6Sh|symDayDDeltaOffset|maxSymDayDDeltaLn|maxSymDayDDeltaSh|symDayVegaOffset|maxSymDayVegaLn|maxSymDayVegaSh|symDayWtVegaOffset|maxSymDayWtVegaLn|maxSymDayWtVegaSh|maxSymDayRMetric7Ln|maxSymDayRMetric7Sh|maxGrpDayDDeltaLn|maxGrpDayDDeltaSh|maxGrpDayVegaLn|maxGrpDayVegaSh|maxGrpDayVegaAbs|grpDayVegaRatio|maxGrpDayContractsLn|maxGrpDayContractsSh|maxGrpDayContractsAbs|maxGrpDayRMetric1Ln|maxGrpDayRMetric1Sh|maxGrpDayRMetric1Abs|grpDayRMetric1Ratio|maxGrpDayRMetric2Ln|maxGrpDayRMetric2Sh|maxGrpDayRMetric3Ln|maxGrpDayRMetric3Sh|maxGrpDayRMetric4Ln|maxGrpDayRMetric4Sh|maxGrpDayRMetric5Ln|maxGrpDayRMetric5Sh|symEmaCxlDDeltaLn|symEmaCxlDDeltaSh|symEmaCxlWtVegaLn|symEmaCxlWtVegaSh|arriveBid|arriveAsk|arriveSweepCount|arriveSweepOrderQty|arriveSweepFillQty|numSweepChildOrders|auctionLink|auctionFace|auctionResp|prtActiveCnt|prtQtyActive|prtQtyActiveMny|prtEligibleCnt|prtQtyEligible|prtQtyLimitOK|prtQtyCompete|prtQtyAwayChld|prtQtyNoCompete|prtQtyNoCompNbbo|mkCheckCnt|minMkProb|avgMkProb|curMkProb|tkCheckCnt|maxTkProb|avgTkProb|curTkProb|prtPrbCnt|prtPrbCheck|prtPrbLmtOK|tkQtyLmtOK|avgQteSzRatio|cntQteSzRatio|minQteWidth|avgQteWidth|cntQteWidth|updateSrc|numUpdates|timestamp' \
--data-urlencode 'where=accnt:eq:ExampleString'
Get Msgs API Call
- Python
- cUrl
import requests
# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'
# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'
# Replace with your desired MsgType.
MSG_TYPE = 'SpdrParentBrkrDetail'
# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned
VIEW = 'userName|engineName|parentNumber|baseParentNumber|riskGroupId|triggerGroupId|strategy|spdrStageType|startType|maxExposureSize|numMakeExchanges|publicSize|canOverlapCxlRepl|progressRule|progressSliceCnt|progressExposeTime|vwapParticipation|minMktOnClosePct|triggerType|triggerLevel|marketSession|startDttm|orderDuration|goodTillDttm|expireDttm|cxlUPrcRange|minUBid|maxUAsk|minMaxType|minOptionPx|maxChildOrders|exchMask|externExDest|execBrkrCode|positionType|ssaleFlag|locateQuan|locateFirm|locatePool|parentOrderHandling|parentBalanceHandling|blockVisibility|orderLimitType|takeLimitClass|makeLimitClass|takeReachRule|orderPrcLimit|orderRefUPrc|orderRefDelta|orderRefGamma|orderRefTheta|orderRefYears|orderVolLimit|rateOverride|sdivOverride|ddivOverride|overrideCode|orderPrcOffset|takeAlphaType|makeAlphaType|takeAlphaFactor|makeAlphaFactor|takeProbability|makeProbability|takeSurfPrcOffset|takeSurfVolOffset|takeSurfWidthOffset|makeSurfPrcOffset|makeSurfVolOffset|makeSurfWidthOffset|expDayWtVegaOffset|maxExpDayWtVegaLn|maxExpDayWtVegaSh|maxExpDayRMetric6Ln|maxExpDayRMetric6Sh|symDayDDeltaOffset|maxSymDayDDeltaLn|maxSymDayDDeltaSh|symDayVegaOffset|maxSymDayVegaLn|maxSymDayVegaSh|symDayWtVegaOffset|maxSymDayWtVegaLn|maxSymDayWtVegaSh|maxSymDayRMetric7Ln|maxSymDayRMetric7Sh|maxGrpDayDDeltaLn|maxGrpDayDDeltaSh|maxGrpDayVegaLn|maxGrpDayVegaSh|maxGrpDayVegaAbs|grpDayVegaRatio|maxGrpDayContractsLn|maxGrpDayContractsSh|maxGrpDayContractsAbs|maxGrpDayRMetric1Ln|maxGrpDayRMetric1Sh|maxGrpDayRMetric1Abs|grpDayRMetric1Ratio|maxGrpDayRMetric2Ln|maxGrpDayRMetric2Sh|maxGrpDayRMetric3Ln|maxGrpDayRMetric3Sh|maxGrpDayRMetric4Ln|maxGrpDayRMetric4Sh|maxGrpDayRMetric5Ln|maxGrpDayRMetric5Sh|symEmaCxlDDeltaLn|symEmaCxlDDeltaSh|symEmaCxlWtVegaLn|symEmaCxlWtVegaSh|arriveBid|arriveAsk|arriveSweepCount|arriveSweepOrderQty|arriveSweepFillQty|numSweepChildOrders|auctionLink|auctionFace|auctionResp|prtActiveCnt|prtQtyActive|prtQtyActiveMny|prtEligibleCnt|prtQtyEligible|prtQtyLimitOK|prtQtyCompete|prtQtyAwayChld|prtQtyNoCompete|prtQtyNoCompNbbo|mkCheckCnt|minMkProb|avgMkProb|curMkProb|tkCheckCnt|maxTkProb|avgTkProb|curTkProb|prtPrbCnt|prtPrbCheck|prtPrbLmtOK|tkQtyLmtOK|avgQteSzRatio|cntQteSzRatio|minQteWidth|avgQteWidth|cntQteWidth|updateSrc|numUpdates|timestamp'
# Replace with your desired where clause.
# a string in the form "field1:eq:value" or "(field1:ne:value1 & field1:ne:value2)
# "WHERE" clauses can contain the following comparison symbols:
# :gt: is greater than
# :ge: is greater than or equal to
# :lt: is less than
# :le: is less than or equal to
# :eq: is equal
# :ne: is not equal
# %26 is an AND statement
# | is an OR statement
# :sw: is starts with
# :ew: is ends with
# :cv: is contains values
# :nv: is does not contain value
# :cb: is contained between (two dates for instance) separated by '$'
WHERE = 'accnt:eq:ExampleString'
# Replace with your desired limit of how many messages you receive. The default limit is 500
LIMIT = 500
# Order clause eg. "(field1:DESC | field1:ASC | field2:DESC:ABS | field2:ASC:ABS" (default is unordered; default is faster)
ORDER = 'userName:ASC'
# Request Parameters for getmsgs Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getmsgs',
"msgType": MSG_TYPE,
# Optional Parameters
"view": VIEW,
"where": WHERE,
"limit": LIMIT,
"order": ORDER
}
response = requests.get(MLINK_PROD_URL, params=params)
curl -G 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json' \
--data-urlencode 'apiKey=XXXX-XXXX-XXXX-XXXX' \
--data-urlencode 'cmd=getmsgs' \
--data-urlencode 'msgType=SpdrParentBrkrDetail' \
--data-urlencode 'view=userName|engineName|parentNumber|baseParentNumber|riskGroupId|triggerGroupId|strategy|spdrStageType|startType|maxExposureSize|numMakeExchanges|publicSize|canOverlapCxlRepl|progressRule|progressSliceCnt|progressExposeTime|vwapParticipation|minMktOnClosePct|triggerType|triggerLevel|marketSession|startDttm|orderDuration|goodTillDttm|expireDttm|cxlUPrcRange|minUBid|maxUAsk|minMaxType|minOptionPx|maxChildOrders|exchMask|externExDest|execBrkrCode|positionType|ssaleFlag|locateQuan|locateFirm|locatePool|parentOrderHandling|parentBalanceHandling|blockVisibility|orderLimitType|takeLimitClass|makeLimitClass|takeReachRule|orderPrcLimit|orderRefUPrc|orderRefDelta|orderRefGamma|orderRefTheta|orderRefYears|orderVolLimit|rateOverride|sdivOverride|ddivOverride|overrideCode|orderPrcOffset|takeAlphaType|makeAlphaType|takeAlphaFactor|makeAlphaFactor|takeProbability|makeProbability|takeSurfPrcOffset|takeSurfVolOffset|takeSurfWidthOffset|makeSurfPrcOffset|makeSurfVolOffset|makeSurfWidthOffset|expDayWtVegaOffset|maxExpDayWtVegaLn|maxExpDayWtVegaSh|maxExpDayRMetric6Ln|maxExpDayRMetric6Sh|symDayDDeltaOffset|maxSymDayDDeltaLn|maxSymDayDDeltaSh|symDayVegaOffset|maxSymDayVegaLn|maxSymDayVegaSh|symDayWtVegaOffset|maxSymDayWtVegaLn|maxSymDayWtVegaSh|maxSymDayRMetric7Ln|maxSymDayRMetric7Sh|maxGrpDayDDeltaLn|maxGrpDayDDeltaSh|maxGrpDayVegaLn|maxGrpDayVegaSh|maxGrpDayVegaAbs|grpDayVegaRatio|maxGrpDayContractsLn|maxGrpDayContractsSh|maxGrpDayContractsAbs|maxGrpDayRMetric1Ln|maxGrpDayRMetric1Sh|maxGrpDayRMetric1Abs|grpDayRMetric1Ratio|maxGrpDayRMetric2Ln|maxGrpDayRMetric2Sh|maxGrpDayRMetric3Ln|maxGrpDayRMetric3Sh|maxGrpDayRMetric4Ln|maxGrpDayRMetric4Sh|maxGrpDayRMetric5Ln|maxGrpDayRMetric5Sh|symEmaCxlDDeltaLn|symEmaCxlDDeltaSh|symEmaCxlWtVegaLn|symEmaCxlWtVegaSh|arriveBid|arriveAsk|arriveSweepCount|arriveSweepOrderQty|arriveSweepFillQty|numSweepChildOrders|auctionLink|auctionFace|auctionResp|prtActiveCnt|prtQtyActive|prtQtyActiveMny|prtEligibleCnt|prtQtyEligible|prtQtyLimitOK|prtQtyCompete|prtQtyAwayChld|prtQtyNoCompete|prtQtyNoCompNbbo|mkCheckCnt|minMkProb|avgMkProb|curMkProb|tkCheckCnt|maxTkProb|avgTkProb|curTkProb|prtPrbCnt|prtPrbCheck|prtPrbLmtOK|tkQtyLmtOK|avgQteSzRatio|cntQteSzRatio|minQteWidth|avgQteWidth|cntQteWidth|updateSrc|numUpdates|timestamp' \
--data-urlencode 'where=accnt:eq:ExampleString' \
--data-urlencode 'limit=500' \
--data-urlencode 'order=userName:ASC'
Get Aggregate API Call
- Python
- cUrl
import requests
# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'
# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'
# Replace with your desired MsgType.
MSG_TYPE = 'SpdrParentBrkrDetail'
# Replace with fields you want to see aggregate values for. A "|" separated list of measures should be provided
MEASURE = 'userName|engineName|parentNumber|baseParentNumber|riskGroupId|triggerGroupId|strategy|spdrStageType|startType|maxExposureSize|numMakeExchanges|publicSize|canOverlapCxlRepl|progressRule|progressSliceCnt|progressExposeTime|vwapParticipation|minMktOnClosePct|triggerType|triggerLevel|marketSession|startDttm|orderDuration|goodTillDttm|expireDttm|cxlUPrcRange|minUBid|maxUAsk|minMaxType|minOptionPx|maxChildOrders|exchMask|externExDest|execBrkrCode|positionType|ssaleFlag|locateQuan|locateFirm|locatePool|parentOrderHandling|parentBalanceHandling|blockVisibility|orderLimitType|takeLimitClass|makeLimitClass|takeReachRule|orderPrcLimit|orderRefUPrc|orderRefDelta|orderRefGamma|orderRefTheta|orderRefYears|orderVolLimit|rateOverride|sdivOverride|ddivOverride|overrideCode|orderPrcOffset|takeAlphaType|makeAlphaType|takeAlphaFactor|makeAlphaFactor|takeProbability|makeProbability|takeSurfPrcOffset|takeSurfVolOffset|takeSurfWidthOffset|makeSurfPrcOffset|makeSurfVolOffset|makeSurfWidthOffset|expDayWtVegaOffset|maxExpDayWtVegaLn|maxExpDayWtVegaSh|maxExpDayRMetric6Ln|maxExpDayRMetric6Sh|symDayDDeltaOffset|maxSymDayDDeltaLn|maxSymDayDDeltaSh|symDayVegaOffset|maxSymDayVegaLn|maxSymDayVegaSh|symDayWtVegaOffset|maxSymDayWtVegaLn|maxSymDayWtVegaSh|maxSymDayRMetric7Ln|maxSymDayRMetric7Sh|maxGrpDayDDeltaLn|maxGrpDayDDeltaSh|maxGrpDayVegaLn|maxGrpDayVegaSh|maxGrpDayVegaAbs|grpDayVegaRatio|maxGrpDayContractsLn|maxGrpDayContractsSh|maxGrpDayContractsAbs|maxGrpDayRMetric1Ln|maxGrpDayRMetric1Sh|maxGrpDayRMetric1Abs|grpDayRMetric1Ratio|maxGrpDayRMetric2Ln|maxGrpDayRMetric2Sh|maxGrpDayRMetric3Ln|maxGrpDayRMetric3Sh|maxGrpDayRMetric4Ln|maxGrpDayRMetric4Sh|maxGrpDayRMetric5Ln|maxGrpDayRMetric5Sh|symEmaCxlDDeltaLn|symEmaCxlDDeltaSh|symEmaCxlWtVegaLn|symEmaCxlWtVegaSh|arriveBid|arriveAsk|arriveSweepCount|arriveSweepOrderQty|arriveSweepFillQty|numSweepChildOrders|auctionLink|auctionFace|auctionResp|prtActiveCnt|prtQtyActive|prtQtyActiveMny|prtEligibleCnt|prtQtyEligible|prtQtyLimitOK|prtQtyCompete|prtQtyAwayChld|prtQtyNoCompete|prtQtyNoCompNbbo|mkCheckCnt|minMkProb|avgMkProb|curMkProb|tkCheckCnt|maxTkProb|avgTkProb|curTkProb|prtPrbCnt|prtPrbCheck|prtPrbLmtOK|tkQtyLmtOK|avgQteSzRatio|cntQteSzRatio|minQteWidth|avgQteWidth|cntQteWidth|updateSrc|numUpdates|timestamp'
# Replace with fields you want to see aggregated. A "|" separated list of fields should be provided
GROUP = 'spdrStageType|startType|publicSize|canOverlapCxlRepl|progressRule|triggerType|marketSession|cxlUPrcRange|minMaxType|positionType|ssaleFlag|parentOrderHandling|parentBalanceHandling|blockVisibility|orderLimitType|takeLimitClass|makeLimitClass|takeReachRule|overrideCode|takeAlphaType|makeAlphaType|updateSrc'
# Replace with your desired where clause.
# a string in the form "field1:eq:value" or "(field1:ne:value1 & field1:ne:value2)
# "WHERE" clauses can contain the following comparison symbols:
# :gt: is greater than
# :ge: is greater than or equal to
# :lt: is less than
# :le: is less than or equal to
# :eq: is equal
# :ne: is not equal
# %26 is an AND statement
# | is an OR statement
# :sw: is starts with
# :ew: is ends with
# :cv: is contains values
# :nv: is does not contain value
# :cb: is contained between (two dates for instance) separated by '$'
WHERE = 'accnt:eq:ExampleString'
# Request Parameters for getaggregate Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getaggregate',
"msgType": MSG_TYPE,
"measure": MEASURE,
"group": GROUP,
# Optional Parameters
"where": WHERE,
}
response = requests.get(MLINK_PROD_URL, params=params)
curl -G 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json' \
--data-urlencode 'apiKey=XXXX-XXXX-XXXX-XXXX' \
--data-urlencode 'cmd=getaggregate' \
--data-urlencode 'msgType=SpdrParentBrkrDetail' \
--data-urlencode 'measure=userName|engineName|parentNumber|baseParentNumber|riskGroupId|triggerGroupId|strategy|spdrStageType|startType|maxExposureSize|numMakeExchanges|publicSize|canOverlapCxlRepl|progressRule|progressSliceCnt|progressExposeTime|vwapParticipation|minMktOnClosePct|triggerType|triggerLevel|marketSession|startDttm|orderDuration|goodTillDttm|expireDttm|cxlUPrcRange|minUBid|maxUAsk|minMaxType|minOptionPx|maxChildOrders|exchMask|externExDest|execBrkrCode|positionType|ssaleFlag|locateQuan|locateFirm|locatePool|parentOrderHandling|parentBalanceHandling|blockVisibility|orderLimitType|takeLimitClass|makeLimitClass|takeReachRule|orderPrcLimit|orderRefUPrc|orderRefDelta|orderRefGamma|orderRefTheta|orderRefYears|orderVolLimit|rateOverride|sdivOverride|ddivOverride|overrideCode|orderPrcOffset|takeAlphaType|makeAlphaType|takeAlphaFactor|makeAlphaFactor|takeProbability|makeProbability|takeSurfPrcOffset|takeSurfVolOffset|takeSurfWidthOffset|makeSurfPrcOffset|makeSurfVolOffset|makeSurfWidthOffset|expDayWtVegaOffset|maxExpDayWtVegaLn|maxExpDayWtVegaSh|maxExpDayRMetric6Ln|maxExpDayRMetric6Sh|symDayDDeltaOffset|maxSymDayDDeltaLn|maxSymDayDDeltaSh|symDayVegaOffset|maxSymDayVegaLn|maxSymDayVegaSh|symDayWtVegaOffset|maxSymDayWtVegaLn|maxSymDayWtVegaSh|maxSymDayRMetric7Ln|maxSymDayRMetric7Sh|maxGrpDayDDeltaLn|maxGrpDayDDeltaSh|maxGrpDayVegaLn|maxGrpDayVegaSh|maxGrpDayVegaAbs|grpDayVegaRatio|maxGrpDayContractsLn|maxGrpDayContractsSh|maxGrpDayContractsAbs|maxGrpDayRMetric1Ln|maxGrpDayRMetric1Sh|maxGrpDayRMetric1Abs|grpDayRMetric1Ratio|maxGrpDayRMetric2Ln|maxGrpDayRMetric2Sh|maxGrpDayRMetric3Ln|maxGrpDayRMetric3Sh|maxGrpDayRMetric4Ln|maxGrpDayRMetric4Sh|maxGrpDayRMetric5Ln|maxGrpDayRMetric5Sh|symEmaCxlDDeltaLn|symEmaCxlDDeltaSh|symEmaCxlWtVegaLn|symEmaCxlWtVegaSh|arriveBid|arriveAsk|arriveSweepCount|arriveSweepOrderQty|arriveSweepFillQty|numSweepChildOrders|auctionLink|auctionFace|auctionResp|prtActiveCnt|prtQtyActive|prtQtyActiveMny|prtEligibleCnt|prtQtyEligible|prtQtyLimitOK|prtQtyCompete|prtQtyAwayChld|prtQtyNoCompete|prtQtyNoCompNbbo|mkCheckCnt|minMkProb|avgMkProb|curMkProb|tkCheckCnt|maxTkProb|avgTkProb|curTkProb|prtPrbCnt|prtPrbCheck|prtPrbLmtOK|tkQtyLmtOK|avgQteSzRatio|cntQteSzRatio|minQteWidth|avgQteWidth|cntQteWidth|updateSrc|numUpdates|timestamp' \
--data-urlencode 'group=spdrStageType|startType|publicSize|canOverlapCxlRepl|progressRule|triggerType|marketSession|cxlUPrcRange|minMaxType|positionType|ssaleFlag|parentOrderHandling|parentBalanceHandling|blockVisibility|orderLimitType|takeLimitClass|makeLimitClass|takeReachRule|overrideCode|takeAlphaType|makeAlphaType|updateSrc' \
--data-urlencode 'where=accnt:eq:ExampleString'
Get Count API Call
- Python
- cUrl
import requests
# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'
# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'
# Replace with your desired MsgType.
MSG_TYPE = 'SpdrParentBrkrDetail'
# Replace with your desired where clause.
# a string in the form "field1:eq:value" or "(field1:ne:value1 & field1:ne:value2)
# "WHERE" clauses can contain the following comparison symbols:
# :gt: is greater than
# :ge: is greater than or equal to
# :lt: is less than
# :le: is less than or equal to
# :eq: is equal
# :ne: is not equal
# %26 is an AND statement
# | is an OR statement
# :sw: is starts with
# :ew: is ends with
# :cv: is contains values
# :nv: is does not contain value
# :cb: is contained between (two dates for instance) separated by '$'
WHERE = 'accnt:eq:ExampleString'
# Request Parameters for getCount Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getcount',
"msgType": MSG_TYPE,
# Optional Parameters
"where": WHERE,
}
response = requests.get(MLINK_PROD_URL, params=params)
curl -G 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json' \
--data-urlencode 'apiKey=XXXX-XXXX-XXXX-XXXX' \
--data-urlencode 'cmd=getcount' \
--data-urlencode 'msgType=SpdrParentBrkrDetail' \
--data-urlencode 'where=accnt:eq:ExampleString'