到 Day 26 為止的回測都是同一種假設:名單出來、隔天開盤按比例成交、來回扣 0.471%。這對量 IC 和比規則夠用,對「我拿一百萬照做會怎樣」不夠。一百萬買不起一張創意,這件事在按比例成交的世界裡不存在。
這篇把引擎換成日頻、逐筆、按台股的規矩成交,然後把同一條規則(分類器選股、風險平價、只買排名前 20、掉出前 20 就賣、不擇時)跑不同本金,看摩擦到底吃掉多少、吃在哪裡。
每個交易日兩段。開盤先執行昨天排定的賣單和買單,收盤算市值,如果當天是訊號日就排明天的單。五個摩擦:
整張 買賣以 1,000 股為單位(另跑一版允許零股)
手續費 0.1425%,最低 20 元,買賣各一次
證交稅 賣出 0.3%
漲跌停鎖死 開盤就在漲停價而且全日一價 → 買單不成交;開盤在跌停價且全日一價 → 賣單改明天
成交量 單筆不超過當日成交量的 5%,超過就縮
損益用還原價算,除權息不會變成假虧損;整張、漲跌停、量的限制用原始價和原始量算,因為那是真正掛單時看到的數字。理想版就是同一支程式把這五條關掉、成本改回來回 0.471%,兩者只差這五個開關。

年化 Sharpe 回檔 10.4 年變幾倍 買單 成交 湊不到一張 被量限縮 漲停買不到
理想版 +36.2% 1.82 −22% 25.1 3,553 3,553 0 0 0
實務版 100 萬,零股 +33.7% 1.72 −22% 20.6 3,556 3,545 0 28 11
實務版 100 萬,整張 +17.9% 1.74 −12% 5.6 4,493 1,849 2,629 10 13
實務版 1,000 萬,整張 +31.0% 1.79 −20% 16.7 3,589 3,485 92 602 12
實務版 1 億,整張 +22.4% 1.60 −18% 8.2 3,561 3,539 10 1,903 12
同一條規則、同一批訊號,年化從 36% 到 18% 都有。差別不在策略,在能不能成交、成交要付多少。
把五個開關分開加,才知道哪個貴。用零股版當中間態,可以把「成交限制」和「費率」拆開:

理想版(比例成交、0.471%) 36.2%
零股成交、漲跌停與量的限制都在、費率仍 0.471% 35.6% −0.6
費率改成不打折的 0.585% 33.7% −1.9
改成整張(本金 100 萬) 17.9% −15.8
成交限制只值 0.6 個百分點,因為漲停鎖死和量的限制在這個本金下幾乎不發作。費率值 1.9 個百分點。真正的斷崖是整張,一個開關砍掉 15.8 個百分點,比其他四個加起來的十倍還多。
費率既然值 1.9 點,那把它當成一個參數掃一遍,可以看出這條規則對成本有多敏感。其他條件完全相同,只改來回費率:

來回成本 年化 Sharpe
0% 43.3% 2.14
0.2% 40.0% 2.00
0.471% 35.6% 1.81 Day 3 算的:手續費打 6 折 + 證交稅
0.585% 33.7% 1.72 手續費不打折
0.8% 30.3% 1.58
1.2% 24.2% 1.30
幾乎是一條直線,斜率是每 1% 的來回成本換掉 16 個百分點年化。這條規則平均持有 10 天、一年換手十幾次,所以成本是乘上去的,不是加上去的。
換算回現實:手續費打 6 折,來回從 0.585% 降到 0.471%,年化多 1.9 個百分點;再談到 3 折是 0.386%,又多 1.4 個百分點。折扣是少數「打電話就能拿到」的報酬,全部拿滿也只有 3 點出頭,因為那 0.3% 的證交稅誰都拿不掉。
右邊那張是 3,532 筆交易的報酬分布。成本線 0.585% 就在最密的那一叢裡,平均每筆賺 3.2%。勝率只有 48%,錢是右邊那條長尾賺的。成本不會動到長尾,它吃掉的是中間那層本來就差不多打平的單子,把勝率從 50% 壓到 48%。

