MarketHoursV3
The expected market schedule for one product group on one trade date - the session times a client needs to know when orders are accepted and when each session opens and closes. Typically holds the current week, the previous week and the next week. ScheduleDefinitionV3 (9057) holds the calendar, rotation window and venue for the same (tickerSrc, tickerClass, scheduleGroup) key. This record holds only what varies BY DATE. RESOLUTION: look up the product's exact scheduleGroup; if there is no row, fall back to scheduleGroup '*'. FOUR SOURCES, ONE LADDER. Every source publishes its own row and the reader takes the best one present - Manual beats Loader beats Bridge beats HardCode - skipping any row marked deleted.
METADATA
| Attribute | Value |
|---|---|
| Topic | 9100-product-def-core |
| MLink Token | ClientLive |
| Product | SRReference |
| accessType | SELECT |
| MLink Endpoint | MLink-Live |
Table Definition
| Field | Type | Key | Default Value | Comment |
|---|---|---|---|---|
| tickerSrc | enum - TickerSrc | PRI | 'None' | the products ticker source |
| tickerClass | enum - TickerClass | PRI | 'None' | product family Ticker cash CCode futures Root options |
| scheduleGroup | VARCHAR(6) | PRI | '' | ScheduleDefinitionV3 9057 covers every group not named |
| tradeDate | DATE | PRI | '1900-01-01' | the trade date these session times apply to |
| v3Source | enum - V3Source | PRI | 'None' | which source wrote this row the reader takes the highest present |
| timeZone | enum - SRTimeZone | 'None' | empty the schedules TradingPeriod zone | |
| marketDayType | enum - MarketDayType | 'None' | whether the session runs normally runs modified or does not run | |
| srCloseMarkTime | TIME(6) | '00:00:00.000000' | SR Close Mark Time usually regular market close 5 minute C 5M | |
| hasEarlySession | enum - YesNo | 'None' | note early session can start the previous day | |
| earlyPreOpenTime | TIME(6) | '00:00:00.000000' | early session preopen orders accepted | |
| earlySessionOpenTime | TIME(6) | '00:00:00.000000' | early session market open | |
| earlySessionCloseTime | TIME(6) | '00:00:00.000000' | early session market close | |
| hasRegularSession | enum - YesNo | 'None' | No no regular session on this date whatever the times below say | |
| regPreOpenTime | TIME(6) | '00:00:00.000000' | regular session preopen order accepted | |
| regSessionOpenTime | TIME(6) | '00:00:00.000000' | regular session open | |
| regSessionCloseTime | TIME(6) | '00:00:00.000000' | regular session close | |
| hasLateSession | enum - YesNo | 'None' | Yes a postregular session runs read the late session times | |
| latePreOpenTime | TIME(6) | '00:00:00.000000' | extended session preopen orders accepted | |
| lateSessionOpenTime | TIME(6) | '00:00:00.000000' | extended session open | |
| lateSessionCloseTime | TIME(6) | '00:00:00.000000' | extended session close | |
| hasExEarlyClose | enum - YesNo | 'None' | options have an early close on expiry day tickerClass Root only | |
| exEarlyCloseTime | TIME(6) | '00:00:00.000000' | expiry day early close time | |
| timestamp | DATETIME(6) | '1900-01-01 00:00:00.000000' | when this row was last written |
PRIMARY KEY DEFINITION (Unique)
| Field | Sequence |
|---|---|
| tickerSrc | 1 |
| tickerClass | 2 |
| scheduleGroup | 3 |
| tradeDate | 4 |
| v3Source | 5 |
SELECT TABLE EXAMPLE QUERY
SELECT *
FROM `SRReference`.`MsgMarketHoursV3`
WHERE
/* 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') */
`tickerSrc` = 'NONE'
AND
/* Replace with a ENUM('None','Ticker','CCode','Root') */
`tickerClass` = 'NONE'
AND
/* Replace with a VARCHAR(6) */
`scheduleGroup` = 'Example_scheduleGroup'
AND
/* Replace with a DATE */
`tradeDate` = '2022-01-01'
AND
/* Replace with a ENUM('None','HardCode','Bridge','Loader','Manual') */
`v3Source` = 'NONE';
Doc Columns Query
SELECT * FROM SRReference.doccolumns WHERE TABLE_NAME='MarketHoursV3' ORDER BY ordinal_position ASC;