
執行這個策略
複製提示詞,讓 AI 依照上方證據的資料、條件與風險檢查重跑一次。
告訴你的AI:
幫我設定 FinLab,重跑營收更正、訴訟重訊、鉅亨新聞熱度與品質分數 12 個設計,和 0050 含息比較,請讀:https://finlab.finance/setup?relatedUrl=/blog/revenue-restatement-lawsuit-news-quality-backtest
營收更正後買進、訴訟重訊後抄底、新聞暴增追進、買沒人報導的冷門股、買品質分數最高的股票,在本文的設定下日夏普都沒有贏 0050。我們用 finlab 把營收更正、訴訟重訊、鉅亨新聞與品質分數 4 份資料做成 12 個設計、108 組參數,切前後兩段、扣手續費與證交稅,2007 年到 2026 年 10 月沒有一組的日夏普贏同期 0050 含息。最接近的是品質前 30% 再選動能,日夏普 0.85,同期 0050 1.07。其次是冷門股裡營收動能最高的 20 檔,日夏普 0.80。只看年化報酬,這兩個設計有 10 組高於 0050,最大回撤都比 0050 深。
品質分數是這批裡訊息最清楚的一份資料。流動股依分數分五組、不扣成本,最高組年化 18.7%、日夏普 0.93,最低組年化 2.8%、日夏普 0.24,五組單調排列。分數確實分得開好壞,只是最好的一組也沒有贏 0050 的 1.08。
新聞的結果最反直覺。新聞暴增隔天買進,不扣成本日夏普 0.50,扣成本掉到 -0.42,一年買進 346 次,全被手續費與證交稅吃掉。冷門股裡選營收動能,9 組都比不限冷門的同一個排名好,原參數 0.80 對 0.32,這個差距值得再研究,日夏普還是輸 0050。
這幾份資料也有不少陷阱:monthly_revenue_revised 的更正紀錄其實只有 2025 年以後才看得到,訴訟與新聞的 key_date 是回補時間,新聞的 stock_ids 雜訊很多。下面逐項說明本文的處理方式。
關鍵數字
| 設計(原參數) | 年化報酬 | 日夏普 | 最大回撤 | 前/後半段日夏普 | 9 組參數贏 0050 | 同期 0050 含息年化/日夏普 | 同期等權流動股年化/日夏普 |
|---|---|---|---|---|---|---|---|
| 營收上修 ≥3%,持有 40 日 | -3.2% | 0.05 | -75.9% | -0.06/0.15 | 0 組 | 14.1%/0.75 | 5.8%/0.37 |
| 營收下修 ≥3%,持有 40 日 | 6.0% | 0.35 | -77.7% | -0.10/0.85 | 0 組 | 14.1%/0.75 | 5.8%/0.37 |
| 上修 ≥3% 且當月營收年增 ≥20%,持有 40 日 | -0.3% | 0.14 | -67.9% | 0.06/0.21 | 0 組 | 13.5%/0.72 | 5.1%/0.34 |
| 訴訟重訊隔日買,持有 20 日 | -7.1% | -0.14 | -92.4% | -0.46/0.23 | 0 組 | 14.1%/0.75 | 5.9%/0.38 |
| 負面訴訟跌 ≥5% 後買,持有 20 日 | -4.1% | -0.25 | -66.5% | -0.39/-0.03 | 0 組 | 13.7%/0.73 | 5.7%/0.37 |
| 品質分數為正的公司,訴訟跌 ≥5% 後買,持有 20 日 | 3.2% | 0.25 | -37.8% | 0.47/0.06 | 0 組 | 19.8%/1.05 | 9.4%/0.56 |
| 新聞暴增 5 倍隔日買,持有 10 日 | -11.7% | -0.42 | -85.1% | -0.69/-0.20 | 0 組 | 19.7%/1.07 | 10.3%/0.61 |
| 新聞暴增+60 日新高,持有 10 日 | 3.9% | 0.30 | -74.2% | 0.27/0.33 | 0 組 | 19.9%/1.08 | 10.3%/0.61 |
| 120 日沒有新聞的流動股,全部等權,月底換股 | 7.5% | 0.47 | -43.3% | -0.08/0.90 | 0 組 | 19.9%/1.08 | 10.3%/0.61 |
| 冷門股裡營收動能最高 20 檔,月底換股 | 17.6% | 0.80 | -37.5% | 0.40/1.14 | 0 組 | 19.9%/1.08 | 10.3%/0.61 |
| 品質分數最高 30 檔,財報期限換股 | 15.2% | 0.76 | -42.5% | 0.70/0.82 | 0 組 | 20.2%/1.08 | 10.0%/0.59 |
| 品質前 30%、120 日報酬最高 20 檔,月底換股 | 24.8% | 0.85 | -45.3% | 0.77/0.92 | 0 組 | 20.1%/1.07 | 9.6%/0.57 |
原參數是看結果前寫定的主要參數,「贏」指日夏普高於同期 0050 含息。每個設計從第一次持股起算到 2026-10-30,對照組從同一天起算。等權流動股是每月底買進全部 20 日均成交金額 2,000 萬以上的股票,含預設成本。營收與訴訟從 2007 年起,新聞從 2013 年起,品質從 2014 年起,0050 的日夏普因此在 0.72 到 1.08 之間。
研究問題與資料
| 說法 | finlab 資料 | 相關文獻 |
|---|---|---|
| 公司上修過去的營收是好消息,下修是壞消息 | monthly_revenue 的上月營收、去年當月營收 |
Palmrose et al.(2004) |
| 訴訟消息會讓股價過度反應,跌深可以撿 | lawsuit_info(2006 年起) |
Bhagat et al.(1998) |
| 新聞突然變多代表關注度上升,股價會跟上 | tw_news_cnyes(2013 年起) |
Barber & Odean(2008) |
| 沒人報導的股票有冷門溢酬,好消息反映得慢 | 同上 | Fang & Peress(2009)、Hong et al.(2000) |
| 品質好的公司長期報酬較高 | quality_factor_z_score(2013 年起) |
Asness et al.(2019)、Novy-Marx(2013) |
文獻研究的題目跟這裡的說法不完全相同,各篇實際的發現寫在下面對應的段落。品質分數是 FinLab 內建的因子,把同一期股票的獲利性、成長性、安全性各自排名後算 Z 分數,本文取三項等權平均。
同一批研究還有三份資料另有專文:借券費率回測、暫停交易回測、台股類股輪動回測。
這些資料的時點陷阱
冷門資料最大的風險是看起來能回測,實際上用到了當時還不知道的東西。本文開跑前逐表查過:
| 資料 | 看起來 | 查到的 | 本文做法 |
|---|---|---|---|
monthly_revenue_revised |
2005 年起的更正版 | 跟鎖定版只差 138 格,全在 2025 年以後;revised_at 只有 170 筆 |
不用。改比對新月報的「上月營收」「去年當月營收」跟當初公布值 |
訴訟的 key_date |
可取得日 | 2023-12-01 一次回補 4081 列,其餘多半也是整批寫入 | 用 date,它是公開資訊觀測站的發言時間,近期列已跟 key_date 對上 |
新聞的 key_date |
可取得日 | 2026-02-26 回補 270811 列、2023-12-12 回補 106731 列 | 用 date,文章刊登日 |
| 新聞的網址 | 一篇一列 | 同一篇有兩列(網址帶 ?exp=a),443449 列實際 335693 篇 |
去重 |
新聞的 stock_ids |
這篇講的股票 | 雜訊多,2013 到 2015 年只有 35% 到 38% 的文章有標籤股出現在標題,2015 年以前的標籤有 3.0% 是文章刊出 3 年後才上市的代號,照用就有前視 | 標籤含該股、標題也有其公司簡稱才算到這檔 |
| 品質分數 | 每季一次 | 一年約 8 個資料日,對應各類公司的財報法定期限;2026 年 10 月起改用新口徑重算歷史 | 照資料日換股,日期就是可取得日 |
營收更正用「新月報 vs 舊月報」的好處是兩個數字當時都公開過,沒有前視。2013 年會計準則轉換時幾乎每家都有差異,單月 60 筆以上的整批差異不算,幅度超過 ±100% 的也不算,2005 到 2026 年剩 3953 筆(去年同月 3713 筆、上月 240 筆)。去年同月的差異可能來自合併範圍改變,不全是更正錯誤,這點要記著看結果。

