Skip to main content
Version: Staging

LiveImpliedQuote

V8 Message Definiton

CalcSource=Tick records are computed and published each time an option NBBO price changes. CalcSource=Loop records are computed in a 2-3 minute background loop.\nNote that the underlier price (uPrc) will be the same for all options an underlier when CalcSource=Loop. This is not true for CalcSource=Tick where uPrc will be the underlier price that prevailed when the option price changed.\nIf you are consuming multicast data and only want records with consistent uPrc values for all options you should ignore Tick records. Alternatively, you can use an independent underlier price source (our StockBookQuote feed or some other) and 'adjust' the values in this table to the new underlier value.\nIf you are selecting records from SRSE you should note that OptionImpliedQuoteAdj table is a proxy implementation of this table that automatically applies the appropriate underlier adjustments as records are being returned.

METADATA

AttributeValue
Topic1000-analytics
MLink TokenOptAnalytics
ProductSRAnalytics
accessTypeSELECT

Table Definition

FieldTypeKeyDefault ValueComment
okey_atenum - AssetTypePRI'None'
okey_tsenum - TickerSrcPRI'None'
okey_tkVARCHAR(12)PRI''
okey_yrSMALLINT UNSIGNEDPRI, SEC0
okey_mnTINYINT UNSIGNEDPRI, SEC0
okey_dyTINYINT UNSIGNEDPRI, SEC0
okey_xxDOUBLEPRI0
okey_cpenum - CallPutPRI'Call'
ticker_atenum - AssetType'None'SR Ticker that this option rolls up to
ticker_tsenum - TickerSrc'None'SR Ticker that this option rolls up to
ticker_tkVARCHAR(12)SEC''SR Ticker that this option rolls up to
uPrcFLOAT0underlier price usually midmarket
uOffFLOAT0implied underlier price offset if any
yearsFLOAT0years to expiration
xAxisFLOAT0option moneyness
rateFLOAT0discount rate
sdivFLOAT0sdiv continuous stock dividend rate
ddivFLOAT0cumulative discrete dividend value
oBidFLOAT0option bid price
oAskFLOAT0option ask price
oBidIvFLOAT0volatility implied by option bid price
oAskIvFLOAT0volatility implied by option ask price
atmVolFLOAT0option atm volatility from SR surface
sVolFLOAT0option surface volatility SR surface fit model
sPrcFLOAT0option surface price ie PRICEsVol uPrc uOff years rate sDiv discrete dividends if any
sMarkFLOAT0option surface mark option surface price wbounding rules always between bidask
veSlopeFLOAT0veSlope dVol dUprc assuming vol xAxis 0 remains constant hedgeDelta de ve 100 veSlope if hedging with this assumption
deFLOAT0option delta
gaFLOAT0option gamma
thFLOAT0option theta
veFLOAT0option vega
vaFLOAT0option vanna
voFLOAT0option volga
roFLOAT0option rho
phFLOAT0option phi
deDecayFLOAT0option delta decay
up50FLOAT0underlier up 50 slide
dn50FLOAT0underlier dn 50 slide
up15FLOAT0underlier up 15 slide
dn15FLOAT0underlier dn 15 slide
up06FLOAT0underlier up 6 slide
dn08FLOAT0underlier dn 8 slide
synSpotDOUBLE0Synthetic spot price marketderived spot when the underlying is not a traded instrument
priceTypeenum - CalcPriceType'None'Equity or Future Black76 pricing framework if Future then uPrc is the forwardUPrc and sdiv rate
calcErrenum - ImpliedQuoteError'None'option pricing calculation error if any
calcSourceenum - CalcSource'None'
srcTimestampBIGINT0OPRA source timestamp nanoseconds since epoch will be zero if calcSource Tick
netTimestampBIGINT0SR timestamp publish time
timestampDATETIME(6)'1900-01-01 00:00:00.000000'

PRIMARY KEY DEFINITION (Unique)

FieldSequence
okey_tk1
okey_yr2
okey_mn3
okey_dy4
okey_xx5
okey_cp6
okey_at7
okey_ts8

SECONDARY INDEX (ExpirationIndex) (Not Unique)

FieldSequence
okey_yr1
okey_mn2
okey_dy3

SECONDARY INDEX (TickerIndex) (Not Unique)

FieldSequence
ticker_tk1

CREATE TABLE EXAMPLE QUERY

