我會回答:有沒有可能付費資料也有問題,只是沒被發現?
市面上絕大多數教學都遵循一條「快速上手」的路線:
- 使用某個 T 開頭的回測平台(你知道是哪個)
- 安裝 Python 套件如 backtrader、bt、yfinance
- 丟入策略,跑出回測結果
- 然後就開始分析報酬率、夏普值、最大回撤…
怎麼證明回測結果是對的? 怎麼證明資料是正確的? 會不會根本資料有問題沒發現? 市面上也沒有書籍講說要做異常檢查、資料清洗啊!
📊 Backtrader 回測結果模擬:現成工具的標準流程長這樣
以下是模擬的 Backtrader 回測結果輸出:
text
================== Backtrader 回測結果報告 ==================
策略名稱:KD_Crossover_Strategy
回測期間:2022-01-01 ~ 2023-01-01
初始資金:NT$1,000,000
交易標的:台積電 (2330.TW)
------------------------------------------------------------
總交易次數:12
勝率:58.33%
平均持倉天數:5.2 天
最大連續虧損次數:3
最大資金回撤:-6.42%
最終資產:NT$1,087,320
總報酬率:+8.73%
夏普值:1.42
------------------------------------------------------------
交易紀錄:
Date Action Price Size Value PnL
------------------------------------------------------------
2022-01-10 BUY 610.00 100 61,000 --
2022-01-17 SELL 635.00 100 63,500 +2,500
2022-02-05 BUY 620.00 100 62,000 --
2022-02-12 SELL 615.00 100 61,500 -500
...
2022-12-20 BUY 480.00 100 48,000 --
2022-12-28 SELL 505.00 100 50,500 +2,500
這種輸出看起來很完整,但它只告訴你「策略在哪些地方進場」,卻不告訴你所有 KD 金叉發生在哪裡。你無法知道它有沒有漏抓、誤判,或是資料本身就有問題。
🔍 我是怎麼發現資料有問題的?
因為我就是在回測的過程中,發現一些奇奇怪怪的現象。
一開始我並沒有懷疑資料有問題。 假設是在回測 KD 金叉策略,想看看某年某月某日有哪些股票出現技術訊號,我就土法煉鋼地一條一條去看技術線型圖,人工比對每支股票的 K 值與 D 值,確認是否真的出現金叉。
結果我發現了很多不合理的情況:
- 有些股票明明沒有 KD 金叉,卻被標示為有
- 有些股票明明出現 KD 金叉,卻完全沒被撈出來
- 同一支股票,在不同平台的技術指標計算結果竟然不一致
這些錯誤不是偶然,而是系統性問題,可能來自:
- 資料更新延遲
- 高低價缺漏
- 技術指標公式不一致
- 套件預設參數不透明
而市面上根本沒有書籍或網站會教你如何驗證股票交易資料。大多數教學只教你怎麼用套件、怎麼跑回測,卻沒人告訴你:
- 資料從哪來?
- 技術指標怎麼算?
- 有沒有可能資料本身就錯了?
這些問題,只有在你真的去逐筆驗證、建立交叉連結、人工觀察技術型態時,才會浮現出來。
📈 KD 金叉偵測結果(模擬畫面)
以下是我建立的驗證流程中,模擬列出的某日 KD 金叉股票清單,並附上技術線型連結供人工檢查:
markdown
| 股票代碼 | 股票名稱 | K值 | D值 | 超連結(日線圖) |
|----------|----------|-----|-----|------------------|
| 2330 | 台積電 | 22.5 | 19.3 | [查看圖表](https://tw.stock.yahoo.com/quote/2330/technical-chart) |
| 2303 | 聯電 | 24.1 | 20.7 | [查看圖表](https://tw.stock.yahoo.com/quote/2303/technical-chart) |
| 2882 | 國泰金 | 21.8 | 18.9 | [查看圖表](https://tw.stock.yahoo.com/quote/2882/technical-chart) |
| 2603 | 長榮 | 26.0 | 23.5 | [查看圖表](https://tw.stock.yahoo.com/quote/2603/technical-chart) |
| 2454 | 聯發科 | 29.2 | 25.1 | [查看圖表](https://tw.stock.yahoo.com/quote/2454/technical-chart) |
這不是套件自動跑出來的結果,而是我自己計算 KD 指標、逐筆比對、人工驗證的成果。也正是這樣的流程,讓我發現了現成工具無法揭露的資料錯誤。

















