Data Quality#
The validation harness, surfaced. Use this page to judge how much to trust the numbers on the other tabs today.
Bond Pricer Accuracy vs BIST Ground Truth#
For every bond where BIST publishes both price and compound yield today, we run our pricer and compare to BIST. This is the closest thing to ground truth.
Corporate Bond Yield Coverage#
How many of the 1,098 corporate ISINs in the master have yield data via each source.
KAP Sukuk Enrichment (SPV → Fund User Mapping)#
Sukuk in this dashboard are issued by Varlık Kiralama SPV
entities, but the credit exposure is to a different operating company (the
Fon Kullanıcısı). KAP disclosures publish that mapping; we cache it in
data/dim/kap_enrichments.csv. See CONVENTIONS.md §14.
Credit Rating Coverage#
How many KAP-enriched ISINs come with a published credit rating for the Fund User or Source Org. Investment-grade share among those that do.
Official KAP Debt Event Coverage#
Market-wide fixed-income event ingestion is keyed by disclosure index and expands bulk BIST/MKK notices to ISIN grain. Rating prose remains raw; only MKK cash records are payment confirmation. Current monitoring completeness is shown separately from the long historical backfill. The full history is Parquet-only.
2026-08-14 to 2026-09-04
Security Lifecycle Coverage#
Point-in-time BIST instrument snapshots are reconciled to the registered-ISIN list without flattening Fund User, Source Org, and issuer/SPV. The BIST İtfa Tarihi is shown as a contractual date—not as confirmation that cash redemption was completed.
Lifecycle Exceptions — Review Queue#
The website shows only the 20 highest-priority exceptions. The complete 30,187-row lifecycle registry remains in Parquet and is not embedded in the page.
| ISIN | Issuer / entity | Exception | Registry date | Other maturity claim | Last observed | Observation rows |
|---|---|---|---|---|---|---|
| TRDEMVK22619 | EMLAK KATILIM VARLIK KİRALAMA A.Ş. | maturity_conflict | 2026-02-20 | 2026-02-02 | 2026-02-20 | 262 |
| TRDKTLM92314 | KATILIM VARLIK KİRALAMA A.Ş. | maturity_conflict | 2023-09-21 | 2024-09-30 | 2023-09-21 | 142 |
| TRT210727K30 | Hazine / Turkish Treasury | maturity_conflict | 2027-07-21 | 2027-01-21 | — | 0 |
| TRD071026T17 | Hazine / Turkish Treasury | registry_missing | — | 2026-10-07 | 2026-09-04 | 887 |
| TRT071026T19 | Hazine / Turkish Treasury | registry_missing | — | 2026-10-07 | 2026-09-04 | 491 |
| TRD270127T13 | Hazine / Turkish Treasury | registry_missing | — | 2027-01-27 | 2026-09-04 | 239 |
| TRD120428T32 | Hazine / Turkish Treasury | registry_missing | — | 2028-04-12 | 2026-09-04 | 96 |
| TRD171127T39 | Hazine / Turkish Treasury | registry_missing | — | 2027-11-17 | 2026-09-04 | 88 |
| TRD150328T14 | Hazine / Turkish Treasury | registry_missing | — | 2028-03-15 | 2026-09-04 | 81 |
| TRD180827T17 | Hazine / Turkish Treasury | registry_missing | — | 2027-08-18 | 2026-09-04 | 71 |
| TRD090628T19 | Hazine / Turkish Treasury | registry_missing | — | 2028-06-09 | 2026-09-04 | 50 |
| TRT270127T15 | Hazine / Turkish Treasury | registry_missing | — | 2027-01-27 | 2026-05-06 | 6 |
| TRT120428T18 | Hazine / Turkish Treasury | registry_missing | — | 2028-04-12 | 2026-08-25 | 5 |
| TRT171127T31 | Hazine / Turkish Treasury | registry_missing | — | 2027-11-17 | 2026-06-22 | 1 |
| TRD300628T12 | Hazine / Turkish Treasury | registry_missing | — | 2028-06-30 | — | 0 |
| TRT090628T11 | Hazine / Turkish Treasury | registry_missing | — | 2028-06-09 | — | 0 |
| TRT150328T16 | Hazine / Turkish Treasury | registry_missing | — | 2028-03-15 | — | 0 |
| TRT180827T35 | Hazine / Turkish Treasury | registry_missing | — | 2027-08-18 | — | 0 |
| TRT300628T14 | Hazine / Turkish Treasury | registry_missing | — | 2028-06-30 | — | 0 |
| TRLTCMB00052 | — | registry_missing | — | — | 2026-09-04 | 40,293 |
Research Archive Coverage#
Long histories remain in annual Parquet and are queried only when an analyst asks for them. This nine-row ledger is built from quality manifests; opening this page does not download the underlying archive records.
| Source | Coverage | Records | Evidence | Quality control |
|---|---|---|---|---|
| HMB Treasury auctions | 2017-01-02 to 2026-08-31 | 628 economic auctions | Official auction-result documents | 0 failed documents |
| TCMB EVDS controls | 2000-01-01 to 2026-09-04 | 674,937 observations | 2,301 selected official series | 0 duplicate IDs |
| SPK annual approvals | 2010-02-12 to 2023-11-02 | 2,981 application / approval rows | Annual workbooks; ceiling is not issued amount | 0 duplicate IDs |
| SPK Board-bulletin approvals | 2023-01-05 to 2026-09-03 | 1,607 approval-ceiling rows | 266 official bulletins | 88.07% of comparable 2023 annual keys represented |
| JCR credit ratings | 2008-05-07 to 2026-07-22 | 15,080 rating observations | 2,887 first-party reports | 0 duplicate IDs |
| Kobirate credit ratings | 2010-08-25 to 2026-06-11 | 238 rating observations | 119 first-party reports across 43 current public entity pages | 25 unclassified-scale and 34 total flagged observations retained |
| DRC credit ratings | 2019-08-26 to 2025-06-18 | 64 rating observations | 32 first-party table rows; 23 official KAP references | 0 valid as of 2026-07-24; 15 reports with retained source-reference flags |
| World Rating credit ratings | 2026-02-19 to 2026-06-26 | 24 rating observations | 4 first-party API decisions; 8 national and 16 international observations | 4 current-status holds for missing validity; 2 national suffix exceptions retained |
| TURKrating credit ratings | 2011-03-08 to 2026-07-22 | 753 rating observations | 370 borrower and 42 instrument reports from first-party tables | 412 current-status holds for missing validity; 2 noncanonical source notches retained |
| BDDK banking controls | 2002-12-31 to 2026-07-31 | 137,850 monthly observations | 22 controls across 10 bank groups | 0 duplicate IDs |
| MKK debt-market controls | 2024-07-31 to 2026-07-31 | 112 canonical observations | 13 monthly bulletins with debt pages | 2 published-change exceptions retained |
| MKK system statistics | 2020-12-31 to 2026-06-30 | 947 canonical observations | 18 account, investor, holder and transfer measures | 4 revisions beyond printed precision retained |
| TÜİK headline CPI | 2005-01-31 to 2026-08-31 | 1,300 canonical observations | 5 official 2025=100 headline series | 992 rate checks; 0 failures |
Source File Schema Status#
One row per upstream BIST file. OK = expected column set; SHAPE = column count drifted but required fields present; DRIFT = a required field is missing.
| Source | Status | Rows | Columns | Notes |
|---|---|---|---|---|
| instrument_activity | OK | 328,004 | 52 | all required columns present |
| valuation | OK | 1,140,374 | 10 | all required columns present |
| dim_instrument | OK | 2,062 | 21 | all required columns present |
| market_summary | OK | 56,037 | 11 | all required columns present |
| tlref | OK | 4,794 | 6 | all required columns present |
| repo_maturity | OK | 308,084 | 10 | all required columns present |
| kap_enrichments | OK | 1,518 | 46 | all required columns present |
| kap_events | OK | 112,887 | 42 | all required columns present |
| kap_event_disclosures | OK | 70,356 | 6 | all required columns present |
| kap_disclosure_index | OK | 70,356 | 15 | all required columns present |
| instrument_master_history | OK | 67,437 | 21 | all required columns present |
| redemption_registry | OK | 23,097 | 4 | all required columns present |
| security_lifecycle | OK | 30,187 | 71 | all required columns present |
Valuation Mark Freshness — tfd file as of 2026-09-04#
BIST republishes the last trade price daily for non-trading
bonds. Pricer pairs each tfd price with its actual LAST TRADE DATE
to avoid the carry-forward trap.
Publication Coverage#
Across 1919 published dates from 2019-01-02 to 2026-09-04.
GAPS 84 missing days — more than typical holiday count. Sample: 2019-04-23, 2019-05-01, 2019-06-04, 2019-06-05, 2019-06-06, 2019-07-15, 2019-08-12, 2019-08-13
About This Page#
This dashboard is built by a public pipeline that fetches BIST
files, normalizes them, and runs the bond pricer against documented yield
conventions. Source code, tests, and convention documentation live in the same
repo. See CONVENTIONS.md for the rules this page enforces.