點欄位標題排序;點列看個股。超額 = 相對該市場大盤;情況欄粗體 = 成立。
這個偵測器在看什麼
把三件事交叉:新聞流(EODHD News API 的文章與情緒)、分析師預估(EODHD Fundamentals 的 EPS 預估修正)、價格反應(個股相對大盤的超額報酬)。 重點不是情緒分數本身,而是「新聞方向 × 價格敏感度」:同樣方向的新聞,價格有沒有照以前的方式反應。
| 情況 | 條件(config.thresholds 可調) | 可能含義 |
|---|---|---|
| A 賣壓耗盡 負面新聞增加,但股價不再創低 | 觀察窗(近 10 個交易日)每日負面篇數 ≥ 基準期(前 60 個交易日)1.5 倍且 ≥ 3 篇,且負面占比高於基準期(語氣確實轉差,不是財報季單純新聞變多);最近 5 個交易日沒有再創 60 日收盤新低,且收盤高於 60 日低點 3% 以上。加分:利空日的價格反應由負轉正(對利空鈍化)、觀察窗超額報酬為正。篇數少時分數自動打折(12 篇給滿)。 | 賣壓可能耗盡 |
| B 利多鈍化 正面新聞很多,但股價不漲 | 觀察窗每日正面篇數 ≥ 基準期 1.5 倍且 ≥ 3 篇,且負面占比沒有明顯惡化;最近 5 個交易日沒有再創 60 日收盤新高,且觀察窗漲跌 ≤ +1%。加分:利多日的價格反應由正轉負(對利多鈍化)、離 60 日高點較遠。 | 利多鈍化 / 籌碼出貨 |
| C 估值行情 股價上漲,但 EPS 預估持續下修 | 20 日漲幅 ≥ 5%(漲但輸大盤者打 75 折);FY1(次年度)EPS 共識 30 日修正 ≤ −1%。加分:90 日也下修、30 日內下修家數多於上修。 | 估值或流動性行情 |
| D 補漲候選 EPS 上修,但股價橫盤 | FY1 EPS 共識 30 日修正 ≥ +1%;20 日漲跌絕對值 ≤ 3% 且 20 日高低區間 ≤ 15%。加分:90 日也上修、上修家數多於下修。 | 可能形成基本面補漲候選 |
欄位定義
- 觀察窗 / 基準期:觀察窗 = 最近 10 個交易日(加上尚未開盤的最新新聞);基準期 = 觀察窗之前的 60 個交易日,只算新聞有涵蓋的交易日。新聞依 UTC 日期對應到下一個交易日(週末新聞算週一)。
- 正面 / 負面:EODHD 的文章 polarity 是全文的 VADER 分數,分布極偏正(中位數 0.99);實測 ≤ −0.2 的約 7% 是可靠的負面,0~0.5 多為漲跌互見的市場稿。所以 ≤ −0.2 為負面、≥ 0.5 為正面、其間中性;polarity 與 neg/pos 全為 0 表示 EODHD 未計算,不列入方向。「負面占比」= 負面 ÷(正面 + 負面),「語氣變化」= 觀察窗淨方向 − 基準期淨方向(淨方向 = (正 − 負) ÷ (正 + 負))。台/韓股會合併 config.news_alias 對照的 ADR 新聞(文章列表標出來源代號)。
- 新聞涵蓋:首次每檔最多抓 4,000 篇;新聞極多的大型股(每天上百篇)第一次只涵蓋最近幾週,基準期不足 20 個交易日顯示「新聞回補中」,之後每天自動往回補頁、幾週內補齊。
- 超額報酬:個股報酬 − 該市場大盤(美 S&P 500、台 加權指數、韓 KOSPI)同期報酬。z = 超額報酬 ÷(近 70 日日波動 × √天數)。價格條件(不再創低 / 不漲 / 上漲 / 橫盤)用絕對報酬對應白話定義,超額報酬另列供判斷相對強弱。
- 新聞日反應:新聞日起 2 個交易日的累計超額報酬(2 天可同時涵蓋美股當日反應與台韓股隔日反應)。利空日 = 當日負面占比 ≥ 25% 或負面 ≥ 3 篇;利多日 = 當日篇數 ≥ 基準期日均 1.5 倍且負面占比 ≤ 10%。「利空日反應 基準 → 近期」= 基準期 vs 觀察窗中利空日的平均反應;基準為負、近期轉為 ≥ 0 即「對利空鈍化」;利多同理。
- 新聞敏感度 β / 背離 z:近 120 個交易日,以每日淨方向對 2 日反應做含截距的最小平方回歸(至少 15 個新聞日;相關係數多半很低,只當參考)。預期超額報酬 = Σ 觀察窗各新聞日(α + β × 淨方向),依反應窗重疊程度折算;背離 z = (實際 − 預期) ÷ 波動。正 = 價格比敘事暗示的強,負 = 比敘事弱。
- EPS 修正:以 FY1(次年度)共識為主,FY0 為輔;30 / 90 日修正 = 現值 ÷ 30 / 90 天前共識 − 1。來源:trend = EODHD Earnings.Trend 的 30/90 天前值;hl = Trend 現值缺(台股常見)改用 Highlights 的次年 EPS 預估對照 Trend 舊值;own = 本系統每日快照(累積 30 天後自動啟用,最可靠)。負 EPS、預估家數少於 3 家不算。
- 修正家數:EODHD 提供的 30 日內上修 / 下修家數;連續週數 = 自家每週快照連續同方向的週數。
- 分數:每種情況 4 個條件各 0~1 加權合計 × 100(權重在 config.case_weights);必要條件(A/B/C 前兩項、D 第 1 與第 3 項)都成立才算「有情況」,分數只用來排序。
怎麼用、不要怎麼用
- 四種情況都是「可能含義」,是篩選清單、不是買賣訊號;情緒分數更不是。把它當成每天早上先看哪幾檔、再去讀新聞與報告的順序。
- 新聞覆蓋:EODHD 以英文媒體為主,台股與韓股本地代號的新聞常偏少;沒有足夠新聞的個股只會出現在 C / D(EPS 類),資料品質頁列有各市場覆蓋率。
- EPS 修正在系統剛上線的前 30 天只能用 EODHD Trend 的 30/90 天前值;每日累積快照後會自動切換到自家歷史。
- 每個交易日(週二~六 08:00)由排程執行 一鍵更新_背離偵測.bat;每天的排行存成快照,標題列可切換回看;「新」= 上一個快照沒有、今天新出現。
