Schema: SpdrMLegBrkrState (ID: 4030)
SpdrMLegBrkrState records are published by execution engines and describe the current state of a broker that is managing a SpiderRock parent order. These records include a description of the active child orders managed by the broker. Records are updated whenever a child order changes and also at other times but are not completely live and may not always reflect current market data or limit levels for working orders.
METADATA
| Attribute | Value |
|---|---|
| Topic | 3985-parent-orders |
| MLink Token | ClientTrading |
| SRSE Product | SRTrade |
Note: The symbol
=next to a field number indicates that it is a primary key.
BODY
| # | Field | Type | Default Value | Comment |
|---|---|---|---|---|
| 10= | ticker | TickerKey | ||
| 11= | accnt | string(16) | ||
| 12= | spdrSource | enum : SpdrSource | ||
| 13= | groupingCode | long | ||
| 14= | orderSide | enum : BuySell | ||
| 15= | clientFirm | string(16) | SR client firm | |
| 1037 | engineName | string(32) | execution engine | |
| 103 | parentNumber | long | SPDR parent number (most recent/currently active) | |
| 106 | baseParentNumber | long | ||
| 1038 | modifyNumber | long | most recent parent number affecting this order (Modify) | |
| 109 | altOrderId | string(24) | alternate order ID (usually clOrdId from client) | |
| 112 | packageId | long | groups related order/brokers together (eg. Legger w/MLeg Parent) | |
| 118 | altAccnt | string(32) | alternate (client assigned) "long" account string (optional) | |
| 121 | altUserName | string(24) | alternate (client assigned) user name (optional) | |
| 124 | stageType | enum : SpdrStageType | parent is a staged order [ToolVisible] | |
| 1039 | startType | enum : StartType | ||
| 127 | isFlagged | enum : YesNo | broker state records is flagged for action (user alert only) | |
| 1052 | noticeNumber | long | ||
| 1054 | execBrkrCode | string(16) | execBrkrCode attached to parent order (if any) | |
| 1057 | spreadClass | enum : SpreadClass | ||
| 1043 | spreadFlavor | enum : SpreadFlavor | ||
| 133 | stockSide | enum : BuySell | ||
| 136 | ssaleFlag | enum : ShortSaleFlag | ||
| 139 | locateQuan | int | available locate quantity (if selling short) @ child order send time | |
| 142 | locateFirm | string(6) | firm granting the locate (also locate firm used on street FIX orders) | |
| 145 | locatePool | string(16) | locate pool @ firm granting the locate | |
| 148 | stockShares | int | number of shares included (zero if none) | |
| 151 | stockLegId | long | ||
| 154 | stockFillQuan | int | ||
| 157 | stockAvgFillPrice | double | ||
| 160 | refUPrc | float | reference underlier price (PrcDe orders) | |
| 163 | liveUPrc | float | ||
| 166 | uPriceFormat | enum : PriceFormat | underlier price format code | |
| 169 | stockCpx | float | [child] best price | |
| 172 | stockCsz | int | [child] cumulative share represented at best price | |
| 1154 | stockCex | long | [child] bit mask of all exchanges where we are representing this order | |
| 178 | numLegs | byte | number of valid legs below | |
| 181 | secKey1 | OptionKey | leg #1 | |
| 184 | secType1 | enum : SpdrKeyType | ||
| 187 | ratio1 | ushort | ||
| 190 | side1 | enum : BuySell | ||
| 193 | positionType1 | enum : PositionType | ||
| 196 | legId1 | long | ||
| 199 | fillQuan1 | int | ||
| 202 | avgFillPrice1 | double | ||
| 205 | vega1 | float | ||
| 208 | refUPrc1 | double | reference underlier price (PrcDe orders) | |
| 211 | refDelta1 | float | reference delta (for PrcDe order handling) | |
| 214 | refEarnCnt1 | byte | reference # of earnings moves before expiration | |
| 217 | liveUPrc1 | double | ||
| 220 | priceFormat1 | enum : PriceFormat | option price format code | |
| 223 | legCpx1 | float | [child] best price | |
| 226 | legCsz1 | int | [child] cumulative share represented at best price | |
| 1155 | legCex1 | long | [child] bit mask of all exchanges where we are representing this order | |
| 1165 | legCmplAvgPrice1 | double | average leg completion price | |
| 1166 | legCmplSecKey1 | OptionKey | final settlement secKey (contract that DAC, TAS, TACO, etc. will convert to; might not be valid until completed) | |
| 1167 | legCmplSecType1 | enum : SpdrKeyType | usually Future or Option (None if not yet valid) | |
| 232 | secKey2 | OptionKey | leg #2 | |
| 235 | secType2 | enum : SpdrKeyType | ||
| 238 | ratio2 | ushort | ||
| 241 | side2 | enum : BuySell | ||
| 244 | positionType2 | enum : PositionType | ||
| 247 | legId2 | long | ||
| 250 | fillQuan2 | int | ||
| 253 | avgFillPrice2 | double | ||
| 256 | vega2 | float | ||
| 259 | refUPrc2 | double | reference underlier price (PrcDe orders) | |
| 262 | refDelta2 | float | reference delta (for PrcDe order handling) | |
| 265 | refEarnCnt2 | byte | reference # of earnings moves before expiration | |
| 268 | liveUPrc2 | double | ||
| 271 | priceFormat2 | enum : PriceFormat | option price format code | |
| 274 | legCpx2 | float | [child] best price | |
| 277 | legCsz2 | int | [child] cumulative share represented at best price | |
| 1156 | legCex2 | long | [child] bit mask of all exchanges where we are representing this order | |
| 1168 | legCmplAvgPrice2 | double | average leg completion price | |
| 1169 | legCmplSecKey2 | OptionKey | final settlement secKey (contract that DAC, TAS, TACO, etc. will convert to; might not be valid until completed) | |
| 1170 | legCmplSecType2 | enum : SpdrKeyType | usually Future or Option (None if not yet valid) | |
| 283 | secKey3 | OptionKey | leg #3 | |
| 286 | secType3 | enum : SpdrKeyType | ||
| 289 | ratio3 | ushort | ||
| 292 | side3 | enum : BuySell | ||
| 295 | positionType3 | enum : PositionType | ||
| 298 | legId3 | long | ||
| 301 | fillQuan3 | int | ||
| 304 | avgFillPrice3 | double | ||
| 307 | vega3 | float | ||
| 310 | refUPrc3 | double | reference underlier price (PrcDe orders) | |
| 313 | refDelta3 | float | reference delta (for PrcDe order handling) | |
| 316 | refEarnCnt3 | byte | reference # of earnings moves before expiration | |
| 319 | liveUPrc3 | double | ||
| 322 | priceFormat3 | enum : PriceFormat | option price format code | |
| 325 | legCpx3 | float | [child] best price | |
| 328 | legCsz3 | int | [child] cumulative share represented at best price | |
| 1157 | legCex3 | long | [child] bit mask of all exchanges where we are representing this order | |
| 1171 | legCmplAvgPrice3 | double | average leg completion price | |
| 1172 | legCmplSecKey3 | OptionKey | final settlement secKey (contract that DAC, TAS, TACO, etc. will convert to; might not be valid until completed) | |
| 1173 | legCmplSecType3 | enum : SpdrKeyType | usually Future or Option (None if not yet valid) | |
| 334 | secKey4 | OptionKey | leg #4 | |
| 337 | secType4 | enum : SpdrKeyType | ||
| 340 | ratio4 | ushort | ||
| 343 | side4 | enum : BuySell | ||
| 346 | positionType4 | enum : PositionType | ||
| 349 | legId4 | long | ||
| 352 | fillQuan4 | int | ||
| 355 | avgFillPrice4 | double | ||
| 358 | vega4 | float | ||
| 361 | refUPrc4 | double | reference underlier price (PrcDe orders) | |
| 364 | refDelta4 | float | reference delta (for PrcDe order handling) | |
| 367 | refEarnCnt4 | byte | reference # of earnings moves before expiration | |
| 370 | liveUPrc4 | double | ||
| 373 | priceFormat4 | enum : PriceFormat | option price format code | |
| 376 | legCpx4 | float | [child] best price | |
| 379 | legCsz4 | int | [child] cumulative share represented at best price | |
| 1158 | legCex4 | long | [child] bit mask of all exchanges where we are representing this order | |
| 1174 | legCmplAvgPrice4 | double | average leg completion price | |
| 1175 | legCmplSecKey4 | OptionKey | final settlement secKey (contract that DAC, TAS, TACO, etc. will convert to; might not be valid until completed) | |
| 1176 | legCmplSecType4 | enum : SpdrKeyType | usually Future or Option (None if not yet valid) | |
| 385 | secKey5 | OptionKey | leg #5 | |
| 388 | secType5 | enum : SpdrKeyType | ||
| 391 | ratio5 | ushort | ||
| 394 | side5 | enum : BuySell | ||
| 397 | positionType5 | enum : PositionType | ||
| 400 | legId5 | long | ||
| 403 | fillQuan5 | int | ||
| 406 | avgFillPrice5 | double | ||
| 409 | vega5 | float | ||
| 412 | refUPrc5 | double | reference underlier price (PrcDe orders) | |
| 415 | refDelta5 | float | reference delta (for PrcDe order handling) | |
| 418 | refEarnCnt5 | byte | reference # of earnings moves before expiration | |
| 421 | liveUPrc5 | double | ||
| 424 | priceFormat5 | enum : PriceFormat | option price format code | |
| 427 | legCpx5 | float | [child] best price | |
| 430 | legCsz5 | int | [child] cumulative share represented at best price | |
| 1159 | legCex5 | long | [child] bit mask of all exchanges where we are representing this order | |
| 1177 | legCmplAvgPrice5 | double | average leg completion price | |
| 1178 | legCmplSecKey5 | OptionKey | final settlement secKey (contract that DAC, TAS, TACO, etc. will convert to; might not be valid until completed) | |
| 1179 | legCmplSecType5 | enum : SpdrKeyType | usually Future or Option (None if not yet valid) | |
| 436 | secKey6 | OptionKey | leg #6 | |
| 439 | secType6 | enum : SpdrKeyType | ||
| 442 | ratio6 | ushort | ||
| 445 | side6 | enum : BuySell | ||
| 448 | positionType6 | enum : PositionType | ||
| 451 | legId6 | long | ||
| 454 | fillQuan6 | int | ||
| 457 | avgFillPrice6 | double | ||
| 460 | vega6 | float | ||
| 463 | refUPrc6 | double | reference underlier price (PrcDe orders) | |
| 466 | refDelta6 | float | reference delta (for PrcDe order handling) | |
| 469 | refEarnCnt6 | byte | reference # of earnings moves before expiration | |
| 472 | liveUPrc6 | double | ||
| 475 | priceFormat6 | enum : PriceFormat | option price format code | |
| 478 | legCpx6 | float | [child] best price | |
| 481 | legCsz6 | int | [child] cumulative share represented at best price | |
| 1160 | legCex6 | long | [child] bit mask of all exchanges where we are representing this order | |
| 1180 | legCmplAvgPrice6 | double | average leg completion price | |
| 1181 | legCmplSecKey6 | OptionKey | final settlement secKey (contract that DAC, TAS, TACO, etc. will convert to; might not be valid until completed) | |
| 1182 | legCmplSecType6 | enum : SpdrKeyType | usually Future or Option (None if not yet valid) | |
| 487 | mlegVega | float | net vega per spread | |
| 490 | mlegWtVega | float | net wt vega per spread | |
| 493 | mlegDelta | float | net delta per spread | |
| 496 | mlegGamma | float | net gamma per spread | |
| 499 | mlegTheta | float | net theta per spread | |
| 502 | description | string(24) | user defined | |
| 505 | orderSize | int | order size of most recent parent order | |
| 508 | orderActiveSize | int | total activated size (total size released for execution) (-2 = all available size) | |
| 511 | leavesQuantity | int | current child order leaves quantity (quantity actively working in the market;all child orders) | |
| 514 | spdrOrderStatus | enum : SpdrOrderStatus | ||
| 517 | spdrCloseReason | enum : SpdrCloseReason | ||
| 520 | spdrRejectReason | enum : SpdrRejectReason | ||
| 523 | spdrCloseDetailTxt | text1 | ||
| 1186 | activeHoldState | enum : ActiveHoldState | ||
| 1187 | activeHoldReason | text1 | ||
| 526 | openLegs | byte | ||
| 529 | cumSquareQty | int | cumulative spread quantity filled (all legs received) | |
| 532 | avgSquarePrc | double | ||
| 535 | cumPartialQty | int | cumulative spread quantity partially filled (at least one leg received) [expected cumFilledQty if all legs square up] | |
| 1183 | completionType | enum : CompletionType | None, DAC, POC, TAS, TACO, BTIC | |
| 1184 | completionState | enum : CompletionState | None, Pending, Complete | |
| 1185 | avgSquareCmplPrice | double | completion trade price (final trade price) [also avg completion price] | |
| 538 | fillVega | float | net vega filled | |
| 541 | fillWtVega | float | net wt vega filled | |
| 544 | fillDelta | float | net delta filled | |
| 547 | fillDDelta | float | net $delta filled | |
| 550 | fillGamma | float | net gamma filled | |
| 553 | fillTheta | float | net theta filled | |
| 556 | lastFillDttm | DateTime | ||
| 559 | riskLimitSize | int | risk limit size | |
| 562 | riskLimitDesc | enum : SpdrRisk | reason for size reduction | |
| 1044 | riskLimitLevel | enum : SpdrRiskLevel | risk limit level responsible for reduction | |
| 565 | maxProgress | enum : MaxProgress | maximum point of progress for most recent parent order | |
| 568 | maxProgressDetail | string(48) | additional detail on point of maximum progress | |
| 571 | maxProgressTime | DateTime | time of last max progress advance | |
| 574 | algoState | enum : AlgoState | [enum] current state of order handler (maker) | |
| 577 | algoCounter | int | number of times order checked by algo handler (note: most checks result in no action) | |
| 580 | makeState | enum : AlgoState | [enum] current state of make handler (maker) | |
| 583 | makeCounter | int | number of times order checked by make algo handler (note: most checks result in no action) | |
| 586 | mktRespState | enum : MktRespState | [enum] current state of response handler (if any) | |
| 589 | mktRespCounter | int | number of times order checked by market response handler (note: most checks result in no action) | |
| 592 | brokerState | enum : BrokerState | broker monitor state | |
| 595 | brokerCounter | int | number of times order checked by broker monitor (note: most checks result in no action)] | |
| 598 | spdrMktState | enum : SpdrMarketState | [enum] market state | |
| 601 | spdrBrokerStatus | enum : SpdrBrokerStatus | ||
| 604 | progressRuleDetail | text1 | Twap/Vwap progress detail | |
| 607 | lastChildRejectDttm | DateTime | last child order reject dttm (if any) | |
| 610 | lastChildRejectText | text1 | last child order reject reason/text (if any) | |
| 613 | riskGroupId | long | autohedge risk group | |
| 616 | triggerGroupId | long | WaitTrigger group Id | |
| 619 | hedgeGroupingCode | long | autohedge risk group | |
| 622 | autoHedge | enum : AutoHedge | ||
| 625 | hedgeInstrument | enum : HedgeInst | auto-hedge instrument (from parent order) | |
| 628 | hedgeSecKey | ExpiryKey | auto-hedge sec key (if any) | |
| 631 | hedgeSecType | enum : SpdrKeyType | auto-hedge sec type (Stock or Future) | |
| 634 | hedgeBetaRatio | float | auto-hedge ratio [from parent order (if supplied) or computed by SR] | |
| 637 | hedgeScope | enum : HedgeScope | hedge group scope [RiskGroup or Accnt] | |
| 1055 | externHedgeExDest | string(16) | external broker exDest (only used if orderHandling=Extern) # Should match FixRoutingTable.destination type (eg. #Nighthawk) | |
| 643 | externHedgeParams | text1 | external algo names/parameters (usually just an algo name) # usually copied from the FixRoutingTable.externParams | |
| 1058 | hedgeFillUMarkLmtPrc | enum : YesNo | set a price limit on the autohedge order based on the most recent option fillUMark | |
| 646 | bestWayPrc | float | current leg market nbbo (at time of record publish) | |
| 649 | wrstWayPrc | float | current leg market nbbo ask (at time of record publish) | |
| 652 | bestWaySz | int | current leg market nbbo cum bid size (at time of record publish) | |
| 655 | wrstWaySz | int | current leg market nbbo cum ask size (at time of record publish) | |
| 658 | surfacePrc | float | SR spread surface price @ record publish | |
| 661 | surfaceVol | float | ||
| 664 | surfaceUPrc | float | ||
| 667 | limitPrice | double | spread limit price | |
| 1053 | limitRefUPrc | double | ||
| 670 | limitErr | enum : LimitError | limit price error code | |
| 673 | makeLimitPrice | double | ||
| 676 | takeLimitPrice | double | ||
| 679 | cxlUPrcRange | enum : UPrcCxl | cancel spdr order if/when outside stock price range | |
| 682 | minUBid | float | Used in conjunction with minMaxType & maxUAsk. When set, implements a lower bound on the underlying price and will either suspend or cancel an order when violated. | |
| 685 | maxUAsk | float | Used in conjunction with minMaxType & minUBid. When set, implements an upper bound on the underlying price and will either suspend or cancel an order when violated. | |
| 688 | minMaxType | enum : MinMaxType | if Prc minUBid/maxUAsk are expressed as prices; if Pct then they are expresses as pct change since parent order arrival | |
| 691 | leadSide | enum : BuySell | for legged orders, which side to lead with. (optional, None ok) | |
| 694 | maxCompletionSlippage | double | maximum price slippage to complete an open basket or a cross auction (face side slippage) | |
| 697 | orderRefPremium | float | reference premium (mleg orders only) | |
| 700 | strategy | string(36) | parent order strategy (description only) | |
| 703 | userName | string(24) | user that entered the most recent parent order | |
| 1161 | visibleInSV | enum : YesNo | allow order to be visible in SV (do not use for high volume of orders) | |
| 709 | spdrComment | text1 | ||
| 712 | 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] | |
| 715 | maxExposureSize | int | maximum simultaneous cumulative child order public size exposure (-2 = orderActiveSize) [order can overfill if > orderActiveSize and numMakeExchanges > 2] | |
| 718 | numMakeExchanges | byte | number of exchanges (2 - 4) on which to publish public making orders. Effective number might be less than requested number if sufficient exchanges are not available. | |
| 721 | publicSize | enum : PublicSizeHandling | public order size handling | |
| 724 | progressRule | enum : ProgressRule | Immediate = all size immediately available;TWAP = size released in time intervals;VWAP = size released in volume intervals; | |
| 727 | progressSliceCnt | byte | number of progress slices to use (default = 4 or 8) [max 20] | |
| 730 | 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) | |
| 733 | 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] | |
| 1162 | exchMask | long | eligible exchanges (0 = all) | |
| 1045 | marketSession | enum : MarketSession | ||
| 742 | startDttm | DateTime | Order Start Date/Time | |
| 745 | orderDuration | int | [optional] (number of seconds) | |
| 1046 | activeDuration | int | [optional] (number of seconds) | |
| 748 | goodTillDttm | DateTime | [optional] (default: 2099-02-02) | |
| 1047 | expireDttm | DateTime | expected order expiration dttm | |
| 751 | parentOrderHandling | enum : ParentOrderHandling | ||
| 754 | parentBalanceHandling | enum : ParentBalanceHandling | ||
| 1188 | atsVisibility | enum : AtsVisibility | ||
| 760 | orderLimitType | enum : SpdrLimitType | ||
| 761 | orderVolLimit | double | Applies if LimitType = Vol[] | |
| 763 | orderPrcLimit | double | Applies if LimitType = Prc[] | |
| 766 | orderRefUPrc | double | reference uPrc (PrcDe orders) | |
| 769 | orderRefDe | float | reference delta (PrcDe orders) | |
| 772 | orderRefGa | float | reference gamma (PrcDe orders) | |
| 775 | orderPrcOffset | double | default=0 | |
| 778 | takeLimitClass | enum : SpdrLimitClass | Simple = LimitPrice, Surface = BEST(LimitPrice, SurfLimit), Probability = BEST(LimitPrice, ProbLimit) | |
| 781 | takeAlphaType | enum : AlphaType | Applies if limitClass = Probability | |
| 784 | takeAlphaFactor | float | [-2,+2] ProbLimit = MAX(alphaProbability, ProbAvg + AlphaFactor * ProbStd) [if AlphaType = Relative] | |
| 787 | takeAlphaProbability | float | ProbLimit = alphaProbability [if AlphaType = Static] | |
| 790 | takeSurfPrcOffset | double | default=0 | |
| 793 | takeSurfVolOffset | float | default=0 | |
| 796 | takeSurfWidOffset | float | default=0 | |
| 799 | makeLimitClass | enum : SpdrLimitClass | Simple = LimitPrice, Surface = BEST(LimitPrice, SurfLimit), Probability = BEST(LimitPrice, ProbLimit) | |
| 802 | makeAlphaType | enum : AlphaType | Applies if limitClass = Probability | |
| 805 | makeAlphaFactor | float | [-2,+2] ProbLimit = MAX(alphaProbability, ProbAvg + AlphaFactor * ProbStd) [if AlphaType = Relative] | |
| 808 | makeAlphaProbability | float | ProbLimit = alphaProbability [if AlphaType = Static] | |
| 811 | makeSurfPrcOffset | double | default=0 | |
| 814 | makeSurfVolOffset | float | default=0 | |
| 817 | makeSurfWidOffset | float | default=0 | |
| 820 | orderRefEventMult | float | ||
| 823 | orderRefEventDttm | DateTime | ||
| 826 | mlegProbLimit | float | live prob limit | |
| 829 | mlegSurfOffset | float | live surface offset (in premium) | |
| 1056 | externExDest | string(16) | ||
| 835 | orderDttm | DateTime | order entry date/time | |
| 838 | minSurfVol | float | (minimum) SR spread surface vol [vega weighted] while parent order was working | |
| 841 | maxSurfVol | float | (maximum) SR spread surface vol [vega weighted] while parent order was working | |
| 844 | minSurfPrc | float | (minimum) SR spread surface price while parent order was working | |
| 847 | maxSurfPrc | float | (maximum) SR spread surface price while parent order was working | |
| 850 | minSurfUPrc | float | (minimum) SR spread surface uPrc while parent order was working | |
| 853 | maxSurfUPrc | float | (maximum) SR spread surface uPrc while parent order was working | |
| 856 | minQteWidth | float | minimum quote width during active order window | |
| 859 | avgQteWidth | float | average quote width (during active order window) | |
| 862 | cntQteWidth | int | ||
| 865 | arriveBid | double | ||
| 868 | arriveAsk | double | ||
| 871 | totalSeconds | float | number of seconds that the parent order was active | |
| 874 | workingSeconds | float | number of seconds with one or more working child orders in an exchange order book | |
| 877 | prtActiveCnt | int | total print events while parent order was active | |
| 880 | prtQtyActive | int | total quantity printed while parent order was active | |
| 883 | cumExchFee | float | cumulative fill exch fee | |
| 886 | cumM10Pnl | float | ||
| 889 | cumArrivalPnl | float | ||
| 892 | uPrcDrift | float | underlier drift (since parent order start) | |
| 895 | sVolDrift | float | surface vol drift (since parent order start) | |
| 946 | maxGrpDayDDeltaLn | float | -1 | max acct+riskGroup day $delta long (positive number;-1=no limit);risk limit = max limit - current net counter |
| 949 | maxGrpDayDDeltaSh | float | -1 | max acct+riskGroup day $delta short (positive number;-1=no limit);risk limit = max limit + current net counter |
| 979 | maxGrpDayContractsLn | int | -1 | max acct+riskGroup day opt contracts long (positive number;-1=no limit);risk limit = max limit - current net counter |
| 982 | maxGrpDayContractsSh | int | -1 | max acct+riskGroup day opt contracts short (positive number;-1=no limit);risk limit = max limit + current net counter |
| 985 | maxGrpDayContractsAbs | int | -1 | max acct+riskGroup day opt contracts abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter) |
| 955 | maxGrpDayVegaLn | float | -1 | max acct+riskGroup day vega long (positive number;-1=no limit);risk limit = max limit - current net counter |
| 958 | maxGrpDayVegaSh | float | -1 | max acct+riskGroup day vega short (positive number;-1=no limit);risk limit = max limit + current net counter |
| 961 | maxGrpDayVegaAbs | float | -1 | max acct+riskGroup day vega abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter) |
| 964 | grpDayVegaRatio | float | 1.0 | target bot / sld ratio (eg ratio=2.0 means that neutral is bot vega = 2x sld vega) |
| 1048 | maxGrpDayRMetric1Ln | float | -1 | max acct+riskGroup day rMetric1 long (positive number;-1=no limit);risk limit = max limit - current net counter |
| 1049 | maxGrpDayRMetric1Sh | float | -1 | max acct+riskGroup day rMetric1 short (positive number;-1=no limit);risk limit = max limit + current net counter |
| 1050 | maxGrpDayRMetric1Abs | float | -1 | max acct+riskGroup day rMetric1 abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter) |
| 1051 | grpDayRMetric1Ratio | float | 1.0 | target bot / sld ratio (eg ratio=0.5 means that neutral is bot rMetric1 = 0.5x sld rMetric1) |
| 1152 | refRMetric1Src | enum : RMetricSource | ||
| 1153 | orderRefRMetric1 | float | user supplied RMetric1 value (used in RiskGroupID risk controls) [netRMetric1 = sum(fillQty * orderRefRMetric1 * underlierPerCn)] | |
| 1000 | cpx1 | float | ||
| 1003 | csz1 | int | cumulative size represented at this price | |
| 1163 | cex1 | long | bit mask of all exchanges where we are representing this order | |
| 1009 | cpx2 | float | ||
| 1012 | csz2 | int | cumulative size represented at this price | |
| 1164 | cex2 | long | bit mask of all exchanges where we are representing this order | |
| 1018 | cMore | byte | ||
| 1021 | numNewOrders | int | number of new child orders | |
| 1024 | numParentLimits | ushort | number of parent limit messages received for this broker | |
| 1027 | userData1 | text1 | user supplied additional detail (255 char);supplied via FIX or SRSE when entering order | |
| 1030 | userData2 | text1 | user supplied additional detail (255 char);supplied via FIX or SRSE when entering order | |
| 1033 | numUpdates | int | number of record updates (cumulative for the day) | |
| 1036 | timestamp | DateTime |
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 = 'SpdrMLegBrkrState'
# 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=SpdrMLegBrkrState'
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 = 'SpdrMLegBrkrState'
# 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 = 'engineName|parentNumber|baseParentNumber|modifyNumber|altOrderId|packageId|altAccnt|altUserName|stageType|startType|isFlagged|noticeNumber|execBrkrCode|spreadClass|spreadFlavor|stockSide|ssaleFlag|locateQuan|locateFirm|locatePool|stockShares|stockLegId|stockFillQuan|stockAvgFillPrice|refUPrc|liveUPrc|uPriceFormat|stockCpx|stockCsz|stockCex|numLegs|secKey1|secType1|ratio1|side1|positionType1|legId1|fillQuan1|avgFillPrice1|vega1|refUPrc1|refDelta1|refEarnCnt1|liveUPrc1|priceFormat1|legCpx1|legCsz1|legCex1|legCmplAvgPrice1|legCmplSecKey1|legCmplSecType1|secKey2|secType2|ratio2|side2|positionType2|legId2|fillQuan2|avgFillPrice2|vega2|refUPrc2|refDelta2|refEarnCnt2|liveUPrc2|priceFormat2|legCpx2|legCsz2|legCex2|legCmplAvgPrice2|legCmplSecKey2|legCmplSecType2|secKey3|secType3|ratio3|side3|positionType3|legId3|fillQuan3|avgFillPrice3|vega3|refUPrc3|refDelta3|refEarnCnt3|liveUPrc3|priceFormat3|legCpx3|legCsz3|legCex3|legCmplAvgPrice3|legCmplSecKey3|legCmplSecType3|secKey4|secType4|ratio4|side4|positionType4|legId4|fillQuan4|avgFillPrice4|vega4|refUPrc4|refDelta4|refEarnCnt4|liveUPrc4|priceFormat4|legCpx4|legCsz4|legCex4|legCmplAvgPrice4|legCmplSecKey4|legCmplSecType4|secKey5|secType5|ratio5|side5|positionType5|legId5|fillQuan5|avgFillPrice5|vega5|refUPrc5|refDelta5|refEarnCnt5|liveUPrc5|priceFormat5|legCpx5|legCsz5|legCex5|legCmplAvgPrice5|legCmplSecKey5|legCmplSecType5|secKey6|secType6|ratio6|side6|positionType6|legId6|fillQuan6|avgFillPrice6|vega6|refUPrc6|refDelta6|refEarnCnt6|liveUPrc6|priceFormat6|legCpx6|legCsz6|legCex6|legCmplAvgPrice6|legCmplSecKey6|legCmplSecType6|mlegVega|mlegWtVega|mlegDelta|mlegGamma|mlegTheta|description|orderSize|orderActiveSize|leavesQuantity|spdrOrderStatus|spdrCloseReason|spdrRejectReason|spdrCloseDetailTxt|activeHoldState|activeHoldReason|openLegs|cumSquareQty|avgSquarePrc|cumPartialQty|completionType|completionState|avgSquareCmplPrice|fillVega|fillWtVega|fillDelta|fillDDelta|fillGamma|fillTheta|lastFillDttm|riskLimitSize|riskLimitDesc|riskLimitLevel|maxProgress|maxProgressDetail|maxProgressTime|algoState|algoCounter|makeState|makeCounter|mktRespState|mktRespCounter|brokerState|brokerCounter|spdrMktState|spdrBrokerStatus|progressRuleDetail|lastChildRejectDttm|lastChildRejectText|riskGroupId|triggerGroupId|hedgeGroupingCode|autoHedge|hedgeInstrument|hedgeSecKey|hedgeSecType|hedgeBetaRatio|hedgeScope|externHedgeExDest|externHedgeParams|hedgeFillUMarkLmtPrc|bestWayPrc|wrstWayPrc|bestWaySz|wrstWaySz|surfacePrc|surfaceVol|surfaceUPrc|limitPrice|limitRefUPrc|limitErr|makeLimitPrice|takeLimitPrice|cxlUPrcRange|minUBid|maxUAsk|minMaxType|leadSide|maxCompletionSlippage|orderRefPremium|strategy|userName|visibleInSV|spdrComment|takeReachRule|maxExposureSize|numMakeExchanges|publicSize|progressRule|progressSliceCnt|progressExposeTime|maxChildOrders|exchMask|marketSession|startDttm|orderDuration|activeDuration|goodTillDttm|expireDttm|parentOrderHandling|parentBalanceHandling|atsVisibility|orderLimitType|orderVolLimit|orderPrcLimit|orderRefUPrc|orderRefDe|orderRefGa|orderPrcOffset|takeLimitClass|takeAlphaType|takeAlphaFactor|takeAlphaProbability|takeSurfPrcOffset|takeSurfVolOffset|takeSurfWidOffset|makeLimitClass|makeAlphaType|makeAlphaFactor|makeAlphaProbability|makeSurfPrcOffset|makeSurfVolOffset|makeSurfWidOffset|orderRefEventMult|orderRefEventDttm|mlegProbLimit|mlegSurfOffset|externExDest|orderDttm|minSurfVol|maxSurfVol|minSurfPrc|maxSurfPrc|minSurfUPrc|maxSurfUPrc|minQteWidth|avgQteWidth|cntQteWidth|arriveBid|arriveAsk|totalSeconds|workingSeconds|prtActiveCnt|prtQtyActive|cumExchFee|cumM10Pnl|cumArrivalPnl|uPrcDrift|sVolDrift|maxGrpDayDDeltaLn|maxGrpDayDDeltaSh|maxGrpDayContractsLn|maxGrpDayContractsSh|maxGrpDayContractsAbs|maxGrpDayVegaLn|maxGrpDayVegaSh|maxGrpDayVegaAbs|grpDayVegaRatio|maxGrpDayRMetric1Ln|maxGrpDayRMetric1Sh|maxGrpDayRMetric1Abs|grpDayRMetric1Ratio|refRMetric1Src|orderRefRMetric1|cpx1|csz1|cex1|cpx2|csz2|cex2|cMore|numNewOrders|numParentLimits|userData1|userData2|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=SpdrMLegBrkrState' \
--data-urlencode 'view=engineName|parentNumber|baseParentNumber|modifyNumber|altOrderId|packageId|altAccnt|altUserName|stageType|startType|isFlagged|noticeNumber|execBrkrCode|spreadClass|spreadFlavor|stockSide|ssaleFlag|locateQuan|locateFirm|locatePool|stockShares|stockLegId|stockFillQuan|stockAvgFillPrice|refUPrc|liveUPrc|uPriceFormat|stockCpx|stockCsz|stockCex|numLegs|secKey1|secType1|ratio1|side1|positionType1|legId1|fillQuan1|avgFillPrice1|vega1|refUPrc1|refDelta1|refEarnCnt1|liveUPrc1|priceFormat1|legCpx1|legCsz1|legCex1|legCmplAvgPrice1|legCmplSecKey1|legCmplSecType1|secKey2|secType2|ratio2|side2|positionType2|legId2|fillQuan2|avgFillPrice2|vega2|refUPrc2|refDelta2|refEarnCnt2|liveUPrc2|priceFormat2|legCpx2|legCsz2|legCex2|legCmplAvgPrice2|legCmplSecKey2|legCmplSecType2|secKey3|secType3|ratio3|side3|positionType3|legId3|fillQuan3|avgFillPrice3|vega3|refUPrc3|refDelta3|refEarnCnt3|liveUPrc3|priceFormat3|legCpx3|legCsz3|legCex3|legCmplAvgPrice3|legCmplSecKey3|legCmplSecType3|secKey4|secType4|ratio4|side4|positionType4|legId4|fillQuan4|avgFillPrice4|vega4|refUPrc4|refDelta4|refEarnCnt4|liveUPrc4|priceFormat4|legCpx4|legCsz4|legCex4|legCmplAvgPrice4|legCmplSecKey4|legCmplSecType4|secKey5|secType5|ratio5|side5|positionType5|legId5|fillQuan5|avgFillPrice5|vega5|refUPrc5|refDelta5|refEarnCnt5|liveUPrc5|priceFormat5|legCpx5|legCsz5|legCex5|legCmplAvgPrice5|legCmplSecKey5|legCmplSecType5|secKey6|secType6|ratio6|side6|positionType6|legId6|fillQuan6|avgFillPrice6|vega6|refUPrc6|refDelta6|refEarnCnt6|liveUPrc6|priceFormat6|legCpx6|legCsz6|legCex6|legCmplAvgPrice6|legCmplSecKey6|legCmplSecType6|mlegVega|mlegWtVega|mlegDelta|mlegGamma|mlegTheta|description|orderSize|orderActiveSize|leavesQuantity|spdrOrderStatus|spdrCloseReason|spdrRejectReason|spdrCloseDetailTxt|activeHoldState|activeHoldReason|openLegs|cumSquareQty|avgSquarePrc|cumPartialQty|completionType|completionState|avgSquareCmplPrice|fillVega|fillWtVega|fillDelta|fillDDelta|fillGamma|fillTheta|lastFillDttm|riskLimitSize|riskLimitDesc|riskLimitLevel|maxProgress|maxProgressDetail|maxProgressTime|algoState|algoCounter|makeState|makeCounter|mktRespState|mktRespCounter|brokerState|brokerCounter|spdrMktState|spdrBrokerStatus|progressRuleDetail|lastChildRejectDttm|lastChildRejectText|riskGroupId|triggerGroupId|hedgeGroupingCode|autoHedge|hedgeInstrument|hedgeSecKey|hedgeSecType|hedgeBetaRatio|hedgeScope|externHedgeExDest|externHedgeParams|hedgeFillUMarkLmtPrc|bestWayPrc|wrstWayPrc|bestWaySz|wrstWaySz|surfacePrc|surfaceVol|surfaceUPrc|limitPrice|limitRefUPrc|limitErr|makeLimitPrice|takeLimitPrice|cxlUPrcRange|minUBid|maxUAsk|minMaxType|leadSide|maxCompletionSlippage|orderRefPremium|strategy|userName|visibleInSV|spdrComment|takeReachRule|maxExposureSize|numMakeExchanges|publicSize|progressRule|progressSliceCnt|progressExposeTime|maxChildOrders|exchMask|marketSession|startDttm|orderDuration|activeDuration|goodTillDttm|expireDttm|parentOrderHandling|parentBalanceHandling|atsVisibility|orderLimitType|orderVolLimit|orderPrcLimit|orderRefUPrc|orderRefDe|orderRefGa|orderPrcOffset|takeLimitClass|takeAlphaType|takeAlphaFactor|takeAlphaProbability|takeSurfPrcOffset|takeSurfVolOffset|takeSurfWidOffset|makeLimitClass|makeAlphaType|makeAlphaFactor|makeAlphaProbability|makeSurfPrcOffset|makeSurfVolOffset|makeSurfWidOffset|orderRefEventMult|orderRefEventDttm|mlegProbLimit|mlegSurfOffset|externExDest|orderDttm|minSurfVol|maxSurfVol|minSurfPrc|maxSurfPrc|minSurfUPrc|maxSurfUPrc|minQteWidth|avgQteWidth|cntQteWidth|arriveBid|arriveAsk|totalSeconds|workingSeconds|prtActiveCnt|prtQtyActive|cumExchFee|cumM10Pnl|cumArrivalPnl|uPrcDrift|sVolDrift|maxGrpDayDDeltaLn|maxGrpDayDDeltaSh|maxGrpDayContractsLn|maxGrpDayContractsSh|maxGrpDayContractsAbs|maxGrpDayVegaLn|maxGrpDayVegaSh|maxGrpDayVegaAbs|grpDayVegaRatio|maxGrpDayRMetric1Ln|maxGrpDayRMetric1Sh|maxGrpDayRMetric1Abs|grpDayRMetric1Ratio|refRMetric1Src|orderRefRMetric1|cpx1|csz1|cex1|cpx2|csz2|cex2|cMore|numNewOrders|numParentLimits|userData1|userData2|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 = 'SpdrMLegBrkrState'
# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned
VIEW = 'engineName|parentNumber|baseParentNumber|modifyNumber|altOrderId|packageId|altAccnt|altUserName|stageType|startType|isFlagged|noticeNumber|execBrkrCode|spreadClass|spreadFlavor|stockSide|ssaleFlag|locateQuan|locateFirm|locatePool|stockShares|stockLegId|stockFillQuan|stockAvgFillPrice|refUPrc|liveUPrc|uPriceFormat|stockCpx|stockCsz|stockCex|numLegs|secKey1|secType1|ratio1|side1|positionType1|legId1|fillQuan1|avgFillPrice1|vega1|refUPrc1|refDelta1|refEarnCnt1|liveUPrc1|priceFormat1|legCpx1|legCsz1|legCex1|legCmplAvgPrice1|legCmplSecKey1|legCmplSecType1|secKey2|secType2|ratio2|side2|positionType2|legId2|fillQuan2|avgFillPrice2|vega2|refUPrc2|refDelta2|refEarnCnt2|liveUPrc2|priceFormat2|legCpx2|legCsz2|legCex2|legCmplAvgPrice2|legCmplSecKey2|legCmplSecType2|secKey3|secType3|ratio3|side3|positionType3|legId3|fillQuan3|avgFillPrice3|vega3|refUPrc3|refDelta3|refEarnCnt3|liveUPrc3|priceFormat3|legCpx3|legCsz3|legCex3|legCmplAvgPrice3|legCmplSecKey3|legCmplSecType3|secKey4|secType4|ratio4|side4|positionType4|legId4|fillQuan4|avgFillPrice4|vega4|refUPrc4|refDelta4|refEarnCnt4|liveUPrc4|priceFormat4|legCpx4|legCsz4|legCex4|legCmplAvgPrice4|legCmplSecKey4|legCmplSecType4|secKey5|secType5|ratio5|side5|positionType5|legId5|fillQuan5|avgFillPrice5|vega5|refUPrc5|refDelta5|refEarnCnt5|liveUPrc5|priceFormat5|legCpx5|legCsz5|legCex5|legCmplAvgPrice5|legCmplSecKey5|legCmplSecType5|secKey6|secType6|ratio6|side6|positionType6|legId6|fillQuan6|avgFillPrice6|vega6|refUPrc6|refDelta6|refEarnCnt6|liveUPrc6|priceFormat6|legCpx6|legCsz6|legCex6|legCmplAvgPrice6|legCmplSecKey6|legCmplSecType6|mlegVega|mlegWtVega|mlegDelta|mlegGamma|mlegTheta|description|orderSize|orderActiveSize|leavesQuantity|spdrOrderStatus|spdrCloseReason|spdrRejectReason|spdrCloseDetailTxt|activeHoldState|activeHoldReason|openLegs|cumSquareQty|avgSquarePrc|cumPartialQty|completionType|completionState|avgSquareCmplPrice|fillVega|fillWtVega|fillDelta|fillDDelta|fillGamma|fillTheta|lastFillDttm|riskLimitSize|riskLimitDesc|riskLimitLevel|maxProgress|maxProgressDetail|maxProgressTime|algoState|algoCounter|makeState|makeCounter|mktRespState|mktRespCounter|brokerState|brokerCounter|spdrMktState|spdrBrokerStatus|progressRuleDetail|lastChildRejectDttm|lastChildRejectText|riskGroupId|triggerGroupId|hedgeGroupingCode|autoHedge|hedgeInstrument|hedgeSecKey|hedgeSecType|hedgeBetaRatio|hedgeScope|externHedgeExDest|externHedgeParams|hedgeFillUMarkLmtPrc|bestWayPrc|wrstWayPrc|bestWaySz|wrstWaySz|surfacePrc|surfaceVol|surfaceUPrc|limitPrice|limitRefUPrc|limitErr|makeLimitPrice|takeLimitPrice|cxlUPrcRange|minUBid|maxUAsk|minMaxType|leadSide|maxCompletionSlippage|orderRefPremium|strategy|userName|visibleInSV|spdrComment|takeReachRule|maxExposureSize|numMakeExchanges|publicSize|progressRule|progressSliceCnt|progressExposeTime|maxChildOrders|exchMask|marketSession|startDttm|orderDuration|activeDuration|goodTillDttm|expireDttm|parentOrderHandling|parentBalanceHandling|atsVisibility|orderLimitType|orderVolLimit|orderPrcLimit|orderRefUPrc|orderRefDe|orderRefGa|orderPrcOffset|takeLimitClass|takeAlphaType|takeAlphaFactor|takeAlphaProbability|takeSurfPrcOffset|takeSurfVolOffset|takeSurfWidOffset|makeLimitClass|makeAlphaType|makeAlphaFactor|makeAlphaProbability|makeSurfPrcOffset|makeSurfVolOffset|makeSurfWidOffset|orderRefEventMult|orderRefEventDttm|mlegProbLimit|mlegSurfOffset|externExDest|orderDttm|minSurfVol|maxSurfVol|minSurfPrc|maxSurfPrc|minSurfUPrc|maxSurfUPrc|minQteWidth|avgQteWidth|cntQteWidth|arriveBid|arriveAsk|totalSeconds|workingSeconds|prtActiveCnt|prtQtyActive|cumExchFee|cumM10Pnl|cumArrivalPnl|uPrcDrift|sVolDrift|maxGrpDayDDeltaLn|maxGrpDayDDeltaSh|maxGrpDayContractsLn|maxGrpDayContractsSh|maxGrpDayContractsAbs|maxGrpDayVegaLn|maxGrpDayVegaSh|maxGrpDayVegaAbs|grpDayVegaRatio|maxGrpDayRMetric1Ln|maxGrpDayRMetric1Sh|maxGrpDayRMetric1Abs|grpDayRMetric1Ratio|refRMetric1Src|orderRefRMetric1|cpx1|csz1|cex1|cpx2|csz2|cex2|cMore|numNewOrders|numParentLimits|userData1|userData2|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 = 'engineName: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=SpdrMLegBrkrState' \
--data-urlencode 'view=engineName|parentNumber|baseParentNumber|modifyNumber|altOrderId|packageId|altAccnt|altUserName|stageType|startType|isFlagged|noticeNumber|execBrkrCode|spreadClass|spreadFlavor|stockSide|ssaleFlag|locateQuan|locateFirm|locatePool|stockShares|stockLegId|stockFillQuan|stockAvgFillPrice|refUPrc|liveUPrc|uPriceFormat|stockCpx|stockCsz|stockCex|numLegs|secKey1|secType1|ratio1|side1|positionType1|legId1|fillQuan1|avgFillPrice1|vega1|refUPrc1|refDelta1|refEarnCnt1|liveUPrc1|priceFormat1|legCpx1|legCsz1|legCex1|legCmplAvgPrice1|legCmplSecKey1|legCmplSecType1|secKey2|secType2|ratio2|side2|positionType2|legId2|fillQuan2|avgFillPrice2|vega2|refUPrc2|refDelta2|refEarnCnt2|liveUPrc2|priceFormat2|legCpx2|legCsz2|legCex2|legCmplAvgPrice2|legCmplSecKey2|legCmplSecType2|secKey3|secType3|ratio3|side3|positionType3|legId3|fillQuan3|avgFillPrice3|vega3|refUPrc3|refDelta3|refEarnCnt3|liveUPrc3|priceFormat3|legCpx3|legCsz3|legCex3|legCmplAvgPrice3|legCmplSecKey3|legCmplSecType3|secKey4|secType4|ratio4|side4|positionType4|legId4|fillQuan4|avgFillPrice4|vega4|refUPrc4|refDelta4|refEarnCnt4|liveUPrc4|priceFormat4|legCpx4|legCsz4|legCex4|legCmplAvgPrice4|legCmplSecKey4|legCmplSecType4|secKey5|secType5|ratio5|side5|positionType5|legId5|fillQuan5|avgFillPrice5|vega5|refUPrc5|refDelta5|refEarnCnt5|liveUPrc5|priceFormat5|legCpx5|legCsz5|legCex5|legCmplAvgPrice5|legCmplSecKey5|legCmplSecType5|secKey6|secType6|ratio6|side6|positionType6|legId6|fillQuan6|avgFillPrice6|vega6|refUPrc6|refDelta6|refEarnCnt6|liveUPrc6|priceFormat6|legCpx6|legCsz6|legCex6|legCmplAvgPrice6|legCmplSecKey6|legCmplSecType6|mlegVega|mlegWtVega|mlegDelta|mlegGamma|mlegTheta|description|orderSize|orderActiveSize|leavesQuantity|spdrOrderStatus|spdrCloseReason|spdrRejectReason|spdrCloseDetailTxt|activeHoldState|activeHoldReason|openLegs|cumSquareQty|avgSquarePrc|cumPartialQty|completionType|completionState|avgSquareCmplPrice|fillVega|fillWtVega|fillDelta|fillDDelta|fillGamma|fillTheta|lastFillDttm|riskLimitSize|riskLimitDesc|riskLimitLevel|maxProgress|maxProgressDetail|maxProgressTime|algoState|algoCounter|makeState|makeCounter|mktRespState|mktRespCounter|brokerState|brokerCounter|spdrMktState|spdrBrokerStatus|progressRuleDetail|lastChildRejectDttm|lastChildRejectText|riskGroupId|triggerGroupId|hedgeGroupingCode|autoHedge|hedgeInstrument|hedgeSecKey|hedgeSecType|hedgeBetaRatio|hedgeScope|externHedgeExDest|externHedgeParams|hedgeFillUMarkLmtPrc|bestWayPrc|wrstWayPrc|bestWaySz|wrstWaySz|surfacePrc|surfaceVol|surfaceUPrc|limitPrice|limitRefUPrc|limitErr|makeLimitPrice|takeLimitPrice|cxlUPrcRange|minUBid|maxUAsk|minMaxType|leadSide|maxCompletionSlippage|orderRefPremium|strategy|userName|visibleInSV|spdrComment|takeReachRule|maxExposureSize|numMakeExchanges|publicSize|progressRule|progressSliceCnt|progressExposeTime|maxChildOrders|exchMask|marketSession|startDttm|orderDuration|activeDuration|goodTillDttm|expireDttm|parentOrderHandling|parentBalanceHandling|atsVisibility|orderLimitType|orderVolLimit|orderPrcLimit|orderRefUPrc|orderRefDe|orderRefGa|orderPrcOffset|takeLimitClass|takeAlphaType|takeAlphaFactor|takeAlphaProbability|takeSurfPrcOffset|takeSurfVolOffset|takeSurfWidOffset|makeLimitClass|makeAlphaType|makeAlphaFactor|makeAlphaProbability|makeSurfPrcOffset|makeSurfVolOffset|makeSurfWidOffset|orderRefEventMult|orderRefEventDttm|mlegProbLimit|mlegSurfOffset|externExDest|orderDttm|minSurfVol|maxSurfVol|minSurfPrc|maxSurfPrc|minSurfUPrc|maxSurfUPrc|minQteWidth|avgQteWidth|cntQteWidth|arriveBid|arriveAsk|totalSeconds|workingSeconds|prtActiveCnt|prtQtyActive|cumExchFee|cumM10Pnl|cumArrivalPnl|uPrcDrift|sVolDrift|maxGrpDayDDeltaLn|maxGrpDayDDeltaSh|maxGrpDayContractsLn|maxGrpDayContractsSh|maxGrpDayContractsAbs|maxGrpDayVegaLn|maxGrpDayVegaSh|maxGrpDayVegaAbs|grpDayVegaRatio|maxGrpDayRMetric1Ln|maxGrpDayRMetric1Sh|maxGrpDayRMetric1Abs|grpDayRMetric1Ratio|refRMetric1Src|orderRefRMetric1|cpx1|csz1|cex1|cpx2|csz2|cex2|cMore|numNewOrders|numParentLimits|userData1|userData2|numUpdates|timestamp' \
--data-urlencode 'where=accnt:eq:ExampleString' \
--data-urlencode 'limit=500' \
--data-urlencode 'order=engineName: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 = 'SpdrMLegBrkrState'
# Replace with fields you want to see aggregate values for. A "|" separated list of measures should be provided
MEASURE = 'engineName|parentNumber|baseParentNumber|modifyNumber|altOrderId|packageId|altAccnt|altUserName|stageType|startType|isFlagged|noticeNumber|execBrkrCode|spreadClass|spreadFlavor|stockSide|ssaleFlag|locateQuan|locateFirm|locatePool|stockShares|stockLegId|stockFillQuan|stockAvgFillPrice|refUPrc|liveUPrc|uPriceFormat|stockCpx|stockCsz|stockCex|numLegs|secKey1|secType1|ratio1|side1|positionType1|legId1|fillQuan1|avgFillPrice1|vega1|refUPrc1|refDelta1|refEarnCnt1|liveUPrc1|priceFormat1|legCpx1|legCsz1|legCex1|legCmplAvgPrice1|legCmplSecKey1|legCmplSecType1|secKey2|secType2|ratio2|side2|positionType2|legId2|fillQuan2|avgFillPrice2|vega2|refUPrc2|refDelta2|refEarnCnt2|liveUPrc2|priceFormat2|legCpx2|legCsz2|legCex2|legCmplAvgPrice2|legCmplSecKey2|legCmplSecType2|secKey3|secType3|ratio3|side3|positionType3|legId3|fillQuan3|avgFillPrice3|vega3|refUPrc3|refDelta3|refEarnCnt3|liveUPrc3|priceFormat3|legCpx3|legCsz3|legCex3|legCmplAvgPrice3|legCmplSecKey3|legCmplSecType3|secKey4|secType4|ratio4|side4|positionType4|legId4|fillQuan4|avgFillPrice4|vega4|refUPrc4|refDelta4|refEarnCnt4|liveUPrc4|priceFormat4|legCpx4|legCsz4|legCex4|legCmplAvgPrice4|legCmplSecKey4|legCmplSecType4|secKey5|secType5|ratio5|side5|positionType5|legId5|fillQuan5|avgFillPrice5|vega5|refUPrc5|refDelta5|refEarnCnt5|liveUPrc5|priceFormat5|legCpx5|legCsz5|legCex5|legCmplAvgPrice5|legCmplSecKey5|legCmplSecType5|secKey6|secType6|ratio6|side6|positionType6|legId6|fillQuan6|avgFillPrice6|vega6|refUPrc6|refDelta6|refEarnCnt6|liveUPrc6|priceFormat6|legCpx6|legCsz6|legCex6|legCmplAvgPrice6|legCmplSecKey6|legCmplSecType6|mlegVega|mlegWtVega|mlegDelta|mlegGamma|mlegTheta|description|orderSize|orderActiveSize|leavesQuantity|spdrOrderStatus|spdrCloseReason|spdrRejectReason|spdrCloseDetailTxt|activeHoldState|activeHoldReason|openLegs|cumSquareQty|avgSquarePrc|cumPartialQty|completionType|completionState|avgSquareCmplPrice|fillVega|fillWtVega|fillDelta|fillDDelta|fillGamma|fillTheta|lastFillDttm|riskLimitSize|riskLimitDesc|riskLimitLevel|maxProgress|maxProgressDetail|maxProgressTime|algoState|algoCounter|makeState|makeCounter|mktRespState|mktRespCounter|brokerState|brokerCounter|spdrMktState|spdrBrokerStatus|progressRuleDetail|lastChildRejectDttm|lastChildRejectText|riskGroupId|triggerGroupId|hedgeGroupingCode|autoHedge|hedgeInstrument|hedgeSecKey|hedgeSecType|hedgeBetaRatio|hedgeScope|externHedgeExDest|externHedgeParams|hedgeFillUMarkLmtPrc|bestWayPrc|wrstWayPrc|bestWaySz|wrstWaySz|surfacePrc|surfaceVol|surfaceUPrc|limitPrice|limitRefUPrc|limitErr|makeLimitPrice|takeLimitPrice|cxlUPrcRange|minUBid|maxUAsk|minMaxType|leadSide|maxCompletionSlippage|orderRefPremium|strategy|userName|visibleInSV|spdrComment|takeReachRule|maxExposureSize|numMakeExchanges|publicSize|progressRule|progressSliceCnt|progressExposeTime|maxChildOrders|exchMask|marketSession|startDttm|orderDuration|activeDuration|goodTillDttm|expireDttm|parentOrderHandling|parentBalanceHandling|atsVisibility|orderLimitType|orderVolLimit|orderPrcLimit|orderRefUPrc|orderRefDe|orderRefGa|orderPrcOffset|takeLimitClass|takeAlphaType|takeAlphaFactor|takeAlphaProbability|takeSurfPrcOffset|takeSurfVolOffset|takeSurfWidOffset|makeLimitClass|makeAlphaType|makeAlphaFactor|makeAlphaProbability|makeSurfPrcOffset|makeSurfVolOffset|makeSurfWidOffset|orderRefEventMult|orderRefEventDttm|mlegProbLimit|mlegSurfOffset|externExDest|orderDttm|minSurfVol|maxSurfVol|minSurfPrc|maxSurfPrc|minSurfUPrc|maxSurfUPrc|minQteWidth|avgQteWidth|cntQteWidth|arriveBid|arriveAsk|totalSeconds|workingSeconds|prtActiveCnt|prtQtyActive|cumExchFee|cumM10Pnl|cumArrivalPnl|uPrcDrift|sVolDrift|maxGrpDayDDeltaLn|maxGrpDayDDeltaSh|maxGrpDayContractsLn|maxGrpDayContractsSh|maxGrpDayContractsAbs|maxGrpDayVegaLn|maxGrpDayVegaSh|maxGrpDayVegaAbs|grpDayVegaRatio|maxGrpDayRMetric1Ln|maxGrpDayRMetric1Sh|maxGrpDayRMetric1Abs|grpDayRMetric1Ratio|refRMetric1Src|orderRefRMetric1|cpx1|csz1|cex1|cpx2|csz2|cex2|cMore|numNewOrders|numParentLimits|userData1|userData2|numUpdates|timestamp'
# Replace with fields you want to see aggregated. A "|" separated list of fields should be provided
GROUP = 'stageType|startType|isFlagged|spreadClass|spreadFlavor|stockSide|ssaleFlag|uPriceFormat|secType1|side1|positionType1|priceFormat1|legCmplSecType1|secType2|side2|positionType2|priceFormat2|legCmplSecType2|secType3|side3|positionType3|priceFormat3|legCmplSecType3|secType4|side4|positionType4|priceFormat4|legCmplSecType4|secType5|side5|positionType5|priceFormat5|legCmplSecType5|secType6|side6|positionType6|priceFormat6|legCmplSecType6|spdrOrderStatus|spdrCloseReason|spdrRejectReason|activeHoldState|completionType|completionState|riskLimitDesc|riskLimitLevel|maxProgress|algoState|makeState|mktRespState|brokerState|spdrMktState|spdrBrokerStatus|autoHedge|hedgeInstrument|hedgeSecType|hedgeScope|hedgeFillUMarkLmtPrc|limitErr|cxlUPrcRange|minMaxType|leadSide|visibleInSV|takeReachRule|publicSize|progressRule|marketSession|parentOrderHandling|parentBalanceHandling|atsVisibility|orderLimitType|takeLimitClass|takeAlphaType|makeLimitClass|makeAlphaType|refRMetric1Src'
# 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=SpdrMLegBrkrState' \
--data-urlencode 'measure=engineName|parentNumber|baseParentNumber|modifyNumber|altOrderId|packageId|altAccnt|altUserName|stageType|startType|isFlagged|noticeNumber|execBrkrCode|spreadClass|spreadFlavor|stockSide|ssaleFlag|locateQuan|locateFirm|locatePool|stockShares|stockLegId|stockFillQuan|stockAvgFillPrice|refUPrc|liveUPrc|uPriceFormat|stockCpx|stockCsz|stockCex|numLegs|secKey1|secType1|ratio1|side1|positionType1|legId1|fillQuan1|avgFillPrice1|vega1|refUPrc1|refDelta1|refEarnCnt1|liveUPrc1|priceFormat1|legCpx1|legCsz1|legCex1|legCmplAvgPrice1|legCmplSecKey1|legCmplSecType1|secKey2|secType2|ratio2|side2|positionType2|legId2|fillQuan2|avgFillPrice2|vega2|refUPrc2|refDelta2|refEarnCnt2|liveUPrc2|priceFormat2|legCpx2|legCsz2|legCex2|legCmplAvgPrice2|legCmplSecKey2|legCmplSecType2|secKey3|secType3|ratio3|side3|positionType3|legId3|fillQuan3|avgFillPrice3|vega3|refUPrc3|refDelta3|refEarnCnt3|liveUPrc3|priceFormat3|legCpx3|legCsz3|legCex3|legCmplAvgPrice3|legCmplSecKey3|legCmplSecType3|secKey4|secType4|ratio4|side4|positionType4|legId4|fillQuan4|avgFillPrice4|vega4|refUPrc4|refDelta4|refEarnCnt4|liveUPrc4|priceFormat4|legCpx4|legCsz4|legCex4|legCmplAvgPrice4|legCmplSecKey4|legCmplSecType4|secKey5|secType5|ratio5|side5|positionType5|legId5|fillQuan5|avgFillPrice5|vega5|refUPrc5|refDelta5|refEarnCnt5|liveUPrc5|priceFormat5|legCpx5|legCsz5|legCex5|legCmplAvgPrice5|legCmplSecKey5|legCmplSecType5|secKey6|secType6|ratio6|side6|positionType6|legId6|fillQuan6|avgFillPrice6|vega6|refUPrc6|refDelta6|refEarnCnt6|liveUPrc6|priceFormat6|legCpx6|legCsz6|legCex6|legCmplAvgPrice6|legCmplSecKey6|legCmplSecType6|mlegVega|mlegWtVega|mlegDelta|mlegGamma|mlegTheta|description|orderSize|orderActiveSize|leavesQuantity|spdrOrderStatus|spdrCloseReason|spdrRejectReason|spdrCloseDetailTxt|activeHoldState|activeHoldReason|openLegs|cumSquareQty|avgSquarePrc|cumPartialQty|completionType|completionState|avgSquareCmplPrice|fillVega|fillWtVega|fillDelta|fillDDelta|fillGamma|fillTheta|lastFillDttm|riskLimitSize|riskLimitDesc|riskLimitLevel|maxProgress|maxProgressDetail|maxProgressTime|algoState|algoCounter|makeState|makeCounter|mktRespState|mktRespCounter|brokerState|brokerCounter|spdrMktState|spdrBrokerStatus|progressRuleDetail|lastChildRejectDttm|lastChildRejectText|riskGroupId|triggerGroupId|hedgeGroupingCode|autoHedge|hedgeInstrument|hedgeSecKey|hedgeSecType|hedgeBetaRatio|hedgeScope|externHedgeExDest|externHedgeParams|hedgeFillUMarkLmtPrc|bestWayPrc|wrstWayPrc|bestWaySz|wrstWaySz|surfacePrc|surfaceVol|surfaceUPrc|limitPrice|limitRefUPrc|limitErr|makeLimitPrice|takeLimitPrice|cxlUPrcRange|minUBid|maxUAsk|minMaxType|leadSide|maxCompletionSlippage|orderRefPremium|strategy|userName|visibleInSV|spdrComment|takeReachRule|maxExposureSize|numMakeExchanges|publicSize|progressRule|progressSliceCnt|progressExposeTime|maxChildOrders|exchMask|marketSession|startDttm|orderDuration|activeDuration|goodTillDttm|expireDttm|parentOrderHandling|parentBalanceHandling|atsVisibility|orderLimitType|orderVolLimit|orderPrcLimit|orderRefUPrc|orderRefDe|orderRefGa|orderPrcOffset|takeLimitClass|takeAlphaType|takeAlphaFactor|takeAlphaProbability|takeSurfPrcOffset|takeSurfVolOffset|takeSurfWidOffset|makeLimitClass|makeAlphaType|makeAlphaFactor|makeAlphaProbability|makeSurfPrcOffset|makeSurfVolOffset|makeSurfWidOffset|orderRefEventMult|orderRefEventDttm|mlegProbLimit|mlegSurfOffset|externExDest|orderDttm|minSurfVol|maxSurfVol|minSurfPrc|maxSurfPrc|minSurfUPrc|maxSurfUPrc|minQteWidth|avgQteWidth|cntQteWidth|arriveBid|arriveAsk|totalSeconds|workingSeconds|prtActiveCnt|prtQtyActive|cumExchFee|cumM10Pnl|cumArrivalPnl|uPrcDrift|sVolDrift|maxGrpDayDDeltaLn|maxGrpDayDDeltaSh|maxGrpDayContractsLn|maxGrpDayContractsSh|maxGrpDayContractsAbs|maxGrpDayVegaLn|maxGrpDayVegaSh|maxGrpDayVegaAbs|grpDayVegaRatio|maxGrpDayRMetric1Ln|maxGrpDayRMetric1Sh|maxGrpDayRMetric1Abs|grpDayRMetric1Ratio|refRMetric1Src|orderRefRMetric1|cpx1|csz1|cex1|cpx2|csz2|cex2|cMore|numNewOrders|numParentLimits|userData1|userData2|numUpdates|timestamp' \
--data-urlencode 'group=stageType|startType|isFlagged|spreadClass|spreadFlavor|stockSide|ssaleFlag|uPriceFormat|secType1|side1|positionType1|priceFormat1|legCmplSecType1|secType2|side2|positionType2|priceFormat2|legCmplSecType2|secType3|side3|positionType3|priceFormat3|legCmplSecType3|secType4|side4|positionType4|priceFormat4|legCmplSecType4|secType5|side5|positionType5|priceFormat5|legCmplSecType5|secType6|side6|positionType6|priceFormat6|legCmplSecType6|spdrOrderStatus|spdrCloseReason|spdrRejectReason|activeHoldState|completionType|completionState|riskLimitDesc|riskLimitLevel|maxProgress|algoState|makeState|mktRespState|brokerState|spdrMktState|spdrBrokerStatus|autoHedge|hedgeInstrument|hedgeSecType|hedgeScope|hedgeFillUMarkLmtPrc|limitErr|cxlUPrcRange|minMaxType|leadSide|visibleInSV|takeReachRule|publicSize|progressRule|marketSession|parentOrderHandling|parentBalanceHandling|atsVisibility|orderLimitType|takeLimitClass|takeAlphaType|makeLimitClass|makeAlphaType|refRMetric1Src' \
--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 = 'SpdrMLegBrkrState'
# 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=SpdrMLegBrkrState' \
--data-urlencode 'where=accnt:eq:ExampleString'