股票觀測站台指期 · 題材 · 美股 · 論文

MARKET RESEARCH

題材預測與命中率

全部來自真實到期結算(prediction_tracker 的閉環)

整體

勝率(勝利+達標)37.1%33 勝 / 56 敗(另 小贏 31、續抱 24)
已結算(走完 5 日)132 筆帳上共 144 列,另 12 列尚未走完 5 日、不進平均|預測日 2026-04-29 ~ 2026-10-06;結算日至 2026-10-14
平均 5 日報酬-0.28%分母是走完 5 日的 132 筆,不是帳上 144 列

📋 prereg 樣本帳 — 累積中判準全部從 prereg-2026-08-27-theme-horizon.toml 讀,不寫死在程式裡

狀態active啟用 2026-08-28
起算日2026-08-21這天之前的一律不收
帳上315 列待結算 136
判定insufficient樣本不夠就拒絕下判定

三個變體

變體設定判定分母 nalpha勝大盤判定
a 縮目標配現有停損5 日 · 停損 ATR×2 · 目標 +5%90-0.46%49%⏳ insufficient
b 放停損配現有目標20 日 · 停損 ATR×4 · 目標 +12%45+0.94%56%⏳ insufficient
c 上界參考,不可執行20 日 · 停損 none · 目標 +12%44+0.90%59%⏳ insufficient

⚠️ 「判定分母 n」不等於「已結算筆數」。 結算了但對不到大盤基準(算不出 alpha)的列不進判定—— 判準訂在 alpha,沒有 alpha 的列對這個判準沒有資訊。 兩個數字在上表逐列並排;下面「離判得出來還有多遠」那張表用的是 已結算筆數,因為那裡問的是「還要收幾筆」。

離判得出來還有多遠

判準現在需要還要多久說明
已結算樣本(每個變體,取最少)4460約 6 個交易日各變體已結算 a 90/b 45/c 44;20 日窗的變體比 5 日窗晚滿期。ETA 以進帳速度估(每交易日約 3.0 筆),而且那是「還要收幾筆」,結算本身還要再等最長那個窗——所以實際日期會比這個數字更晚
獨立預測日3530✅ 已達成這條比樣本數重要——60 筆若來自 6 天,等於 6 個觀察
不同標的415🔴 照這樣走不到🔴 卡的不是時間,是上游每天挑同樣那幾檔
單一標的佔比33%≤ 25%🔴 照這樣走不到🔴 同上——標的數不變,佔比就下不來

每個交易日約 3.0 筆進帳 (105 筆 / 35 天)。 上游完全不受影響——題材獵人照它自己的規則跑(5 日結算、ATR×2、+12%), 這份帳只是把同一批預測用三個變體再重放一次。 為了測 prereg 去改上游的出場規則,就沒有對照組了。

🔴 判準訂在 alpha 不是勝率。 勝率靠拉長持有期就能到 72%,而那幾乎全是大盤給的(見下一格)—— 用勝率當判準會讓這個系統「改對了」卻什麼也沒改善。 停止規則:三個變體全部有結論且全部不過 → 結論是「選股沒有可交易的 edge」, 不換一組再試。

🎯 想辦法提升到 60% — 能,但要先看它值多少口徑與表格當場算;標了「2026-08-27 快照」的兩格是那天手量的,沒有重算。沒有改任何判準,也沒有調任何參數

把持有期從 5 日改成 10 日,賺錢比例就從 41% 到 58%、20 日到 72%。 沒有改任何判準、沒有調任何參數——那兩欄的資料一直存在,只是從來沒有被算出來 (見下方「為什麼是空的」)。

持有期n賺錢個股同期大盤alpha勝過大盤
5 日13241%-0.40%+0.67%-1.07%40%
10 日 🎯3658%+3.40%+3.22%+0.18%48%
20 日 🎯3672%+4.76%+4.27%+0.49%48%

賺錢比例

5 日持有41%
10 日持有58%
20 日持有72%

超額報酬(alpha)

5 日-1.07%
10 日+0.18%
20 日+0.49%