CREATE TABLE `SRAnalytics`.`MsgLiveImpliedQuote` (
`okey_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None',
`okey_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','ESX','ANY','CXE','DXE','NXAM','NXBR','NXDUB','NXLS','NXLDN','NXML','NXMLT','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'None',
`okey_tk` VARCHAR(12) NOT NULL DEFAULT '',
`okey_yr` SMALLINT UNSIGNED NOT NULL DEFAULT 0,
`okey_mn` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`okey_dy` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`okey_xx` DOUBLE NOT NULL DEFAULT 0,
`okey_cp` ENUM('Call','Put','Pair') NOT NULL DEFAULT 'Call',
`ticker_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None' COMMENT 'SR Ticker that this option rolls up to',
`ticker_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','ESX','ANY','CXE','DXE','NXAM','NXBR','NXDUB','NXLS','NXLDN','NXML','NXMLT','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'None' COMMENT 'SR Ticker that this option rolls up to',
`ticker_tk` VARCHAR(12) NOT NULL DEFAULT '' COMMENT 'SR Ticker that this option rolls up to',
`uPrc` FLOAT NOT NULL DEFAULT 0 COMMENT 'underlier price (usually mid-market)',
`uOff` FLOAT NOT NULL DEFAULT 0 COMMENT 'implied underlier price offset (if any)',
`years` FLOAT NOT NULL DEFAULT 0 COMMENT 'years to expiration',
`xAxis` FLOAT NOT NULL DEFAULT 0 COMMENT 'option moneyness',
`rate` FLOAT NOT NULL DEFAULT 0 COMMENT 'discount rate',
`sdiv` FLOAT NOT NULL DEFAULT 0 COMMENT 'sdiv (continuous stock dividend) rate',
`ddiv` FLOAT NOT NULL DEFAULT 0 COMMENT 'cumulative discrete dividend value',
`oBid` FLOAT NOT NULL DEFAULT 0 COMMENT 'option bid price',
`oAsk` FLOAT NOT NULL DEFAULT 0 COMMENT 'option ask price',
`oBidIv` FLOAT NOT NULL DEFAULT 0 COMMENT 'volatility implied by option bid price',
`oAskIv` FLOAT NOT NULL DEFAULT 0 COMMENT 'volatility implied by option ask price',
`atmVol` FLOAT NOT NULL DEFAULT 0 COMMENT 'option atm volatility (from SR surface)',
`sVol` FLOAT NOT NULL DEFAULT 0 COMMENT 'option surface volatility (SR surface fit model)',
`sPrc` FLOAT NOT NULL DEFAULT 0 COMMENT 'option surface price; ie. PRICE(sVol, uPrc + uOff, years, rate, sDiv, {discrete dividends, if any})',
`sMark` FLOAT NOT NULL DEFAULT 0 COMMENT 'option surface mark (option surface price w/bounding rules; always between bid/ask)',
`veSlope` FLOAT NOT NULL DEFAULT 0 COMMENT 'veSlope = dVol / dUprc (assuming vol @ xAxis = 0 remains constant); hedgeDelta = (de + ve * 100 * veSlope) if hedging with this assumption',
`de` FLOAT NOT NULL DEFAULT 0 COMMENT 'option delta',
`ga` FLOAT NOT NULL DEFAULT 0 COMMENT 'option gamma',
`th` FLOAT NOT NULL DEFAULT 0 COMMENT 'option theta',
`ve` FLOAT NOT NULL DEFAULT 0 COMMENT 'option vega',
`va` FLOAT NOT NULL DEFAULT 0 COMMENT 'option vanna',
`vo` FLOAT NOT NULL DEFAULT 0 COMMENT 'option volga',
`ro` FLOAT NOT NULL DEFAULT 0 COMMENT 'option rho',
`ph` FLOAT NOT NULL DEFAULT 0 COMMENT 'option phi',
`deDecay` FLOAT NOT NULL DEFAULT 0 COMMENT 'option delta decay',
`up50` FLOAT NOT NULL DEFAULT 0 COMMENT 'underlier up 50% slide',
`dn50` FLOAT NOT NULL DEFAULT 0 COMMENT 'underlier dn 50% slide',
`up15` FLOAT NOT NULL DEFAULT 0 COMMENT 'underlier up 15% slide',
`dn15` FLOAT NOT NULL DEFAULT 0 COMMENT 'underlier dn 15% slide',
`up06` FLOAT NOT NULL DEFAULT 0 COMMENT 'underlier up 6% slide',
`dn08` FLOAT NOT NULL DEFAULT 0 COMMENT 'underlier dn 8% slide',
`synSpot` DOUBLE NOT NULL DEFAULT 0 COMMENT 'Synthetic spot price (market-derived spot when the underlying is not a traded instrument)',
`priceType` ENUM('None','Equity','Future') NOT NULL DEFAULT 'None' COMMENT 'Equity or Future (Black76) pricing framework; if Future then uPrc is the forwardUPrc and sdiv = rate',
`calcErr` ENUM('None','InvalidUPrc','InvalidSVol','PricingError') NOT NULL DEFAULT 'None' COMMENT 'option pricing calculation error (if any)',
`calcSource` ENUM('None','Tick','Loop') NOT NULL DEFAULT 'None',
`srcTimestamp` BIGINT NOT NULL DEFAULT 0 COMMENT 'OPRA source timestamp (nanoseconds since epoch); will be zero if calcSource != Tick',
`netTimestamp` BIGINT NOT NULL DEFAULT 0 COMMENT 'SR timestamp @ publish time',
`timestamp` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000',
PRIMARY KEY USING HASH (`okey_tk`,`okey_yr`,`okey_mn`,`okey_dy`,`okey_xx`,`okey_cp`,`okey_at`,`okey_ts`),
KEY `ExpirationIndex` (`okey_yr`,`okey_mn`,`okey_dy`) USING HASH,
KEY `TickerIndex` (`ticker_tk`) USING HASH
) ENGINE=SRSE DEFAULT CHARSET=LATIN1 COMMENT='CalcSource=Tick records are computed and published each time an option NBBO price changes. CalcSource=Loop records are computed in a 2-3 minute background loop.\nNote that the underlier price (uPrc) will be the same for all options an underlier when CalcSource=Loop. This is not true for CalcSource=Tick where uPrc will be the underlier price that prevailed when the option price changed.\nIf you are consuming multicast data and only want records with consistent uPrc values for all options you should ignore Tick records. Alternatively, you can use an independent underlier price source (our StockBookQuote feed or some other) and \'adjust\' the values in this table to the new underlier value.\nIf you are selecting records from SRSE you should note that OptionImpliedQuoteAdj table is a proxy implementation of this table that automatically applies the appropriate underlier adjustments as records are being returned.';