新聞資料的斷點在 2018 年前後:標題命中比例從四成跳到六成,能對應到個股的則數 2018 年 22832 則,比前後一年多五到九成。「120 日沒有新聞」的流動股,每月中位數從 2017 年的 218 檔掉到 2018 年的 44.5 檔。冷門股的定義跟資料結構綁在一起,這是本文新聞結果最大的不確定性。
回測方法
| 項目 | 本文的做法 |
|---|---|
| 股票池 | 上市櫃 4 碼普通股,含後來下市的股票;沒有排除金融股、KY 股與全額交割股 |
| 流動性 | 訊號日 20 日均成交金額 2,000 萬以上(冷門股的均額下限是參數之一) |
| 權重 | 同時持有的事件等權,沒有單檔上限;事件型設計沒有事件的日子空手 |
| 營收更正時點 | 用月營收法定期限日(每月 10 日,遇假日順延)當訊號日,保守但沒有前視 |
| 訴訟時點 | 公告日起第一個交易日 T,隔日收盤買;跌深版看 T−1 到 T+1 比 0050 多跌多少,T+2 收盤買 |
| 新聞時點 | 刊登日 T 收盤後決定,T+1 收盤買 |
| 品質分數 | 每個資料日換股,一年約 8 次,資料日就是財報法定期限 |
| 交易成本 | sim() 預設:手續費 0.1425%(買賣各一次,未打折)、證交稅 0.3%(賣出) |
| 滑價 | 未另外假設,以收盤價成交 |
| 前視偏差 | 訊號日收盤後才知道,sim() 在隔一個交易日收盤成交,詳見 前視偏差 |
| 樣本內外 | 全段 in-sample,未另留樣本外;每個設計的定義與 9 組參數在看結果前寫定,之後沒有改 |
每個設計 9 組參數,至少 7 組的日夏普要高於同期 0050 含息,前後半段各自要贏,要扣預設成本,三項都過才算成立,日夏普的算法見 夏普比率怎麼算。12 個設計都是 0/9。
營收更正:上修沒有比較好

