Dataset datasheet

ETF Holdings

This sheet follows the Datasheets for Datasets format. Every field is composed from the registry, coverage measurement and licence record that already govern this dataset — none of it is written per dataset, so it cannot drift from what those records say. A field with nothing on record reads ‘Not provided’ rather than being left blank.

← Back to the dataset page

1. Composition

Each row is one holding of one ETF, carrying etf_code / etf_name / issuer / market / as_of_date / holding_ticker / holding_name / holding_weight (ETF code/name, issuer, market, as-of date, holding ticker/name, and weight). Sourced from ETF issuers, graded reference / master. The backend /v2/datasets meta exposes only grade / tier / point-in-time and no coverage window, so none is stated here.

Instruments covered
Not provided
Earliest year
Not provided
Includes delisted
Not provided
Temporal coverage
Not provided
Coverage measured on
Not provided

2. Collection process

Providing agency
Fund issuers (first-hand PCF disclosure)
Source role
reference_etf_holdings
Market scope
TWSE_TPEX
Scheduled producer
Yes

3. Update cadence and freshness

Cadence
Daily
Freshness (as measured)
Up to date for its own cadence
Data as of
2026-07-31
Publication timing
Not provided

4. Point-in-time semantics

Disclosure data carries a knowledge date on every row, set conservatively to the statutory filing deadline — so a backtest filtered on it cannot see a figure before the market could.

A knowledge date on every disclosure row — Monthly revenue, income statement, balance sheet and cash flow all carry knowledge_date, alongside kd_source saying where it came from and kd_imputed saying whether it was observed or derived. Align on that column rather than on the period end date and a figure enters your backtest when it entered the market, not when the quarter closed.

It is the statutory deadline, which is late by design — Measured 2026-08-19: for every disclosure dataset checked, kd_source is statutory_deadline and kd_imputed is true — the date is the filing deadline in law, not the observed announcement, which we do not yet capture. Companies file on or before the deadline, so this is late rather than early: a fast filer looks slower than it was. That costs realism and it cannot leak, which is the safe direction to be wrong in.

Daily prices do not carry one — twse_daily_price has no knowledge_date column. For an end-of-day price the trade date is the publication date, so the gap is narrow — but it is a real gap, and an agent that assumes the column is universal will get an undefined rather than a date. Per-dataset point-in-time status is listed on the coverage page.

PIT posture measured on
2026-08-19

5. Coverage and known gaps

The registry records no gap disclosure and no column gap for this dataset. That is the absence of a recorded gap, not a guarantee that none exists.

Availability status
Not provided
Publicly listable
Not provided

6. Licence and attribution

This dataset is a first-hand issuer disclosure, not government open data. The Open Government Data License does not apply, and redistribution terms are still being confirmed with each issuer.

Licence
First-party official disclosure — carries no open licence
Named provider
Fund issuers (first-hand PCF disclosure)

7. Access and limitations

Minimum plan
developer
Credits per call
2
REST path
/v2/datasets/etf-holdings
Listed as sellable
Yes

Registry: RECON_MASTER_v2 (P3_HANDOVER_dataset_list.tsv), measured 2026-08-02.