Schema: LiveSurfaceFixedTerm (ID: 1045)
LiveSurfaceFixedTerm (surfaceType = 'Live') records contain a live implied volatility term record at standardized days-to-expiration. SurfaceType = 'PriorDay' records contain the final record from the prior trading day.
These records include implied and histrical earnings moves, implied earnings date adjustments, and interpolated/gridded atm, sdiv, and quote width values.
LiveSurfaceTerm records are published to the SpiderRock elastic cluster every 10 minutes for all equity and index underliers with options.
METADATA
Attribute | Value |
---|---|
Topic | 1000-analytics |
MLink Token | OptSurface |
SRSE Product | SRAnalytics |
Note: The symbol
=
next to a field number indicates that it is a primary key.
BODY
# | Field | Type | Comment |
---|---|---|---|
10= | ticker | TickerKey | |
11= | surfaceType | enum : SurfaceCurveType | |
50 | synSpot | double | Synthetic spot price (market-derived spot when the underlying is not a traded instrument) |
100 | hEMove | float | expected forward earnings move (average of the last 8-12 underlier earnings moves; w/max clipping) |
103 | hEMoveNum | byte | num historical earnings moves in historical window |
106 | hEMoveAvg | float | avg historical earnings move (last 8-12 underlier earnings moves) |
109 | hEMoveStd | float | std historical earnings move (last 8-12 underlier earnings moves) |
112 | hEMoveMin | float | max historical earnings move (last 8-12 underlier earnings moves) |
115 | hEMoveMax | float | min historical earnings move (last 8-12 underlier earnings moves) |
118 | iEMove | float | implied earnings move (implied move; all earnings events) |
121 | iEFitCode | enum : EFitCode | implied EFit Code |
124 | iEFitError | float | eMove fit error (term surface fit error) |
127 | expiryCount | byte | number of actual expirations involved |
130 | iEMoveAvg | float | average eMove today |
133 | iEMoveStd | float | eMove std dev today |
136 | iEMoveMin | float | eMove min today |
139 | iEMoveMax | float | emove max today |
142 | iEMoveCnt | int | number of surface term fits today |
145 | eMoveExpAdj1 | int | number of expirations (+/-) that the next earn date was moved to best fit market term structure (if any) |
148 | eMoveYrsAdj1 | float | number of trading years (+/-) that the next earn date was moved to best fit market term structure (if any) |
151 | eMoveYears1 | float | years to expiration from LiveSurfaceCurve.pkey.ekey = eMoveFKey1 |
154 | eMoveEKey1 | ExpiryKey | LiveSurfaceCurve.pkey.ekey immediately after 1st implied earnings move (note: this will not match the base earnings calendar if eMoveDtAdj1 != 0) |
157 | eMoveExpAdj2 | int | number of expirations (+/-) that the 2nd earn date was moved to best fit market term structure (if any) |
160 | eMoveYrsAdj2 | float | number of trading years (+/-) that the 2nd earn date was moved to best fit market term structure (if any) |
163 | eMoveYears2 | float | years to expiration from LiveSurfaceCurve.pkey.fkey = eMoveFKey2 |
166 | eMoveEKey2 | ExpiryKey | LiveSurfaceCurve.pkey.ekey immediately after 2nd implied earnings move (note: this will not match the base earnings calendar if eMoveDtAdj2 != 0) |
169 | atmCenI_st | float | short term (5 day) model atm volatility (censored using iEMult) |
172 | atmCenI_lt | float | long term (504 day) model atm volatility |
175 | atmCenI_decay | float | model decay parameter |
178 | atmCenI_5d | float | Interpolated 5 day atm vol (censored using iEMult) |
181 | atmCenI_10d | float | Interpolated 10 day atm vol |
184 | atmCenI_21d | float | Interpolated 21 day atm vol |
187 | atmCenI_42d | float | Interpolated 42 day atm vol |
190 | atmCenI_63d | float | Interpolated 63 day atm vol |
193 | atmCenI_84d | float | Interpolated 84 day atm vol |
196 | atmCenI_105d | float | Interpolated 105 day atm vol |
199 | atmCenI_126d | float | Interpolated 126 day atm vol |
202 | atmCenI_189d | float | Interpolated 189 day atm vol |
205 | atmCenI_252d | float | Interpolated 252 day atm vol |
208 | atmCenI_378d | float | Interpolated 378 day atm vol |
211 | atmCenI_504d | float | Interpolated 504 day atm vol |
214 | atmCenH_st | float | short term (5 day) model atm volatility (censored using hEMult) |
217 | atmCenH_lt | float | long term (504 day) model atm volatility |
220 | atmCenH_decay | float | model decay parameter |
223 | atmCenH_5d | float | Interpolated 5 day atm vol (censored using hEMult) |
226 | atmCenH_10d | float | Interpolated 10 day atm vol |
229 | atmCenH_21d | float | Interpolated 21 day atm vol |
232 | atmCenH_42d | float | Interpolated 42 day atm vol |
235 | atmCenH_63d | float | Interpolated 63 day atm vol |
238 | atmCenH_84d | float | Interpolated 84 day atm vol |
241 | atmCenH_105d | float | Interpolated 105 day atm vol |
244 | atmCenH_126d | float | Interpolated 126 day atm vol |
247 | atmCenH_189d | float | Interpolated 189 day atm vol |
250 | atmCenH_252d | float | Interpolated 252 day atm vol |
253 | atmCenH_378d | float | Interpolated 378 day atm vol |
256 | atmCenH_504d | float | Interpolated 504 day atm vol |
259 | sDiv_5d | float | Interpolated 5 day implied sdiv rate |
262 | sDiv_10d | float | Interpolated 10 day implied sdiv rate |
265 | sDiv_21d | float | Interpolated 21 day implied sdiv rate |
268 | sDiv_42d | float | Interpolated 42 day implied sdiv rate |
271 | sDiv_63d | float | Interpolated 63 day implied sdiv rate |
274 | sDiv_84d | float | Interpolated 84 day implied sdiv rate |
277 | sDiv_105d | float | Interpolated 105 day implied sdiv rate |
280 | sDiv_126d | float | Interpolated 126 day implied sdiv rate |
283 | sDiv_189d | float | Interpolated 189 day implied sdiv rate |
286 | sDiv_252d | float | Interpolated 252 day implied sdiv rate |
289 | sDiv_378d | float | Interpolated 378 day implied sdiv rate |
292 | sDiv_504d | float | Interpolated 504 day implied sdiv rate |
295 | fwdUPrc_5d | float | Interpolated 5 day implied forward price |
298 | fwdUPrc_10d | float | Interpolated 10 day implied forward price |
301 | fwdUPrc_21d | float | Interpolated 21 day implied forward price |
304 | fwdUPrc_42d | float | Interpolated 42 day implied forward price |
307 | fwdUPrc_63d | float | Interpolated 63 day implied forward price |
310 | fwdUPrc_84d | float | Interpolated 84 day implied forward price |
313 | fwdUPrc_105d | float | Interpolated 105 day implied forward price |
316 | fwdUPrc_126d | float | Interpolated 126 day implied forward price |
319 | fwdUPrc_189d | float | Interpolated 189 day implied forward price |
322 | fwdUPrc_252d | float | Interpolated 252 day implied forward price |
325 | fwdUPrc_378d | float | Interpolated 378 day implied forward price |
328 | fwdUPrc_504d | float | Interpolated 504 day implied forward price |
331 | vWidth_5d | float | Interpolated 5 day market vwidth |
334 | vWidth_10d | float | Interpolated 10 day market vwidth |
337 | vWidth_21d | float | Interpolated 21 day market vwidth |
340 | vWidth_42d | float | Interpolated 42 day market vwidth |
343 | vWidth_63d | float | Interpolated 63 day market vwidth |
346 | vWidth_84d | float | Interpolated 84 day market vwidth |
349 | vWidth_105d | float | Interpolated 105 day market vwidth |
352 | vWidth_126d | float | Interpolated 126 day market vwidth |
355 | vWidth_189d | float | Interpolated 189 day market vwidth |
358 | vWidth_252d | float | Interpolated 252 day market vwidth |
361 | vWidth_378d | float | Interpolated 378 day market vwidth |
364 | vWidth_504d | float | Interpolated 504 day market vwidth |
367 | vSlope_5d | float | Interpolated 5 day atm vol slope |
370 | vSlope_10d | float | Interpolated 10 day atm vol slope |
373 | vSlope_21d | float | Interpolated 21 day atm vol slope |
376 | vSlope_42d | float | Interpolated 42 day atm vol slope |
379 | vSlope_63d | float | Interpolated 63 day atm vol slope |
382 | vSlope_84d | float | Interpolated 84 day atm vol slope |
385 | vSlope_105d | float | Interpolated 105 day atm vol slope |
388 | vSlope_126d | float | Interpolated 126 day atm vol slope |
391 | vSlope_189d | float | Interpolated 189 day atm vol slope |
394 | vSlope_252d | float | Interpolated 252 day atm vol slope |
397 | vSlope_378d | float | Interpolated 378 day atm vol slope |
400 | vSlope_504d | float | Interpolated 504 day atm vol slope |
403 | eCnt_5d | byte | number of expected earnings events |
406 | eCnt_10d | byte | number of expected earnings events |
409 | eCnt_21d | byte | number of expected earnings events |
412 | eCnt_42d | byte | number of expected earnings events |
415 | eCnt_63d | byte | number of expected earnings events |
418 | eCnt_84d | byte | number of expected earnings events |
421 | eCnt_105d | byte | number of expected earnings events |
424 | eCnt_126d | byte | number of expected earnings events |
427 | eCnt_189d | byte | number of expected earnings events |
430 | eCnt_252d | byte | number of expected earnings events |
433 | eCnt_378d | byte | number of expected earnings events |
436 | eCnt_504d | byte | number of expected earnings events |
439 | status | enum : CurveStatus | |
442 | time | TimeSpan | |
445 | timestamp | DateTime | update timestamp |
Get Schema API Call
- Python
- cUrl
import requests
# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'
# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'
# Replace with your desired MsgType.
MSG_TYPE = 'LiveSurfaceFixedTerm'
# 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=LiveSurfaceFixedTerm'
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 = 'LiveSurfaceFixedTerm'
# 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 = 'synSpot|hEMove|hEMoveNum|hEMoveAvg|hEMoveStd|hEMoveMin|hEMoveMax|iEMove|iEFitCode|iEFitError|expiryCount|iEMoveAvg|iEMoveStd|iEMoveMin|iEMoveMax|iEMoveCnt|eMoveExpAdj1|eMoveYrsAdj1|eMoveYears1|eMoveEKey1|eMoveExpAdj2|eMoveYrsAdj2|eMoveYears2|eMoveEKey2|atmCenI_st|atmCenI_lt|atmCenI_decay|atmCenI_5d|atmCenI_10d|atmCenI_21d|atmCenI_42d|atmCenI_63d|atmCenI_84d|atmCenI_105d|atmCenI_126d|atmCenI_189d|atmCenI_252d|atmCenI_378d|atmCenI_504d|atmCenH_st|atmCenH_lt|atmCenH_decay|atmCenH_5d|atmCenH_10d|atmCenH_21d|atmCenH_42d|atmCenH_63d|atmCenH_84d|atmCenH_105d|atmCenH_126d|atmCenH_189d|atmCenH_252d|atmCenH_378d|atmCenH_504d|sDiv_5d|sDiv_10d|sDiv_21d|sDiv_42d|sDiv_63d|sDiv_84d|sDiv_105d|sDiv_126d|sDiv_189d|sDiv_252d|sDiv_378d|sDiv_504d|fwdUPrc_5d|fwdUPrc_10d|fwdUPrc_21d|fwdUPrc_42d|fwdUPrc_63d|fwdUPrc_84d|fwdUPrc_105d|fwdUPrc_126d|fwdUPrc_189d|fwdUPrc_252d|fwdUPrc_378d|fwdUPrc_504d|vWidth_5d|vWidth_10d|vWidth_21d|vWidth_42d|vWidth_63d|vWidth_84d|vWidth_105d|vWidth_126d|vWidth_189d|vWidth_252d|vWidth_378d|vWidth_504d|vSlope_5d|vSlope_10d|vSlope_21d|vSlope_42d|vSlope_63d|vSlope_84d|vSlope_105d|vSlope_126d|vSlope_189d|vSlope_252d|vSlope_378d|vSlope_504d|eCnt_5d|eCnt_10d|eCnt_21d|eCnt_42d|eCnt_63d|eCnt_84d|eCnt_105d|eCnt_126d|eCnt_189d|eCnt_252d|eCnt_378d|eCnt_504d|status|time|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 = ''
# 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=LiveSurfaceFixedTerm' \
--data-urlencode 'view=synSpot|hEMove|hEMoveNum|hEMoveAvg|hEMoveStd|hEMoveMin|hEMoveMax|iEMove|iEFitCode|iEFitError|expiryCount|iEMoveAvg|iEMoveStd|iEMoveMin|iEMoveMax|iEMoveCnt|eMoveExpAdj1|eMoveYrsAdj1|eMoveYears1|eMoveEKey1|eMoveExpAdj2|eMoveYrsAdj2|eMoveYears2|eMoveEKey2|atmCenI_st|atmCenI_lt|atmCenI_decay|atmCenI_5d|atmCenI_10d|atmCenI_21d|atmCenI_42d|atmCenI_63d|atmCenI_84d|atmCenI_105d|atmCenI_126d|atmCenI_189d|atmCenI_252d|atmCenI_378d|atmCenI_504d|atmCenH_st|atmCenH_lt|atmCenH_decay|atmCenH_5d|atmCenH_10d|atmCenH_21d|atmCenH_42d|atmCenH_63d|atmCenH_84d|atmCenH_105d|atmCenH_126d|atmCenH_189d|atmCenH_252d|atmCenH_378d|atmCenH_504d|sDiv_5d|sDiv_10d|sDiv_21d|sDiv_42d|sDiv_63d|sDiv_84d|sDiv_105d|sDiv_126d|sDiv_189d|sDiv_252d|sDiv_378d|sDiv_504d|fwdUPrc_5d|fwdUPrc_10d|fwdUPrc_21d|fwdUPrc_42d|fwdUPrc_63d|fwdUPrc_84d|fwdUPrc_105d|fwdUPrc_126d|fwdUPrc_189d|fwdUPrc_252d|fwdUPrc_378d|fwdUPrc_504d|vWidth_5d|vWidth_10d|vWidth_21d|vWidth_42d|vWidth_63d|vWidth_84d|vWidth_105d|vWidth_126d|vWidth_189d|vWidth_252d|vWidth_378d|vWidth_504d|vSlope_5d|vSlope_10d|vSlope_21d|vSlope_42d|vSlope_63d|vSlope_84d|vSlope_105d|vSlope_126d|vSlope_189d|vSlope_252d|vSlope_378d|vSlope_504d|eCnt_5d|eCnt_10d|eCnt_21d|eCnt_42d|eCnt_63d|eCnt_84d|eCnt_105d|eCnt_126d|eCnt_189d|eCnt_252d|eCnt_378d|eCnt_504d|status|time|timestamp' \
--data-urlencode 'where='
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 = 'LiveSurfaceFixedTerm'
# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned
VIEW = 'synSpot|hEMove|hEMoveNum|hEMoveAvg|hEMoveStd|hEMoveMin|hEMoveMax|iEMove|iEFitCode|iEFitError|expiryCount|iEMoveAvg|iEMoveStd|iEMoveMin|iEMoveMax|iEMoveCnt|eMoveExpAdj1|eMoveYrsAdj1|eMoveYears1|eMoveEKey1|eMoveExpAdj2|eMoveYrsAdj2|eMoveYears2|eMoveEKey2|atmCenI_st|atmCenI_lt|atmCenI_decay|atmCenI_5d|atmCenI_10d|atmCenI_21d|atmCenI_42d|atmCenI_63d|atmCenI_84d|atmCenI_105d|atmCenI_126d|atmCenI_189d|atmCenI_252d|atmCenI_378d|atmCenI_504d|atmCenH_st|atmCenH_lt|atmCenH_decay|atmCenH_5d|atmCenH_10d|atmCenH_21d|atmCenH_42d|atmCenH_63d|atmCenH_84d|atmCenH_105d|atmCenH_126d|atmCenH_189d|atmCenH_252d|atmCenH_378d|atmCenH_504d|sDiv_5d|sDiv_10d|sDiv_21d|sDiv_42d|sDiv_63d|sDiv_84d|sDiv_105d|sDiv_126d|sDiv_189d|sDiv_252d|sDiv_378d|sDiv_504d|fwdUPrc_5d|fwdUPrc_10d|fwdUPrc_21d|fwdUPrc_42d|fwdUPrc_63d|fwdUPrc_84d|fwdUPrc_105d|fwdUPrc_126d|fwdUPrc_189d|fwdUPrc_252d|fwdUPrc_378d|fwdUPrc_504d|vWidth_5d|vWidth_10d|vWidth_21d|vWidth_42d|vWidth_63d|vWidth_84d|vWidth_105d|vWidth_126d|vWidth_189d|vWidth_252d|vWidth_378d|vWidth_504d|vSlope_5d|vSlope_10d|vSlope_21d|vSlope_42d|vSlope_63d|vSlope_84d|vSlope_105d|vSlope_126d|vSlope_189d|vSlope_252d|vSlope_378d|vSlope_504d|eCnt_5d|eCnt_10d|eCnt_21d|eCnt_42d|eCnt_63d|eCnt_84d|eCnt_105d|eCnt_126d|eCnt_189d|eCnt_252d|eCnt_378d|eCnt_504d|status|time|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 = ''
# 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 = 'synSpot: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=LiveSurfaceFixedTerm' \
--data-urlencode 'view=synSpot|hEMove|hEMoveNum|hEMoveAvg|hEMoveStd|hEMoveMin|hEMoveMax|iEMove|iEFitCode|iEFitError|expiryCount|iEMoveAvg|iEMoveStd|iEMoveMin|iEMoveMax|iEMoveCnt|eMoveExpAdj1|eMoveYrsAdj1|eMoveYears1|eMoveEKey1|eMoveExpAdj2|eMoveYrsAdj2|eMoveYears2|eMoveEKey2|atmCenI_st|atmCenI_lt|atmCenI_decay|atmCenI_5d|atmCenI_10d|atmCenI_21d|atmCenI_42d|atmCenI_63d|atmCenI_84d|atmCenI_105d|atmCenI_126d|atmCenI_189d|atmCenI_252d|atmCenI_378d|atmCenI_504d|atmCenH_st|atmCenH_lt|atmCenH_decay|atmCenH_5d|atmCenH_10d|atmCenH_21d|atmCenH_42d|atmCenH_63d|atmCenH_84d|atmCenH_105d|atmCenH_126d|atmCenH_189d|atmCenH_252d|atmCenH_378d|atmCenH_504d|sDiv_5d|sDiv_10d|sDiv_21d|sDiv_42d|sDiv_63d|sDiv_84d|sDiv_105d|sDiv_126d|sDiv_189d|sDiv_252d|sDiv_378d|sDiv_504d|fwdUPrc_5d|fwdUPrc_10d|fwdUPrc_21d|fwdUPrc_42d|fwdUPrc_63d|fwdUPrc_84d|fwdUPrc_105d|fwdUPrc_126d|fwdUPrc_189d|fwdUPrc_252d|fwdUPrc_378d|fwdUPrc_504d|vWidth_5d|vWidth_10d|vWidth_21d|vWidth_42d|vWidth_63d|vWidth_84d|vWidth_105d|vWidth_126d|vWidth_189d|vWidth_252d|vWidth_378d|vWidth_504d|vSlope_5d|vSlope_10d|vSlope_21d|vSlope_42d|vSlope_63d|vSlope_84d|vSlope_105d|vSlope_126d|vSlope_189d|vSlope_252d|vSlope_378d|vSlope_504d|eCnt_5d|eCnt_10d|eCnt_21d|eCnt_42d|eCnt_63d|eCnt_84d|eCnt_105d|eCnt_126d|eCnt_189d|eCnt_252d|eCnt_378d|eCnt_504d|status|time|timestamp' \
--data-urlencode 'where=' \
--data-urlencode 'limit=500' \
--data-urlencode 'order=synSpot: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 = 'LiveSurfaceFixedTerm'
# Replace with fields you want to see aggregate values for. A "|" separated list of measures should be provided
MEASURE = 'synSpot|hEMove|hEMoveNum|hEMoveAvg|hEMoveStd|hEMoveMin|hEMoveMax|iEMove|iEFitCode|iEFitError|expiryCount|iEMoveAvg|iEMoveStd|iEMoveMin|iEMoveMax|iEMoveCnt|eMoveExpAdj1|eMoveYrsAdj1|eMoveYears1|eMoveEKey1|eMoveExpAdj2|eMoveYrsAdj2|eMoveYears2|eMoveEKey2|atmCenI_st|atmCenI_lt|atmCenI_decay|atmCenI_5d|atmCenI_10d|atmCenI_21d|atmCenI_42d|atmCenI_63d|atmCenI_84d|atmCenI_105d|atmCenI_126d|atmCenI_189d|atmCenI_252d|atmCenI_378d|atmCenI_504d|atmCenH_st|atmCenH_lt|atmCenH_decay|atmCenH_5d|atmCenH_10d|atmCenH_21d|atmCenH_42d|atmCenH_63d|atmCenH_84d|atmCenH_105d|atmCenH_126d|atmCenH_189d|atmCenH_252d|atmCenH_378d|atmCenH_504d|sDiv_5d|sDiv_10d|sDiv_21d|sDiv_42d|sDiv_63d|sDiv_84d|sDiv_105d|sDiv_126d|sDiv_189d|sDiv_252d|sDiv_378d|sDiv_504d|fwdUPrc_5d|fwdUPrc_10d|fwdUPrc_21d|fwdUPrc_42d|fwdUPrc_63d|fwdUPrc_84d|fwdUPrc_105d|fwdUPrc_126d|fwdUPrc_189d|fwdUPrc_252d|fwdUPrc_378d|fwdUPrc_504d|vWidth_5d|vWidth_10d|vWidth_21d|vWidth_42d|vWidth_63d|vWidth_84d|vWidth_105d|vWidth_126d|vWidth_189d|vWidth_252d|vWidth_378d|vWidth_504d|vSlope_5d|vSlope_10d|vSlope_21d|vSlope_42d|vSlope_63d|vSlope_84d|vSlope_105d|vSlope_126d|vSlope_189d|vSlope_252d|vSlope_378d|vSlope_504d|eCnt_5d|eCnt_10d|eCnt_21d|eCnt_42d|eCnt_63d|eCnt_84d|eCnt_105d|eCnt_126d|eCnt_189d|eCnt_252d|eCnt_378d|eCnt_504d|status|time|timestamp'
# Replace with fields you want to see aggregated. A "|" separated list of fields should be provided
GROUP = 'iEFitCode|status'
# 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 = ''
# 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=LiveSurfaceFixedTerm' \
--data-urlencode 'measure=synSpot|hEMove|hEMoveNum|hEMoveAvg|hEMoveStd|hEMoveMin|hEMoveMax|iEMove|iEFitCode|iEFitError|expiryCount|iEMoveAvg|iEMoveStd|iEMoveMin|iEMoveMax|iEMoveCnt|eMoveExpAdj1|eMoveYrsAdj1|eMoveYears1|eMoveEKey1|eMoveExpAdj2|eMoveYrsAdj2|eMoveYears2|eMoveEKey2|atmCenI_st|atmCenI_lt|atmCenI_decay|atmCenI_5d|atmCenI_10d|atmCenI_21d|atmCenI_42d|atmCenI_63d|atmCenI_84d|atmCenI_105d|atmCenI_126d|atmCenI_189d|atmCenI_252d|atmCenI_378d|atmCenI_504d|atmCenH_st|atmCenH_lt|atmCenH_decay|atmCenH_5d|atmCenH_10d|atmCenH_21d|atmCenH_42d|atmCenH_63d|atmCenH_84d|atmCenH_105d|atmCenH_126d|atmCenH_189d|atmCenH_252d|atmCenH_378d|atmCenH_504d|sDiv_5d|sDiv_10d|sDiv_21d|sDiv_42d|sDiv_63d|sDiv_84d|sDiv_105d|sDiv_126d|sDiv_189d|sDiv_252d|sDiv_378d|sDiv_504d|fwdUPrc_5d|fwdUPrc_10d|fwdUPrc_21d|fwdUPrc_42d|fwdUPrc_63d|fwdUPrc_84d|fwdUPrc_105d|fwdUPrc_126d|fwdUPrc_189d|fwdUPrc_252d|fwdUPrc_378d|fwdUPrc_504d|vWidth_5d|vWidth_10d|vWidth_21d|vWidth_42d|vWidth_63d|vWidth_84d|vWidth_105d|vWidth_126d|vWidth_189d|vWidth_252d|vWidth_378d|vWidth_504d|vSlope_5d|vSlope_10d|vSlope_21d|vSlope_42d|vSlope_63d|vSlope_84d|vSlope_105d|vSlope_126d|vSlope_189d|vSlope_252d|vSlope_378d|vSlope_504d|eCnt_5d|eCnt_10d|eCnt_21d|eCnt_42d|eCnt_63d|eCnt_84d|eCnt_105d|eCnt_126d|eCnt_189d|eCnt_252d|eCnt_378d|eCnt_504d|status|time|timestamp' \
--data-urlencode 'group=iEFitCode|status' \
--data-urlencode 'where='
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 = 'LiveSurfaceFixedTerm'
# 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 = ''
# 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=LiveSurfaceFixedTerm' \
--data-urlencode 'where='