🔴 但那個 60% 幾乎全是大盤給的。 10 日的 alpha 只有 +0.18%、20 日 +0.49%,而勝過大盤的比例 都只有 48%——比丟銅板還低一點。同期大盤 10 日就漲了 3.22%: 這個 58% 買 0050 抱十天也拿得到。 「勝率」上去了,選股的貢獻沒有。

而真正的病灶:目標與停損互相打架

目標 +12%需要 ≈20 日5 日報酬的 95 分位只有 +17.7%(現算)
停損 ATR×2= 20 日 σ 的 0.48 倍2026-08-27 快照:81% 的停損落在 1σ 之內
實測路徑停損 19 / 達標 11 / 持有到期 62026-08-27 快照,36 筆:停損先到,目標後到

兩個參數各自都合理——ATR×2 是標準寬度 (我查證過,實測中位 1.94 倍,上游那句「屬 ATR×2.0 的正常寬度」是真的), +12% 對 20 日持有也不離譜。但它們的時間尺度不一致: ATR×2 適合 5 日持有,+12% 需要 20 日。 放在一起就是被一般波動掃出場,然後看著它漲回去—— 所以「20 日 + 停損停利」的 alpha 是 −5.37%, 比不設停損還差 5.9 個百分點。

⚠️ 所以我沒有直接把停損改寬。 36 筆來自 11 個獨立預測日、 7 檔股票(這是 10 日那個子樣本自己的 獨立日數,不是全樣本的 43 天/8 檔), 在這上面挑一個停損寬度就是過擬合——那與「拉長 horizon」不同, 後者沒有任何自由度被挑過(10/20 是上游本來就宣告的)。 要改停損或目標,先寫 prereg:說死要改成什麼、判準是什麼、 什麼結果會推翻它,然後往前累積樣本驗證。

🔍 勝率為什麼這麼低全部從現有資料當場算,沒有任何寫死的數字

一、那個數字不是在量「有沒有賺錢」

口徑值算法為什麼不一樣
本站上方那格「勝率」37.1%(33/89)(勝利+達標) ÷ (勝利+達標+失敗+停損)小贏與續抱從分子分母同時拿掉——小贏是賺錢的,拿掉它會低估;續抱是小虧,拿掉它會高估
用上游判準、本站重算22.9%(33/144)(勝利+達標) ÷ 全部列。勝利=5 日漲 ≥5%分母含只有 2 日資料的列;分子要求一週漲 5%。⚠️ 這不是上游畫面上那個數字——見下一列
上游報告自己印的44.4%(64/144)(勝利+達標+小贏) ÷ 全部列上游的 prediction_settlement 把小贏也算贏,所以它印出來的數字比上一列高得多(它自己那份報告寫 35.4%,見 /theme-report)。⚠️ 筆數會與上游略有出入——本站的是去重後的快照
漲 ≥5%(只算真的結算的)22.7%(30/132)把還沒走完 5 日的列從分母拿掉分母修正,判準不變
有沒有賺錢40.9%(54/132)5 日報酬 > 0一般人講「勝率」指的是這個
扣成本後賺錢40.2%(53/132)扣 0.6%(手續費+證交稅,進出合計)這才是實際能拿到的
本站上方那格「勝率」37.1%
用上游判準、本站重算22.9%
上游報告自己印的44.4%
漲 ≥5%(只算真的結算的)22.7%
有沒有賺錢40.9%
扣成本後賺錢40.2%

上游 prediction_tracker.py 的算法是 (勝利+達標) ÷ 全部列數,而勝利=5 日漲 ≥5%。 也就是它量的是「一週漲超過 5%」的比率,分母還含著 12 筆只有 2 日資料、還沒走完 5 日的列。 一週漲 5% 本來就是少數事件——這個數字低,一半是定義決定的。 這 6 個數字沒有一個是錯的,它們量的是不同的東西。

二、目標與同期間報酬分布

目標漲幅(中位)+12.0%上游設定
5 日報酬的 95 分位+17.7%132 筆實際分布
達標筆數15 / 132目標漲幅中位數 +12.0% 低於同表 5 日報酬的 95 分位 +17.7%。這是樣本分布比較;個別目標及盤中觸價達標率須逐筆另算。

目標漲幅中位數 +12.0% 低於同表 5 日報酬的 95 分位 +17.7%。這是樣本分布比較;個別目標及盤中觸價達標率須逐筆另算。

