Repository navigation
Data Sources and Quality
MarketClock never invents a fact. Everything comes from the library or from an exchange or regulator page that was opened and read, stored with its URL. If a fact cannot be verified, it is left out and the app says "not on file".
| Data | Source |
|---|---|
| Closures and half days | the holidays library (never copied, cached in Redis) |
| Weekend days | the library's market class |
| Name, country, timezone | exchange websites, with source URL |
| Session hours, early-close times | exchange websites, with source URL (NYSE, Nasdaq, JPX, HKEX, ASX, LSE so far) |
| Settlement cycles | exchange or regulator notices, with effective date (US, Canada, UK so far) |
| Official calendars, for checking | exchange calendars, with the date they were checked |
The official_closure table holds whole years of an exchange's published calendar. The
/data-quality page and endpoint compare them day by day with the library and list any day
missing, extra, or with a different kind (closed or half day). NYSE (2026 to 2028), Nasdaq (2026)
and LSE (2027 and 2028) match exactly. A real difference is reported upstream to the holidays
library, so every user benefits.
Session hours for TSX, Tadawul, NSE and SGX; settlement cycles for PSX, BSE and NSE; official calendars for PSX and Tadawul. Their sites were down or denied access when checked. If you can point to an official page, open an issue with the link.
Details: docs/architecture.md.
MarketClock by Syed Ahmer Shah · MIT License · support@ahmershah.dev · The repository's docs/ are the source of truth.
Use it
Run it
Build it
Repository