Skip to main content
Version: Upcoming

ProductDefinitionV2

V8 Message Definiton

SpiderRock normalized exchange product definitions. Includes future, option, and spread definitions from a number of exchanges. TickerDefinitions, RootDefinitions and CCodeDefinitions are consistent with these records.

METADATA

AttributeValue
Topic4335-product-definition
MLink TokenFutureDefinition
ProductSRLive
accessTypeSELECT
MLink EndpointMLink-Live

Table Definition

FieldTypeKeyDefault ValueComment
secKey_atenum - AssetTypePRI'None'SR Security Key can be partially filled in look at secType
secKey_tsenum - TickerSrcPRI'None'SR Security Key can be partially filled in look at secType
secKey_tkVARCHAR(12)PRI''SR Security Key can be partially filled in look at secType
secKey_yrSMALLINT UNSIGNEDPRI0SR Security Key can be partially filled in look at secType
secKey_mnTINYINT UNSIGNEDPRI0SR Security Key can be partially filled in look at secType
secKey_dyTINYINT UNSIGNEDPRI0SR Security Key can be partially filled in look at secType
secKey_xxDOUBLEPRI0SR Security Key can be partially filled in look at secType
secKey_cpenum - CallPutPRI'Call'SR Security Key can be partially filled in look at secType
secTypeenum - SpdrKeyTypePRI'None'Security Type Stock Future Option
securityIDTINYTEXT''unique exchange id exch assigned
ticker_atenum - AssetType'None'master underlier
ticker_tsenum - TickerSrc'None'master underlier
ticker_tkVARCHAR(12)''master underlier
SRspreadIDBIGINT0
productClassenum - ProductClass'None'
underlierIDBIGINT0underlier product id option only securityID of undKeyundType product
undKey_atenum - AssetType'None'SR Underlier Security Key can be partially filled in look at undType option only
undKey_tsenum - TickerSrc'None'SR Underlier Security Key can be partially filled in look at undType option only
undKey_tkVARCHAR(12)''SR Underlier Security Key can be partially filled in look at undType option only
undKey_yrSMALLINT UNSIGNED0SR Underlier Security Key can be partially filled in look at undType option only
undKey_mnTINYINT UNSIGNED0SR Underlier Security Key can be partially filled in look at undType option only
undKey_dyTINYINT UNSIGNED0SR Underlier Security Key can be partially filled in look at undType option only
undTypeenum - SpdrKeyType'None'Underlier Security Type Stock Future option only
productGroupVARCHAR(6)''Underlying product code IE All GE Eurodollar spreads options futures will be in the same productGroup This is the Asset field from the SecurityDefinition message
securityGroupVARCHAR(6)''Exchange specific code for a group of related securities that are all affected by market events IE All Emini weekly options EW This is SecurityGroup field from the SecurityDefinition messages
marketSegmentIDINT0Exchange specific market segment identifier
ricCodeVARCHAR(32)''Full RIC Code only provided for nonuser defined instruments
securityDescTINYTEXT''full exchange symbol
exchangeVARCHAR(8)''listing exchange
productTypeenum - ProductType'None'
productTermenum - ProductTerm'None'
productIndexTypeenum - ProductIndexType'None'
productRateFLOAT0
contractSizeFLOAT0
contractUnitenum - ContractUnit'None'
priceFormatenum - PriceFormat'None'
minTickSizeDOUBLE0
displayFactorDOUBLE0
strikeScaleDOUBLE0manual strike price adjustment multiplier used for some CME products if set otherwise displayFactor is used okeyxx strikePrice manualStrikeScale
minLotSizeSMALLINT0minimum lot size
bookDepthSMALLINT0levels in the Globex quote book
impliedBookDepthSMALLINT0levels in the globex implied quote book 0 if no implied depth
impMarketIndSMALLINT0implied market type 0 no implied 1 implied in 2 implied out 3 implied in out
minPriceIncrementAmountFLOAT0depricate minimum price amount points per handle
parValueFLOAT0per contract par value
contMultiplierFLOAT0contract deliverable multipler
cabPriceDOUBLE0depricate cabinet price minimum closing price for OOM options
tradeCurrenum - Currency'None'
settleCurrenum - Currency'None'
strikeCurrenum - Currency'None'
expirationDATETIME(6)'1900-01-01 00:00:00.000000'future expiration or option expiration if product is an option we use the last TRADING day as the expiration date
maturityDATE'1900-01-01'future maturity date or option maturity date this is the delivery month
exerciseTypeenum - ExerciseType'None'depricate in RootDefinition Exercise style
userDefinedenum - YesNo'None'
decayStartYearSMALLINT0
decayStartMonthTINYINT UNSIGNED0
decayStartDayTINYINT UNSIGNED0
decayQtyINT0daily decay quantity
priceRatioDOUBLE0price ratio for interest rate intercommodity spreads
isHftTaxLiableenum - YesNo'None'if Yes spreads in this product def are liable for high frequency taxation and require hft throttling for maker algos
hftTaxTriggerTimeDOUBLE0value in seconds that any order activity new cancel update needs witheld for to prevent triggering hft default 5 seconds per Italian tax
timestampDATETIME(6)'1900-01-01 00:00:00.000000'
LegsListJSON'JSON_ARRAY()'

PRIMARY KEY DEFINITION (Unique)

FieldSequence
secKey_tk1
secKey_yr2
secKey_mn3
secKey_dy4
secKey_xx5
secKey_cp6
secKey_at7
secKey_ts8
secType9

JSON Block (LegsList)

FieldTypeComment
legIDenum - legIDleg SecurityId exch assigned
secKeyenum - secKey
secTypeenum - SpdrKeyType
sideenum - BuySell
ratioenum - ratio
refDeltaenum - refDelta
refPrcenum - refPrc

SELECT TABLE EXAMPLE QUERY

SELECT *
FROM `SRLive`.`MsgProductDefinitionV2`
WHERE
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY','RATE') */
`secKey_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') */
`secKey_ts` = 'None'
AND
/* Replace with a VARCHAR(12) */
`secKey_tk` = 'Example_secKey_tk'
AND
/* Replace with a SMALLINT UNSIGNED */
`secKey_yr` = 123
AND
/* Replace with a TINYINT UNSIGNED */
`secKey_mn` = 1
AND
/* Replace with a TINYINT UNSIGNED */
`secKey_dy` = 1
AND
/* Replace with a DOUBLE */
`secKey_xx` = 4.56
AND
/* Replace with a ENUM('Call','Put','Pair') */
`secKey_cp` = 'Call'
AND
/* Replace with a ENUM('None','Stock','Future','Option','MLeg') */
`secType` = 'None';

Doc Columns Query

SELECT * FROM SRLive.doccolumns WHERE TABLE_NAME='ProductDefinitionV2' ORDER BY ordinal_position ASC;