iT邦幫忙

2026 iThome 鐵人賽

DAY 2
1

昨天說這 30 天要蓋一條日頻選股產線,分成選股層和擇時層。今天講選股層最重要的那個資料來源。

先講結論:月營收是台股最被低估的資料,而且它是台灣獨有的。


每月 10 日前,全市場一起交卷

依證券交易法規定,台灣所有上市櫃公司必須在每月 10 日以前,公告並申報上個月的營運情形

這句話有三個關鍵字,每一個都很重要:

**每月。**不是每季。

**10 日以前。**上個月的生意做得如何,最晚十天後你就知道。

**所有公司。**不是自願揭露,是強制的。

美股沒有這個制度。美國上市公司只有季報(10-Q)和年報(10-K),而且 10-Q 的申報期限是季末後 40 天。你要等一季結束,再等 40 天,才知道這家公司這一季賣了多少。

更新頻率對照
同樣一年,台股投資人拿到的基本面更新次數是美股的三倍。

對日頻策略來說,這件事的價值不只是「資料多一點」。它給你的是一年 12 個全市場基本面同時刷新的時點——每個月 10 號前後,兩千多家公司的最新營運狀況在幾天內全部到齊。這種「橫斷面同時更新」的時刻,一年只有 12 次,而美股只有 4 次。


涵蓋到什麼程度

講制度是一回事,實際抓下來長什麼樣是另一回事。以 2024 年 1 月為例:

2024-01 月營收
  總計   2,143 家
  上市   1,053 家
  上櫃     871 家
  興櫃     219 家
  產業      36 個

興櫃也在裡面,這點常被忽略。興櫃公司同樣要公告月營收,即使它們的股票報價資料殘缺(議價交易,交易所只給最高/最低/均價,沒有開盤收盤)。對研究來說這是免費的額外樣本。

而且資料裡自帶產業分類——不需要另外去對照表湊。


它是訊號,不是雜訊

一個資料有沒有用,最基本的檢查是:它能不能區分公司?如果所有公司的數字都差不多,那它就沒有橫斷面的資訊。

把 2024 年 1 月按產業分組,只看家數 15 家以上的產業,取各組的 yoy 中位數:

產業別 yoy

**建材營造 +43.8%,貿易百貨 −5.3%,中間差了 49 個百分點。**這還只是中位數——組內的分散度更大。

同一個月、同一個總體環境下,產業之間差這麼多,代表這個資料確實在講不同的事。它不是所有公司一起漲、一起跌的總體指標。

順帶一提,這張圖也順手示範了一個資料清洗的小坑:MOPS 的產業名稱裡,「金融保險業」後面掛著一整段括號說明(「其中金控公司係控股公司,其申報之『營業收入』係認列所有子公司損益之合計數」),直接當標籤畫出來會把整張圖擠爛。這種東西在台股資料裡到處都是。


從月營收能算出五個指標

原始資料只有「這個月營收多少」。要餵給模型,得先轉成有意義的相對量。我用的是這五個:

月增率 MoM = 該月營收 / 上月營收 − 1

問的是「有沒有比上個月好」。缺點很明顯:台灣的月營收有極強的季節性,二月工作天少、農曆年前後波動大,MoM 單看幾乎沒有意義。

對去年同月比較率 MoM12 = 該月營收 / 去年同月營收 − 1

也就是大家平常講的「營收 yoy」。用去年同月當基期,季節性大致被抵銷掉。這是最常被使用的指標。

季增率 QoQ = 該季營收 / 上季營收 − 1

年增率 YoY = 該年度累計營收 / 去年同期累計 − 1

累計數平滑掉單月雜訊,代價是反應變慢。

標準化未預期營收 SUE

這個值得多講一點,因為它是五個裡面唯一一個「有考慮到公司自己的個性」的:

SUE(i,t) = [ S(i,t) − S(i,t−12) − μ(i,t) ] / σ(i,t)

  S(i,t)   第 i 檔股票第 t 個月的營收
  μ(i,t)   該股前 24 個月營收變動值的平均數
  σ(i,t)   該股前 24 個月營收變動值的標準差

它在問的不是「成長了多少」,而是「這次的成長,相對於這家公司自己平常的波動,算不算意外」。

為什麼這很重要?營收成長 30% 對一家營收長期穩定的公司來說是大事件;對一家本來每個月就上下擺盪 50% 的小公司,30% 根本是常態。單看 yoy,你會把後者也排到前面去。SUE 用該股自己過去 24 個月的標準差當分母,把這個差異除掉。

代價是它需要至少 24 個月的歷史才算得出來,所以每檔股票上市後的頭兩年沒有 SUE。這在回測時要記得處理,不然你會不小心把所有新上市公司排除掉——而新上市公司的報酬分布跟老公司很不一樣。


但它藏著一個陷阱

到這裡聽起來月營收很好用。看一下 2024 年 1 月的全市場數字:

2024-01   2,143 家   yoy 中位數  +20.0%   正成長比例 72.7%

七成三的公司在成長,中位數 +20%。景氣一片大好。

隔一個月再看同一批公司:

2024-02   2,143 家   yoy 中位數   -6.8%   正成長比例 40.6%

兩個月的 yoy 分布

同樣 2,143 家公司,一個月之內從「七成三在成長」變成「四成在成長」,中位數掉了 27 個百分點。

台灣經濟不會在 30 天內崩掉。這個位移不是景氣變化,是資料本身的性質造成的。

如果你在 2024 年 2 月 10 日——1 月營收剛公布的那天——用「營收 yoy 排名前 50」來選股,你選到的有相當比例只是這個效應造出來的假訊號。更糟的是,你的回測會告訴你這個策略很棒,因為每年都會這樣「表現優異」一次。

這是台股月營收最基本、也最多人踩的坑,而且它不會出現在任何一份美股量化教材裡——因為美股沒有月營收,也就沒有這個問題。

原因是什麼、怎麼修,是 Day 10 的主題。今天先把它擺在這裡,提醒一件事:一個資料的更新頻率高,不代表每一次更新都帶著同樣多的資訊。


為什麼這一層值得花力氣

回到昨天的兩層架構。月營收屬於選股層——它完全不告訴你「現在該不該進場」,只告訴你「這兩千多家公司裡,哪些的生意正在變好」。

它的優勢來自三個地方:

**制度性。**不是誰的獨門資料,是法規強制全市場揭露。你拿得到,別人也拿得到——但它需要處理的細節多到大部分人不會認真處理。

**頻率。**一年 12 次的橫斷面刷新,正好配得上月頻的選股訊號、日頻的持股調整。

**時效。**延遲只有 10 天。相較之下財報要等 45 天(Q1/Q2/Q3)到 75 天(年報)。

代價是它很髒。編碼問題、季節性、產業名稱裡的括號、興櫃公司的殘缺報價,還有最麻煩的——這個數字到底哪一天才拿得到。這些是第二幕(Day 5–11)的內容。


上一篇
Day 1 - 明天要不要買?我要蓋的那條產線
下一篇
Day 3 - 選股和擇時混在一起,你永遠不知道是誰賺的
系列文
台股日頻量化交易:開發一條從資料、特徵、模型到每日下單清單的產線8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言