| 事件 | 筆數 | 5 日平均/中位/贏的比例 | 20 日 | 60 日 | 20 日 t 值 |
|---|---|---|---|---|---|
| 營收上修 ≥3% | 364 | -0.3%/-0.7%/43% | -0.5%/-1.7%/41% | -1.4%/-4.7%/37% | -0.13 |
| 營收下修 ≥3% | 625 | 0.0%/-0.8%/43% | 0.7%/-0.8%/45% | 1.6%/-2.5%/45% | 1.66 |
圖從決策日收盤起算,表格從隔日收盤買進起算,第 1 天的漲跌買不到,所以兩邊數字略有不同。表格每格依序是平均、中位數、贏的比例,超額報酬減等權流動股、不扣成本;筆數是持有 5 日能算的事件,60 日的樣本略少;t 值先按進場月份平均。
方向跟直覺相反:上修的股票之後略為落後,下修的略為領先,t 值都沒有到 2。大多數更正幅度小,市場本來就不太在意。Palmrose、Richardson 與 Scholz(2004)研究美股財報重編,平均反應是負的,但主要集中在涉及舞弊或降低獲利的案子。台股月營收的小幅更正多半不屬於這一類。
三個設計的日夏普都低於等權流動股。加上月營收年增 20% 的組合版沒有比較好(4/9 組高於單獨版),原參數只剩 94 筆事件。
訴訟重訊:沒有方向,負面又跌深的繼續弱

| 事件 | 筆數 | 5 日平均/中位/贏的比例 | 20 日 | 60 日 | 20 日 t 值 |
|---|---|---|---|---|---|
| 全部訴訟重訊 | 1601 | -0.1%/-0.8%/42% | -0.1%/-1.5%/43% | 0.5%/-3.0%/42% | -0.33 |
| 負面訴訟且跌 ≥5% | 26 | -3.0%/-3.2%/31% | -3.5%/-2.6%/31% | -6.5%/-6.4%/27% | -2.03 |
| 全部訴訟跌 ≥5%(2014 年起) | 125 | -0.4%/-0.9%/38% | 1.2%/0.3%/50% | 0.1%/-2.8%/39% | 1.78 |
| 品質分數為正的公司,訴訟跌 ≥5% | 57 | -0.2%/-1.1%/37% | 0.5%/-1.8%/44% | -0.1%/-4.4%/32% | 0.12 |
資料裡 4342 筆訴訟事件平均沒有方向,持有 20 日的訴訟後買進日夏普 -0.14,不扣成本 0.29。標題含遭起訴、羈押、搜索、檢調、背信、掏空、敗訴、假扣押等字的有 457 筆,跌 5% 以上又符合流動性的只剩 26 筆,買進後 60 日平均再落後 6.5%,t 值 -3.15。這批事件之後沒有看到反彈,但只有 26 筆,只能當線索。
品質分數為正的公司也沒有比較好:跌 5% 後買進,日夏普 0.25,比不看品質的 0.30 還低,9 組裡只有 4 組較高。Bhagat、Bizjak 與 Coles(1998)研究美股被告公司在訴訟消息當下的股價下跌,本文看的是消息之後的持有報酬,平均沒有看到反彈。
新聞熱度:暴增時股價已先漲,冷門股的訊息比較有用

