這不是新的儀表板,是對現有儀表板的獨立稽核。每一項都附上可重跑的證據,依「會不會讓數字說謊」排序。
這三項不是風格問題。覆核後:第 1 項的「灌水」主張有誤(已撤回,詳見該項),但雙路徑架構風險為真且已修復;第 2 項、第 3 項屬實,分別已修復/已補救。
63 × 1,435 = 90,405 → 扌128 + 稅 271 → 90,006,與畫面分毫不差;其餘各檔差異皆 ≤ NT$2(進位)。初版的 101.1537 是把已含費稅的現值又扣一次費稅得出來的。真實的雙路徑差異僅約 NT$17(0.0008pp),不是 NT$5,372。day == snapshot_asof 時曲線確實改用庫存快照估值、其餘日走 estimated_liquidation_value():兩條路徑有 ~NT$1.45 進位差、diagnostics 標籤 OWNER_SNAPSHOT_NET_LIQUIDATION 語意混淆、且整條曲線隱性依賴一份會過期的手貼快照檔。這些是架構風險,不是灌水。snapshot_asof、不再讀取庫存現值,標籤統一為 OFFICIAL_CLOSE_ESTIMATED_LIQUIDATION_CARRY_FORWARD_POSITIONS。迴歸測試用「毒化快照值」證明曲線零依賴;重建後 8/24 水準 101.4222、累計 +1.42%、損益 NT$ +28,444.55,與線上頁面實質相同。daily-close.yml 用預設的 GITHUB_TOKEN push;GitHub 明訂由 GITHUB_TOKEN 推出的 commit 不會再觸發其他 workflow。而 pages.yml 只在 push 到 index.html 時啟動。907a623、c361d7b 都修改了 index.html,但 workflow 清單裡沒有任何一次由這兩個 commit 觸發的 Pages 部署。目前所有成功部署都來自人工 push 或 workflow_dispatch。pages.yml 加上 workflow_run 觸發器(監聽「Daily official close and dashboard」成功完成),並以 job 級 if 條件只在成功時部署;原有 push 觸發與手動 dispatch 保持不變。每日 bot commit 從此會自動重新部署公開頁。latest_strategy_signals.csv、four_strategy_daily_signals.xlsx 及其 inspect 檔)與 5 個已修改檔尚未 commit。線上最新 commit 仍是 d1805cd。2637 慧洋-KY 進 @97.1 與 2646 星宇航空 出 這兩筆計畫訊號、以及理論卡補到 8/24 的更新,公開頁上都看不到。e4c65cb、3cd918a 推上,公開頁已含 8/25 計畫訊號與可下載工作簿。留在這裡是因為根因還在:訊號入庫仍是本機動作,下一次一樣會停在本機。這些不會立刻改變數字,但會讓你在數字出錯時查不出來。
core.autocrlf=true、repo 無 .gitattributes。Linux runner 寫 LF、Windows 檢出寫 CRLF,於是 bot commit c361d7b 對 price_history.csv 產生 4,115 行全刪全增,實際只多了一天資料。renormalize 時確實抓到 repo 內 price_history.csv、benchmark_nav.csv 存的是 CRLF。.gitattributes(* text=auto eol=lf + 明確副檔名規則、*.bat text eol=crlf、*.png/*.xlsx binary),並完成一次 git add --renormalize .。之後每日行情 diff 只剩真正新增的列。build_four_strategy_actual()。既有測試涵蓋的是快照對帳、TWR、短樣本不造假、fail-closed 狀態 —— 都在 sleeve 重建之前的世代。101.4222 與損益 NT$ +28,444.55,防止基準再次漂移。HOLDINGS_PATH = "holdings_snapshot_2026-08-24.csv"、排除未歸屬部位的 if row["stock_code"] != "2886" 出現兩處、EXPECTED_CARD_MEMBERS_LATEST 的成員數也寫死。unassigned.csv 宣告;成員數從來源卡自己數。1590(−7.8%)、1709(−6.9%)、2408(−6.6%)、3006(−9.2%)、6672(−7.0%)。目前的資料結構無法區分其中哪些是除權息、哪些是真跌。corporate_actions.csv(除息日、現金股利、除權比例),估值時用還原價,並在頁面標示哪些日子做過調整。strategy_card_returns.csv 是「等權持有成員」的顯示報酬,沒有換股成本、沒有部位權重、沒有現金拖累、沒有進出時點。拿它跟真金白銀的 sleeve 比,比的是兩種不同的東西。strategy_nav.csv。這才是能對照的理論值。NT$1,178,519,券商快照在庫成本(排除 2886)NT$1,177,866,差 NT$653。頁面已誠實揭露,但沒說是哪一筆造成的。price_history.csv 從 2025-08-25 起算,只有 242 個交易日,連一年的風險統計都撐不起來。前面十項是把現有數字修正確。這五項是讓這個儀表板開始回答它目前答不了的問題。
latest_strategy_signals.csv 有 entry_price,actual_fills.csv 有 fill_price。缺的只是把兩者接起來的一張表。2637 慧洋-KY 明開進 @97.1 就是第一筆樣本,明天就能結案。benchmark_nav.csv 已有 0050 與加權指數逐日資料到 8/24,但策略比較表只有「實際/理論/差距」,沒有同期 benchmark。NT$5,372(投信 1,850/YOY 1,878/融資 254/突破 1,390)。build_dashboard.py 1,422 行,同時負責讀檔驗證、財務計算與 HTML 字串拼接。第 1 項那個基準切換之所以難發現,就是因為它藏在一段組畫面的迴圈裡。dashboard_state.json:計算只負責產生它,HTML 只負責讀它。附帶好處是狀態檔可以直接被測試與被 diff,等於每天的數字都有機器可讀的稽核軌跡。2026-08-25 覆核更新:#01–#05 已完成(含原文 #01 主張的更正),其餘依原評估排序。
| 順序 | 項目 | 代價 | 拿到什麼 |
|---|---|---|---|
| — | #03 推上 8/25 訊號 | 已完成 | 公開頁與本機一致 |
| 1 | #02 讓每日 commit 觸發部署 | 已完成 | workflow_run 成功後自動部署,自動化真的自動 |
| 2 | #01 統一估值基準 | 已完成 | 單一淨變現路徑;「+0.27pp 灌水」主張經覆核撤回(真實差 ~NT$17) |
| 3 | #04 .gitattributes | 已完成 | LF 規範 + renormalize,每日行情 diff 可稽核 |
| 4 | #05 sleeve 重建測試 | 已完成 | 毒化快照零依賴迴歸 + 真實數字鎖定(12 測試全綠) |
| 5 | #11 履約落差帳 | 一天 | 理論要打幾折,有自己的證據 |
| 6 | #07 除權息還原 | 一天 | 報酬不再系統性低估 |
| 7 | #08 真正的理論曲線 | 數天 | 實際 vs 理論變成可比的對照 |