Schema: LiveSurfaceComposite (ID: 1037)
METADATA
| Attribute | Value |
|---|---|
| Topic | 1000-analytics |
| MLink Token | Internal |
| MLink Endpoint | MLink-Live |
| SRSE Product | SRAnalytics |
Note: The symbol
=next to a field number indicates that it is a primary key.
BODY
| # | Field | Type | Default Value | Comment |
|---|---|---|---|---|
| 10= | ekey | ExpiryKey | ||
| 100 | ticker | TickerKey | underlying stock key that this option expiration attaches to | |
| 103 | fkey | ExpiryKey | underlying future key (if any) | |
| 106 | uPrc | double | effective uPrc used for surface fitting | |
| 109 | uBid | double | effective bid | |
| 112 | uAsk | double | effective ask | |
| 115 | years | float | time to expiration (in years) | |
| 118 | rate | float | average interest rate to expiration (SR global rate curve) | |
| 121 | ddiv | float | (expected) cumulative discrete dividend $ amounts prior to expiration | |
| 122 | ddivPv | float | (expected) cumulative npv of discrete dividend $ amounts prior to expiration (SR global rate curve) | |
| 124 | symbolRatio | float | underlier price ratio (usually 1.0 or a multi-hedge option price ratio; if one exists) | |
| 127 | exType | enum : ExerciseType | exercise type (American or European) | |
| 130 | modelType | enum : CalcModelType | option pricing model used for price calcs (Normal, LogNormal, etc.) | |
| 133 | prcFramework | enum : PricingFramework | Spot (Equity), Forward (Cash), Future, Physical | |
| 136 | earnCnt | float | number of qualifying earnings events prior to expiration [can be fractional] (from StockEarningsCalendar) | |
| 139 | earnCntAdj | float | number of qualifying earnings events prior to expiration [adjusted] (from StockEarningsCalendar + LiveSurfaceTerm) | |
| 142 | axisVolRT | float | axis volatility x sqrt(years) (used to compute xAxis) | |
| 145 | axisFUPrc | float | axis FwdUPrc (fwd underlying price used to compute xAxis) | |
| 146 | synSpot | double | Synthetic spot price (market-derived spot when the underlying is not a traded instrument) | |
| 147 | synCarry | double | Synthetic carry rate; corresponds to the relationship between uPrc and synSpot (set when the underlying is not a traded instrument) | |
| 148 | atmStrike | float | synthetic strike with cPrice = pPrice | |
| 151 | moneynessType | enum : MoneynessType | moneyness (xAxis) convention | |
| 154 | underlierMode | enum : UnderlierMode | underlier pricing mode (None=use spot/stock market; FrontMonth=use front month future market * uPrcRatio; Actual = use actual underlier future market) | |
| 157 | cpAdjType | enum : CPAdjType | adjustment used to align calls/puts (if any) | |
| 160 | priceQuoteType | enum : PriceQuoteType | Price or Vol | |
| 163 | atmVol | float | atm vol (xAxis = 0) | |
| 166 | atmCen | float | atm vol (xAxis = 0) (eMove/earnCntAdj censored) | |
| 169 | atmVolHist | float | historical realized volatility (includes eMoveHist x earnCntAdj adjustment). Note that this is the default atmVol if no implied markets existed previous day. | |
| 172 | atmCenHist | float | censored (earnings events removed) historical realized volatility. Trailing periods is 2x forward time to expiration. From HistoricalVolatility(windowType=hlCen).mv_nnn | |
| 175 | minAtmVol | float | minimum estimated atm vol | |
| 178 | maxAtmVol | float | maximum estimated atm vol | |
| 181 | minCPAdjVal | double | minimum CP adjust value (sdiv or uPrcRatio) | |
| 184 | maxCPAdjVal | double | maximum CP adjust value (sdiv or uPrcRatio) | |
| 193 | iEMove | float | implied earnings move (from LiveSurfaceTerm) | |
| 196 | hEMove | float | historical earnings move (avg of trailing 8 moves). From StockEarningsCalendar.eMoveHist | |
| 200 | uPrcRatio | double | uPrc = uPrcDriver * uPrcRatio | |
| 205 | sdiv | float | stock dividend (borrow rate) | |
| 211 | atmFixedMove | float | fixed strike atm move from prior period | |
| 214 | atmPhi | float | surface phi @ xAxis = 0 | |
| 215 | atmRho | float | surface rho @ xAxis = 0 | |
| 217 | atmVega | float | surface vega @ xAxis = 0 | |
| 220 | slope | float | volatility surface slope (dVol / dXAxis) @ ATM (xAxis=0) | |
| 223 | varSwapFV | float | variance swap fair value (estimated by numerical integration over OTM price surface) | |
| 226 | gridType | enum : GridType | gridType defines skew curve coeff points + spline type | |
| 229 | knotShift | float | constant that should be added to each base knot location [-3.0 - +3.0] | |
| 232 | minXAxis | float | minimum xAxis value; xAxis values to the left extrapolate horizontally | |
| 235 | maxXAxis | float | maximum xAxis value; xAxis values to the right extrapolate horizontally | |
| 238 | minCurvValue | float | minimum curvature (2nd derivative) of skew curve (can be negative if curve is not strictly convex) | |
| 241 | minCurvXAxis | float | xAxis of minimum curvature point | |
| 244 | maxCurvValue | float | maximum curvature (2nd derivative) of skew curve | |
| 247 | maxCurvXAxis | float | xAxis of maximum curvature point | |
| 250 | skewMinX | float | xAxis = (effStrike / effAxisFUPrc - 1.0) / axisVolRT; effStrike = strike * strikeRatio; effAxisFUPrc = axisFUPrc * symbolRatio | |
| 253 | skewMinY | float | skewMinX / skewMinY are the skew curve minimum point (usually a positive x value and a negative y value) | |
| 256 | surfaceFit | enum : SurfaceFit | ||
| 259 | skewC00 | float | curve coeff[0] | |
| 262 | skewC01 | float | curve coeff[1] | |
| 265 | skewC02 | float | ||
| 268 | skewC03 | float | ||
| 271 | skewC04 | float | ||
| 274 | skewC05 | float | ||
| 277 | skewC06 | float | ||
| 280 | skewC07 | float | ||
| 283 | skewC08 | float | ||
| 286 | skewC09 | float | ||
| 289 | skewC10 | float | ||
| 292 | skewC11 | float | ||
| 295 | skewC12 | float | ||
| 298 | skewC13 | float | ||
| 301 | skewC14 | float | ||
| 304 | skewC15 | float | ||
| 307 | skewC16 | float | ||
| 310 | skewC17 | float | ||
| 313 | skewC18 | float | ||
| 316 | skewC19 | float | ||
| 319 | skewC20 | float | ||
| 322 | skewC21 | float | ||
| 325 | skewC22 | float | ||
| 328 | skewC23 | float | ||
| 331 | skewC24 | float | ||
| 334 | skewC25 | float | ||
| 337 | skewC26 | float | ||
| 340 | skewC27 | float | ||
| 343 | skewC28 | float | ||
| 346 | ivAdjD07 | float | xAxis = -5.0 | |
| 349 | ivAdjD06 | float | xAxis = -4.0 | |
| 352 | ivAdjD05 | float | xAxis = -3.0 | |
| 355 | ivAdjD04 | float | xAxis = -2.0 | |
| 358 | ivAdjD03 | float | xAxis = -1.5 | |
| 361 | ivAdjD02 | float | xAxis = -1.0 | |
| 364 | ivAdjD01 | float | xAxis = -0.5 | |
| 367 | ivAdjU01 | float | xAxis = +0.5 | |
| 370 | ivAdjU02 | float | xAxis = +1.0 | |
| 373 | ivAdjU03 | float | xAxis = +1.5 | |
| 376 | ivAdjU04 | float | xAxis = +2.0 | |
| 379 | ivAdjU05 | float | xAxis = +3.0 | |
| 382 | ivAdjU06 | float | xAxis = +4.0 | |
| 385 | ivAdjU07 | float | xAxis = +5.0 | |
| 388 | cpAdjD04 | float | xAxis = -4.0 | |
| 391 | cpAdjD03 | float | xAxis = -3.0 | |
| 394 | cpAdjD02 | float | xAxis = -2.0 | |
| 397 | cpAdjD01 | float | xAxis = -1.0 | |
| 400 | cpAdjU01 | float | xAxis = +1.0 | |
| 403 | cpAdjU02 | float | xAxis = +2.0 | |
| 406 | cpAdjU03 | float | xAxis = +3.0 | |
| 409 | cpAdjU04 | float | xAxis = +4.0 | |
| 412 | pwidth | float | minimum mkt premium width | |
| 415 | vwidth | float | minimum mkt volatility width | |
| 418 | cCnt | byte | num call strikes in base fit | |
| 421 | pCnt | byte | num put strikes in base fit | |
| 424 | cBidMiss | byte | number of call bid violations (surface outside the market) | |
| 427 | cAskMiss | byte | number of call ask violations (surface outside the market) | |
| 430 | pBidMiss | byte | number of put bid violations | |
| 433 | pAskMiss | byte | number of put ask violations | |
| 436 | fitAvgErr | float | average error (sPrc - midPrc) | |
| 439 | fitAvgAbsErr | float | average absolute error (sPrc - midPrc) | |
| 442 | fitMaxPrcErr | float | worst case surface premium violation | |
| 445 | fitErrXX | float | okey_xx of the option with the largest fit error in this expiration | |
| 448 | fitErrCP | enum : CallPut | okey_cp of the option with the largest fit error in this expiration | |
| 451 | fitErrDe | float | delta of fixErrXX | |
| 454 | fitErrBid | float | bid of the option with the largest fit error in this expiration | |
| 457 | fitErrAsk | float | ask of the option with the largest fit error in this expiration | |
| 460 | fitErrPrc | float | surface prc of the option with the largest fit error in this expiration | |
| 463 | fitErrVol | float | surface vol of the option with the largest fit error in this expiration | |
| 466 | tradingSession | enum : TradingSession | trading session this surface is from | |
| 469 | tradeableStatus | enum : TradeableStatus | indicates whether the surface is currently tradeable or not (all server surface integrity checks pass) | |
| 472 | surfaceAdjResult | enum : SurfaceAdjResult | ||
| 475 | adjTimestamp | DateTime | ||
| 478 | surfaceResult | enum : SurfaceResult | ||
| 481 | 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 = 'LiveSurfaceComposite'
# 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=LiveSurfaceComposite'
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 = 'LiveSurfaceComposite'
# 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 = 'ticker|fkey|uPrc|uBid|uAsk|years|rate|ddiv|ddivPv|symbolRatio|exType|modelType|prcFramework|earnCnt|earnCntAdj|axisVolRT|axisFUPrc|synSpot|synCarry|atmStrike|moneynessType|underlierMode|cpAdjType|priceQuoteType|atmVol|atmCen|atmVolHist|atmCenHist|minAtmVol|maxAtmVol|minCPAdjVal|maxCPAdjVal|iEMove|hEMove|uPrcRatio|sdiv|atmFixedMove|atmPhi|atmRho|atmVega|slope|varSwapFV|gridType|knotShift|minXAxis|maxXAxis|minCurvValue|minCurvXAxis|maxCurvValue|maxCurvXAxis|skewMinX|skewMinY|surfaceFit|skewC00|skewC01|skewC02|skewC03|skewC04|skewC05|skewC06|skewC07|skewC08|skewC09|skewC10|skewC11|skewC12|skewC13|skewC14|skewC15|skewC16|skewC17|skewC18|skewC19|skewC20|skewC21|skewC22|skewC23|skewC24|skewC25|skewC26|skewC27|skewC28|ivAdjD07|ivAdjD06|ivAdjD05|ivAdjD04|ivAdjD03|ivAdjD02|ivAdjD01|ivAdjU01|ivAdjU02|ivAdjU03|ivAdjU04|ivAdjU05|ivAdjU06|ivAdjU07|cpAdjD04|cpAdjD03|cpAdjD02|cpAdjD01|cpAdjU01|cpAdjU02|cpAdjU03|cpAdjU04|pwidth|vwidth|cCnt|pCnt|cBidMiss|cAskMiss|pBidMiss|pAskMiss|fitAvgErr|fitAvgAbsErr|fitMaxPrcErr|fitErrXX|fitErrCP|fitErrDe|fitErrBid|fitErrAsk|fitErrPrc|fitErrVol|tradingSession|tradeableStatus|surfaceAdjResult|adjTimestamp|surfaceResult|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=LiveSurfaceComposite' \
--data-urlencode 'view=ticker|fkey|uPrc|uBid|uAsk|years|rate|ddiv|ddivPv|symbolRatio|exType|modelType|prcFramework|earnCnt|earnCntAdj|axisVolRT|axisFUPrc|synSpot|synCarry|atmStrike|moneynessType|underlierMode|cpAdjType|priceQuoteType|atmVol|atmCen|atmVolHist|atmCenHist|minAtmVol|maxAtmVol|minCPAdjVal|maxCPAdjVal|iEMove|hEMove|uPrcRatio|sdiv|atmFixedMove|atmPhi|atmRho|atmVega|slope|varSwapFV|gridType|knotShift|minXAxis|maxXAxis|minCurvValue|minCurvXAxis|maxCurvValue|maxCurvXAxis|skewMinX|skewMinY|surfaceFit|skewC00|skewC01|skewC02|skewC03|skewC04|skewC05|skewC06|skewC07|skewC08|skewC09|skewC10|skewC11|skewC12|skewC13|skewC14|skewC15|skewC16|skewC17|skewC18|skewC19|skewC20|skewC21|skewC22|skewC23|skewC24|skewC25|skewC26|skewC27|skewC28|ivAdjD07|ivAdjD06|ivAdjD05|ivAdjD04|ivAdjD03|ivAdjD02|ivAdjD01|ivAdjU01|ivAdjU02|ivAdjU03|ivAdjU04|ivAdjU05|ivAdjU06|ivAdjU07|cpAdjD04|cpAdjD03|cpAdjD02|cpAdjD01|cpAdjU01|cpAdjU02|cpAdjU03|cpAdjU04|pwidth|vwidth|cCnt|pCnt|cBidMiss|cAskMiss|pBidMiss|pAskMiss|fitAvgErr|fitAvgAbsErr|fitMaxPrcErr|fitErrXX|fitErrCP|fitErrDe|fitErrBid|fitErrAsk|fitErrPrc|fitErrVol|tradingSession|tradeableStatus|surfaceAdjResult|adjTimestamp|surfaceResult|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 = 'LiveSurfaceComposite'
# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned
VIEW = 'ticker|fkey|uPrc|uBid|uAsk|years|rate|ddiv|ddivPv|symbolRatio|exType|modelType|prcFramework|earnCnt|earnCntAdj|axisVolRT|axisFUPrc|synSpot|synCarry|atmStrike|moneynessType|underlierMode|cpAdjType|priceQuoteType|atmVol|atmCen|atmVolHist|atmCenHist|minAtmVol|maxAtmVol|minCPAdjVal|maxCPAdjVal|iEMove|hEMove|uPrcRatio|sdiv|atmFixedMove|atmPhi|atmRho|atmVega|slope|varSwapFV|gridType|knotShift|minXAxis|maxXAxis|minCurvValue|minCurvXAxis|maxCurvValue|maxCurvXAxis|skewMinX|skewMinY|surfaceFit|skewC00|skewC01|skewC02|skewC03|skewC04|skewC05|skewC06|skewC07|skewC08|skewC09|skewC10|skewC11|skewC12|skewC13|skewC14|skewC15|skewC16|skewC17|skewC18|skewC19|skewC20|skewC21|skewC22|skewC23|skewC24|skewC25|skewC26|skewC27|skewC28|ivAdjD07|ivAdjD06|ivAdjD05|ivAdjD04|ivAdjD03|ivAdjD02|ivAdjD01|ivAdjU01|ivAdjU02|ivAdjU03|ivAdjU04|ivAdjU05|ivAdjU06|ivAdjU07|cpAdjD04|cpAdjD03|cpAdjD02|cpAdjD01|cpAdjU01|cpAdjU02|cpAdjU03|cpAdjU04|pwidth|vwidth|cCnt|pCnt|cBidMiss|cAskMiss|pBidMiss|pAskMiss|fitAvgErr|fitAvgAbsErr|fitMaxPrcErr|fitErrXX|fitErrCP|fitErrDe|fitErrBid|fitErrAsk|fitErrPrc|fitErrVol|tradingSession|tradeableStatus|surfaceAdjResult|adjTimestamp|surfaceResult|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 = 'ticker: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=LiveSurfaceComposite' \
--data-urlencode 'view=ticker|fkey|uPrc|uBid|uAsk|years|rate|ddiv|ddivPv|symbolRatio|exType|modelType|prcFramework|earnCnt|earnCntAdj|axisVolRT|axisFUPrc|synSpot|synCarry|atmStrike|moneynessType|underlierMode|cpAdjType|priceQuoteType|atmVol|atmCen|atmVolHist|atmCenHist|minAtmVol|maxAtmVol|minCPAdjVal|maxCPAdjVal|iEMove|hEMove|uPrcRatio|sdiv|atmFixedMove|atmPhi|atmRho|atmVega|slope|varSwapFV|gridType|knotShift|minXAxis|maxXAxis|minCurvValue|minCurvXAxis|maxCurvValue|maxCurvXAxis|skewMinX|skewMinY|surfaceFit|skewC00|skewC01|skewC02|skewC03|skewC04|skewC05|skewC06|skewC07|skewC08|skewC09|skewC10|skewC11|skewC12|skewC13|skewC14|skewC15|skewC16|skewC17|skewC18|skewC19|skewC20|skewC21|skewC22|skewC23|skewC24|skewC25|skewC26|skewC27|skewC28|ivAdjD07|ivAdjD06|ivAdjD05|ivAdjD04|ivAdjD03|ivAdjD02|ivAdjD01|ivAdjU01|ivAdjU02|ivAdjU03|ivAdjU04|ivAdjU05|ivAdjU06|ivAdjU07|cpAdjD04|cpAdjD03|cpAdjD02|cpAdjD01|cpAdjU01|cpAdjU02|cpAdjU03|cpAdjU04|pwidth|vwidth|cCnt|pCnt|cBidMiss|cAskMiss|pBidMiss|pAskMiss|fitAvgErr|fitAvgAbsErr|fitMaxPrcErr|fitErrXX|fitErrCP|fitErrDe|fitErrBid|fitErrAsk|fitErrPrc|fitErrVol|tradingSession|tradeableStatus|surfaceAdjResult|adjTimestamp|surfaceResult|timestamp' \
--data-urlencode 'where=' \
--data-urlencode 'limit=500' \
--data-urlencode 'order=ticker: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 = 'LiveSurfaceComposite'
# Replace with fields you want to see aggregate values for. A "|" separated list of measures should be provided
MEASURE = 'ticker|fkey|uPrc|uBid|uAsk|years|rate|ddiv|ddivPv|symbolRatio|exType|modelType|prcFramework|earnCnt|earnCntAdj|axisVolRT|axisFUPrc|synSpot|synCarry|atmStrike|moneynessType|underlierMode|cpAdjType|priceQuoteType|atmVol|atmCen|atmVolHist|atmCenHist|minAtmVol|maxAtmVol|minCPAdjVal|maxCPAdjVal|iEMove|hEMove|uPrcRatio|sdiv|atmFixedMove|atmPhi|atmRho|atmVega|slope|varSwapFV|gridType|knotShift|minXAxis|maxXAxis|minCurvValue|minCurvXAxis|maxCurvValue|maxCurvXAxis|skewMinX|skewMinY|surfaceFit|skewC00|skewC01|skewC02|skewC03|skewC04|skewC05|skewC06|skewC07|skewC08|skewC09|skewC10|skewC11|skewC12|skewC13|skewC14|skewC15|skewC16|skewC17|skewC18|skewC19|skewC20|skewC21|skewC22|skewC23|skewC24|skewC25|skewC26|skewC27|skewC28|ivAdjD07|ivAdjD06|ivAdjD05|ivAdjD04|ivAdjD03|ivAdjD02|ivAdjD01|ivAdjU01|ivAdjU02|ivAdjU03|ivAdjU04|ivAdjU05|ivAdjU06|ivAdjU07|cpAdjD04|cpAdjD03|cpAdjD02|cpAdjD01|cpAdjU01|cpAdjU02|cpAdjU03|cpAdjU04|pwidth|vwidth|cCnt|pCnt|cBidMiss|cAskMiss|pBidMiss|pAskMiss|fitAvgErr|fitAvgAbsErr|fitMaxPrcErr|fitErrXX|fitErrCP|fitErrDe|fitErrBid|fitErrAsk|fitErrPrc|fitErrVol|tradingSession|tradeableStatus|surfaceAdjResult|adjTimestamp|surfaceResult|timestamp'
# Replace with fields you want to see aggregated. A "|" separated list of fields should be provided
GROUP = 'exType|modelType|prcFramework|moneynessType|underlierMode|cpAdjType|priceQuoteType|gridType|surfaceFit|fitErrCP|tradingSession|tradeableStatus|surfaceAdjResult|surfaceResult'
# 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=LiveSurfaceComposite' \
--data-urlencode 'measure=ticker|fkey|uPrc|uBid|uAsk|years|rate|ddiv|ddivPv|symbolRatio|exType|modelType|prcFramework|earnCnt|earnCntAdj|axisVolRT|axisFUPrc|synSpot|synCarry|atmStrike|moneynessType|underlierMode|cpAdjType|priceQuoteType|atmVol|atmCen|atmVolHist|atmCenHist|minAtmVol|maxAtmVol|minCPAdjVal|maxCPAdjVal|iEMove|hEMove|uPrcRatio|sdiv|atmFixedMove|atmPhi|atmRho|atmVega|slope|varSwapFV|gridType|knotShift|minXAxis|maxXAxis|minCurvValue|minCurvXAxis|maxCurvValue|maxCurvXAxis|skewMinX|skewMinY|surfaceFit|skewC00|skewC01|skewC02|skewC03|skewC04|skewC05|skewC06|skewC07|skewC08|skewC09|skewC10|skewC11|skewC12|skewC13|skewC14|skewC15|skewC16|skewC17|skewC18|skewC19|skewC20|skewC21|skewC22|skewC23|skewC24|skewC25|skewC26|skewC27|skewC28|ivAdjD07|ivAdjD06|ivAdjD05|ivAdjD04|ivAdjD03|ivAdjD02|ivAdjD01|ivAdjU01|ivAdjU02|ivAdjU03|ivAdjU04|ivAdjU05|ivAdjU06|ivAdjU07|cpAdjD04|cpAdjD03|cpAdjD02|cpAdjD01|cpAdjU01|cpAdjU02|cpAdjU03|cpAdjU04|pwidth|vwidth|cCnt|pCnt|cBidMiss|cAskMiss|pBidMiss|pAskMiss|fitAvgErr|fitAvgAbsErr|fitMaxPrcErr|fitErrXX|fitErrCP|fitErrDe|fitErrBid|fitErrAsk|fitErrPrc|fitErrVol|tradingSession|tradeableStatus|surfaceAdjResult|adjTimestamp|surfaceResult|timestamp' \
--data-urlencode 'group=exType|modelType|prcFramework|moneynessType|underlierMode|cpAdjType|priceQuoteType|gridType|surfaceFit|fitErrCP|tradingSession|tradeableStatus|surfaceAdjResult|surfaceResult' \
--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 = 'LiveSurfaceComposite'
# 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=LiveSurfaceComposite' \
--data-urlencode 'where='