floviq logo floviq
← 筆記 · 2026-05-14 · mechanics

台股漲跌停 ±10% 為什麼經常不是整數 — 升降單位與計算 quirk

台股漲跌停幅度為 ±10%,但實際掛出的漲停價與跌停價往往不是「基準價 × 1.1」的精確數字。這個落差不是系統誤差,而是升降單位(tick size)規則的必然結果:TWSE 規定所有委託價格必須符合最小跳動單位,漲停 / 跌停價格在 ±10% 計算後,還需依規則取整,才能成為合法委託價。本文整理台股漲跌停的計算機制、升降單位分級、例外情況,以及交易時段的完整架構。


① 漲跌幅基本規則與計算基準

TWSE 集中市場對上市股票設定每日漲跌幅限制為 ±10%。計算基準為「開盤競價基準」,在一般交易日,開盤競價基準等於前一交易日的收盤價。

計算公式如下:

漲停價(未取整)= 開盤競價基準 × 1.1
跌停價(未取整)= 開盤競價基準 × 0.9

計算結果稱為「未取整漲停 / 跌停價」,此數字不能直接作為委託價格使用,必須再依升降單位規則處理:

  • 漲停價:向下取整至最近合法 tick(不可超過 ×1.1 上限)
  • 跌停價:向上取整至最近合法 tick(不可突破 ×0.9 下限)

取整方向確保計算後的漲停 / 跌停價格不超過法定幅度上限,同時對稱地避免跌停落在法定幅度下限之外。


② 升降單位分級(TWSE 官方規定)

TWSE 依股票當前價格區間設定八個跳動單位級距,股價愈高,最小跳動單位愈大:

股價範圍最小跳動單位(元)
未滿 5 元0.01
5 元至未滿 10 元0.05
10 元至未滿 50 元0.05
50 元至未滿 100 元0.10
100 元至未滿 150 元0.50
150 元至未滿 500 元1.00
500 元至未滿 1,000 元5.00
1,000 元以上5.00

同一支股票在不同股價區間的跳動單位不同。例如股票從 48 元漲到 52 元後,委託價格的最小跳動單位就從 0.05 元切換至 0.10 元。這個切換是依委託當下的股價即時判斷,不是依「前一日收盤價」。

幾個實務注意事項:

  • 若股票前一日收盤 48 元,隔日漲停後落在 52.8 元(跨越 50 元門檻),程式計算漲停時應以漲停後的價格(約 52.x 元)對應的 tick(0.10 元)來取整,而非以開盤基準 48 元的 tick(0.05 元)取整。
  • 5 元至未滿 10 元與 10 元至未滿 50 元兩個區間的 tick 相同(均為 0.05 元),跨越 10 元門檻不影響 tick 大小,僅 50 元與 100 元門檻才有實質 tick 切換。
  • 1,000 元以上與 500 元至未滿 1,000 元的 tick 相同(均為 5.00 元),跨越 1,000 元門檻同樣不影響 tick 大小。

這些細節在手動驗算或程式自動計算時均需注意,尤其是股價接近 50 元或 100 元等主要門檻的個股。


③ 計算範例:合法漲停 / 跌停取整實況

以一個 hypothetical 股價 73.20 元為例(屬 50 元至未滿 100 元區間,tick = 0.10 元):

漲停(未取整)= 73.20 × 1.1 = 80.52
→ 向下取整至 0.10 的倍數 → 合法漲停 = 80.50 元

跌停(未取整)= 73.20 × 0.9 = 65.88
→ 向上取整至 0.10 的倍數 → 合法跌停 = 65.90 元

實際漲幅驗算:(80.50 - 73.20) / 73.20 ≈ 9.97%,而非整數 10%。 實際跌幅驗算:(73.20 - 65.90) / 73.20 ≈ 9.97%,同樣非整數 10%。

再以另一個 hypothetical 股價 120 元為例(屬 100 元至未滿 150 元區間,tick = 0.50 元):

漲停(未取整)= 120 × 1.1 = 132.00
→ 132.00 本身已是 0.50 的倍數 → 合法漲停 = 132.00 元

跌停(未取整)= 120 × 0.9 = 108.00
→ 108.00 本身已是 0.50 的倍數 → 合法跌停 = 108.00 元

此例恰好整除,漲跌幅精確為 10%。但這屬於特例,不是通則。大多數股價計算後的 ×1.1 / ×0.9 結果不能整除對應 tick,故取整後的實際漲跌幅通常略低於 10%。

再以一個跨越 tick 區間臨界點的 hypothetical 股價 9.90 元為例(屬 5 元至未滿 10 元區間,tick = 0.05 元):

漲停(未取整)= 9.90 × 1.1 = 10.89
→ 但漲停後股價落在 10 元以上,進入下一個 tick 區間(10-50 元,tick = 0.05 元)
→ 10.89 向下取整至 0.05 的倍數 → 合法漲停 = 10.85 元

