跳至主要內容
台股研究 約 7 分鐘閱讀

跌停反彈回測:隔天買進有用嗎?

跌停隔天買進,真的比較容易反彈嗎?用台股收盤跌停、一字跌停與非一字跌停分組回測,再測跌停家數暴增時買進或避開0050。三類個股設計各九組參數都未勝過同期含息0050,恐慌買進也未通過。附跌停價取整、公司行動排除、交易成本、前後半段與同資金比例對照,區分價格反彈和可執行交易。

這組規則未通過驗證

不用操作程式,直接看報酬、最大跌幅與比較結果。

看比較結果
跌停反彈未通過

跌停隔天買進與恐慌擇時的扣成本日夏普,對照同期0050含息

本文以反面教材為主。收盤跌停後隔天開盤買進、持有五個交易日,在本次設定下年化報酬為負19.6%,最大回撤93.9%。把一字跌停、非一字收盤跌停分開,兩組也沒有通過驗證;全市場跌停家數暴增時才買0050,日夏普只有0.07,同期持有0050為1.04。 跌停後偶爾有強勁反彈,仍不足以支持機械式抄底。

本文提供研究結果,沒有推薦這些買賣規則。想自行重跑,可先 設定 FinLab 環境,再 下載研究程式(.py);其他檔案見 研究下載區。

圖表可以點開原尺寸。本文的進場判斷在當日收盤後形成,最早隔日開盤成交,沒有用當日跌停價回頭買進。

跌停是什麼,為什麼不等於便宜

跌停是當日允許的最低成交價格。依證交所交易制度說明,普通股票的限制以當日開盤競價基準計算,價格還要符合升降單位;台股自2015年6月1日由7%放寬為10%。除權息、減資、面額變更時,競價基準可能和昨天收盤不同。

限制價格只約束今天能成交的位置,沒有替公司的合理價值設定下限。新的壞消息若還沒反映完,隔天可以再跌;委賣很多、買盤很少時,持有人也可能無法在回測指定的價格賣出。這個問題和一般短期反轉研究不同:短期反轉依報酬排序,本文依交易制度觸發事件。

分類 本文可從日資料確認的條件 不能推論的事
收盤跌停 收盤等於依升降單位取整後的跌停價 隔天一定反彈
一字跌停 收盤跌停,當日最高價等於最低價 所有人的賣單都能成交
非一字收盤跌停 收盤跌停,當日曾在更高價格成交 確切何時開板、開板多久
盤中觸及、收盤離開跌停 當日最低碰板,收盤回升 本文沒有把這一類混入收盤跌停樣本

日線只能辨識一字與非一字,沒有逐筆委託簿,無法證明「鎖死」期間的排隊數量。後文的一字跌停也只使用上述定義。涉及排隊、延遲成交與資金規模的問題,可搭配流動性風險實測閱讀。

五個方向,哪一項通過了驗證

三種個股跌停買進、恐慌買0050及避開恐慌,都未通過本文驗證。 主要設定下,全部收盤跌停隔天買進平均每年虧19.6%,期間從高點最多跌93.9%;同期持有0050則平均每年賺19.8%。

左右滑動表格,查看日夏普與最大跌幅 →

設計 年化報酬 日夏普 最大回撤 前/後半段日夏普 鄰近參數贏0050
收盤跌停隔天買進 -19.6% -0.62 -93.9% -1.03/-0.33 0/9
一字跌停隔天買進 -11.8% -0.82 -83.1% -1.34/-0.35 0/9
非一字收盤跌停隔天買進 -14.4% -0.41 -86.9% -0.91/-0.05 0/9
跌停家數暴增才買0050 0.1% 0.07 -37.4% -0.51/0.39 0/9
避開恐慌訊號,其餘持有0050 14.5% 0.95 -35.5% 1.05/0.86 1/9
同期0050含息 19.8% 1.04 -34.0% 0.90/1.16 —

以下個股設計的中心值都是持有五日、20日平均成交金額至少2,000萬元;同一股票再次出現訊號,持有期間向後延長。恐慌訊號使用當日跌停家數,超過前252個交易日的97.5分位,且家數大於零;門檻計算先落後一天,沒有把今天的家數放回去決定今天的門檻。