| 事件 | 筆數 | 5 日平均/中位/贏的比例 | 20 日 | 60 日 | 20 日 t 值 |
|---|---|---|---|---|---|
| 新聞暴增 | 4588 | -0.1%/-0.6%/44% | -0.1%/-1.4%/43% | 1.0%/-2.4%/43% | -0.53 |
| 新聞暴增+60 日新高 | 1113 | 0.5%/-0.3%/47% | 1.4%/-0.9%/47% | 4.4%/-1.6%/47% | 2.41 |
新聞暴增的定義是 5 日則數 ≥3、≥ 前 120 日平均的 5 倍,同一檔 20 日內只算第一次。Barber 與 Odean(2008)發現散戶偏向買進上新聞、成交異常放大的股票。本文的事件日前股價已先漲,暴增之後的 20 日超額報酬平均 -0.10%;60 日平均 1.05%(t 值 2.5),中位數 -2.38%,靠少數幾檔撐起來。
新聞暴增+60 日新高的超額報酬比較好,20 日 t 值 2.41,60 日平均 4.4%。不扣成本日夏普 0.83,但一年買進 84 次,扣成本掉到 0.30。
冷門股單獨買輸給等權流動股(0.47 對 0.61),Fang 與 Peress(2009)在美股發現的無媒體報導溢酬,在這份資料裡看不到。冷門股裡再選營收動能就不一樣了:

同一個營收動能排名,只在冷門股裡選,9 組日夏普 0.46~1.01;不限冷門的對照組 0.20~0.50,9 組都比較低(9/9)。Hong、Lim 與 Stein(2000)發現分析師覆蓋低的股票訊息傳得慢,主要出現在壞消息;這裡買的是營收好的股票,新聞標題也不等於分析師覆蓋,所以不能算是驗證了那篇的結論。前半段 0.40、後半段 1.14,兩段都輸 0050 的 0.72、1.39,加上新聞資料的斷點,目前只能算一個值得再驗證的線索。
品質分數:分得開好壞,但贏不了 0050

