Data Quality#
See which figures are verified, how current their sources are, and where coverage is incomplete.
Price and Yield Checks#
The pricer recomputes the yield for each BIST row that has both a price and a compound yield in the latest session.
Notes
The cards compare the result with the yield that BIST publishes. This is the closest check against a published source.
Corporate Bond Yield Coverage#
The cards count the 980 corporate ISINs in the instrument list that have yield data from each source.
KAP Sukuk Enrichment (SPV → Fund User Mapping)#
Lease certificates on this site are issued by asset-leasing companies (Varlık Kiralama, a type of SPV). The credit exposure is to another company, the fund user (Fon Kullanıcısı). KAP disclosures give this mapping.
Notes
The site stores it in the file data/dim/kap_enrichments.csv.
CONVENTIONS.md §14 explains the rule.
Credit Rating Coverage#
The cards count the KAP-enriched ISINs with a published credit rating for the fund user or the source organization. They also give the investment-grade share of the rated ISINs.
Official KAP Debt Event Coverage#
The collector reads fixed-income disclosures market-wide, keyed by disclosure index. It expands bulk BIST and MKK notices to one event for each ISIN.
Notes
Rating text stays raw. Only MKK cash records confirm a payment. The cards show the completeness of current monitoring apart from the long historical backfill. The full history is in Parquet only.
2026-09-29 to 2026-10-20
Security Lifecycle Coverage#
The site reconciles point-in-time snapshots of the BIST instrument list with the registered-ISIN list. It keeps the fund user, the source organization and the issuer apart. The BIST İtfa Tarihi is a contractual date.
Notes
It does not confirm that a cash redemption took place.
Lifecycle Exceptions — Review Queue#
The website shows only the 20 highest-priority exceptions. The complete 30,442-row lifecycle registry remains in Parquet and is not embedded in the page.
- Shows
- The 20 ISINs with the highest-priority lifecycle exceptions.
- Each row
- One ISIN. Maturity conflicts come first. Then come registry gaps in the current master, registry gaps that the site observed, and other exceptions.
- Order
- Within a group, the ISIN with more observation rows comes first.
- Limit
- The full registry stays in Parquet. The page does not embed it.
- Terms
- Exception · Registry date · Other maturity claim · Last observed · Observation rows
| ISIN | Issuer / entity | Exception | Registry date | Other maturity claim | Last observed | Observation rows, count |
|---|---|---|---|---|---|---|
| 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 |
| TRD270127T13 | Hazine / Turkish Treasury | registry_missing | — | 2027-01-27 | 2026-10-20 | 305 |
| TRD120428T32 | Hazine / Turkish Treasury | registry_missing | — | 2028-04-12 | 2026-10-20 | 135 |
| TRD171127T39 | Hazine / Turkish Treasury | registry_missing | — | 2027-11-17 | 2026-10-20 | 133 |
| TRD180827T17 | Hazine / Turkish Treasury | registry_missing | — | 2027-08-18 | 2026-10-20 | 122 |
| TRD150328T14 | Hazine / Turkish Treasury | registry_missing | — | 2028-03-15 | 2026-10-20 | 114 |
| TRD090628T19 | Hazine / Turkish Treasury | registry_missing | — | 2028-06-09 | 2026-10-20 | 84 |
| TRD300628T12 | Hazine / Turkish Treasury | registry_missing | — | 2028-06-30 | 2026-10-20 | 23 |
| TRT270127T15 | Hazine / Turkish Treasury | registry_missing | — | 2027-01-27 | 2026-09-08 | 10 |
| TRT120428T18 | Hazine / Turkish Treasury | registry_missing | — | 2028-04-12 | 2026-08-25 | 5 |
| TRT180827T35 | Hazine / Turkish Treasury | registry_missing | — | 2027-08-18 | 2026-10-06 | 2 |
| TRD041028T18 | Hazine / Turkish Treasury | registry_missing | — | 2028-10-04 | 2026-10-09 | 1 |
| TRT171127T31 | Hazine / Turkish Treasury | registry_missing | — | 2027-11-17 | 2026-06-22 | 1 |
| TRT041028T10 | Hazine / Turkish Treasury | registry_missing | — | 2028-10-04 | — | 0 |
| TRT090628T11 | Hazine / Turkish Treasury | registry_missing | — | 2028-06-09 | — | 0 |
| TRT150328T16 | Hazine / Turkish Treasury | registry_missing | — | 2028-03-15 | — | 0 |
| TRT300628T14 | Hazine / Turkish Treasury | registry_missing | — | 2028-06-30 | — | 0 |
| TRLTCMB00052 | — | registry_missing | — | — | 2026-10-20 | 41,497 |
Research Archive Coverage#
Long histories remain in annual Parquet. The site queries them only when an analyst asks for them.
Notes
This 11-row ledger is built from quality manifests. Opening this page does not download the underlying archive records.
- Shows
- The long histories that the site keeps, with their date range, size and quality checks.
- Each row
- One archive.
- Limit
- The table is built from quality manifests. Opening the page does not download the archive records.
- Terms
- Coverage · Records · Quality control
| Source | Coverage | Records, count | Evidence | Quality control |
|---|---|---|---|---|
| HMB Treasury auctions | 2017-01-02 to 2026-10-20 | 636 economic auctions | Official auction-result documents | 0 failed documents |
| TCMB EVDS controls | 2000-01-01 to 2026-10-20 | 1,721,004 observations | 7,534 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-10-16 | 1,647 approval-ceiling rows | 280 official bulletins | 88.07% of comparable 2023 annual keys represented |
| JCR credit ratings | 2008-05-07 to 2026-10-20 | 15,716 rating observations | 3,051 first-party reports | 0 duplicate IDs |
| Kobirate credit ratings | 2010-08-25 to 2026-09-18 | 242 rating observations | 121 first-party reports across 43 current public entity pages | 25 unclassified-scale and 33 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-10-20; 15 reports with retained source-reference flags |
| World Rating credit ratings | 2026-02-19 to 2026-10-09 | 54 rating observations | 9 first-party API decisions; 18 national and 36 international observations | 9 current-status holds for missing validity; 8 national suffix exceptions retained |
| TURKrating credit ratings | 2011-03-08 to 2026-10-16 | 788 rating observations | 396 borrower and 47 instrument reports from first-party tables | 443 current-status holds for missing validity; 2 noncanonical source notches retained |
| BDDK banking controls | 2002-12-31 to 2026-08-31 | 138,346 monthly observations | 22 controls across 10 bank groups | 0 duplicate IDs |
| TÜİK headline CPI | 2005-01-31 to 2026-09-30 | 1,305 canonical observations | 5 official 2025=100 headline series | 996 rate checks; 0 failures |
Source File Schema Status#
The table has one row per source table.
Notes
Matches means the expected column set. Shape changed means that the column count differs but the required fields exist. Field missing means that a required field is absent.
- Shows
- Whether each source table still has the columns that the pipeline expects.
- Each row
- One source table.
- Colour
- The badge is violet for a match, grey for a changed shape and red for a missing field or an empty table.
- Terms
- Status · Rows · Columns
| Source | Status | Rows, count | Columns, count | Notes |
|---|---|---|---|---|
| instrument_activity | Matches | 335,150 | 52 | all required columns present |
| valuation | Matches | 1,155,917 | 10 | all required columns present |
| dim_instrument | Matches | 1,933 | 21 | all required columns present |
| market_summary | Matches | 57,246 | 11 | all required columns present |
| tlref | Matches | 4,890 | 6 | all required columns present |
| repo_maturity | Matches | 315,694 | 10 | all required columns present |
| kap_enrichments | Matches | 1,594 | 46 | all required columns present |
| kap_events | Matches | 114,998 | 42 | all required columns present |
| kap_event_disclosures | Matches | 71,598 | 6 | all required columns present |
| kap_disclosure_index | Matches | 71,598 | 15 | all required columns present |
| instrument_master_history | Matches | 118,015 | 21 | all required columns present |
| redemption_registry | Matches | 23,262 | 4 | all required columns present |
| security_lifecycle | Matches | 30,442 | 71 | all required columns present |
Valuation Mark Freshness — tfd file as of 2026-10-20#
BIST republishes the last trade price every day for bonds that do not trade.
The pricer pairs each valuation price with its own LAST TRADE DATE.
This avoids the carry-forward trap.
Notes
The Stale Marks page has the full detail.
Publication Coverage#
The range holds 1954 published dates from 2019-01-02 to 2026-10-20.
Gaps 81 business days in the range have no published session. The badge says Gaps from 10 missing days. The check compares the whole range and does not test each day against the holiday calendar. 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#
A public pipeline builds this dashboard. It fetches BIST files, normalizes them, and runs the bond pricer against the documented yield conventions.
Notes
The source code, the tests and the convention notes are in the same
repository. CONVENTIONS.md lists the rules that this page enforces.