「贏」統一定義為日夏普高於同期0050,不扣無風險利率。前三個個股設計、恐慌買進與反向持有,三項驗證都未全部通過。這裡沒有把較小的年化損失解讀成勝出,也沒有因為反向設計有一格較好就換成那一格推薦。

互動報告對應「全部收盤跌停」的中心設定,已扣預設交易成本。非一字組另附對照報告,恐慌買進與反向持有也可在文末下載區開啟。

跌停價怎麼重建,哪些日子排除

一般日以前收盤乘上93%或90%,再向不超出跌幅限制的方向取整。例如證交所的計算範例,競價基準40.60元乘90%為36.54元,符合升降單位的跌停價是36.55元。直接把每日報酬小於負9.5%當跌停,會把接近停板的股票混進來;未處理除權息,也會把價格調整誤當市場賣壓。

本文排除還原價相對原始價的調整因子發生變化的日期,也排除資料中前五次有收盤價的交易日。這個篩選降低公司行動及新上市無漲跌幅限制的干擾,沒有宣稱重建了每一種特殊交易制度。金融股、KY股與全額交割股沒有另行排除;普通股採四碼數字代號、排除0及91開頭的編碼規則,可能漏掉其他編碼的普通股。後來下市且價格表仍有歷史紀錄者也在樣本內。

完整期間共辨識19,762筆收盤跌停股票日,其中4,163筆是一字;套用中心流動性條件後,三組事件數分別是11,594、1,985與9,609。連續跌停會產生多個股票日,這些數字並非獨立公司數,也不能當成彼此獨立的統計樣本。

上櫃漲跌停未成交表從2026年5月起才有資料。對齊這張表的股票與日期後,本研究重建出700筆跌停,700筆都能在官方來源表找到同日跌停標記。這是近期子樣本的一致性檢查,沒有證明歷史樣本零誤差,也沒有用這個標記替代逐筆成交驗證。

換參數與切時間,結果仍沒有形成穩定高原

跌停三種分類、恐慌買進與反向避開的45組鄰近參數熱圖

前三組各用持有3、5、10日,搭配20日均成交額1,000萬、2,000萬、3,000萬元,共九格;擇時兩組則用同樣三種持有天數,搭配95、97.5、99分位。熱圖每格顯示策略日夏普減去同期0050,紅色表示較低。至少七格要贏,才算參數附近有一片高原;45格只有反向持有的一格勝出。

跌停設計前後半段的日夏普,分別對照該段0050含息

期間依日曆長度對半切,前後兩段各自重新計算,不拿全期的0050夏普充當兩段基準。避開恐慌日的中心設定前段1.05,高於0050的0.90,後段0.86卻低於1.16;另外四個設計的中心設定,兩段都輸。這是反向設計未過關的直接原因之一。

跌停個股三組、恐慌買進與避開訊號的共同起點累積淨值

五個設計和0050都從同一日的1開始。三條個股曲線長期下降;恐慌買進長時間留在現金,因此曲線比較平,仍曾回撤37.4%。避開恐慌日的終值較高,但年化報酬與日夏普都低於持續持有0050。曲線平緩本身無法證明擇時有幫助。

現金比例與最好的一年,會不會改變判斷

設計 平均股票資金比重 同比重固定持有0050的年化 本設計年化 移除自身最好年後:策略/0050日夏普
全體收盤跌停 59.8% 11.9% -19.6% -0.69/0.99(移除2023)
一字跌停 9.9% 2.0% -11.8% -0.87/0.97(移除2019)
非一字收盤跌停 57.1% 11.4% -14.4% -0.45/0.99(移除2023)
恐慌買0050 10.8% 2.2% 0.1% -0.30/0.95(移除2026)
避開恐慌日 89.2% 17.7% 14.5% 0.82/1.01(移除2020)

固定持有對照把0050的每日含息報酬乘以相同平均股票權重,其餘現金報酬設為零;沒有扣交易成本。在這個零現金利率的算式下,固定縮放報酬不改變日夏普,對照的日夏普仍約1.04。這項檢查避免把少承擔市場風險,直接說成交易時點選得好。移除最佳年時,策略與0050移除相同日期,再以剩餘日報酬算夏普;2026年只包含截至11月10日的資料。

回測方法與成交限制

