Skip to main content
Version: 8.6.10.4

TheoExpiryPtSkew

V8 Message Definiton

TheoExpiryPtSkew records carry the skew curve of a TheoExpirySurface record with the same key (ekey + theoModel + clientFirm) as x/y points, used when the surface's skewSource = PtSkew. The client defines both axes: xType says what x measures (strike or a form of moneyness), yType says what y is (an absolute vol, a ratio to the surface theoVol, or a difference from it). A moneyness x axis moves with the forward and is therefore sticky delta by construction; a Strike x axis is sticky strike. The forward uses the surface's theoRate and theoSDiv. The resolver sorts the points by x; duplicate x values, fewer than two points (four for Spline) or more than 201 points make the surface hold rather than truncate.

METADATA​

AttributeValue
Topic1945-client-theos
MLink TokenClientTheo
ProductSRTheo
accessTypeSELECT,UPDATE,INSERT,DELETE
MLink EndpointMLink-Live

Table Definition​

FieldTypeKeyDefault ValueComment
ekey_atenum - AssetTypePRI'None'expiry this curve belongs to ticker expiration must match the TheoExpirySurface key
ekey_tsenum - TickerSrcPRI'None'expiry this curve belongs to ticker expiration must match the TheoExpirySurface key
ekey_tkVARCHAR(12)PRI''expiry this curve belongs to ticker expiration must match the TheoExpirySurface key
ekey_yrSMALLINT UNSIGNEDPRI0expiry this curve belongs to ticker expiration must match the TheoExpirySurface key
ekey_mnTINYINT UNSIGNEDPRI0expiry this curve belongs to ticker expiration must match the TheoExpirySurface key
ekey_dyTINYINT UNSIGNEDPRI0expiry this curve belongs to ticker expiration must match the TheoExpirySurface key
theoModelVARCHAR(16)PRI''client theo model name must match the TheoExpirySurface key
clientFirmVARCHAR(16)PRI''client firm this theo model is associated with controls visibility
ticker_atenum - AssetType'None'underlier ticker same as ekeyticker kept for filtering and joins
ticker_tsenum - TickerSrc'None'underlier ticker same as ekeyticker kept for filtering and joins
ticker_tkVARCHAR(12)''underlier ticker same as ekeyticker kept for filtering and joins
xTypeenum - TheoXType'None'Strike x is a strike SimpleMoney strike fwd 1 RTMoney SimpleMoney sqrtyears VolRTMoney SimpleMoney axisVol sqrtyears LogStdMoney lnstrike fwd axisVol sqrtyears
yTypeenum - TheoYType'None'Vol y is a volatility AtmRatio y the surface level theoVol after its vol path and SR blend AtmDiff level y
axisVolFLOAT-99scaling vol for VolRTMoney and LogStdMoney 99 the surface level
interpenum - TheoInterp'Spline'interpolation between points Spline needs four or more points or Linear two or more
extrapenum - TheoExtrap'Flat'beyond the first and last point Flat holds the end value Extend continues the end slope
timestampDATETIME(6)'1900-01-01 00:00:00.000000'timestamp of last modification the surfaces maxAgeDays applies to the older of the two timestamps
PointListJSON'JSON_ARRAY()'

PRIMARY KEY DEFINITION (Unique)​

FieldSequence
ekey_tk1
ekey_yr2
ekey_mn3
ekey_dy4
ekey_at5
ekey_ts6
theoModel7
clientFirm8

JSON Block (PointList)​

FieldTypeComment
xenum - xx coordinate in xType units
yenum - yy value in yType units

SELECT TABLE EXAMPLE QUERY​