跌停(未取整)= 9.90 × 0.9 = 8.91
→ 跌停後股價仍在 5-10 元區間(tick = 0.05 元)
→ 8.91 向上取整至 0.05 的倍數 → 合法跌停 = 8.95 元

這個案例說明漲停後的股價可能落在與當前股價不同的 tick 區間,取整時應使用漲停後的股價所對應的 tick,而非計算基準的 tick 區間。這是程式自動計算時容易遺漏的邊界情況。

程式取整範例(以 JavaScript 為例):

// 漲停價計算(向下取整至合法 tick)
function calcLimitUp(basePrice) {
  const rawLimitUp = basePrice * 1.1;
  const tick = getTickSize(rawLimitUp);  // 依漲停後的價格決定 tick
  return Math.floor(rawLimitUp / tick) * tick;
}

// 跌停價計算(向上取整至合法 tick)
function calcLimitDown(basePrice) {
  const rawLimitDown = basePrice * 0.9;
  const tick = getTickSize(rawLimitDown);  // 依跌停後的價格決定 tick
  return Math.ceil(rawLimitDown / tick) * tick;
}

// 升降單位對應(依 TWSE 官方規定)
function getTickSize(price) {
  if (price < 5)    return 0.01;
  if (price < 10)   return 0.05;
  if (price < 50)   return 0.05;
  if (price < 100)  return 0.10;
  if (price < 150)  return 0.50;
  if (price < 500)  return 1.00;
  if (price < 1000) return 5.00;
  return 5.00;
}

浮點數精度問題在此類計算中需特別處理:直接用 JavaScript 原生浮點數運算時,73.20 * 1.1 可能回傳 80.52000000000001Math.floor 前建議先做精度對齊(例如 Math.round(rawLimitUp * 100) / 100)再取整,避免因浮點誤差導致結果偏移一個 tick。


④ 不受漲跌停限制的例外情況

並非所有在 TWSE 交易的有價證券都受 ±10% 約束,以下為主要例外:

無漲跌幅限制:

  • 新上市股票前 5 個交易日:IPO 首日起算 5 個交易日內,無漲跌幅限制,股價可由市場完全自由定價。第 6 個交易日起恢復 ±10% 限制。
  • 政府公債:依固定收益商品特性,無漲跌幅限制。
  • 部分 ETF 及外國有價證券:個別商品依其掛牌條件決定,並非所有 ETF 都無漲跌幅限制;多數股票型 ETF 與個股相同,適用 ±10%。

認購(售)權證:

認購(售)權證的漲跌幅不是固定 10%,而是依標的有價證券當日漲跌幅按比例計算(涉及 delta 關係),公式由 TWSE 另行規定,非一律 10%。實務上,若標的股票當日漲跌幅受限於 ±10%,對應的認購(售)權證的漲跌幅上限通常小於 ±10%(以標的有價證券漲跌幅乘以某個比例係數)。開發自動化盤前工具時,若要同時追蹤正股與其衍生性商品的動態,需注意兩者的漲跌幅計算規則不對稱。

可轉換公司債與普通公司債:

可轉換公司債(CB)及普通公司債的漲跌幅限制為 ±5%,與一般股票的 10% 不同。這意味著同一發行人的股票可以當日漲停(+約 10%),但對應的可轉換公司債同日最多只能漲 5%。在整合不同類型有價證券的資料時(例如把股票與 CB 同時納入觀察),需意識到兩者的漲跌幅上限本身不同,不能以同一個 ±10% 規則一刀切。

IPO 首 5 日的實務觀察:

新上市股票在前 5 個交易日無漲跌幅限制,理論上首日可以漲至任意高度,也可能大幅下跌。TWSE 為此期間維持集合競價機制(而非逐筆撮合),撮合頻率較盤中低,以降低流動性不足時的價格劇烈波動。第 6 個交易日起恢復 ±10% 限制與逐筆撮合。程式若要抓取 IPO 首周的即日資料,需意識到此期間的漲跌幅欄位不適用一般 ±10% 過濾邏輯。


⑤ 台股交易時段完整架構

TWSE 集中市場的交易時段分為多個區段,各有不同的撮合機制:

時段時間撮合機制說明
委託接受08:30–13:30一般股票委託接受區間
開盤撮合09:00集合競價(一次)8:30 開始接受委託,09:00 單次集合競價決定開盤價
盤中撮合09:00–13:25逐筆撮合每筆委託即時撮合,不等到下一個時點
收盤撮合13:25–13:30集合競價最後 5 分鐘回到集合競價模式,決定收盤價
盤後定價交易14:00–14:30單次集合(14:30)以當日收盤價為成交基準,14:30 單次撮合
盤中零股09:00–13:30集合競價(每 5 秒)第一次撮合 09:10,之後每 5 秒一次
盤後零股13:40–14:30單次集合(14:30)14:30 單次撮合,與盤後定價交易同一時點

各時段關鍵差異說明:

開盤集合競價(08:30–09:00 累積,09:00 撮合):委託在 08:30 開始接受,但不即時撮合,而是累積到 09:00 一次性集合競價,系統依照所有委託的量價關係決定一個能使成交量最大的開盤價。開盤前委託如欲取消,09:00 之後即無法取消。