項目 設定與限制
資料截至/重跑日 2026-11-10/2026-11-11;finlab 2.3.8、pandas 3.0.6
成交 收盤形成訊號,隔日開盤買賣;個股等權、單檔上限10%,不足部分留現金;0050擇時最多100%
交易成本 sim預設手續費每邊0.1425%,賣出證交稅0.3%,未設零成本
滑價與成交失敗 未額外設定滑價,未模擬停板排隊與延後出場;一字跌停不能保證依回測成交
周轉 目標權重變動估算的單邊月周轉率,三組個股平均280%、36%、271%,單月最高675%、283%、669%;未含價格漂移造成的再平衡差異
容量 未估算,均成交額門檻不代表所有資金規模都能成交
基準 etl還原收盤價的0050買進持有,純算術、不扣成本,使用相同日期
樣本內外 全段樣本內;分段、鄰近參數與刪年度都不是獨立樣本外驗證

未模擬成交失敗,是使用日頻回測的重要限制;不能把本表當實單績效估計。即使先採用能按開盤成交的假設,這些條件也沒有達到穩健性要求,因此本文不提供可直接採用的策略頁。研究設計和實單之間還有哪些差距,可參考回測限制與滑價定義。

跌停反彈的文獻,支持的是研究問題

Kim與Rhee(1997)研究東京證交所價格限制,提出波動外溢、價格發現延遲與交易干擾的證據。它提醒我們,碰到停板不等於資訊已反映完;日本制度與本文台股樣本不同,不能拿來保證台股隔天的方向。

Harvey、Liu與Zhu(2016)討論大量測試帶來的假發現。本文因此保留事前登記的所有格子,沒有從少數成功交易回頭調門檻。這項研究支撐的是檢驗方法,沒有直接證明跌停策略一定虧損。另一種台股制度事件,可看融券回補與軋空研究;暫停交易後復牌則整理在暫停交易回測。

常見問題

跌停隔天一定會反彈嗎?

不一定。本次全體收盤跌停隔日買進的九組參數都未勝過0050,個別反彈例子不能替代整體檢驗。

一字跌停更容易撿便宜嗎?

本次一字組的中心設定年化為負11.8%,日夏普負0.82,且日資料無法保證開盤成交。價格低與可交易優勢是兩件要分別驗證的事。

非一字跌停代表賣壓結束嗎?

本文只能知道當日曾以較高價格成交,最後仍收在跌停。這組年化負14.4%,不能據此判定賣壓已結束。

全市場跌停很多家,買0050可以避開個股風險嗎?

分散標的能減少單一公司的影響,但恐慌擇時仍會遇到市場繼續下跌。本次中心設定只有10.8%的時間持有,卻曾回撤37.4%。

直接避開這些日子比較好嗎?

反向中心設定前段較好、後段較差,九格僅一格贏。本文沒有找到可穩定使用的避險規則。

怎麼自己重跑,而不是只看圖?

先依程式交易研究流程設定環境,再下載下列程式。保留日期、分類與成本,重跑後先核對事件數;若改定義,應視為新的實驗。

程式與研究下載

下載程式中的預設值對應全體收盤跌停。以下範例只呼叫一次回測,研究報告不會上傳到個人帳號。

顯示程式碼
from strategy import build_report
 
report = build_report(kind="all", hold=5, liquidity=20_000_000)
report.to_html("report_strategy.html")
檔案 內容
strategy.py 跌停分類與回測程式
metrics.json 45組設定與完整檢查
data.csv 每日結果與0050對照
恐慌買進報告 97.5分位,持有五日
避開恐慌日報告 同訊號反向持有

研究團隊使用FinLab資料與回測套件,公開條件、程式及失敗結果供讀者核對。本文沒有推薦特定股票。

投資有風險,過去績效不代表未來表現。本文僅供研究與教學參考,不構成投資建議;跌停可能無法賣出,實際損失與回測可能有明顯差異。

最後更新:2026-11|回測區間:2015-01-05至2026-11-10|作者:FinLab量化研究團隊(經量化研究員審閱)

FinLab AI

想建立自己的策略?

用自然語言描述你的選股想法,AI 自動驗證、回測、給你答案

免費開始

更多技術指標研究

查看全部