SELECT TABLE EXAMPLE QUERY

SELECT
`okey_at`,
`okey_ts`,
`okey_tk`,
`okey_yr`,
`okey_mn`,
`okey_dy`,
`okey_xx`,
`okey_cp`,
`ticker_at`,
`ticker_ts`,
`ticker_tk`,
`uPrc`,
`uOff`,
`years`,
`xAxis`,
`rate`,
`sdiv`,
`ddiv`,
`oBid`,
`oAsk`,
`oBidIv`,
`oAskIv`,
`atmVol`,
`sVol`,
`sPrc`,
`sMark`,
`veSlope`,
`de`,
`ga`,
`th`,
`ve`,
`va`,
`vo`,
`ro`,
`ph`,
`deDecay`,
`up50`,
`dn50`,
`up15`,
`dn15`,
`up06`,
`dn08`,
`synSpot`,
`priceType`,
`calcErr`,
`calcSource`,
`srcTimestamp`,
`netTimestamp`,
`timestamp`
FROM `SRAnalytics`.`MsgLiveImpliedQuote`
WHERE
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') */
`okey_at` = 'None'
AND
/* Replace with a ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','ESX','ANY','CXE','DXE','NXAM','NXBR','NXDUB','NXLS','NXLDN','NXML','NXMLT','NXOS','NXP','EUREX','CEDX','ICEFE') */
`okey_ts` = 'None'
AND
/* Replace with a VARCHAR(12) */
`okey_tk` = 'Example_okey_tk'
AND
/* Replace with a SMALLINT UNSIGNED */
`okey_yr` = 123
AND
/* Replace with a TINYINT UNSIGNED */
`okey_mn` = 1
AND
/* Replace with a TINYINT UNSIGNED */
`okey_dy` = 1
AND
/* Replace with a DOUBLE */
`okey_xx` = 4.56
AND
/* Replace with a ENUM('Call','Put','Pair') */
`okey_cp` = 'Call';

Doc Columns Query

SELECT * FROM SRAnalytics.doccolumns WHERE TABLE_NAME='LiveImpliedQuote' ORDER BY ordinal_position ASC;