跳至主要內容

美股盈餘驚喜(EPS 實際 vs 預估)

用白話徹底搞懂美股盈餘驚喜(EPS 實際 vs 預估)是什麼、怎麼判讀,以及怎麼用它在台股選股,並附上可以自己驗證的真實資料。

盈餘驚喜(earnings surprise)是財報開獎的核心:EPS 實際值與分析師預估的差距。beat(超過預估)與 miss(不如預估)驅動財報日的跳空,也驅動後續數週的漂移。這份資料涵蓋 2015 年以來超過 1.2 萬檔美股、累計 27.6 萬件財報事件,兩個欄位:EPS 實際值與當時的分析師預估值,按公布日對齊成「日期 × 股票」矩陣,每日更新。事件研究、PEAD 策略與財報季統計,原料都在這裡。

這份資料裡有什麼

美股盈餘驚喜(us_earnings_surprises)是兩張矩陣:eps_actualeps_estimated,值落在各公司的財報公布日上。切到美股市場後一行取出:

顯示程式碼
from finlab import data, config
from finlab.markets.us import USMarket
 
config.set_market(USMarket)
act = data.get("us_earnings_surprises:eps_actual")
est = data.get("us_earnings_surprises:eps_estimated")

兩張表相減就是驚喜幅度,除以股價或預估值就是標準化驚喜,可直接排序做因子。

怎麼判讀這份資料

美股逐季財報 beat 率,2015 年起

上圖是逐季的 beat 率:實際 EPS 高於預估的公司佔比。財經新聞常聽到「七成以上公司優於預期」,那個數字通常來自 S&P 500 大型股樣本;把全市場一萬多檔(含大量中小型股)都算進來,2015 年以來的平均 beat 率只有 55.2%。大型股 beat 率偏高有結構性原因:預期管理成熟、分析師覆蓋密集、下修引導成常態,把「優於預期」變成一場預設會過關的遊戲;中小型股沒有這層裝飾,貼近五五波。序列的谷底 46.4% 出現在 2020 年第二季(疫情衝擊),是十一年來唯一跌破五成的極端時刻之一。

最新一季讀數偏高還有一個技術性原因:當季尚在申報中,先公布的多是體質較好的公司,beat 率會隨申報進度回落,判讀進行中的季度要留意這個偏差。

用這份資料最容易踩的兩個陷阱

第一個陷阱:用「有沒有 beat」當訊號就下單。beat 是二元事件,幅度與品質差異巨大:靠一次性項目擠出來的 beat 和營收獲利同步的 beat,後續走勢完全不同。我們用這份資料做過完整的事件研究與十分位檢驗(19,083 件流動性過濾後的事件),驚喜幅度的排序資訊確實存在,完整方法與回測見美股盈餘驚喜策略研究(英文)。

第二個陷阱:忽略預估值的時點eps_estimated 是公布前的共識預估快照;分析師會在財報前密集下修或上修,拿事後修正過的預估回測等於偷看未來,這份資料固定在公布日時點就是為了避開這個坑,前視偏差的通用說明見詞彙表。

怎麼接上選股策略

最直接的用法是 PEAD(財報後漂移):標準化驚喜排序後做多前段,搭配流動性與市場廣度濾網;台股沒有分析師預估的對應資料,但月營收驚喜是近親,見月營收動能實測。美股回測的完整上手流程見美股回測教學

怎麼自己取得這份資料

把 beat 率算出來,只要幾行:

顯示程式碼
from finlab import data, config
from finlab.markets.us import USMarket
import pandas as pd
 
config.set_market(USMarket)
act = data.get("us_earnings_surprises:eps_actual")
est = data.get("us_earnings_surprises:eps_estimated")
beat = (act > est) & act.notna() & est.notna()

這份資料的涵蓋年限、筆數與更新狀態,本頁下方有即時健檢可以查;不想寫程式的話,頁面下方可以把取資料、算驚喜幅度與統計直接交給 AI 完成。