五組單調排列,這是 Asness、Frazzini 與 Pedersen(2019)的「品質減垃圾」在台股的樣子,Novy-Marx(2013)的獲利能力溢酬也是同一方向。五組之間,最低一組跟其他組的差距最大:第 5 組日夏普只有 0.24、最大回撤 -52.6%。
選股版本:品質分數最高 30 檔,年化 15.2%、日夏普 0.76,9 組 0.61~0.83,都高於等權流動股的 0.59。品質前 30% 裡選 120 日報酬最高的 20 檔,年化 24.8% 比 0050 的 20.1% 高,但最大回撤 -45.3% 比 0050 的 -34.0% 深,日夏普 0.85 輸 1.07。前半段 0.77 只比 0050 的 0.83 低一點,後半段 0.92 跟 1.27 的差距拉大。
用 finlab 自己跑
營收更正用新月報的去年同月跟一年前公布的數字比:
顯示程式碼
from finlab import data
revenue = data.get("monthly_revenue:當月營收")
last_year = data.get("monthly_revenue:去年當月營收")
change = last_year / revenue.shift(12) - 1
latest = change.iloc[-1].dropna()
print(latest[latest.abs() >= 0.03].sort_values())品質分數把三項平均,看最新一期分數最高的股票:
顯示程式碼
items = ("profitability", "growth", "safety")
quality = sum(data.get(f"quality_factor_z_score:{k}") for k in items) / 3
print(quality.iloc[-1].dropna().sort_values(ascending=False).head(10))12 個設計的完整回測、事件統計與品質五等分,都在文末的 research.py,約 1 分鐘跑完。
回測限制
- 關鍵字分類: 負面訴訟用標題關鍵字判斷,沒有逐筆閱讀,公司是原告的案子可能混在裡面。
- 公司簡稱比對: 新聞用標題比對公司簡稱,簡稱也是一般用語的公司可能誤判,改名的公司可能漏算。
- 新聞資料斷點: 2018 年前後的標題與則數有結構變化,冷門股的定義會跟著變。
- 樣本: 負面訴訟與上修+年增的事件少,分別只有 26 筆與 94 筆。
- 容量與滑價: 實際衝擊取決於資金規模與成交量,本文未估算容量。
常見問題
營收更正是什麼?
公司在之後的月營收公告裡,把過去月份的營收改成不同的數字。本文用新月報的「上月營收」「去年當月營收」跟當初公布值比,超過 1% 才算。
營收上修是好消息嗎?
本文的資料看不出來。上修 3% 以上的股票,買進後 60 日平均比等權流動股少 1.4%,t 值 -0.5。
公司有訴訟要賣股票嗎?
一般訴訟之後沒有方向。遭起訴、羈押、搜索這類負面消息而且當下跌深的 26 筆,買進後 60 日平均再落後 6.5%,樣本小。本文只陳述回測結果,不構成買賣建議。
新聞很多的股票會漲嗎?
新聞暴增之前股價已先漲,暴增之後 20 日平均超額報酬接近 0。扣成本後日夏普 -0.42。
冷門股有超額報酬嗎?
單獨買沒有,日夏普 0.47,低於等權流動股的 0.61。冷門股裡選營收動能比全市場的同一個排名好,但仍輸 0050。
品質因子在台股有用嗎?
分得開好壞。最高一組年化 18.7%、最低一組 2.8%(不扣成本),但選最高 30 檔的日夏普 0.76 輸 0050 的 1.08。
參考文獻
- Palmrose, Z.-V., Richardson, V. J., & Scholz, S.(2004). Determinants of market reactions to restatement announcements. Journal of Accounting and Economics, 37(1), 59–89。財報重編的市場反應,涉及舞弊與降低獲利的案子最負面。
- Bhagat, S., Bizjak, J., & Coles, J. L.(1998). The shareholder wealth implications of corporate lawsuits. Financial Management, 27(4), 5–27。公司成為訴訟被告時的股價反應。
- Barber, B. M., & Odean, T.(2008). All that glitters: The effect of attention and news on the buying behavior of individual and institutional investors. Review of Financial Studies, 21(2), 785–818。散戶偏向買進吸引注意力的股票。
- Hong, H., Lim, T., & Stein, J. C.(2000). Bad news travels slowly: Size, analyst coverage, and the profitability of momentum strategies. Journal of Finance, 55(1), 265–295。關注度低的股票訊息傳遞較慢。
- Fang, L., & Peress, J.(2009). Media coverage and the cross-section of stock returns. Journal of Finance, 64(5), 2023–2052。沒有媒體報導的股票報酬較高。
- Asness, C. S., Frazzini, A., & Pedersen, L. H.(2019). Quality minus junk. Review of Accounting Studies, 24(1), 34–112。高品質股票的風險調整後報酬較高。
- Novy-Marx, R.(2013). The other side of value: The gross profitability premium. Journal of Financial Economics, 108(1), 1–28。毛利獲利能力與未來報酬正相關。
延伸閱讀
- 暫停交易是什麼:311 次事件回測
- 借券費率是什麼:當沖券差費率回測
- 台股類股輪動回測
- 月營收選股訊號回測
- 三率三升、毛利率創新高回測
- 董監持股與內部人訊號回測
- 法說會、股東會、作帳與季節性回測
- 量化交易完整指南
- 台股選股完整指南
- FinLab 公開策略庫
下載資源
| 檔案 | 說明 |
|---|---|
| research.py | 完整研究程式:12 個設計 108 組參數與 2 個對照組、前後兩段、不扣成本,以及事件統計、品質五等分與新聞資料品質統計 |
| data.csv | 各設計原參數的每日淨值,以及 0050 含息與等權流動股 |
| metrics.json | 全部回測與描述統計的原始輸出,含重跑日與 finlab 版本 |
投資警語:本文僅供教學參考,不構成投資建議。過去績效不代表未來表現,投資有風險。
最後更新:2026-11|回測區間:2007-06 ~ 2026-10(新聞 2013-07 起、品質 2014-05 起,資料快照 2026-10-30,重跑日 2026-11-01)|作者:FinLab 量化研究團隊(經量化研究員審閱)
FinLab AI
想建立自己的策略?
用自然語言描述你的選股想法,AI 自動驗證、回測、給你答案
免費開始