三、🔴 而「有沒有賺錢」的 41% 本身也撐不起結論

已結算列數132看起來的樣本
不同股票8 檔前三檔佔 84%
不同題材2 個ABF載板超級循環、AI GPU 需求爆發
不同預測日43 天橫跨 159 天
3037 欣興-0.6% ×42
2356 英業達-2.4% ×38
8046 南電+2.9% ×31
2330 台積電-0.7% ×14
2357 華碩-4.6% ×3
2382 廣達+10.8% ×2
2377+2.4% ×1
3189 景碩-8.6% ×1

132 筆不是 132 個獨立樣本。 欣興一檔就佔 42 筆、賺錢 40%,而 43 個預測日裡有 36 對是相鄰交易日——5 日持有配上連續下單, 那是同一筆交易被抽樣好幾次,不是好幾個獨立觀察。 所以這個勝率主要在描述欣興這一檔的表現, 不是在描述這套系統的選股能力。

四、對大盤的超額報酬

個股 5 日平均-0.40%n=127
同期大盤+0.67%台指期 px_ratio 同窗口
超額 alpha-1.07%勝過大盤 40%
t 值-1.4642 個不同預測日,仍可能相依

描述性 t 值 -1.46; 配對 127 列來自 42 個預測日。 同日多股及持有窗重疊使樣本相依,未完成相依與多重比較校正,不宣稱統計顯著。 alpha 是相對基準的差額,不等於絕對報酬。

五、兩個被測過的解釋

❌ 追高(進場前漲多的、進場後跌慘)——台股這裡證據不支持(判定由程式算,不是寫死的)。

進場前 5 日筆數幾檔股票進場前進場後
前最冷445-6.7%-0.02%
中間436+1.4%-0.78%
前最熱445+13.7%-0.26%

分位切下去可能等於按股票切,不是按「進場前多熱」切——所以判準要求每一組至少 2 檔股票(現在最少的那一組 5 檔)。扣掉日期均值之後相關 -0.096、p = 0.27783。留著這一格而不是刪掉——「測過了、不成立」與「沒測過」是兩件事。

⚠️ 信心分數與報酬——這個問題現在問得了(判定由程式算,不是寫死的)。

prob_boom ≤65 那組平均 +3.73%、賺錢 75%(8 筆);≥76 那組 -0.54%、賺錢 39%(124 筆)。相關 -0.104。
🔴 這一格 2026-08 判「問不了」,理由是 prob_boom 與(日期, 題材)完全共線——那時候沒有任何一天出現兩種不同的prob_boom。現在有 1 天出現了(取值 55.0、90.0、94.0、95.0),共 43 個預測日,所以共線檢定過了。
⚠️ 過了共線檢定不等於結論成立。只有 1 天可以做同日比較,那是「這個問題現在問得了」,離「答得出來」還很遠。

六、順帶查到的上游資料缺陷

本站唯讀,只報不改;但也不拿這些欄位算任何東西。
🟢 10/20 日欄位已回填(2026-08-25,見預測紀律)——現在沒有全為 0 的欄位。
🟢 best_gain = −100.0 哨兵現為 0 筆(2026-08-25 重算前曾有 8 筆,含台積電 +3.69%、廣達 +10.70%)。

🔍 照這些建議做會賺錢嗎(投資顧問視角)這不是回測(無部位大小、無停損),是訊號方向性的期望值

平均 5 日報酬(毛)-0.28%132 筆已結算
扣成本後(淨)-0.88%假設進出合計 0.6%(手續費+證交稅)
判定❌ 負期望值勝率 41% → 扣成本 40%

最好的一筆 +23.6%、最差 -23.1%。 勝率與期望值是兩件事——勝率 41% 配上「小賺多次、大賠一次」 仍然是負期望值。這一格看的是後者,因為那才是帳戶餘額的走向。 成本為保守假設值,非實際券商費率。

催化劑熱度分數 prob_boom(不是機率;這張表目前測不出東西)本站唯讀,不改上游;但也不替上游的數字背書

熱度分數(prob_boom,非機率)樣本勝勝率
<606583%
60-7011100%
70-80200%
80+802734%

