研究問題、預期機制、主要指標、停止條件與可被否定的條件,都要在測試前寫下。
可稽核研究:讓結論能被追問、重做與推翻
研究可信度不只來自結果,也來自完整留下**假設、來源、參數、版本、限制與決策紀錄**。

- 建立從假設到結論的證據鏈
- 區分可重現與結論正確
- 紀錄資料、程式、參數與環境版本
- 用事實、解釋、預測與反證分層寫結論
- 撰寫限制、失敗結果與變更理由以供獨立覆核
只寫「資料來自某 API」,為什麼還不夠?
可重現性要求另一個人在相同輸入、程式、參數與版本條件下,可以重做同一分析流程。金融資料會更新,所以時間戳與版本也是證據。
一份研究少掉哪一步,就開始無法重現?
研究不是一張收益曲線。完整證據鏈至少保留 Source → Raw Data → Transformation → Rule → Result → Conclusion。先找斷點,再親手補一份 Research Record。
建立 Research Record
仍有欄位空白:別人還不能完整重走研究路徑。
食譜只寫「適量」,別人很難做出同一道菜
若沒有原料批次、重量、火力與修改紀錄,成品不同時誰也說不清原因。研究日誌就是一份更精確的食譜:不只保存結果,也保存每一步用了什麼、為什麼改變。可稽核不是把檔案堆滿,而是讓覆核者能沿著結論一步步走回原始來源。
四類紀錄讓研究真正可以被檢查
資料提供者、欄位、授權、樣本期間、資訊時點、擷取時間與原始檔識別。
清理步驟、公式、參數、成本、樣本切分與排除規則,包含失敗與放棄的版本。
缺值、代理變數、資料修訂、容量、環境差異與不適用的情境。
關掉一個欄位,看看覆核者失去什麼
固定虛構練習資料:研究編號 `RF-017`;資料集 `demo-factor-v1.csv`;欄位為 `date、asset_id、factor_score、next_return、missing_flag`;樣本日期 2024-01-02 至 2024-01-12。
參數為 `lookback=3`、`missing=drop-pair`;程式版本 `scanner-v1.2`;環境 `runtime-demo-4`;亂數種子 `17`。
事前假設是「分數較高組的後續報酬平均值高於較低組」;否定條件是兩組差值小於或等於 0。以上名稱、日期與結果全為模擬教學資料,不對應任何真實研究或證券。
假設
缺少它:後來的審查者無法判斷測試是為檢驗真實想法而設計,還是試了很多東西直到碰巧有效。
資料來源
缺少它:結果無法重現,也無法用另一個獨立資料集核對。
參數
缺少它:審查者無法評估調過多少個參數——這正是判斷過度配適風險的核心。
局限
缺少它:結果可能被誤認為比實際更穩健。
把觀察與判斷分開寫,覆核者才能指出分歧
事實
【虛構練習資料】甲的紀錄只寫「結果 -0.2」;乙保存了資料集 `demo-factor-v1.csv`、資料雜湊 `demo-hash-017`、程式 `scanner-v1.2`、環境 `runtime-demo-4`、亂數種子 `17` 與執行紀錄 `run-RF-017-01`。
解釋
甲缺少輸入與轉換鏈,差異無法定位;乙的版本紀錄讓資料、程式、參數與環境都成為可檢查的對象。依 RF-017 的事前否定條件,-0.2 練習單位應判為「未支持」,不得回頭改寫假設。
預測(待驗證)
若覆核者使用乙的完整紀錄與相容環境,應更可能得到相同的模擬輸出;這是對流程的預期,仍要真的重跑一次才算驗證。
反證
即使輸出完全相同,若資料授權不允許該用途,或樣本存在系統性偏誤,結論仍不會因此被證明正確。
從結論回頭查缺少的來源與版本
事前假設
填入機制、主要指標與否定條件,並引用 `hypothesis-RF-017-v1`。
來源與時間
填入資料集檔名、欄位、樣本日期與擷取紀錄 `capture-2024-01-13-demo`,另附資料雜湊 `demo-hash-017`。
參數與版本
填入 lookback、缺值規則、程式、環境、軟體套件與種子,連到執行紀錄 `run-RF-017-01`。
結果與限制
本次模擬差值為 -0.2 練習單位,依否定條件標為「未支持」;限制填入小樣本、虛構資料與未測成本。
完成條件
交付一份 `evidence-RF-017.md`,A 至 D 四欄都有對應 artifact ID、值與「已核對/待核對」;`run-RF-017-01.log` 記下程式、參數、環境、種子與輸出 -0.2;再填妥 `review-RF-017.txt` 的覆核者代碼、逐欄核對狀態、差異與日期。這些 artifact 都是虛構教學證據,不是真實研究,也不構成投資建議。
沒寫參數數量
研究文件只給出最終結果,沒有說明過程中測試或調過多少個參數。沒有參數紀錄,審查者就無法評估結果背後的過度配適風險。
完整文件
研究文件在測試前寫明假設、確切資料來源與範圍、用到的每個參數,以及已知局限。這份文件給了審查者重現、核對和判斷結果可靠性所需的全部資訊。
沒寫測試區間
研究文件給出結果,卻沒有說明測試的是哪段歷史時期。沒有測試區間,審查者就無法檢查倖存者偏差或異常有利的行情段等已知風險。
每次研究至少留下四張身分證
- 1問題身分證事前寫下假設、指標、失敗條件與反證,並固定輸入:原始資料雜湊、查詢參數與資料快照日期。
- 2資料身分證保存來源、授權、範圍、資訊時點、版本與處理日誌;歷史值與後續修訂分開存放,不要覆蓋既有紀錄。
- 3執行身分證以版本識別碼對應實際執行的程式與設定,並記錄軟體套件、執行環境、亂數種子、時區、執行時間與全部嘗試。
- 4結論身分證分開事實、解釋與待驗證預測,讓每張圖表都指回一次可重做的執行紀錄,並揭露限制與變更理由。
| 面向 | 不可稽核 | 可稽核 |
|---|---|---|
| 資料 | 寫「使用市場資料」 | 列出來源、欄位、日期、調整方式與版本 |
| 參數 | 只報最佳組合 | 揭露搜尋範圍、選擇規則與替代設定 |
| 結論 | 只展示成功圖表 | 報告失敗期間、限制與可能的反例 |
文件越長越可稽核
重點是證據能連結、欄位明確且版本一致,不是堆疊文字。
刪除失敗實驗讓專案更乾淨
失敗與放棄理由能揭露選擇偏誤,也避免團隊重複踩同一個坑。
結束本單元前,收好三條研究規則
輸入、轉換、參數與環境共同構成覆核路線。
保留前後版本、時間與理由,避免事後改寫故事;紀錄放進版本控制。
同樣的錯誤也能被重複跑出來,仍要檢查授權、偏誤、假設與反證。
檢驗你是否真正理解
確認你能辨認一份研究是否具備可追溯的證據。送出作答後會顯示每一題的原理說明。
哪一項最能讓圖表結果被獨立重做?
研究只報告最佳參數,未提其他嘗試,主要缺少什麼?
覆核者依你保存的資料快照、程式、參數與環境重跑,得到完全相同的數值。但紀錄裡只有定稿那一組參數,沒有寫你先前試過的另外 12 組。這份紀錄的缺口在哪裡?
卡住了?讓 Mira 幫你拆解
Mira 僅處理去識別化的虛構教學情境,不接收真實帳戶、個人資料、資產、委託或成交資料、登入資訊或憑證,也不提供具體標的、方向、數量、時點或個人化指令。最終事實、授權與版本仍須由研究者核對。
正在檢查登入狀態...
把這個概念練起來
驗證策略:從歷史證據走向新的證據
在回測局限的基礎上更進一步:用於設計規則的資料不能成為唯一證據;新時間段/未參與規則制定的資料(beginner 語境下的 out-of-sample)更有驗證價值;simulation、paper trading、小規模實盤觀察都有各自局限。核心 takeaway:證據會累積,但確定性不會。不進入 walk-forward / cross-validation / Monte Carlo。