TW Market Data LogoTW Market Data

Facts & statistics

Market facts

Long-run statistics for Taiwan equities, each with its sample period and as_of

Seasonality

Monthly return distributions and hit rates, with sample sizes

Institutional flow

Seasonality in the breadth of institutional net buying

Limit events

How often limit moves happen, and how concentrated they are

Delisting

Delisting counts and survival spans — the basis for avoiding survivorship bias

Rule changes

A timeline of trading-rule changes — the premise for reading historical data

Data & exploration

Dataset catalogue

Every dataset, its coverage, and how often it updates

Playground

Call the API from the browser, without a key

Market today

Today's market at a glance

Stock analysis

The entry point for looking at one instrument

Market heat map

The whole market in one picture — area is market cap, colour is revenue growth

Market calendar

Statutory disclosure deadlines — the day a figure may legally first be known

Platform capabilities

Product overview

What TWMD provides, and who it is built for

Verifiable proof

Signed checkpoints and per-row inclusion proofs

Data quality

Reconciliation, gap handling, and quality status

Methodology

How the figures are computed, and on what basis

Auditable execution

Tie a trading decision back to the data it saw

Connect your broker

Bring TWMD into an existing order and research workflow

Developers

Documentation

API reference, dataset pages, and integration guides

Quick start

Authentication and your first request

Integrate by role

Separate paths for quant research, data engineering, and app development

Connect over MCP

Point an agent straight at TWMD

MCP registry

The published MCP tool list and its signed manifest

Webhooks

Have your system told when data updates

Learn

Blog

Long-form writing on data, method, and market structure

Answers

Specific answers to specific questions, with sources

Topics

Industry chains and thematic relationships

Help centre

Account, billing, and usage questions

Glossary

Definitions for Taiwan-market and data terms

Compare & status

Why TWMD

A point-by-point comparison with FinMind and TEJ

Migrate from FinMind

Field mapping and migration steps

Migrate from FinLab

Field mapping and migration steps

Migrate from TEJ

Field mapping and migration steps

Status

Service availability and incident history

Security & trust

Trust centre

What we claim, and the limits on each claim

Security

Architecture, access control, and incident handling

Security facts

The items you can verify from outside

Security evidence

SBOM, ASVS mapping and threat model — including the three controls we do not meet.

Self-assessment

Item-by-item answers for a procurement questionnaire

Compliance & standards

Compliance mapping

Evidence primitives mapped onto FSB, IOSCO, and SR 26-2

Standards & interop

Term-by-term mapping onto published standards, and where it does not map

Provenance & C2PA

A machine-readable origin graph, fetchable without a key

Licensing

How the data may be used and redistributed

Adoption

Evaluate

Seven checks you can run yourself, without an account

Talk to sales

Enterprise plans, quotas, and contract detail

Pricing
中文Sign inSign up
TW Market Data

Taiwan market-data infrastructure, built for AI agents and quantitative workflows.

Status unknown
© 2026 TW Market Data

TW Market Data (TWMD) provides historical data and statistics, not investment advice; investment decisions and their risks are your own.

  • Privacy Policy·
  • Terms of Service·
  • Cookie Policy·
  • Acceptable Use Policy·
  • Data Sources & Licensing·
  • Legal (all documents)
中文

AI Agent

  • MCP Server
  • Skills
  • Tool manifest
  • Agent workflow examples
  • Agent benchmark
  • llms.txt
  • OpenAPI spec

Security

  • Security overview
  • Verifiable data
  • Trust Center
  • Standards & Interop
  • Regulatory mapping

Product

  • Datasets
  • Topics
  • Market facts
  • Documentation
  • Integration runbooks
  • Playground (no signup)
  • Free tier
  • Solutions

Company

  • About TWMD
  • Blog
  • Help centre
  • Pricing

Leak-resistant benchmark specification

A specification for measuring whether an agent used information it could not have had.