① prob_boom 根本不隨個股變動。theme_simulator_v3.py:116 算的是 min(情境催化劑 × 10, 95)——分子只跟題材有關,同一個題材底下每一檔股票拿到一模一樣的分數。而催化劑上游已被 clamp 在 10.0,所以熱度 ≥9.5 的題材必然輸出 95(目前 ABF 載板與 AI GPU 都是 10.0)。它在建構上就不可能有個股鑑別力,不是「校準不好」。

② 寫進結算檔的那個值,不是那筆預測自己的機率。prediction_tracker.py:344-345 在 for r in resolved: 迴圈裡寫的是 row['scenario'] 與 row['prob_boom']——row 是上一個迴圈殘留的變數,整批結算因此被貼上同一個值。實測 44 個多筆批次裡有 42 個批次的 prob_boom 完全相同,上表 89 筆中有 84 筆(94%)落在這種批次裡。

兩件事加起來:依 prob_boom 分箱,等於依「哪一批結算」分箱,也就是依時間分箱。上表量到的是不同時期的行情差異,不是機率的鑑別力。

那 corr_with_gain = −0.273 呢?它是 prob_boom_auditor.py 拿同一個被污染的欄位算的,所以同樣不成立。上游 v1.3 據此廢除 prob_boom 排序的那個決定,結論方向也許對(它確實沒有鑑別力),但理由是錯的——真正的原因是①的建構性缺陷,不是「高分會虧」。

這些數字該怎麼讀

1. prob_boom 不是機率,也不是「反向指標」——它在建構上就沒有資訊。 上游算的是 min(題材催化劑 × 10, 95):分子只跟題材有關, 同一題材下每一檔股票拿到完全相同的分數,而催化劑已被 clamp 在 10.0, 所以熱門題材必然輸出 95。把「暴漲機率 95%」讀成「95% 的把握」是錯的—— 它只是催化劑分數換了個單位再撞上天花板。 (先前這一頁寫「它是反向指標」,那個說法已於 2026-08-25 更正: 證據來自一個被污染的欄位,見上方可靠度表的說明。)

2. 「續抱」不是中性結果。結算分類裡的續抱代表尚未觸及 停利或停損——樣本裡若續抱佔比偏高,要留意是不是在拖延認賠 (讓虧損部位一直掛著不結算,帳面勝率會失真)。

3. 這套系統的強項不在選股,在題材偵測。RSS 催化劑掃描 與熱度排名是它真正獨特的部分;把它當成「今天市場在講什麼」的 雷達,比當成「買什麼會漲」的推薦更貼近它目前的實證能力。

最近 15 筆結算名稱欄多數是從 prediction_log 依代號補回來的(上游 70 列裡 58 列沒填);「熱度分數」=上游 prob_boom=min(情境催化劑×10, 95),同一題材各股相同,不是勝率或機率

結算日代碼名稱情境熱度分數(非機率)5日報酬結果
2026-10-148046南電ABF載板超級循環95.0-5.0%失敗
2026-10-143037欣興ABF載板超級循環95.0-9.5%失敗
2026-10-142330台積電AI GPU 需求爆發95.0-2.9%停損
2026-10-133037欣興ABF載板超級循環95.0-11.6%停損
2026-10-138046南電ABF載板超級循環95.0-4.0%失敗
2026-10-132356英業達AI GPU 需求爆發95.0-1.6%續抱
2026-10-123037欣興ABF載板超級循環95.0-5.3%失敗
2026-10-128046南電ABF載板超級循環95.0-1.4%續抱
2026-10-122356英業達AI GPU 需求爆發95.0-2.4%續抱
2026-10-083037欣興ABF載板超級循環95.0+3.7%小贏
2026-10-082356英業達AI GPU 需求爆發95.0-4.0%失敗
2026-10-088046南電ABF載板超級循環95.0+2.4%小贏
2026-10-073037欣興ABF載板超級循環95.0+9.2%勝利
2026-10-072356英業達AI GPU 需求爆發95.0-2.5%續抱
2026-10-078046南電ABF載板超級循環95.0+6.5%勝利
版本 5f92ccf(第 163 次提交,2026-10-14) | 資料建置於 2026-10-14 10:30 UTC | 行情與研究結果供查看;會員可管理觀察清單並要求更新個股分析