Formosa Alpha

資料

我們用的是什麼資料

回測的結論最多只能和底下的資料一樣可靠。這一頁把我們手上有什麼、 涵蓋多久、以及哪些地方會靜默地給出錯誤數字全部攤開。

4,324,844筆日資料
1,864個交易日
2,962檔標的(含已下市)
2019-01-02 → 2026-07-31涵蓋期間

來源

每日價量 開高低收、成交量、成交金額、成交均價、市值、本益比、股價淨值比、 買賣價差、漲跌停價、注意股與處置股旗標。每個交易日一筆。
中文股名與產業 臺灣證券交易所 ISIN 對照表(免費公開資料)。 目前對上 1,987 檔、35 個產業別。
季度財報 公開資訊觀測站的綜合損益表、資產負債表、現金流量表(免費公開資料)。 目前 994,299 個數值、1,975 檔、 19 個欄位。

你可以拿來組因子的欄位

31 個,分成 6 群。 在「自由組合」裡任意勾選,系統就會把它們排列成因子。

價格 5
收盤價 開盤價 最高價 最低價 成交均價
成交 5
成交量 成交金額 20日均成交額 日報酬 買賣價差
規模與評價 4
市值 在外股數 本益比 股價淨值比
損益 8
營業收入 營業成本 營業毛利 營業費用 營業利益 稅前淨利 本期淨利 每股盈餘
⚠ 季報累計數,每年 Q1 歸零重算;跨期比較請用比值而非變化率
資產負債 7
資產總計 流動資產 負債總計 流動負債 權益總計 股本 保留盈餘
⚠ 季報數字,每季更新一次
現金流 2
營業現金流 投資現金流
⚠ 季報累計數,每年 Q1 歸零重算;跨期比較請用比值而非變化率

每個欄位都帶著單位。系統只會把單位相同的欄位配成比值—— 「收盤價 ÷ 成交量」是價格除以股數,沒有意義,所以不會被產生出來。

可交易範圍

我們不在全部 2,693 檔裡選股,只在 1,125 檔裡選(2026-07-31 的數字)。 排除規則如下,每一條都有實測理由:

日均成交額 < 1,000 萬 台股流動性差距超過 700 倍(最低一成 69 萬、最高一成 5.23 億)。 不設門檻會選出一堆買不到的股票。
ETF、ETN、興櫃 ETN 中位日成交額只有 4.7 萬;興櫃沒有漲跌幅限制且報價稀疏。
處置股 處置期間改為分盤集合競價(5–20 分鐘才撮合一次)並要求全額圈存, 日內成交路徑和平常完全不同,不能當成正常可交易。
上市未滿一年、股價 < 5 元 歷史不足無法計算長週期因子;雞蛋水餃股的報酬分佈會扭曲整體統計。
TEST 這個代號 資料源裡的測試用假標的,價格與成交量看起來都像真的,必須硬性排除。

財報怎麼對齊時間——這一段決定回測是真是假

Q1 財報涵蓋 1–3 月,但要到 5 月才公布

如果把 Q1 的數字對齊到 3 月 31 日,回測就會在 4 月拿著「當時還沒有人看得到」 的財報去選股。這一個錯誤就足以憑空製造出巨大的假績效。

我們把每一筆財報標上法定申報截止日,並取各產業中最晚的那個:

Q15 / 31
Q28 / 31
Q311 / 30
Q4(年報)次年 3 / 31

實際公布通常比截止日更早,所以這個做法是偏保守的—— 它可能讓我們晚一點才用到資料,但永遠不會提早。

財報是「累計數」,不是單季數

公開資訊觀測站的損益與現金流是年度累計。以台積電營收為例:

Q1(3 個月)310,597
Q2(6 個月)621,296
Q3(9 個月)977,722
Q4(12 個月)1,069,985
次年 Q1歸零重算
單位:百萬元。橫斷面比較沒問題(同一天所有公司都在同一個會計期間), 但看「變化率」的因子會把每年一月的重置誤讀成暴跌約 75%。

所以在「自由組合」裡選到這類欄位時,介面會跳出提醒,並建議改用比值 (例如淨利÷權益)而不是變化率。

價格是還原過的,成交量與市值不是

這是這份資料最大的坑,而且它不會報錯,只會給你錯的數字。 價格經過還原(把除權息的影響抹平),但成交量、成交金額、市值都是原始值。

市值 ÷ 收盤價 不是股數。2019 年會高估 22%,而且偏誤大小和該檔的 殖利率成正比——拿去做規模因子等於偷偷混進一個股利因子。
成交金額 ÷ 成交量 不是均價。69.2% 的資料算出來會落在當天最高最低價之外。

我們在匯入階段就把兩個空間分開,並提供正確的還原因子。 你在平台上看到的每個數字都已經處理過,這裡寫出來是為了讓你知道我們檢查過。

沒有存活者偏差

資料裡包含期間內下市的公司。如果只留下「今天還活著」的公司, 任何回測都會系統性高估——因為你事先就把失敗者拿掉了。 我們的 2,962 檔裡包含這些已經消失的標的。


想看這些資料實際跑起來的樣子