Strasmore Research
Learn Matt ConnorBy Matt Connor · data as of October 2, 2026 · refreshed weekly

China's Dragon-Tiger List, Explained

What is China's dragon-tiger list? After each close, Shanghai and Shenzhen name the top buying and selling brokerage branches. What it can and cannot show.

China's dragon-tiger list is a daily exchange disclosure. After each close, the Shanghai and Shenzhen stock exchanges publish, for every stock that met that session's activity criteria, which brokerage branches bought the most and which sold the most, with an amount beside each name. The name translates the Chinese term for the exchanges' unusual-activity file. Almost no other major market prints anything comparable, since the identity column carries real, named intermediaries rather than a category.

What the dragon-tiger list actually publishes

Each qualifying stock gets one block covering one session. The block states which criterion the stock met, then lists ranked brokerage branches on the buy side and the sell side, each row carrying a buy amount and a sell amount in renminbi. Five rows a side is the usual depth, which makes the file a truncated top of that day's flow rather than a census of it.

A branch is a securities company's local office: an address with a license, and a national broker operates hundreds of them. Two common entries are not branches at all. Institutional orders surface under a generic institution-only seat label instead of a fund's name, and northbound Stock Connect flow out of Hong Kong arrives under its own seat. The identity column mixes street addresses with anonymous buckets, and that mix shapes every inference people draw from it.

How a stock gets on the dragon-tiger list

A stock appears when its session crosses one of the exchange's abnormal-fluctuation criteria. In outline, those criteria measure four things: how far the close moved against a reference, how much of the tradable float changed hands (the turnover rate), how wide the intraday range ran (the amplitude), and the total value traded. Some criteria score a single session and others a run of consecutive sessions. Separate sets apply to the growth boards and to stocks carrying a risk-warning prefix.

The numeric cutoffs are the part to handle carefully. They sit in the exchanges' trading rules, they differ by board, and they have been revised more than once as listing reforms changed daily price limits. Treat any specific percentage you read, here or anywhere else, as a snapshot of one version of one rulebook.

What does not change is the arithmetic of a cutoff: a small move in the threshold makes a large move in how many names qualify. The panel below shows that on US daily bars. Those bars stand in for nothing about China, only for how a threshold rule behaves when you slide it.

QueryHow many names a volatility cutoff keeps as the cutoff moves
amplitude_thresholdavg_daily_name_countshare_of_name_days_pct
3%222751.38
5%118927.43
7%68415.78
10%3528.12
15%1563.59
20%831.92
The exact SQL behind every number
SELECT
    concat(toString(th), '%')                                 AS amplitude_threshold,
    round(countIf(amplitude_pct >= th) / countDistinct(date)) AS avg_daily_name_count,
    round(100 * countIf(amplitude_pct >= th) / count(), 2)    AS share_of_name_days_pct
FROM
(
    SELECT
        date,
        100 * (toFloat64(high) - toFloat64(low)) / toFloat64(low) AS amplitude_pct
    FROM global_markets.stocks_daily_aggs
    WHERE date >= today() - 150
      AND date <  today() - 2
      AND volume >= 200000
      AND toFloat64(low) >= 2
      AND ticker NOT IN ('SPCX')
)
ARRAY JOIN [3, 5, 7, 10, 15, 20] AS th
GROUP BY th
ORDER BY th
Run this yourself

Reading across the panel, name-days with an intraday range of 3% or more account for 51.38% of the sample, about 2227 names on an average session. Slide the cutoff to 20% and the same rule keeps 1.92% of name-days, roughly 83 a session. That steepness is the practical lesson about thresholds: a revision of a few percentage points changes the character of the published list, and a count of dragon-tiger appearances across many years compares rows that different rules selected.

Dragon-tiger next to the COT report and Form 4

Every public flow disclosure trades identity against timing, and these regimes sit in different corners of that trade.

The COT report is coarse on identity by design. Each reportable futures trader is folded into a category, and the categories, never the firms, are what gets printed. The cadence is fixed: Tuesday positions, released the following Friday.

Form 4 sits at the opposite end. It names one person, states their relationship to the issuer, and reports a dated transaction: the share count, the price, the transaction code and the holding left afterwards. US rules put it on the public file within two business days of the trade.

Dragon-tiger is granular where the COT categories are coarse, and coarse where Form 4 is sharp. It names the intermediary, not the account. It gives one session's totals with no sequence inside the day and no position either side of it. It keeps only the top handful per side, so the sixth-largest buyer stays invisible even when it traded almost as much as the fifth.

Form 4's timing is the useful contrast, and it is measurable. The panel counts how often an insider filing reaches the public file within two calendar days of the transaction date it reports.

QueryHow fast US insider transactions reach the public file, by month
monthmonth_prettywithin_two_days_pctfiling_count
2025-08-01Aug 202560.697812
2025-09-01Sep 202565.192544
2025-10-01Oct 202579.984840
2025-11-01Nov 202560.588842
2025-12-01Dec 202564.9102321
2026-01-01Jan 202649.797473
2026-02-01Feb 202662167529
2026-03-01Mar 202666.8182976
2026-04-01Apr 202675.697026
2026-05-01May 202660.1135270
2026-06-01Jun 202662.9147738
2026-07-01Jul 202670.527508
2026-08-01Aug 202662.436022
2026-09-01Sep 202667.831001
The exact SQL behind every number
SELECT
    toString(toStartOfMonth(filing_date))                AS month,
    formatDateTime(toStartOfMonth(filing_date), '%b %Y') AS month_pretty,
    round(100 * countIf(lag_days <= 2) / count(), 1)     AS within_two_days_pct,
    count()                                              AS filing_count
