Skip to main content
Version: 8.6.10.4

FamilyPrimaryElectionV3

V8 Message Definiton

One row per futures family, keyed by the family head: CCodeDefinitionV3 (9115) familyHead, @[line]-[venue]-FUT for a venue's products on a line, or the @X head a product names. primary is the product MAR counts the family in (a sibling's contract counts as its point value over the Primary's) and the product a FUT head answers through; CCodeDefinitionV3 (9115) role Primary follows it. THREE RUNGS, STRICT ORDER (governs). HardCode: declared in code (the common US families, a micro under its E-mini; a FUT head named after a product, ES under @ES; the Europe loader's table); no edit of this row moves it, a release does. Election: this row decides, whoever wrote it, until written again. Rule: no row exists, so the loader elects the standard outright (kind Outright, else Physical, else any; never a TAS contract) with the largest point value, then contract size, then symbol, writes this row and publishes the family's 9115 rows with roles. A Rule row follows the rule on later loads; an Election or HardCode row stays as written. rulePrimary is what the rule elects today: a difference is research, not a change. STATUS. Elected: primary governs. Dead: the elected product is not in the load; the family has no Primary and every order on it is refused at MAR arrival (SpdrRejectReason MarNoPrimary) until a new election is written. None (the SRSE default on a hand-written row) governs and is stamped by the next pass. Pending and Superseded are reserved: such a row does not govern and the check reports it. A written row relinks its family within the session; counters accumulated for the day keep the old Primary's contracts until the trade-date roll.

METADATA​

AttributeValue
Topic9100-product-def-core
MLink TokenInternal
ProductSRReference
accessTypeSELECT
MLink EndpointMLink-Order

Table Definition​

FieldTypeKeyDefault ValueComment
head_atenum - AssetTypePRI'None'the family head 9115 familyHead linevenueFUT or X
head_tsenum - TickerSrcPRI'None'the family head 9115 familyHead linevenueFUT or X
head_tkVARCHAR(12)PRI''the family head 9115 familyHead linevenueFUT or X
primary_atenum - AssetType'None'the elected Primary product ccode the product refused when Dead
primary_tsenum - TickerSrc'None'the elected Primary product ccode the product refused when Dead
primary_tkVARCHAR(12)''the elected Primary product ccode the product refused when Dead
rulePrimary_atenum - AssetType'None'the product the rule elects today
rulePrimary_tsenum - TickerSrc'None'the product the rule elects today
rulePrimary_tkVARCHAR(12)''the product the rule elects today
governsenum - PrimaryRung'None'HardCode Election Rule the rung that decided primary
statusenum - PrimaryElectionStatus'None'Elected Pending Dead Superseded
electedAtDATETIME(6)'1900-01-01 00:00:00.000000'when primary was last decided MAR sizes the session it falls in against previousPrimary
ruleAtDATETIME(6)'1900-01-01 00:00:00.000000'when rulePrimary last moved
ruleReasonVARCHAR(64)''why rulePrimary last moved first election a new product a point value
rationaleTINYTEXT''a written election says why the loader writes the rule it applied
previousPrimary_atenum - AssetType'None'the Primary this election replaced what MAR counts in until the roll the loader fills it
previousPrimary_tsenum - TickerSrc'None'the Primary this election replaced what MAR counts in until the roll the loader fills it
previousPrimary_tkVARCHAR(12)''the Primary this election replaced what MAR counts in until the roll the loader fills it
timestampDATETIME(6)'1900-01-01 00:00:00.000000'
v3Sourceenum - V3Source'None'Loader the rule elected it Manual written by hand HardCode declared in code

PRIMARY KEY DEFINITION (Unique)​

FieldSequence
head_tk1
head_at2
head_ts3

SELECT TABLE EXAMPLE QUERY​

SELECT *
FROM `SRReference`.`MsgFamilyPrimaryElectionV3`
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') */
`head_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') */
`head_ts` = 'NONE'
AND
/* Replace with a VARCHAR(12) */
`head_tk` = 'Example_head_tk';

Doc Columns Query​

SELECT * FROM SRReference.doccolumns WHERE TABLE_NAME='FamilyPrimaryElectionV3' ORDER BY ordinal_position ASC;