SELECT *
FROM `SRTheo`.`MsgTheoExpiryPtSkew`
WHERE
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY','RATE','CRDT','GCR','SWAP','ENT','MBS','SET','LOAN') */
`ekey_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','SCE','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFEC','ICEFEF','CEQT','TSX','TMX','CRCY','CMDY','DTI','SOVN','SR_US','SR_EU','SR_AP','SR_UK','USD','EUR','GBP','CHF','JPY','CAD','AUD','HKD','KRW','INR','SGD','TWD','CNY','CNH','BRL','MXN','ZAR','SEK','NOK','DKK','PLN','ILS','TRY','NZD','THB','MYR','IDR','PHP','CZK','HUF','SAR','AED','CLP','COP') */
`ekey_ts` = 'NONE'
AND
/* Replace with a VARCHAR(12) */
`ekey_tk` = 'Example_ekey_tk'
AND
/* Replace with a SMALLINT UNSIGNED */
`ekey_yr` = 123
AND
/* Replace with a TINYINT UNSIGNED */
`ekey_mn` = 1
AND
/* Replace with a TINYINT UNSIGNED */
`ekey_dy` = 1
AND
/* Replace with a VARCHAR(16) */
`theoModel` = 'Example_theoModel'
AND
/* Replace with a VARCHAR(16) */
`clientFirm` = 'Example_clientFirm';

UPDATE TABLE EXAMPLE QUERY​

UPDATE `SRTheo`.`MsgTheoExpiryPtSkew` 
SET
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY','RATE','CRDT','GCR','SWAP','ENT','MBS','SET','LOAN') */
`ticker_at` = 'NONE',
/* 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','SCE','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFEC','ICEFEF','CEQT','TSX','TMX','CRCY','CMDY','DTI','SOVN','SR_US','SR_EU','SR_AP','SR_UK','USD','EUR','GBP','CHF','JPY','CAD','AUD','HKD','KRW','INR','SGD','TWD','CNY','CNH','BRL','MXN','ZAR','SEK','NOK','DKK','PLN','ILS','TRY','NZD','THB','MYR','IDR','PHP','CZK','HUF','SAR','AED','CLP','COP') */
`ticker_ts` = 'NONE',
/* Replace with a VARCHAR(12) */
`ticker_tk` = 'Example_ticker_tk',
/* Replace with a ENUM('None','Strike','SimpleMoney','RTMoney','VolRTMoney','LogStdMoney') */
`xType` = 'NONE',
/* Replace with a ENUM('None','Vol','AtmRatio','AtmDiff') */
`yType` = 'NONE',
/* Replace with a FLOAT */
`axisVol` = 1.23,
/* Replace with a ENUM('None','Spline','Linear') */
`interp` = 'NONE',
/* Replace with a ENUM('None','Flat','Extend') */
`extrap` = 'NONE',
/* Replace with a DATETIME(6) */
`timestamp` = '2022-01-01 12:34:56.000000',
/* Replace with a JSON */
`PointList` = '{"key": "value"}'
WHERE
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY','RATE','CRDT','GCR','SWAP','ENT','MBS','SET','LOAN') */
`ekey_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','SCE','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFEC','ICEFEF','CEQT','TSX','TMX','CRCY','CMDY','DTI','SOVN','SR_US','SR_EU','SR_AP','SR_UK','USD','EUR','GBP','CHF','JPY','CAD','AUD','HKD','KRW','INR','SGD','TWD','CNY','CNH','BRL','MXN','ZAR','SEK','NOK','DKK','PLN','ILS','TRY','NZD','THB','MYR','IDR','PHP','CZK','HUF','SAR','AED','CLP','COP') */
`ekey_ts` = 'NONE'
AND
/* Replace with a VARCHAR(12) */
`ekey_tk` = 'Example_ekey_tk'
AND
/* Replace with a SMALLINT UNSIGNED */
`ekey_yr` = 123
AND
/* Replace with a TINYINT UNSIGNED */
`ekey_mn` = 1
AND
/* Replace with a TINYINT UNSIGNED */
`ekey_dy` = 1
AND
/* Replace with a VARCHAR(16) */
`theoModel` = 'Example_theoModel'
AND
/* Replace with a VARCHAR(16) */
`clientFirm` = 'Example_clientFirm';

INSERT TABLE EXAMPLE QUERY​

