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 | 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) |
1042 | spreadClass | enum : ToolSpreadClass | |
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 |
175 | stockCex | uint | [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 |
229 | legCex1 | uint | [child] bit mask of all exchanges where we are representing this order |
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 |
280 | legCex2 | uint | [child] bit mask of all exchanges where we are representing this order |
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 |
331 | legCex3 | uint | [child] bit mask of all exchanges where we are representing this order |
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 |
382 | legCex4 | uint | [child] bit mask of all exchanges where we are representing this order |
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 |
433 | legCex5 | uint | [child] bit mask of all exchanges where we are representing this order |
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 |
484 | legCex6 | uint | [child] bit mask of all exchanges where we are representing this order |
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 | |
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] |
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 |
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 |
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] |
736 | exchMask | uint | eligible exchanges (0 = all) |
1045 | marketSession | enum : MarketSession | |
742 | startDttm | DateTime | [optional] (parent order start 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 | |
757 | blockVisibility | enum : BlockVisibility | |
760 | orderLimitType | enum : SpdrLimitType | |
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 | max acct+riskGroup day $delta long (positive number;-1=no limit);risk limit = max limit - current net counter |
949 | maxGrpDayDDeltaSh | float | max acct+riskGroup day $delta short (positive number;-1=no limit);risk limit = max limit + current net counter |
979 | maxGrpDayContractsLn | int | max acct+riskGroup day opt contracts long (positive number;-1=no limit);risk limit = max limit - current net counter |
982 | maxGrpDayContractsSh | int | max acct+riskGroup day opt contracts short (positive number;-1=no limit);risk limit = max limit + current net counter |
985 | maxGrpDayContractsAbs | int | max acct+riskGroup day opt contracts abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter) |
955 | maxGrpDayVegaLn | float | max acct+riskGroup day vega long (positive number;-1=no limit);risk limit = max limit - current net counter |
958 | maxGrpDayVegaSh | float | max acct+riskGroup day vega short (positive number;-1=no limit);risk limit = max limit + current net counter |
961 | maxGrpDayVegaAbs | float | max acct+riskGroup day vega abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter) |
964 | grpDayVegaRatio | float | target bot / sld ratio (eg ratio=2.0 means that neutral is bot vega = 2x sld vega) |
1048 | maxGrpDayRMetric1Ln | float | max acct+riskGroup day rMetric1 long (positive number;-1=no limit);risk limit = max limit - current net counter |
1049 | maxGrpDayRMetric1Sh | float | max acct+riskGroup day rMetric1 short (positive number;-1=no limit);risk limit = max limit + current net counter |
1050 | maxGrpDayRMetric1Abs | float | max acct+riskGroup day rMetric1 abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter) |
1051 | grpDayRMetric1Ratio | float | target bot / sld ratio (eg ratio=0.5 means that neutral is bot rMetric1 = 0.5x sld rMetric1) |
1000 | cpx1 | float | |
1003 | csz1 | int | cumulative size represented at this price |
1006 | cex1 | uint | bit mask of all exchanges where we are representing this order |
1009 | cpx2 | float | |
1012 | csz2 | int | cumulative size represented at this price |
1015 | cex2 | uint | 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|secKey2|secType2|ratio2|side2|positionType2|legId2|fillQuan2|avgFillPrice2|vega2|refUPrc2|refDelta2|refEarnCnt2|liveUPrc2|priceFormat2|legCpx2|legCsz2|legCex2|secKey3|secType3|ratio3|side3|positionType3|legId3|fillQuan3|avgFillPrice3|vega3|refUPrc3|refDelta3|refEarnCnt3|liveUPrc3|priceFormat3|legCpx3|legCsz3|legCex3|secKey4|secType4|ratio4|side4|positionType4|legId4|fillQuan4|avgFillPrice4|vega4|refUPrc4|refDelta4|refEarnCnt4|liveUPrc4|priceFormat4|legCpx4|legCsz4|legCex4|secKey5|secType5|ratio5|side5|positionType5|legId5|fillQuan5|avgFillPrice5|vega5|refUPrc5|refDelta5|refEarnCnt5|liveUPrc5|priceFormat5|legCpx5|legCsz5|legCex5|secKey6|secType6|ratio6|side6|positionType6|legId6|fillQuan6|avgFillPrice6|vega6|refUPrc6|refDelta6|refEarnCnt6|liveUPrc6|priceFormat6|legCpx6|legCsz6|legCex6|mlegVega|mlegWtVega|mlegDelta|mlegGamma|mlegTheta|description|orderSize|orderActiveSize|leavesQuantity|spdrOrderStatus|spdrCloseReason|spdrRejectReason|spdrCloseDetailTxt|openLegs|cumSquareQty|avgSquarePrc|cumPartialQty|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|bestWayPrc|wrstWayPrc|bestWaySz|wrstWaySz|surfacePrc|surfaceVol|surfaceUPrc|limitPrice|limitRefUPrc|limitErr|makeLimitPrice|takeLimitPrice|cxlUPrcRange|minUBid|maxUAsk|minMaxType|leadSide|maxCompletionSlippage|orderRefPremium|strategy|userName|spdrComment|takeReachRule|maxExposureSize|numMakeExchanges|publicSize|progressRule|progressSliceCnt|progressExposeTime|maxChildOrders|exchMask|marketSession|startDttm|orderDuration|activeDuration|goodTillDttm|expireDttm|parentOrderHandling|parentBalanceHandling|blockVisibility|orderLimitType|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|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|secKey2|secType2|ratio2|side2|positionType2|legId2|fillQuan2|avgFillPrice2|vega2|refUPrc2|refDelta2|refEarnCnt2|liveUPrc2|priceFormat2|legCpx2|legCsz2|legCex2|secKey3|secType3|ratio3|side3|positionType3|legId3|fillQuan3|avgFillPrice3|vega3|refUPrc3|refDelta3|refEarnCnt3|liveUPrc3|priceFormat3|legCpx3|legCsz3|legCex3|secKey4|secType4|ratio4|side4|positionType4|legId4|fillQuan4|avgFillPrice4|vega4|refUPrc4|refDelta4|refEarnCnt4|liveUPrc4|priceFormat4|legCpx4|legCsz4|legCex4|secKey5|secType5|ratio5|side5|positionType5|legId5|fillQuan5|avgFillPrice5|vega5|refUPrc5|refDelta5|refEarnCnt5|liveUPrc5|priceFormat5|legCpx5|legCsz5|legCex5|secKey6|secType6|ratio6|side6|positionType6|legId6|fillQuan6|avgFillPrice6|vega6|refUPrc6|refDelta6|refEarnCnt6|liveUPrc6|priceFormat6|legCpx6|legCsz6|legCex6|mlegVega|mlegWtVega|mlegDelta|mlegGamma|mlegTheta|description|orderSize|orderActiveSize|leavesQuantity|spdrOrderStatus|spdrCloseReason|spdrRejectReason|spdrCloseDetailTxt|openLegs|cumSquareQty|avgSquarePrc|cumPartialQty|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|bestWayPrc|wrstWayPrc|bestWaySz|wrstWaySz|surfacePrc|surfaceVol|surfaceUPrc|limitPrice|limitRefUPrc|limitErr|makeLimitPrice|takeLimitPrice|cxlUPrcRange|minUBid|maxUAsk|minMaxType|leadSide|maxCompletionSlippage|orderRefPremium|strategy|userName|spdrComment|takeReachRule|maxExposureSize|numMakeExchanges|publicSize|progressRule|progressSliceCnt|progressExposeTime|maxChildOrders|exchMask|marketSession|startDttm|orderDuration|activeDuration|goodTillDttm|expireDttm|parentOrderHandling|parentBalanceHandling|blockVisibility|orderLimitType|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|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|secKey2|secType2|ratio2|side2|positionType2|legId2|fillQuan2|avgFillPrice2|vega2|refUPrc2|refDelta2|refEarnCnt2|liveUPrc2|priceFormat2|legCpx2|legCsz2|legCex2|secKey3|secType3|ratio3|side3|positionType3|legId3|fillQuan3|avgFillPrice3|vega3|refUPrc3|refDelta3|refEarnCnt3|liveUPrc3|priceFormat3|legCpx3|legCsz3|legCex3|secKey4|secType4|ratio4|side4|positionType4|legId4|fillQuan4|avgFillPrice4|vega4|refUPrc4|refDelta4|refEarnCnt4|liveUPrc4|priceFormat4|legCpx4|legCsz4|legCex4|secKey5|secType5|ratio5|side5|positionType5|legId5|fillQuan5|avgFillPrice5|vega5|refUPrc5|refDelta5|refEarnCnt5|liveUPrc5|priceFormat5|legCpx5|legCsz5|legCex5|secKey6|secType6|ratio6|side6|positionType6|legId6|fillQuan6|avgFillPrice6|vega6|refUPrc6|refDelta6|refEarnCnt6|liveUPrc6|priceFormat6|legCpx6|legCsz6|legCex6|mlegVega|mlegWtVega|mlegDelta|mlegGamma|mlegTheta|description|orderSize|orderActiveSize|leavesQuantity|spdrOrderStatus|spdrCloseReason|spdrRejectReason|spdrCloseDetailTxt|openLegs|cumSquareQty|avgSquarePrc|cumPartialQty|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|bestWayPrc|wrstWayPrc|bestWaySz|wrstWaySz|surfacePrc|surfaceVol|surfaceUPrc|limitPrice|limitRefUPrc|limitErr|makeLimitPrice|takeLimitPrice|cxlUPrcRange|minUBid|maxUAsk|minMaxType|leadSide|maxCompletionSlippage|orderRefPremium|strategy|userName|spdrComment|takeReachRule|maxExposureSize|numMakeExchanges|publicSize|progressRule|progressSliceCnt|progressExposeTime|maxChildOrders|exchMask|marketSession|startDttm|orderDuration|activeDuration|goodTillDttm|expireDttm|parentOrderHandling|parentBalanceHandling|blockVisibility|orderLimitType|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|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|secKey2|secType2|ratio2|side2|positionType2|legId2|fillQuan2|avgFillPrice2|vega2|refUPrc2|refDelta2|refEarnCnt2|liveUPrc2|priceFormat2|legCpx2|legCsz2|legCex2|secKey3|secType3|ratio3|side3|positionType3|legId3|fillQuan3|avgFillPrice3|vega3|refUPrc3|refDelta3|refEarnCnt3|liveUPrc3|priceFormat3|legCpx3|legCsz3|legCex3|secKey4|secType4|ratio4|side4|positionType4|legId4|fillQuan4|avgFillPrice4|vega4|refUPrc4|refDelta4|refEarnCnt4|liveUPrc4|priceFormat4|legCpx4|legCsz4|legCex4|secKey5|secType5|ratio5|side5|positionType5|legId5|fillQuan5|avgFillPrice5|vega5|refUPrc5|refDelta5|refEarnCnt5|liveUPrc5|priceFormat5|legCpx5|legCsz5|legCex5|secKey6|secType6|ratio6|side6|positionType6|legId6|fillQuan6|avgFillPrice6|vega6|refUPrc6|refDelta6|refEarnCnt6|liveUPrc6|priceFormat6|legCpx6|legCsz6|legCex6|mlegVega|mlegWtVega|mlegDelta|mlegGamma|mlegTheta|description|orderSize|orderActiveSize|leavesQuantity|spdrOrderStatus|spdrCloseReason|spdrRejectReason|spdrCloseDetailTxt|openLegs|cumSquareQty|avgSquarePrc|cumPartialQty|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|bestWayPrc|wrstWayPrc|bestWaySz|wrstWaySz|surfacePrc|surfaceVol|surfaceUPrc|limitPrice|limitRefUPrc|limitErr|makeLimitPrice|takeLimitPrice|cxlUPrcRange|minUBid|maxUAsk|minMaxType|leadSide|maxCompletionSlippage|orderRefPremium|strategy|userName|spdrComment|takeReachRule|maxExposureSize|numMakeExchanges|publicSize|progressRule|progressSliceCnt|progressExposeTime|maxChildOrders|exchMask|marketSession|startDttm|orderDuration|activeDuration|goodTillDttm|expireDttm|parentOrderHandling|parentBalanceHandling|blockVisibility|orderLimitType|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|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|secKey2|secType2|ratio2|side2|positionType2|legId2|fillQuan2|avgFillPrice2|vega2|refUPrc2|refDelta2|refEarnCnt2|liveUPrc2|priceFormat2|legCpx2|legCsz2|legCex2|secKey3|secType3|ratio3|side3|positionType3|legId3|fillQuan3|avgFillPrice3|vega3|refUPrc3|refDelta3|refEarnCnt3|liveUPrc3|priceFormat3|legCpx3|legCsz3|legCex3|secKey4|secType4|ratio4|side4|positionType4|legId4|fillQuan4|avgFillPrice4|vega4|refUPrc4|refDelta4|refEarnCnt4|liveUPrc4|priceFormat4|legCpx4|legCsz4|legCex4|secKey5|secType5|ratio5|side5|positionType5|legId5|fillQuan5|avgFillPrice5|vega5|refUPrc5|refDelta5|refEarnCnt5|liveUPrc5|priceFormat5|legCpx5|legCsz5|legCex5|secKey6|secType6|ratio6|side6|positionType6|legId6|fillQuan6|avgFillPrice6|vega6|refUPrc6|refDelta6|refEarnCnt6|liveUPrc6|priceFormat6|legCpx6|legCsz6|legCex6|mlegVega|mlegWtVega|mlegDelta|mlegGamma|mlegTheta|description|orderSize|orderActiveSize|leavesQuantity|spdrOrderStatus|spdrCloseReason|spdrRejectReason|spdrCloseDetailTxt|openLegs|cumSquareQty|avgSquarePrc|cumPartialQty|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|bestWayPrc|wrstWayPrc|bestWaySz|wrstWaySz|surfacePrc|surfaceVol|surfaceUPrc|limitPrice|limitRefUPrc|limitErr|makeLimitPrice|takeLimitPrice|cxlUPrcRange|minUBid|maxUAsk|minMaxType|leadSide|maxCompletionSlippage|orderRefPremium|strategy|userName|spdrComment|takeReachRule|maxExposureSize|numMakeExchanges|publicSize|progressRule|progressSliceCnt|progressExposeTime|maxChildOrders|exchMask|marketSession|startDttm|orderDuration|activeDuration|goodTillDttm|expireDttm|parentOrderHandling|parentBalanceHandling|blockVisibility|orderLimitType|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|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|secType2|side2|positionType2|priceFormat2|secType3|side3|positionType3|priceFormat3|secType4|side4|positionType4|priceFormat4|secType5|side5|positionType5|priceFormat5|secType6|side6|positionType6|priceFormat6|spdrOrderStatus|spdrCloseReason|spdrRejectReason|riskLimitDesc|riskLimitLevel|maxProgress|algoState|makeState|mktRespState|brokerState|spdrMktState|spdrBrokerStatus|autoHedge|hedgeInstrument|hedgeSecType|hedgeScope|limitErr|cxlUPrcRange|minMaxType|leadSide|takeReachRule|publicSize|progressRule|marketSession|parentOrderHandling|parentBalanceHandling|blockVisibility|orderLimitType|takeLimitClass|takeAlphaType|makeLimitClass|makeAlphaType'
# 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|secKey2|secType2|ratio2|side2|positionType2|legId2|fillQuan2|avgFillPrice2|vega2|refUPrc2|refDelta2|refEarnCnt2|liveUPrc2|priceFormat2|legCpx2|legCsz2|legCex2|secKey3|secType3|ratio3|side3|positionType3|legId3|fillQuan3|avgFillPrice3|vega3|refUPrc3|refDelta3|refEarnCnt3|liveUPrc3|priceFormat3|legCpx3|legCsz3|legCex3|secKey4|secType4|ratio4|side4|positionType4|legId4|fillQuan4|avgFillPrice4|vega4|refUPrc4|refDelta4|refEarnCnt4|liveUPrc4|priceFormat4|legCpx4|legCsz4|legCex4|secKey5|secType5|ratio5|side5|positionType5|legId5|fillQuan5|avgFillPrice5|vega5|refUPrc5|refDelta5|refEarnCnt5|liveUPrc5|priceFormat5|legCpx5|legCsz5|legCex5|secKey6|secType6|ratio6|side6|positionType6|legId6|fillQuan6|avgFillPrice6|vega6|refUPrc6|refDelta6|refEarnCnt6|liveUPrc6|priceFormat6|legCpx6|legCsz6|legCex6|mlegVega|mlegWtVega|mlegDelta|mlegGamma|mlegTheta|description|orderSize|orderActiveSize|leavesQuantity|spdrOrderStatus|spdrCloseReason|spdrRejectReason|spdrCloseDetailTxt|openLegs|cumSquareQty|avgSquarePrc|cumPartialQty|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|bestWayPrc|wrstWayPrc|bestWaySz|wrstWaySz|surfacePrc|surfaceVol|surfaceUPrc|limitPrice|limitRefUPrc|limitErr|makeLimitPrice|takeLimitPrice|cxlUPrcRange|minUBid|maxUAsk|minMaxType|leadSide|maxCompletionSlippage|orderRefPremium|strategy|userName|spdrComment|takeReachRule|maxExposureSize|numMakeExchanges|publicSize|progressRule|progressSliceCnt|progressExposeTime|maxChildOrders|exchMask|marketSession|startDttm|orderDuration|activeDuration|goodTillDttm|expireDttm|parentOrderHandling|parentBalanceHandling|blockVisibility|orderLimitType|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|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|secType2|side2|positionType2|priceFormat2|secType3|side3|positionType3|priceFormat3|secType4|side4|positionType4|priceFormat4|secType5|side5|positionType5|priceFormat5|secType6|side6|positionType6|priceFormat6|spdrOrderStatus|spdrCloseReason|spdrRejectReason|riskLimitDesc|riskLimitLevel|maxProgress|algoState|makeState|mktRespState|brokerState|spdrMktState|spdrBrokerStatus|autoHedge|hedgeInstrument|hedgeSecType|hedgeScope|limitErr|cxlUPrcRange|minMaxType|leadSide|takeReachRule|publicSize|progressRule|marketSession|parentOrderHandling|parentBalanceHandling|blockVisibility|orderLimitType|takeLimitClass|takeAlphaType|makeLimitClass|makeAlphaType' \
--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'