TW Market Data LogoTW Market Data

Core data

Market & prices

TWSE / TPEx daily bars, adjusted prices, indices, and market breadth

Financials & growth

Monthly revenue, the three financial statements, financial metrics, and valuation data

Flows & positioning

Institutional investors and margin & short-selling data

Company & structure

Company & events

Company profiles, disclosures, events, corporate actions, and dividends

Taxonomy & structure

Theme taxonomy, index classification, and cross-dataset mapping

Strategy & quant

Features, factor data, time alignment, and screener

Platform capabilities

API access

REST API, authentication, and your first request

Query & tools

Search API, Query API, field lists, and query examples

Tools / MCP

Agent workflows, MCP tools, and the OpenAPI entry point

PricingDocsBlog
中文Dashboard

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|Help Center||中文|TW Market Data © 2026

Answer

Taiwan Stock Price Limit History: The 7%→10% Rule Change and Why It Matters for Backtesting

On 1 June 2015 the Taiwan Stock Exchange (TWSE) and the Taipei Exchange (TPEx) widened the daily price limit for listed stocks from ±7% to ±10%. That one date splits Taiwan's price history into two regimes: before it a stock could move at most 7% in a day, after it 10%. Any backtest, factor or risk model that runs across that boundary and assumes a single fixed limit will mislabel limit-hit days on the wrong side of the change.

The rule change: ±7% to ±10% on 1 June 2015

For years the daily price limit on Taiwan-listed common stocks was ±7% of the previous close. On 1 June 2015 the regulator widened it to ±10%, the level still in force today. The change was market-wide and took effect on a specific trading day, so it is a clean cut-over, not a gradual drift — the same stock that could gap at most 7% on 29 May 2015 could gap 10% the very next trading session. Because the boundary is a single date rather than a moving threshold, it is easy to handle correctly once you know it is there, and easy to get silently wrong if you don't.

Why Taiwan caps daily moves in the first place

Daily price limits are a circuit-breaker-style mechanism: they slow disorderly moves, give investors an overnight cooling-off period, and reduce the risk of a single-day cascade. Taiwan, Korea and several other Asian markets have used them for decades, which is why Taiwan price series behave differently from an uncapped market like the US. The trade-off is exactly the data problem below — a limit protects the market but truncates the very returns a quant model is trying to measure. The 2015 widening from 7% to 10% was a deliberate loosening of that trade-off: give prices more room to find their level intraday, at the cost of larger permitted single-day swings.

Why a daily price limit changes your data at all

A price limit is a hard cap on the daily return. When a stock hits limit-up or limit-down, the printed close is the capped price, not a free-market clearing price — buyers or sellers are queued at the limit and cannot trade through it. That has two consequences for data: the observed return is truncated (you never see the 12% day the stock 'wanted' to make), and volume on a locked limit day is thin and non-representative because most of the queued interest never executes. Widening the cap from 7% to 10% moves where that truncation happens, so the shape of the daily-return distribution is not stationary across 2015-06-01.

What a limit day looks like in the data

On a locked limit-up day you typically see the open, high, low and close all pinned at (or very near) the limit price, a large bid queue that never clears, and thin realized volume relative to the interest. The next session often gaps again in the same direction as the backlog unwinds. If your pipeline treats those pinned prints as ordinary observations — feeding them into a volatility estimate, a mean-reversion signal, or a fill assumption in a backtest — you will over-trust prices that were never tradable. The practical fix is to flag limit-hit days explicitly (close at or beyond the applicable limit) and decide, per strategy, whether to skip, cap, or specially handle them.

What the change does to a backtest

The break sits at 2015-06-01. A momentum or reversal factor built on daily returns sees a different return distribution before and after: the tails are wider post-2015, and the frequency of limit-locked days drops because moves that would have hit the old 7% cap now have room to run to 10%. If you hardcode ±10% across all history, every pre-2015 day that closed between 7% and 10% is impossible in reality — a sign your limit logic is wrong for that era.

  • Volatility-scaled strategies: your realized-vol estimate has a regime shift at 2015-06-01; a fixed lookback that straddles the date blends two distributions.
  • Limit-hit signals (e.g. 'bought the day after a limit-up'): the base rate of limit events is not comparable across the boundary.
  • Gap and overnight-return models: the maximum possible gap is era-dependent — 7% before, 10% after.
  • Safest handling: either split the sample at 2015-06-01, or tag each day with the limit that actually applied and normalize moves against it.

How to get the applicable limit per day

Rather than hardcode a limit, read the per-day price-limit context from the stock-price-limit-daily dataset. It gives the limit-up and limit-down price for each stock each trading day, so you can tag whether a close hit the limit and normalize the move against the limit that was actually in force — which automatically handles the 2015 change and any per-instrument exceptions.

curl "https://api.twmarketdata.com/v2/datasets/stock-price-limit-daily?symbol=2330" \
  -H "X-API-Key: sk_live_..."

The price limit is not the only regime change in Taiwan history

The 2015 price-limit widening is the cleanest structural break because it is a single, well-documented date. But a Taiwan backtest that spans a decade or more also crosses other microstructure changes. Where the exact date is well-established we state it; where it is still being confirmed against the official announcement we say so rather than invent a date — a wrong date is worse than an acknowledged 'approximately'.

  • Intraday matching — continuous matching (2020): the exchange moved from call-auction matching (a match roughly every few seconds) to continuous matching on 23 March 2020. This changes intraday microstructure (fills, spreads, tick-by-tick behaviour), not the daily percentage move, so it matters for intraday models more than for end-of-day factors. We are still confirming the exact final call-auction session against the official announcement.
  • Day (same-day) trading — enabled in stages around 2014: same-day 'buy-first' trading opened first and 'sell-first' was broadened a few months later, with the day-trade securities-transaction-tax later halved (to 0.15%). The exact effective dates are still being verified, so treat 'around 2014' and 'around 2017' as approximate — they mark a rise in turnover and short-horizon activity, which shifts volume and volatility baselines.
  • Settlement cycle — T+2 (well established): Taiwan equities settle two business days after the trade. This is stable and affects when cash and delivery land, not the price series itself.
  • Intraday odd-lot trading — 26 October 2020: odd lots (1–999 shares) could only be traded in an after-hours session until 26 October 2020, when intraday odd-lot trading launched during the regular session. If you study small-order or retail-sized activity, odd-lot volume before that date is not comparable to after it.
  • Tick size — the current 6-tier table since 1 March 2005: the minimum price increment steps up by price band, and the tier table in force today took effect on 1 March 2005. The coarser pre-2005 tiers are not listed here — we don't have a verified official source for them and won't guess. If your model depends on tick granularity before 2005, confirm against the official trading-rules document.

Related

Price-limit dataset (docs)Unified daily pricesThree institutional investors explainedAPI docs