INSERT INTO `SRTheo`.`MsgTheoExpiryPtSkew`(
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY','RATE','CRDT','GCR','SWAP','ENT','MBS','SET','LOAN') */
`ekey_at`,
/* 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','SCE','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFEC','ICEFEF','CEQT','TSX','TMX','CRCY','CMDY','DTI','SOVN','SR_US','SR_EU','SR_AP','SR_UK','USD','EUR','GBP','CHF','JPY','CAD','AUD','HKD','KRW','INR','SGD','TWD','CNY','CNH','BRL','MXN','ZAR','SEK','NOK','DKK','PLN','ILS','TRY','NZD','THB','MYR','IDR','PHP','CZK','HUF','SAR','AED','CLP','COP') */
`ekey_ts`,
/* Replace with a VARCHAR(12) */
`ekey_tk`,
/* Replace with a SMALLINT UNSIGNED */
`ekey_yr`,
/* Replace with a TINYINT UNSIGNED */
`ekey_mn`,
/* Replace with a TINYINT UNSIGNED */
`ekey_dy`,
/* Replace with a VARCHAR(16) */
`theoModel`,
/* Replace with a VARCHAR(16) */
`clientFirm`,
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY','RATE','CRDT','GCR','SWAP','ENT','MBS','SET','LOAN') */
`ticker_at`,
/* 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','SCE','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFEC','ICEFEF','CEQT','TSX','TMX','CRCY','CMDY','DTI','SOVN','SR_US','SR_EU','SR_AP','SR_UK','USD','EUR','GBP','CHF','JPY','CAD','AUD','HKD','KRW','INR','SGD','TWD','CNY','CNH','BRL','MXN','ZAR','SEK','NOK','DKK','PLN','ILS','TRY','NZD','THB','MYR','IDR','PHP','CZK','HUF','SAR','AED','CLP','COP') */
`ticker_ts`,
/* Replace with a VARCHAR(12) */
`ticker_tk`,
/* Replace with a ENUM('None','Strike','SimpleMoney','RTMoney','VolRTMoney','LogStdMoney') */
`xType`,
/* Replace with a ENUM('None','Vol','AtmRatio','AtmDiff') */
`yType`,
/* Replace with a FLOAT */
`axisVol`,
/* Replace with a ENUM('None','Spline','Linear') */
`interp`,
/* Replace with a ENUM('None','Flat','Extend') */
`extrap`,
/* Replace with a DATETIME(6) */
`timestamp`,
/* Replace with a JSON */
`PointList`
)
VALUES(
'NONE',
'NONE',
'Example_ekey_tk',
123,
1,
1,
'Example_theoModel',
'Example_clientFirm',
'NONE',
'NONE',
'Example_ticker_tk',
'NONE',
'NONE',
1.23,
'NONE',
'NONE',
'2022-01-01 12:34:56.000000',
'{"key": "value"}'
);

DELETE TABLE EXAMPLE QUERY​

DELETE FROM `SRTheo`.`MsgTheoExpiryPtSkew` 
WHERE
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY','RATE','CRDT','GCR','SWAP','ENT','MBS','SET','LOAN') */
`ekey_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','SCE','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFEC','ICEFEF','CEQT','TSX','TMX','CRCY','CMDY','DTI','SOVN','SR_US','SR_EU','SR_AP','SR_UK','USD','EUR','GBP','CHF','JPY','CAD','AUD','HKD','KRW','INR','SGD','TWD','CNY','CNH','BRL','MXN','ZAR','SEK','NOK','DKK','PLN','ILS','TRY','NZD','THB','MYR','IDR','PHP','CZK','HUF','SAR','AED','CLP','COP') */
`ekey_ts` = 'NONE'
AND
/* Replace with a VARCHAR(12) */
`ekey_tk` = 'Example_ekey_tk'
AND
/* Replace with a SMALLINT UNSIGNED */
`ekey_yr` = 123
AND
/* Replace with a TINYINT UNSIGNED */
`ekey_mn` = 1
AND
/* Replace with a TINYINT UNSIGNED */
`ekey_dy` = 1
AND
/* Replace with a VARCHAR(16) */
`theoModel` = 'Example_theoModel'
AND
/* Replace with a VARCHAR(16) */
`clientFirm` = 'Example_clientFirm';

Doc Columns Query​

SELECT * FROM SRTheo.doccolumns WHERE TABLE_NAME='TheoExpiryPtSkew' ORDER BY ordinal_position ASC;