Korean Retail Flow Backtest

Korean market data · Investor flow

Korean retail investors buy the dip.
Does betting against them pay?

Korea publishes, every trading day and for every stock, how many shares retail investors, foreigners and institutions each bought net. Every broker app shows a "top retail net buying" list, and every trader has heard the advice: do the opposite of retail. Using the same method as my foreign-flow article, I counted six years of it — this time for retail.

749 stocks · market cap over 100bn won (~US$70M) July 2020 – August 2026 Buy at the next open 0.22% buy-side cost deducted

What kind of day retail buys on was strikingly clear.
Doing the opposite still did not make money.
The reason is not retail itself but the kind of day it picks.

01The data and the rules

KOSPI is Korea's main board, KOSDAQ the secondary one (smaller, more volatile). The session runs 09:00–15:30 Korea Standard Time (UTC+9). Korea has no daily equivalent elsewhere of what it publishes after the close: per-stock net buying in shares by three investor categories — retail (individuals), foreigners and institutions.

Because the confirmed figure only exists after the close, nothing here buys on the signal day. Every trade is at the next morning's open.

Signals (all known only after the close)
  1. Retail net buy — any positive amount
  2. Retail heavy buy — net buying of at least 5% / 10% of that day's volume
  3. Retail top-20 net buy — the 20 largest retail net purchases by value that day within the universe
  4. Mirror images: retail net sell / heavy sell / top-20 net sell

Buy the next open, sell at the open 1 day, 1 week, 1 month or 3 months later; 0.22% deducted on every buy. The baseline is the same 749 stocks bought on any random day. The median is the middle result when every trade is lined up from worst to best — half did better, half worse.

02What kind of day does retail buy on?

Before following the signal, I checked what the stock did on the signal day itself.

Signal day · return vs the prior close
SignalCountShare of days closed upMedian
Any day (baseline)1.11M45.5%0.00%
Retail net buy566,73127.6%−0.86%
Retail heavy buy (10%+ of volume)4,5339.4%−1.52%
Retail top-20 net buy29,98918.4%−1.51%
Retail net sell539,35165.1%+0.78%
Retail heavy sell (10%+ of volume)3,80289.7%+2.00%
Retail top-20 net sell29,98982.7%+2.15%

When retail buys heavily, it is a day the stock fell — nine times out of ten. When retail sells heavily, nine times out of ten the stock rose. Korean retail buys dips and sells rallies: averaging down and taking profits. Foreigners and institutions are the other side of those trades, which is why "foreigners buy on up days" looks like insight.

This explains everything that follows. "Top retail net buying" is another name for "the stocks that fell hardest today", and "top retail net selling" is "the stocks that rose hardest today".

03Following retail

Buy the open after the signal → sell at the open N days later · after 0.22% buy cost
SignalHoldWin rateBaselineMedianBaseline
Retail net buy (any)1 week46.4%46.2%−0.41%−0.36%
1 month47.9%47.5%−0.52%−0.46%
3 months48.8%48.4%−0.51%−0.45%
Retail heavy buy (10%+)1 week42.8%46.2%−0.61%−0.36%
1 month44.5%47.5%−0.94%−0.46%
3 months43.6%48.4%−1.99%−0.45%
Retail top-20 net buy1 week46.8%46.2%−0.41%−0.36%
1 month47.3%47.5%−0.70%−0.46%
3 months47.1%48.4%−1.42%−0.45%

"Retail bought" on its own carries no information: the numbers match the baseline to the decimal. Retail is a net buyer on half of all stock-days, so that is no surprise.

Stocks retail bought heavily did badly: 43.6% winners after three months, median −2.0%, against 48.4% and −0.45% for a random purchase. So far the advice — avoid the top retail buys — holds.

04So do the opposite?

Here is the point of the article. If heavy retail buying is bad, heavy retail selling should be good.

