Schema: LiveAtmVol (ID: 1010)
LiveAtmVol records are computed and publish continuously during trading hours
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= | ekey | ExpiryKey | |
100 | ticker | TickerKey | underlying tickerKey (stock or product group) that this option expiration is associated with |
103 | uPrc | double | effective underlier price |
106 | years | float | SR years to expiry metric |
109 | rate | float | average expected interest rate to expiry (SR global rate curve) |
112 | ddiv | float | (expected) cumulative discrete dividend $ amounts prior to expiration (if any) |
115 | ddivPv | float | (expected) cumulative npv of discrete dividend $ amounts prior to expiration (SR global rate curve) (if any) |
118 | ddivSource | enum : DDivSource | Forecast if any of the dividends prior to expiry are forecast rather than announced |
121 | atmVol | float | atm vol (xAxis = 0) |
124 | atmEMA | float | atm vol exp moving average (half-life ~ 30 seconds) |
127 | uPrcRatio | double | uPrc = uPrcDriver * uPrcRatio (when priceType = Future); uPrc = uPrcDriver (when priceType = Equity) |
130 | uPrcRatioEMA | double | time smoothed implied uPrcRatio (half-life ~ 30 seconds) |
133 | sdiv | float | stock dividend (borrow rate) (derived from call/put balance when priceType=Stock; =rate otherwise) |
136 | sdivEMA | float | sdiv exp moving average (half-life ~ 30 seconds) |
139 | minCPAdjVal | double | minimum cpAdjVal (sdiv or uPrcRatio) |
142 | maxCPAdjVal | double | minimum cpAdjVal (sdiv or uPrcRatio) |
145 | cpAdjType | enum : CPAdjType | adjustment used to align calls/puts |
148 | priceType | enum : CalcPriceType | [Equity] has independent uPrc and rate with sdiv derived from call/put balance; [Future] has sdiv = rate with uPrc' derived from call/put balance |
151 | uPrcDriverKey | ExpiryKey | underlier driver key |
154 | uPrcDriverType | enum : SpdrKeyType | underlier driver key type (stock or future) |
157 | uPrcDriver | double | underlier driver (mid-market) |
160 | axisFUPrc | float | forward underlier price; also at-the-money (xAxis = 0) synthetic strike |
163 | synSpot | double | Synthetic spot price (market-derived spot when the underlying is not a traded instrument) |
166 | vWidth | float | atm volatility market width (estimated from near expiries) |
169 | numAtmStrikes | byte | |
172 | tradeableStatus | enum : TradeableStatus | indicates whether the surface is currently tradeable or not (all server surface integrity checks pass) |
175 | surfaceResult | enum : SurfaceAdjResult | |
178 | netTimestamp | long | most recent unix timestamp (all option quotes) |
181 | 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 = 'LiveAtmVol'
# 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=LiveAtmVol'
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 = 'LiveAtmVol'
# 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|uPrc|years|rate|ddiv|ddivPv|ddivSource|atmVol|atmEMA|uPrcRatio|uPrcRatioEMA|sdiv|sdivEMA|minCPAdjVal|maxCPAdjVal|cpAdjType|priceType|uPrcDriverKey|uPrcDriverType|uPrcDriver|axisFUPrc|synSpot|vWidth|numAtmStrikes|tradeableStatus|surfaceResult|netTimestamp|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=LiveAtmVol' \
--data-urlencode 'view=ticker|uPrc|years|rate|ddiv|ddivPv|ddivSource|atmVol|atmEMA|uPrcRatio|uPrcRatioEMA|sdiv|sdivEMA|minCPAdjVal|maxCPAdjVal|cpAdjType|priceType|uPrcDriverKey|uPrcDriverType|uPrcDriver|axisFUPrc|synSpot|vWidth|numAtmStrikes|tradeableStatus|surfaceResult|netTimestamp|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 = 'LiveAtmVol'
# 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|uPrc|years|rate|ddiv|ddivPv|ddivSource|atmVol|atmEMA|uPrcRatio|uPrcRatioEMA|sdiv|sdivEMA|minCPAdjVal|maxCPAdjVal|cpAdjType|priceType|uPrcDriverKey|uPrcDriverType|uPrcDriver|axisFUPrc|synSpot|vWidth|numAtmStrikes|tradeableStatus|surfaceResult|netTimestamp|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=LiveAtmVol' \
--data-urlencode 'view=ticker|uPrc|years|rate|ddiv|ddivPv|ddivSource|atmVol|atmEMA|uPrcRatio|uPrcRatioEMA|sdiv|sdivEMA|minCPAdjVal|maxCPAdjVal|cpAdjType|priceType|uPrcDriverKey|uPrcDriverType|uPrcDriver|axisFUPrc|synSpot|vWidth|numAtmStrikes|tradeableStatus|surfaceResult|netTimestamp|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 = 'LiveAtmVol'
# Replace with fields you want to see aggregate values for. A "|" separated list of measures should be provided
MEASURE = 'ticker|uPrc|years|rate|ddiv|ddivPv|ddivSource|atmVol|atmEMA|uPrcRatio|uPrcRatioEMA|sdiv|sdivEMA|minCPAdjVal|maxCPAdjVal|cpAdjType|priceType|uPrcDriverKey|uPrcDriverType|uPrcDriver|axisFUPrc|synSpot|vWidth|numAtmStrikes|tradeableStatus|surfaceResult|netTimestamp|timestamp'
# Replace with fields you want to see aggregated. A "|" separated list of fields should be provided
GROUP = 'ddivSource|cpAdjType|priceType|uPrcDriverType|tradeableStatus|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=LiveAtmVol' \
--data-urlencode 'measure=ticker|uPrc|years|rate|ddiv|ddivPv|ddivSource|atmVol|atmEMA|uPrcRatio|uPrcRatioEMA|sdiv|sdivEMA|minCPAdjVal|maxCPAdjVal|cpAdjType|priceType|uPrcDriverKey|uPrcDriverType|uPrcDriver|axisFUPrc|synSpot|vWidth|numAtmStrikes|tradeableStatus|surfaceResult|netTimestamp|timestamp' \
--data-urlencode 'group=ddivSource|cpAdjType|priceType|uPrcDriverType|tradeableStatus|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 = 'LiveAtmVol'
# 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=LiveAtmVol' \
--data-urlencode 'where='