TW Market Data LogoTW Market Data

核心資料

市場與價格

TWSE / TPEx 日線、還原價格、指數與市場廣度

財務與成長

月營收、財報三表、財務指標與估值資料

籌碼與資金

三大法人與融資融券資料

公司與結構

公司與事件

公司基本資料、公告、事件、公司行動與股利

分類與結構

主題分類、指數分類與跨資料集 mapping

策略與量化

Features、Factor Data、Time Alignment 與 Screener

平台能力

API 存取

REST API、認證與第一個 request

查詢與工具

Search API、Query API、欄位清單與查詢範例

Tools / MCP

Agent workflow、MCP tools 與 OpenAPI 入口

方案價格文件觀點文章
EN儀表板

TW Market Data(TWMD)提供之歷史資料與統計,非投資建議;投資決策與風險由您自行判斷。

隱私政策|服務條款|幫助中心||EN|TW Market Data © 2026

解答

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.

相關連結

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