盤中逐筆撮合(09:00–13:25):委託進入系統後即時配對,若符合成交條件(買方出價 ≥ 賣方報價)立即成交。這是台灣股市 2020 年 3 月由集合競價(每 5 秒)改制為逐筆撮合後的現行機制,成交速度大幅提升。

收盤集合競價(13:25–13:30):最後 5 分鐘回到集合競價模式,13:25 後進來的委託不會立即配對,統一在 13:30 集合競價決定收盤價。這 5 分鐘的設計目的是減少最後一分鐘的價格操縱空間,同時讓大量尾盤委託能以相對公平的價格撮合。

盤後定價交易(14:00–14:30):以「當日收盤價」為固定成交基準,買賣雙方均依收盤價成交(不能指定其他價格),14:30 進行單次撮合。此時段適合接受以收盤價為進出基準的交易需求。

零股交易(盤中 09:10–13:30 · 盤後 13:40–14:30):零股不足一張(1,000 股)的委託走獨立通道,盤中零股每 5 秒一次集合競價,盤後零股 14:30 單次撮合。零股在台灣 2020 年放開盤中交易後,投資人可分批進出不足一張的部位,但流動性仍遠低於整張市場。


⑥ Persona A 常見疑問與機制對應

以下幾個常見疑問,根源均為對上述機制的理解落差:

「盤後委託掛進去,為什麼 14:30 之前都沒動靜?」

盤後定價交易在 14:30 才執行單次撮合,14:00–14:30 接受委託的期間,委託單在系統中等待,不即時成交。這是設計預期行為,非系統延遲。盤後定價交易的設計本意是讓無法在盤中即時操作的投資人(例如上班族在下午 2 點前無法盯盤),仍有機會以收盤價為基準進行交易,但代價是必須等到 14:30 才知道是否成交。若 14:30 買單與賣單無法配對(例如只有單邊委託),則不會成交,委託自動取消。

「漲停板漲了幾趴,為什麼不是整數 10%?」

如上文 ③ 所示,絕大多數股票的漲停價在 ×1.1 計算後需向下取整至合法 tick,導致實際漲幅略低於 10%。這是升降單位規則的必然結果,不是 TWSE 系統計算錯誤。當某股票被報導「今日漲停」,其實際漲幅可能在 9.95% 至 10.00% 之間,視原始計算結果是否恰好整除 tick 而定。程式若以固定 10% 來比對是否漲停,需注意用漲停價格本身與當日報價比對,而非直接算漲幅百分比。

「為什麼開高卻沒觸及漲停?明明開盤已經很強。」

開盤撮合的成交價由 09:00 集合競價決定。若盤前委託不足以推到漲停,開盤價可能遠低於漲停。盤中再逐漸拉高也可能因為成交量不足或賣壓而停在漲停前。另外,09:00 前的委託(08:30–09:00)會累積在集合競價池,開盤瞬間的成交量是這段時間所有委託配對的結果,而非即時委託。

「ETF 的漲停板為什麼比較高(或根本沒有)?」

多數股票型 ETF 使用與個股相同的 ±10% 規則,漲停 / 跌停計算邏輯完全相同。但部分特殊結構 ETF(例如槓桿型或反向型 ETF)依掛牌條件可能適用不同規範,或在特定條件下無漲跌幅限制。若同日某 ETF 漲幅超過 10%,需確認該 ETF 是否屬於無漲跌幅限制的特例,而非預設所有 ETF 皆無限制。


⑦ 漲跌停數量作為市場廣度輔助參考

TWSE 每交易日結束後可統計全市場的漲停個股數量(limit-up count)與跌停個股數量(limit-down count)。這兩個數字是觀察單日市場情緒強弱與方向廣度的輔助資料點,不依賴特定個股的方向性判斷。

漲跌停數量的觀察邏輯:

  • 漲停數量高:表示當日有大量個股觸及 ±10% 上限,市場整體偏強,資金廣泛流入,不限於少數大型權值股。
  • 跌停數量高:表示當日恐慌性賣壓廣泛,個股普遍承壓至極限,是市場情緒極度悲觀的反映。
  • 兩者均低:市場走勢溫和或橫盤,無顯著方向動能。

這類全市場廣度資料(market breadth)的意義在於,大盤指數可能因少數重量級成分股的強勢而上漲,但漲停數量低時說明多數個股並未跟上,強弱分歧顯著。在三大法人籌碼資料(T86 endpoint)之外,漲跌停數量提供另一個維度的整體市場觀察。

漲跌停數量在 TWSE 每日盤後統計中可取得。此類資料的進階判讀邏輯,以及與 T86 籌碼面資料的交叉觀察框架,將在後續文章整理。


⑧ See also


※ 本文描述台股漲跌停機制、升降單位計算規則與交易時段架構,不構成投資建議,投資請自行評估風險。

資料來源:TWSE 交易制度