FROM
(
    SELECT
        filing_date,
        dateDiff('day', transaction_date, filing_date) AS lag_days
    FROM global_markets.stocks_form4
    WHERE filing_date >= toStartOfMonth(today() - 400)
      AND filing_date <  toStartOfMonth(today())
      AND dateDiff('day', transaction_date, filing_date) BETWEEN 0 AND 180
)
GROUP BY month, month_pretty
ORDER BY month
Run this yourself

In Sep 2026, 67.8% of the 31001 reported insider transactions reached the file within two calendar days of the transaction date, against 60.6% in Aug 2025. The legal deadline is two business days, so a Friday trade filed on Tuesday is on time and still sits outside this count. The order of magnitude is what matters. Insider disclosure is a days-old record of a named person's own trade, where dragon-tiger is a same-evening record of an unnamed account's whole day.

The closest thing US equities have to a published flow file is not an identity file at all. FINRA's short volume data gives a share of reported volume marked short, per stock per session, with nobody named anywhere in it.

QueryShare of reported volume marked short, with no trader named
tickershort_share_of_volume_pctsession_count
SPY55.568
TSLA50.763
AAPL47.564
KO40.568
NVDA3780
MSFT36.867
The exact SQL behind every number
SELECT
    ticker,
    round(100 * toFloat64(sum(short_vol)) / toFloat64(sum(total_vol)), 1) AS short_share_of_volume_pct,
    count()                                                              AS session_count
FROM
(
    SELECT
        ticker,
        date,
        max(short_volume) AS short_vol,
        max(total_volume) AS total_vol
    FROM global_markets.stocks_short_volume
    WHERE date >= today() - 120
      AND ticker IN ('AAPL', 'KO', 'MSFT', 'NVDA', 'SPY', 'TSLA')
    GROUP BY ticker, date
)
WHERE total_vol > 0
GROUP BY ticker
ORDER BY short_share_of_volume_pct DESC
Run this yourself

Across 68 recent sessions, SPY carried the highest short-marked share of this group at 55.5%, and MSFT the lowest at 36.8%. Those are mechanical ratios, unpacked in the FINRA short volume ratio by ticker, and they name nobody on either side. For a US screen closer in spirit to the dragon-tiger qualifying test, the unusual volume stocks work ranks names by activity rather than by identity.

What practitioners read into the seats, and why the read is weak

Practitioners sort the seats into camps. An institution-only line is read as patient money. A handful of branches carry long reputations as fast speculative capital, and a few of those attach to one well-known individual whose orders have historically routed through a particular office.

Each step of that reading is fragile.

  • A branch is not a trader. Thousands of client accounts route through one office, and a proprietary desk and a retail client can print under the same name on the same day. The file attributes the money to a routing address, not to a decision maker.
  • The institution-only label covers a mutual fund, an insurer, a quantitative shop or a broker's own book, with nothing in the row to separate them.
  • The disclosure is after the fact. By publication the session has closed, and nothing in the file says whether the buyer held past the bell.
  • Large orders can be split across several branches of the same broker, which thins any single line and can push a real participant off the top five.
  • The sample is conditioned on an unusual session, since a stock has to cross a threshold to appear at all. Statistics computed across dragon-tiger rows describe unusual sessions, not the market.

Read as a record of where one session's flow was routed, the file is solid. Read as a view of intent, it is among the weaker inferences in market data.

Pulling the dragon-tiger list into a research stack

The data-engineering reality decides whether the dataset is usable at all.

  • The natural grain is one row per stock, per session, per qualifying reason, per side, per rank. A stock-day crossing two criteria publishes two blocks, and the branch rows often repeat across them. Deduplicate on the reason, or count the same money twice.
  • Branch names are free text and they drift. Offices get renamed after a merger, relocate, or have the street rewritten inside the string. Nothing published beside them is a permanent identifier, so a stable branch key needs a hand-maintained alias table plus normalization for whitespace, full-width characters, punctuation and the broker-name prefix.
  • Amounts arrive as formatted strings with Chinese unit words for ten-thousands and hundred-millions. The parser has to carry the multiplier. A silent failure there is a 10,000x error that still looks plausible.
  • Joining to prices means carrying the exchange suffix on the stock code and watching for codes that have been reassigned. A risk-warning prefix appears inside the company-name string rather than as a flag.
  • History runs back to the 2000s, while the qualifying rules changed across that span. Store the rule version beside the date, or a year-over-year count compares samples that were never selected the same way.

None of that is difficult. It is unglamorous, which is why most dragon-tiger analysis stops at a screenshot. Doing the parsing once into a local store is the practical answer, and that is the subject of our local A-share market data lake walkthrough.

FAQ

What is China's dragon-tiger list?

It is the disclosure the Shanghai and Shenzhen exchanges publish after the close for stocks that met set activity criteria that session. For each one it names the brokerage branches with the largest buying and the largest selling, with amounts beside the names.

How does a stock get on the dragon-tiger list?

By crossing one of the exchanges' abnormal-fluctuation criteria: a large move in the close against a reference, a high turnover rate, a wide intraday range, or heavy traded value. The cutoffs differ by board and have been revised several times, so read them from the exchanges' current trading rules rather than from any fixed figure.

Does the dragon-tiger list name the actual buyer?

No. It names a brokerage branch, an office through which orders were routed, and thousands of unrelated accounts can sit behind one branch. Institutional flow appears under a generic institution-only seat with no fund named at all.

Is the dragon-tiger list like a US insider filing?

They answer different questions. A Form 4 names an individual insider and a dated transaction in that company's own stock. Dragon-tiger names an intermediary and reports one session's aggregate buying and selling, with no account identified behind it.


Every panel on this page carries the exact SQL that produced it, so you can open one and check how the count was made. Cross-market questions like these are the kind you can ask in plain English on the Strasmore terminal.

#china#a-shares#disclosure#order flow#datasets