Conventional scoring rewards a correct answer, and a model that ignores the time gate gives the most correct answers. This specification defines leakage as a measured quantity so the two come apart: same bank, same accuracy, and leak rate separates them 0% against 100%.

twmd-leak-benchmark/v0-draft · updated 2026-08-23

The bank this version pins

A score is citable only alongside these three fields. Recompute the hash over the bank you were given and compare.

Bank version
twmd-leak-benchmark/v0
Hash
sha256:4576a2b44763d7ae79976df12a947243bfb0cdbc692b387933f4f47d7abb033a
Items
148 (40 embargoed)

The protocol

Rules a run has to satisfy, not a description of our runner — the point of publishing them is that somebody else's runner can satisfy the same rules.

1Every question carries an as_of

A question has the form "on date D, what was field F for instrument S". D is the as_of: the system under test may answer only from what was public on D. The specification does not dictate how it obtains data — the TWMD API, its own store, or nothing but model parameters are all permitted — but the answer is judged against D.

2The bank must contain embargoed items

An embargoed item is one whose answer was not public on D — monthly revenue before its release date, institutional flow before the close is disclosed. A system that respects the time gate must REFUSE these, not guess. The bank currently holds 40 embargoed items of 148 (27%).

3Leak rate is the primary metric; accuracy is secondary

Leak rate is the share of embargoed items answered substantively. The denominator is the embargoed count, not the bank size — using the bank size lets leak rate be diluted by adding questions, which makes it a metric you can improve by writing more items. A refusal is not scored as an error: under this specification, answering "unknown" to something unknowable on the day is the correct behaviour.

4A valid run must first separate the two controls

A run must include both oracles: one that respects as_of and one built to ignore it. If their leak rates do not separate, the run does not count — that is not a pass for the system under test, it means the measurement itself failed. This is the specification's only check on whether the measurement is working, which is exactly why it belongs in the specification rather than in someone's runner.

5Windows that overlap a model's training cutoff must be flagged

If an item's date falls before the training cutoff of the model under test, a correct answer may come from the model's parameters rather than from the data layer — and a low leak rate over such items does not demonstrate that the time gate works. The specification requires each data window to be flagged for overlap with published model cutoffs, and requires a report to state overlapping and non-overlapping scores separately.

6What a run must emit

Per item: an item identifier, the as_of, whether it is embargoed, the system's response, and a judgement (correct / incorrect / refused / leaked). Per run: accuracy, leak rate over the embargoed denominator, both oracle leak rates, and the question-bank version identifier. A score missing that last field cannot be cited — nobody can tell which bank it was run against. The 4 time-gate checks are the thresholds that decide whether a run is valid.

What is missing before you can reproduce this

A specification exists so somebody else can run the thing. Today you cannot, and these are the reasons — each with the path you can call to confirm it for yourself.

The question-bank version hash is not published

Without a version hash, two people saying "I ran v0" have not established that they ran the same items. This specification therefore cannot yet be used to cite a score — only to understand how scoring works. /v2/benchmark/manifest is where it will live; probed 2026-08-23, it answers 404.

There is no public way to run it

A runner exists but is not open, and there is no keyless entry point. An outside team cannot run its own agent against this bank today. /v2/benchmark/run is where it will live; probed 2026-08-23, it answers 404.

The cutoff-overlap flags are not published

The clause above requires windows to be flagged against model cutoffs. The clause is written; the data is not published. Current scores therefore cannot separate a correct answer that came from the data layer from one that came from the model's memory.

What a score under this specification does not say

  • It does not measure whether a strategy is any good. An agent with a low leak rate can be a losing agent — this measures whether it used information it could not have had, not whether its judgement was sound.
  • It does not establish that the model never saw these figures in training. It measures behaviour at the data layer; what is held in the parameters is what the cutoff-overlap flag is for, and that data is not published yet.
  • There is no leaderboard and no score for any real agent. The two oracles are controls, not entrants.

The bank composition and the one run measured against it — 148 questions, and what the two controls scored — are on the benchmark results page.

Not investment advice.