{
 "_comment": "Single source of truth for hours and holidays. All times are America/New_York wall-clock (ET). Verified 2026-09-03 against the sources listed per market; re-verify each December when NYSE publishes the next year.",
 "tz": "America/New_York",
 "markets": {
  "stocks": {
   "name": "US stock market",
   "short": "Stocks",
   "venues": "NYSE and Nasdaq",
   "type": "daily",
   "days": [
    1,
    2,
    3,
    4,
    5
   ],
   "sessions": [
    {
     "id": "night",
     "name": "Overnight session (Nasdaq 23/5)",
     "start": "21:00",
     "end": "04:00",
     "kind": "extended",
     "overnight": true,
     "starts": "2026-12-06",
     "note": "Nasdaq night session, 9:00 p.m. to 4:00 a.m. ET, Sunday night to Friday morning, approved by the SEC on April 10, 2026 and scheduled to start December 6, 2026. NYSE Arca extends to 1:30 a.m. to 11:30 p.m. ET (8:00 p.m. on Fridays) the same day, subject to DTCC and SIP readiness."
    },
    {
     "id": "pre",
     "name": "Pre-market",
     "start": "04:00",
     "end": "09:30",
     "kind": "extended"
    },
    {
     "id": "core",
     "name": "Regular session",
     "start": "09:30",
     "end": "16:00",
     "kind": "core"
    },
    {
     "id": "after",
     "name": "After-hours",
     "start": "16:00",
     "end": "20:00",
     "kind": "extended"
    }
   ],
   "earlyCloseTime": "13:00",
   "holidays": [
    {
     "date": "2026-01-01",
     "name": "New Year's Day",
     "slug": "new-years-day"
    },
    {
     "date": "2026-01-19",
     "name": "Martin Luther King Jr. Day",
     "slug": "mlk-day"
    },
    {
     "date": "2026-02-16",
     "name": "Presidents' Day (Washington's Birthday)",
     "slug": "presidents-day"
    },
    {
     "date": "2026-04-03",
     "name": "Good Friday",
     "slug": "good-friday"
    },
    {
     "date": "2026-05-25",
     "name": "Memorial Day",
     "slug": "memorial-day"
    },
    {
     "date": "2026-06-19",
     "name": "Juneteenth",
     "slug": "juneteenth"
    },
    {
     "date": "2026-07-03",
     "name": "Independence Day (observed)",
     "slug": "july-4th"
    },
    {
     "date": "2026-09-07",
     "name": "Labor Day",
     "slug": "labor-day"
    },
    {
     "date": "2026-11-26",
     "name": "Thanksgiving Day",
     "slug": "thanksgiving"
    },
    {
     "date": "2026-12-25",
     "name": "Christmas Day",
     "slug": "christmas"
    },
    {
     "date": "2027-01-01",
     "name": "New Year's Day",
     "slug": "new-years-day"
    },
    {
     "date": "2027-01-18",
     "name": "Martin Luther King Jr. Day",
     "slug": "mlk-day"
    },
    {
     "date": "2027-02-15",
     "name": "Presidents' Day (Washington's Birthday)",
     "slug": "presidents-day"
    },
    {
     "date": "2027-03-26",
     "name": "Good Friday",
     "slug": "good-friday"
    },
    {
     "date": "2027-05-31",
     "name": "Memorial Day",
     "slug": "memorial-day"
    },
    {
     "date": "2027-06-18",
     "name": "Juneteenth (observed)",
     "slug": "juneteenth"
    },
    {
     "date": "2027-07-05",
     "name": "Independence Day (observed)",
     "slug": "july-4th"
    },
    {
     "date": "2027-09-06",
     "name": "Labor Day",
     "slug": "labor-day"
    },
    {
     "date": "2027-11-25",
     "name": "Thanksgiving Day",
     "slug": "thanksgiving"
    },
    {
     "date": "2027-12-24",
     "name": "Christmas Day (observed)",
     "slug": "christmas"
    },
    {
     "date": "2028-01-17",
     "name": "Martin Luther King Jr. Day",
     "slug": "mlk-day"
    },
    {
     "date": "2028-02-21",
     "name": "Presidents' Day (Washington's Birthday)",
     "slug": "presidents-day"
    },
    {
     "date": "2028-04-14",
     "name": "Good Friday",
     "slug": "good-friday"
    },
    {
     "date": "2028-05-29",
     "name": "Memorial Day",
     "slug": "memorial-day"
    },
    {
     "date": "2028-06-19",
     "name": "Juneteenth",
     "slug": "juneteenth"
    },
    {
     "date": "2028-07-04",
     "name": "Independence Day",
     "slug": "july-4th"
    },
    {
     "date": "2028-09-04",
     "name": "Labor Day",
     "slug": "labor-day"
    },
    {
     "date": "2028-11-23",
     "name": "Thanksgiving Day",
     "slug": "thanksgiving"
    },
    {
     "date": "2028-12-25",
     "name": "Christmas Day",
     "slug": "christmas"
    }
   ],
   "earlyCloses": [
    {
     "date": "2026-11-27",
     "name": "Day after Thanksgiving",
     "slug": "black-friday",
     "close": "13:00"
    },
    {
     "date": "2026-12-24",
     "name": "Christmas Eve",
     "slug": "christmas-eve",
     "close": "13:00"
    },
    {
     "date": "2027-11-26",
     "name": "Day after Thanksgiving",
     "slug": "black-friday",
     "close": "13:00"
    },
    {
     "date": "2028-07-03",
     "name": "Day before Independence Day",
     "slug": "july-4th",
     "close": "13:00"
    },
    {
     "date": "2028-11-24",
     "name": "Day after Thanksgiving",
     "slug": "black-friday",
     "close": "13:00"
    }
   ],
   "notes": {
    "2028": "No New Year's Day holiday is observed in 2028 because January 1, 2028 falls on a Saturday; the exchange does not close the preceding Friday."
   },
   "sources": [
    {
     "name": "NYSE Hours & Calendars",
     "url": "https://www.nyse.com/markets/hours-calendars"
    },
    {
     "name": "Nasdaq Stock Market Schedule",
     "url": "https://www.nasdaq.com/market-activity/stock-market-holiday-schedule"
    },
    {
     "name": "Nasdaq 23/5 trading (SEC approval April 10, 2026; launch December 6, 2026)",
     "url": "https://www.nasdaq.com/solutions/nasdaq-24-hour-trading"
    },
    {
     "name": "NYSE Arca extended hours (22 hours, target December 6, 2026)",
     "url": "https://www.nyse.com/extended-hours-trading"
    }
   ],
   "extendedHoursNote": "From December 6, 2026 the Nasdaq Stock Market trades 23 hours a day, five days a week: a day session 4:00 a.m. to 8:00 p.m. ET and a night session 9:00 p.m. to 4:00 a.m. ET. NYSE Arca extends to 22 hours, 1:30 a.m. to 11:30 p.m. ET Monday to Thursday and to 8:00 p.m. on Fridays. The regular 9:30 a.m. to 4:00 p.m. ET session and the closing auction are unchanged."
  },
  "options": {
   "name": "US options market",
   "short": "Options",
   "venues": "Cboe, Nasdaq PHLX/ISE, NYSE Arca/American",
   "type": "daily",
   "days": [
    1,
    2,
    3,
    4,
    5
   ],
   "sessions": [
    {
     "id": "gth",
     "name": "Global trading hours (SPX, VIX, XSP, RUT)",
     "start": "20:15",
     "end": "09:25",
     "kind": "extended",
     "overnight": true
    },
    {
     "id": "core",
     "name": "Regular session",
     "start": "09:30",
     "end": "16:15",
     "kind": "core"
    },
    {
     "id": "curb",
     "name": "Curb session",
     "start": "16:15",
     "end": "17:00",
     "kind": "extended"
    }
   ],
   "coreNote": "Most single-stock options stop trading with the underlying stock at 4:00 p.m. ET; index options (SPX, VIX) and broad ETF options trade until 4:15 p.m. ET.",
   "earlyCloseTime": "13:00",
   "holidaysFrom": "stocks",
   "earlyClosesFrom": "stocks",
   "sources": [
    {
     "name": "Cboe US Options Trading Hours",
     "url": "https://www.cboe.com/about/hours/us-options/"
    },
    {
     "name": "Nasdaq Options Market Hours",
     "url": "https://www.nasdaq.com/market-activity/stock-market-holiday-schedule"
    }
   ]
  },
  "futures": {
   "name": "US equity index futures",
   "short": "Futures",
   "venues": "CME Globex (E-mini S&P 500, Nasdaq-100, Dow)",
   "type": "continuous",
   "weekOpen": {
    "day": 0,
    "time": "18:00"
   },
   "weekClose": {
    "day": 5,
    "time": "17:00"
   },
   "dailyBreak": {
    "start": "17:00",
    "end": "18:00",
    "days": [
     1,
     2,
     3,
     4
    ]
   },
   "holidayHoursFrom": "stocks",
   "holidayNote": "CME Globex runs a reduced holiday schedule on US exchange holidays (typically an early halt around 1:00 p.m. ET and a normal evening reopen). Check the CME holiday calendar for the exact times.",
   "sources": [
    {
     "name": "CME E-mini S&P 500 contract specs",
     "url": "https://www.cmegroup.com/markets/equities/sp/e-mini-sandp500.contractSpecs.html"
    },
    {
     "name": "CME Group holiday calendar",
     "url": "https://www.cmegroup.com/trading-hours.html"
    }
   ]
  },
  "forex": {
   "name": "Forex market",
   "short": "Forex",
   "venues": "Interbank FX, 24 hours from Sydney to New York",
   "type": "continuous",
   "weekOpen": {
    "day": 0,
    "time": "17:00"
   },
   "weekClose": {
    "day": 5,
    "time": "17:00"
   },
   "windows": [
    {
     "name": "Sydney",
     "start": "17:00",
     "end": "02:00"
    },
    {
     "name": "Tokyo",
     "start": "19:00",
     "end": "04:00"
    },
    {
     "name": "Frankfurt",
     "start": "02:00",
     "end": "11:00"
    },
    {
     "name": "London",
     "start": "03:00",
     "end": "12:00"
    },
    {
     "name": "New York",
     "start": "08:00",
     "end": "17:00"
    }
   ],
   "holidayNote": "Forex has no exchange and no official holidays. Quotes keep running through US holidays, but liquidity thins sharply on Christmas Day and New Year's Day and around the US Thanksgiving weekend.",
   "sources": [
    {
     "name": "Convention: New York 5:00 p.m. ET daily close",
     "url": "https://www.cmegroup.com/trading-hours.html"
    }
   ]
  },
  "bonds": {
   "name": "US bond market",
   "short": "Bonds",
   "venues": "US Treasuries and other dollar fixed income (SIFMA recommendations)",
   "type": "daily",
   "days": [
    1,
    2,
    3,
    4,
    5
   ],
   "sessions": [
    {
     "id": "core",
     "name": "Trading day (over-the-counter)",
     "start": "08:00",
     "end": "17:00",
     "kind": "core",
     "approx": true
    }
   ],
   "coreNote": "There is no opening bell for bonds. Trading is over the counter; New York dealers generally quote from about 8:00 a.m. until the 5:00 p.m. ET close that SIFMA recommends.",
   "earlyCloseTime": "14:00",
   "holidays": [
    {
     "date": "2026-01-01",
     "name": "New Year's Day",
     "slug": "new-years-day"
    },
    {
     "date": "2026-01-19",
     "name": "Martin Luther King Jr. Day",
     "slug": "mlk-day"
    },
    {
     "date": "2026-02-16",
     "name": "Presidents' Day",
     "slug": "presidents-day"
    },
    {
     "date": "2026-05-25",
     "name": "Memorial Day",
     "slug": "memorial-day"
    },
    {
     "date": "2026-06-19",
     "name": "Juneteenth",
     "slug": "juneteenth"
    },
    {
     "date": "2026-07-03",
     "name": "Independence Day (observed)",
     "slug": "july-4th"
    },
    {
     "date": "2026-09-07",
     "name": "Labor Day",
     "slug": "labor-day"
    },
    {
     "date": "2026-10-12",
     "name": "Columbus Day",
     "slug": "columbus-day"
    },
    {
     "date": "2026-11-11",
     "name": "Veterans Day",
     "slug": "veterans-day"
    },
    {
     "date": "2026-11-26",
     "name": "Thanksgiving Day",
     "slug": "thanksgiving"
    },
    {
     "date": "2026-12-25",
     "name": "Christmas Day",
     "slug": "christmas"
    },
    {
     "date": "2027-01-01",
     "name": "New Year's Day",
     "slug": "new-years-day"
    }
   ],
   "earlyCloses": [
    {
     "date": "2026-04-03",
     "name": "Good Friday",
     "slug": "good-friday",
     "close": "12:00"
    },
    {
     "date": "2026-05-22",
     "name": "Day before Memorial Day",
     "slug": "memorial-day",
     "close": "14:00"
    },
    {
     "date": "2026-07-02",
     "name": "Day before Independence Day",
     "slug": "july-4th",
     "close": "14:00"
    },
    {
     "date": "2026-11-27",
     "name": "Day after Thanksgiving",
     "slug": "black-friday",
     "close": "14:00"
    },
    {
     "date": "2026-12-24",
     "name": "Christmas Eve",
     "slug": "christmas-eve",
     "close": "14:00"
    },
    {
     "date": "2026-12-31",
     "name": "New Year's Eve",
     "slug": "new-years-eve",
     "close": "14:00"
    }
   ],
   "coverage": "2026 (2027 published by SIFMA only through New Year's Day at time of writing)",
   "sources": [
    {
     "name": "SIFMA US Holiday Schedule",
     "url": "https://www.sifma.org/resources/general/holiday-schedule/"
    }
   ]
  },
  "crypto": {
   "name": "Crypto market",
   "short": "Crypto",
   "venues": "Bitcoin, Ethereum and every other coin, on every exchange",
   "type": "always",
   "holidayNote": "Crypto never closes. There is no bell, no weekend and no holiday. The only scheduled closures are individual exchange maintenance windows.",
   "sources": []
  }
 },
 "reminders": [
  {
   "date": "2026-11-29",
   "note": "Nasdaq 23/5 night session (9:00 p.m. to 4:00 a.m. ET) and NYSE Arca 22-hour trading are scheduled to start December 6, 2026. Confirm on nasdaq.com / nyse.com that the launch is happening; if it slipped, move the 'starts' date of the 'night' session in data/markets.json."
  },
  {
   "date": "2026-12-01",
   "note": "NYSE normally publishes the calendar for the year after next in the autumn. Check that data/markets.json carries the new year (the daily sync should have added it) and that SIFMA's bond schedule for next year is complete."
  }
 ]
}
