Methodology changes (IOSCO P12)
Version bump, CHANGELOG entry, regenerated lock, and one publication's notice before the change affects a print. Every print records the version it was computed under.
Administrator and author: Mark Rusch, Amsterdam. Who administers the index, how a change to it is made, and what happens when a print is wrong. TCI is a research publication: it is not licensed for use in financial instruments, and any request to hard-wire it into a financial contract will be refused.
Regulation (EU) 2025/914 narrows the EU Benchmarks Regulation to critical, significant and climate-transition benchmarks, and TCI falls outside Titles II–VI as a non-significant benchmark. Whether prices scraped from public rate cards constitute “contributed input data” under the new Article 2(1c) is an open question on which the administrator expresses no view; legal advice will be obtained before any contractual use. The precise position is set out below.
TCI is a price-transparency benchmark, not a settlement benchmark, and will not be represented as one until all of these hold. Published so the claim can be checked rather than trusted.
| ≥15 independent constituents in the headline population, of which ≥5 executable | not yet met |
| ≥180 consecutive collection days at ≥95% coverage | not yet met |
| Realised index volatility demonstrably driven by price rather than composition | not stated |
| Executable share ≥50% by weight | not yet met |
| An independent oversight committee (Baltic Index Council model). Governance by one person is not a defect that code can fix | not yet met |
| External methodology assurance review | not yet met |
| A legal opinion on the Article 2(1c) question above | not yet met |
The short form. Each one is set out in full in the document below, which is the authority wherever the two differ.
Version bump, CHANGELOG entry, regenerated lock, and one publication's notice before the change affects a print. Every print records the version it was computed under.
Prints are never edited or deleted — database triggers forbid it. An erroneous print is superseded by a new revision flagged “correction”, no later than the next publication.
Every print stores its full constituent set — every candidate, price, weight and exclusion reason. Reproducible with a single CLI command against any print date.
The calculation path contains no expert judgement: every parameter is a published config value. Any author position on an observed venue is disclosed where relevant.
Below the minimum provider count the print is null and flagged “insufficient_sources”. A gap is published — never fabricated.
Reviewed annually or on structural market change. If the index can no longer be produced credibly, cessation is announced with 30 days' notice; the history stays public.
Complaints or challenges to any print: rusch.mh@gmail.com. Acknowledged within 7 days; the outcome — a correction or a rationale for no change — is published with the next print.
Administrator and author: Mark Rusch (rusch.mh@gmail.com), Amsterdam. This document implements the IOSCO Principles for Financial Benchmarks (2013) as voluntary best practice. TCI is a research publication: it is not licensed for use in financial instruments and any request to hard-wire it into a financial contract will be refused.
Regulation (EU) 2025/914 (in force 8 June 2025, applying from 1 January 2026) narrowed the EU Benchmarks Regulation: Titles II–VI now apply only to critical benchmarks, significant benchmarks, and EU Climate Transition / Paris-aligned benchmarks. A non-significant benchmark falls outside them.
That is easy to over-read, and an earlier draft of this document did over-read it. New Article 2(1c) separately provides that "Article 19 applies to any commodity benchmark based on contributed input data" — unless it is a regulated-data benchmark, has a majority of supervised contributors, or is a gold/silver/platinum critical benchmark. And Article 2(2)(g) exempts a commodity benchmark only while the total average notional of instruments referencing it stays below EUR 200 million over 12 months.
Whether prices scraped from public rate cards and public APIs constitute "contributed input data" within the meaning of the Regulation is an open question on which the administrator expresses no view. The disclaimer is therefore retained as a deliberate choice rather than a legal necessity, and legal advice will be obtained before any contractual use. Nothing in this document is legal advice.
TCI is a price-transparency benchmark, not a settlement benchmark, and will not be represented as one until all of the following hold. Progress is published on the dashboard so the claim can be checked rather than trusted:
As of methodology v0.3.0 none of 1, 2, 4, 5, 6 or 7 is met.
The methodology is everything that can change a published print: config/factors.yaml, config/sovereign.yaml, src/tci/index.py, src/tci/normalise.py, src/tci/weights.py. A sha256 over these files is recorded in METHODOLOGY.lock; CI fails whenever the working tree no longer matches the lock, and the lock generator refuses to record a changed hash under an unchanged released version. A methodology change therefore requires, in one commit:
methodology_version bump in config/factors.yaml (patch = editorial/no numeric effect; minor = parameter or constituent change; major = unit definition or aggregation change).python -m tci.run docs to regenerate METHODOLOGY.md and the lock.daily_index.methodology_version), so the transition is auditable.Versions with a -dev suffix (pre-launch construction) are exempt from the refusal rule; the exemption ends at launch when the suffix is dropped.
Scheduled weight reviews are not methodology changes. Constituent weights and the composite's class basket shares are recomputed on a fixed schedule by a fixed published formula (METHODOLOGY.md §3.1–3.2) with no discretion; each review is stored append-only in weight_sets and reproducible via python -m tci.run weights --date. Changing the formula, the schedule, or any of their parameters is a methodology change and follows the procedure above.
Published prints are never edited or deleted (database triggers forbid it). An erroneous print is superseded by a new revision for the same date, flagged correction, no later than the next publication, with the error described in the accompanying post. Prior revisions remain queryable forever.
Raw observations are append-only. Every print stores its full constituent set — every candidate provider, its price, its weight, whether it was included, and the exclusion reason if not. Any reader can request it; it is reproduced with:
python -m tci.run constituents --date YYYY-MM-DD [--series NAME]
The author may trade on venues whose prices the index observes (see the companion trading memo). Mitigations: the calculation path contains no expert judgement — every parameter is a published config value and the code is public at launch; observations are immutable; any position on an observed venue held by the author is disclosed in the publication where relevant. The index is produced by one person; readers should weigh that against the full transparency of inputs and code.
A print requires at least the configured minimum of qualifying providers (aggregation.min_providers). Below that, the value is null and flagged insufficient_sources — a gap is published, a number is never fabricated.
Complaints or challenges to any print: rusch.mh@gmail.com. Acknowledged within 7 days; outcome (correction or rationale for no change) published with the next print.
The methodology is reviewed annually (first review due July 2027) or upon a structural market change (e.g. professional market makers entering the observed venues), whichever comes first. Reviews are logged in CHANGELOG.md even when nothing changes.
If the index can no longer be produced credibly (source loss, market structure change), a final post will announce cessation with at least 30 days' notice; the repository, data, and methodology history remain public.