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

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

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


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

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

計算公式如下:

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

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

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

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


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

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

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

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

幾個實務注意事項:

  • 若股票前一日收盤 48 元,隔日漲停後落在 52.8 元(跨越 50 元門檻),程式計算漲停時應以漲停後的價格(約 52.x 元)對應的 tick(0.10 元)來取整,而非以開盤基準 48 元的 tick(0.05 元)取整。
  • 每個級距門檻都是實質的 tick 切換點:跨越 10 元(0.01 → 0.05)、50 元(0.05 → 0.10)、100 元(0.10 → 0.50)、500 元(0.50 → 1.00)、1,000 元(1.00 → 5.00),tick 都會改變。整個「未滿 10 元」區間 tick 一律 0.01 元,10 元至未滿 50 元才是 0.05 元。

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


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

以一個假設股價 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%。

再以另一個假設股價 120 元為例(屬 100 元至未滿 500 元區間,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 區間臨界點的假設股價 9.90 元為例(屬未滿 10 元區間,tick = 0.01 元):

漲停(未取整)= 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
→ 跌停後股價仍在未滿 10 元區間(tick = 0.01 元,非 0.05)
→ 8.91 已是 0.01 的倍數 → 合法跌停 = 8.91 元

這個案例說明漲停後的股價可能落在與當前股價不同的 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 < 10)   return 0.01; // 未滿 10 元
  if (price < 50)   return 0.05; // 10 至未滿 50 元
  if (price < 100)  return 0.10; // 50 至未滿 100 元
  if (price < 500)  return 0.50; // 100 至未滿 500 元
  if (price < 1000) return 1.00; // 500 至未滿 1,000 元
  return 5.00;                   // 1,000 元以上
}

浮點數精度問題在此類計算中需特別處理:直接用 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%,而是依標的有價證券當日漲跌幅按比例計算,公式由 TWSE 另行規定,非一律 10%。實務上,若標的股票當日漲跌幅受限於 ±10%,對應的認購(售)權證漲跌幅上限通常小於 ±10%(以標的漲跌幅乘以一個比例係數)。開發自動化盤前工具時,若要同時追蹤正股與其衍生性商品,需注意兩者的漲跌幅計算規則並不對稱。

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

上市可轉換公司債(CB)的漲跌幅限制比照上市股票,為 ±10%;上市普通公司債則為 ±5%;中央登錄公債與政府公債無漲跌幅限制。整合不同類型有價證券的資料時(例如把股票與 CB、公司債同時納入觀察),需留意三者上限不同:上市 CB 可達 ±10%、上市普通公司債為 ±5%、公債則無上下限可套用。若標的為上櫃可轉債(屬櫃買中心而非 TWSE),參考價漲跌幅同樣為 ±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 每交易日結束後可統計全市場的漲停個股數量與跌停個股數量。這兩個數字是觀察單日市場情緒強弱與方向廣度的輔助資料,不依賴特定個股的方向性判斷。

漲跌停數量的觀察邏輯:

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

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

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


⑧ See also


修正紀錄

先前版本有以下更正:

  • ②:升降單位級距 八級 → 六級。
  • ②:未滿 10 元 tick 0.05 → 0.01。
  • ③:9.90 元範例跌停 8.95 元 → 8.91 元。
  • ③:120 元範例 100–150 元區間 → 100–500 元區間。
  • ④:上市可轉換公司債漲跌幅 ±5% → ±10%。

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

資料來源:TWSE 交易制度TWSE 升降單位規定;TWSE 營業細則第 62 條