一個位置是總資金的三十分之一。本金一百萬,一格三萬三,只買得起 33 元以下的股票,而前 20 名候選裡只有 24% 的股價在 33 元以下。中位數是 72 元,一張要七萬二,超過兩格。
本金 一格資金 一張買得起的股價 佔候選的比例
100 萬 33,333 33 元以下 24%
300 萬 100,000 100 元以下 62%
1,000 萬 333,333 333 元以下 90%
3,000 萬 1,000,000 1,000 元以下 98%
所以一百萬整張版有 4,493 張買單,2,629 張湊不到一張,58% 的單子直接作廢。剩下的 1,849 筆平均報酬 3.8%,比零股版的 3.2% 還高,因為買得起的都是低價股,而低價股的波動大、右尾厚。但錢大半時間躺在現金,年化只剩 17.9%,回檔也跟著只有 −12%。那不是風控好,是沒進場。
零股在 2020 年 10 月開放盤中交易,這條路現在是通的。一百萬零股版年化 33.7%,三百萬零股版 33.6%,兩者幾乎一樣,因為在這個規模下零股完全不受限制。

把本金從一百萬拉到三億,整張版的年化先升後降:
本金 年化 湊不到一張 被量限縮
100 萬 17.9% 58.5% 0.2%
300 萬 29.3% 18.9% 3.5%
1,000 萬 31.0% 2.6% 16.8%
3,000 萬 27.9% 0.3% 34.3%
1 億 22.4% 0.3% 53.4%
3 億 15.7% 0.3% 68.2%
兩種卡法此消彼長,中間夾出一個甜蜜點在一千萬附近。一千萬時只有 2.6% 的買單湊不到一張、16.8% 被量限縮;拿掉量的限制可以到 32.1%,跟理想版只差 4 個百分點。
再往上,量的限制變成主角。三億時 68% 的買單被縮,年化 15.7%,Sharpe 掉到 1.37。這條規則買的是中小型股,一格一千萬要吃掉不少個漲停板前的成交量,想不驚動市場是不可能的。要放大只有三條路:放寬股票池的流動性下限、拉長持有期、或者接受分批進場的滑價。這三條都會改變策略本身,不是調參數能解決的。
這是我原本最擔心的一項:訊號最強的股票隔天開盤鎖死漲停,看得到買不到。
實際上 10,360 次前 20 名的訊號裡,隔天開盤鎖死的只有 28 次,0.27%。原因是「建議」篩選早就把量比超過 3.4 的爆量股拿掉了,鎖死的那種型態在名單產生的時候就不在裡面。
更有意思的是,那 28 檔之後 20 天平均只漲 0.2%,其餘的漲 3.0%。買不到的不是最好的,是最擠的。同樣的檢查按排名拆開,前 5 名的鎖死率 0.42%、6 到 10 名 0.39%、11 到 20 名 0.14%,都在同一個量級。
一百萬零股版十年付了 176 萬手續費、187 萬證交稅,合計 363 萬,資產從 100 萬變 2,064 萬。每筆交易的費用是 0.585%,平均每筆賺 3.2%、抱 10 天、勝率 48%。費用占毛利約 15%。
這個比例在一千萬和一億都一樣,因為它是每筆固定的百分比,會隨規模變的是量的限制,不是費用。證交稅占了來回成本的一半以上,而且沒得打折,這是台股高換手策略共同的天花板,Day 3 算過同一件事:來回 0.471% 裡有 0.3% 是稅。
Day 3 算過,每月換股的六因子組合年化被成本吃掉 5.91 個百分點,事前預測 5.7%,對得上。Day 21 算過,每天照排名換股的版本一年換手 5,927%,成本一年吃 14 個百分點,年化從 23.8% 變 7.7%。
這篇的規則一年換手十一次左右,不打折的費率吃掉 1.9 個百分點。差別不在成本算得比較便宜,而在換手次數:排名掉出前 20 才賣,平均持有 10 天,而不是每天重排。Day 21 那道緩衝是這篇能活下來的前提。
策略每筆平均賺 3.2%,成本 0.585%,是門檻的五倍多。這條規則不是靠薄利多銷,是靠一成多的單子賺兩三成,成本吃掉的是薄的那一層。
**摩擦不是一個數字,是四種型態。**整張讓小資金進不了場(−15.8 個百分點),費率是固定的百分比(−1.9),成交限制在小錢身上幾乎不發作(−0.6),漲停鎖死 0.27% 且那些股票之後不漲。
**成本是乘上去的。**每多 1% 的來回成本換掉 16 個百分點年化,因為一年換手十一次左右。手續費從不打折談到 3 折值 3.3 個百分點,證交稅那 0.3% 誰都拿不掉。
**這條規則的適用區間是一百萬零股到一千萬整張。**兩端年化 33.7% 和 31.0%,跟理想版差 3 到 5 個百分點。一百萬整張做不了,58% 的買單湊不到一張;三億會被量卡到 15.7%,68% 的買單被縮。甜蜜點在一千萬。
**同一支引擎開關摩擦。**理想版和實務版差的只有五個開關,之後每一層(Day 29)都用實務版、一千萬、整張跑,數字才可以直接比。