自己動手取得這份資料

用 finlab 一行就能把整段歷史抓下來。不會寫程式也沒關係,把下面這句任務交給你的 AI,它會帶你完成。

免費試用

30 秒,用 AI 跑出你的第一個台股回測

把這句話貼給你的 AI,它會裝好 FinLab、抓台股資料,跑出一份你能下載的回測。

告訴你的AI:

幫我設定 FinLab,取得「美股盈餘驚喜(EPS 實際 vs 預估)」(us_earnings_surprises:eps_actual)這份資料,先畫出走勢與分布圖,再示範一個用它來選股的簡單回測,請讀:https://finlab.finance/setup?relatedUrl=/data/us-stock-data/us-earnings-surprises

免安裝,開啟 FinLab Studio
在 FinLab Python 套件中取得
data.get("us_earnings_surprises:eps_actual")

真實數字與取得程式碼

上面的圖與下面的數字都是用 finlab 一行程式直接跑出來的真實資料(截至 2026-08-27),不是示意圖。你也可以自己跑一次。

最近幾筆資料
季度beat 率(%)
2025Q254.8
2025Q354.6
2025Q459.5
2026Q158.6
2026Q255.9
2026Q363.3
產生這張圖的程式碼
from finlab import data, config
from finlab.markets.us import USMarket
import pandas as pd

config.set_market(USMarket)
act = data.get("us_earnings_surprises:eps_actual")
est = data.get("us_earnings_surprises:eps_estimated")
beat = (act > est) & act.notna() & est.notna()
q = pd.PeriodIndex(beat.index, freq='Q')
rate = beat.sum(axis=1).groupby(q).sum() / (act.notna() & est.notna()).sum(axis=1).groupby(q).sum()
想自己寫完整程式?

第一次使用時 finlab.login() 會自動引導登入,不需要手動處理 token。

from finlab.markets.us import USMarket
from finlab import data, config

config.set_market(USMarket)
df = data.get("us_earnings_surprises:eps_actual")

名詞速解

揭露與更新美股股價每日更新;季財報依各公司向 SEC 申報的公告日(filing date)對齊。

美股財報
美股逐季財報,依各公司向 SEC 申報的公告日(filing date)對齊,避免前視偏差。
發布日對齊
財報、月營收要用「實際公布日」當生效時點,而不是資料所屬的季末或月底,才不會偷看到未來。
看完整名詞解釋 →

資料規格與品質

已通過驗證
市場
美股
資料筆數
3,596
涵蓋檔數
12,381 檔
時間範圍
2015-01-02 ~ 2026-08-26
更新頻率
每日更新
最近更新
2026-08-26

資料快照截至 2026-08-26

依實際爬蟲排程與資料寫入狀態自動檢核:

  • 更新排程正常執行 最近成功執行:2026-08-26
  • 資料更新於預期週期內 最近寫入:2026-08-26
  • 資料非空 3,596 列

常見問題

美股盈餘驚喜(EPS 實際 vs 預估)的資料從哪一年開始?

FinLab 的美股盈餘驚喜(EPS 實際 vs 預估)資料涵蓋 2015-01-02 至 2026-08-26,可直接用於長期歷史回測。

如何用 Python 取得美股盈餘驚喜(EPS 實際 vs 預估)?

安裝 finlab 套件後,用 data.get("us_earnings_surprises:eps_actual") 即可取得整段歷史資料;第一次使用時 finlab.login() 會自動引導登入。

美股盈餘驚喜(EPS 實際 vs 預估)多久更新一次?

這份資料每日更新,資料快照截至 2026-08-26。

美股盈餘驚喜(EPS 實際 vs 預估)資料免費嗎?

finlab 免費方案即可取得歷史資料進行回測;VIP 方案提供每日更新與更完整的盤後資料。

美股資料的其他資料

本頁資料涵蓋範圍與更新時間以實際資料為準,僅供研究與教學參考,不構成任何投資建議。

回美股資料