投資 · 2026.09.21 · 4 min · 更新於 2026.10.26
裸K交易法有用嗎?1026 檔台股規則回測,樣本外輸給隨機進場
把一位 YouTube 創作者的裸K交易法寫成規則,用一千多檔台股日線回測,跟只打散進場時點的隨機對照組比,樣本外輸給隨機 2.62 個標準差。
閱讀設定
裸K(不看指標、只看 K 線本身的交易法)寫成規則回測,會不會有優勢?
我把一位 YouTube 創作者的方法寫成規則,在 1026 檔台股日線上回測,對照組是只把進場時點打散的隨機進場。
結論是規則層面沒有優勢,樣本外輸給隨機進場 2.62 個標準差。樣本外指的是切出來留著驗證的那段資料。
在得到這個結論之前,我錯判了三次,每次都是對照組沒設對。這是這篇最值得帶走的部分。
起因是一則用 Claude 做交易機器人的推特教學。順著問下去,問題變成:這位創作者把裸K講得很有條理,他的方法能不能寫成規則?
驗收標準:贏過隨機進場
驗收標準不是回測賺錢,是樣本外要贏過隨機進場的基準線。
做法是保留每一筆交易的標的、方向、停損 %、目標 %,只把進場時點打散,跑多次取平均當基準。
小停損配大目標這種賺賠比結構,在有漂移(長期往一個方向走)的市場裡,就算亂進場,也會跑出正的毛期望值(未扣成本的平均每筆報酬)。
不扣掉這條基準線,會把市場漂移當成自己的本事。

調參數找最佳組合這條路,從一開始就排除,因為那正是要避免的事。
把裸K寫成規則
規則來源是 12 支直播影片。我把這些教學影片轉成文字,整理成一份規格,包含三問的順序(位置、慣性、圖)、2點1線、破底翻、翻亞當的點對稱投影,還有三段式出場。
回測沿用我原本的量化研究平台。它的部位一律用 signal.shift(1),結構上擋掉未來函數(用到當下還拿不到的資料),也有只能 reveal 一次的 holdout(留到最後才打開的驗收資料)。
但原本的引擎是「目標部位 × 收盤報酬」的向量化模型。裸K 的停損和出場都在 K 線內觸發,用收盤模型算,等於停損不存在。
所以我另寫了一個逐筆交易引擎,逐根走 high/low。同一根 K 線同時碰到停損和目標,一律判停損先到。
單一商品的樣本太小,拿 BTC 4 小時線試,只生出 50 筆交易。
這位創作者自己反覆強調方法在任何商品、任何刻度都通用,直播也大量用股票日線示範。所以我改成跨 1026 檔台股日線,380 萬根 K 線,一萬多筆交易。
規則寫完後,我請 Codex 做獨立稽核,它抓到兩個樂觀假設。
一是開盤跳空穿越停損時,程式仍以停損價成交。二是限價單成交的那一根,用整根的 high/low 判斷有沒有停利,但成交之前價格有沒有先碰過目標,從 K 線上無從得知。
修掉之後,train(樣本內那段資料)的毛期望值從 +0.211R 砍半到 +0.104R。R 是以停損距離當一單位的報酬。
結果:輸給隨機 2.62 個標準差
最終版本用 1026 檔、對照組跑 10 次、基準線分段計算:

val(樣本外驗證段)是 2020 到 2023 年,隨機亂進場的毛期望值是 +0.124R,多頭把水位抬起來了。照規則做,只有 +0.005R。
規則把人擋在好機會外面的次數,多過它擋掉壞機會的次數。
再加上台股來回 0.571% 的摩擦(含 0.3% 的證券交易稅),淨值是每筆 −0.4R。
錯了三次,都錯在對照組
下面的 sd 是標準差,三次錯判依序是:
- 「毛優勢是正的,摩擦是主因」:沒有對照組,把賺賠比結構的效果當成訊號。
- 「+1.59 sd,第一次高於基準線」:基準線用全期間算,val 剛好是大多頭段,結果被系統性高估。
- 「+0.49 sd,在雜訊內」:樣本只有 268 檔,val 基準線的 sd 高達 0.070。
基準線期間沒對齊、樣本太小,這兩個錯誤彼此獨立,卻剛好往同一個方向偏,疊起來讓負的結果看起來像正的。
到 1026 檔、基準線分段計算,樣本和方法才對得上。

最該留下的一條:基準線一定要跟被比較的區間同期間算。
train/val 分割防的是過擬合,隨機對照組防的是把市場漂移當成自己的本事,這次後者更關鍵。
回測證明不了的事
機械化只涵蓋能寫成條件的部分。
這位創作者在直播裡有一半以上的時間在做主觀否決:這張圖不喜歡、這個位置有點尷尬、今天在忙就沒做。這些回測不了,也不代表不存在。
所以我的結論是規則層面沒有東西,不是他的方法無效。
holdout 從頭到尾沒有動用。同一天我把整個研究平台刪了,裸K 的程式還沒 commit,沒有留下,這篇是照當時的筆記寫的。

工程
Next.js 靜態匯出,Google 只看到 spinner?多語系預渲染與 robots.txt 索引修正
Next.js 靜態匯出的官網,Google 爬到的 HTML 只有 spinner,多語系頁面只認得英文版。改成依網址決定語言、build 時把文案寫進 HTML,再修掉 robots.txt 造成的兩個索引問題。
留言
載入留言中…