Buying what retail sold · after 0.22% buy cost
SignalHoldWin rateBaselineMedianBaseline
Retail heavy sell (10%+)1 week44.1%46.2%−0.61%−0.36%
1 month45.5%47.5%−0.91%−0.46%
3 months43.6%48.4%−2.13%−0.45%
Retail top-20 net sell1 week45.7%46.2%−0.58%−0.36%
1 month46.4%47.5%−1.01%−0.46%
3 months46.5%48.4%−1.67%−0.45%
Retail bought, foreigners and institutions both sold3 months48.3%48.4%−0.75%−0.45%

Just as bad. Stocks retail sold heavily: 43.6% winners after three months, median −2.1%. Indistinguishable from the stocks retail bought heavily (43.6%, −2.0%).

Days when Korean retail net-bought more than 10% of volume closed up only 9.4% of the time while heavy retail selling days closed up 89.7% of the time; buying either group at the next open and holding three months gave medians of -1.99% and -2.13%, both below the -0.45% baseline. After a 0.22% buy-side cost
Left: share of signal days on which the stock closed up. Right: median three-month return after buying at the next open. Heavy buys and heavy sells both sit below the baseline.

Section 02 is the reason. Retail buys heavily on crash days and sells heavily on spike days. Both signals therefore select "stocks that moved a lot today", and stocks that moved a lot did worse than ordinary stocks over the next three months regardless of direction.

Betting against retail fails not because retail is smart,
but because what retail picks and what retail dumps are the same kind of stock.

05Year by year

Retail top-20 net buy · buy next open → sell 1 week later · after 0.22% buy cost (1-week baseline: 46.2% · −0.36%)
YearCountWin rateMedian
2020 (from July)2,30052.3%+0.30%
20214,96044.4%−0.60%
20224,92042.7%−0.83%
20234,90045.6%−0.43%
20244,88046.6%−0.54%
20254,84051.0%+0.14%
2026 (to August)3,09248.6%−0.32%

Only late 2020 and 2025 beat the baseline — both were bull markets where every dip bounced straight back. The other years were at or below it. The top-20 net-sell list looks the same (48.3% in 2020, 41.5% in 2022).

06Caveats

The universe is 749 stocks with a market cap above 100 billion won, reasonable turnover and six years of data. The genuinely small stocks where retail trading concentrates are not here, and they may behave differently.

Net buying is in shares. The top-20-by-value ranking uses shares times the closing price as an approximation.

The "heavy" signals are rare — 4,533 days in six years for the 10% threshold. The direction is clear; year-by-year splits are noisy.

Costs are the 0.22% buy-side deduction only. Delisted stocks are not in the data.

07What I take from it

Six years of retail flow
  1. Retail buys down days and sells up days: 90% of heavy-buy days were declines
  2. "Retail net buy" by itself is no information — it matches the baseline
  3. Stocks retail bought heavily did worse over three months (43.6% vs 48.4%)
  4. But stocks retail sold heavily did equally badly (43.6%)
  5. Both are "stocks that moved a lot today". Fading retail does not work

The top-retail-buying list is a fine way to see what crashed today. It is neither a buy signal nor a signal to do the opposite. The data says one thing: a stock that moved a lot yesterday, in either direction, did worse than an ordinary stock over the next three months.

Data: per-stock investor-category net buying (Kiwoom Securities API) from July 2020 to August 2026, joined to Korea Exchange daily bars. Universe: 749 stocks with market cap of at least 100 billion won, 60-day median daily turnover of at least 500 million won, and at least 1,500 daily bars. Net buying is in shares; the value ranking is shares times the day's close. Every trade buys at the open of the trading day after the signal and sells at the open N trading days later; the baseline is the same stocks on any day. All figures deduct 0.22% on the buy for commission and tax, and nothing for sell-side costs or slippage. Delisted stocks are not included.

This is a personal data-analysis record, not investment advice. Past results do not guarantee future ones. All investment decisions and their outcomes are the reader's own.

댓글 쓰기