研究記錄 · Direction A · 全部數字由 report JSON 讀出

揀股冇 edge —— 就算完美成交都贏唔到

呢頁公開嘅係一個完整失敗嘅測試,唔係一個摘要。問題、設計、門檻、全部 cell、事後診斷、最後嘅決定,全部喺下面,而且每個數字都係由跑出結果嗰個 report 檔讀出嚟 —— 原始檔名就列喺頁尾,你可以逐個對返。

結論先講

呢個 screen 嘅真錢部署計劃停。港股維持排除(v2 喺港股嘅回測落後等權持有,見 方法論頁)。win9you.com 繼續做研究發佈,包括呢個唔靚嘅結果。

一、問乜嘢

之前所有測試都卡喺同一個問題:v2 組合跑輸,係因為揀錯股,定係因為揀得啱但砌得差?如果係前者,只要令成交完美、再公平比較,應該見到選股本身嘅 edge。呢頁就係嗰個測試。

問法:v2 嘅選股規則,本身贏唔贏得過等權持有?用最公平嘅設計 —— 兩條臂都接近 100% 投入,空選股嘅日子照計(fallback 落全 universe),所以冇「佢冇揀股所以冇蝕」呢類藉口。

預先登記門檻(跑之前定死):選股臂要喺 2016–20 同 2021–26兩個窗口都贏等權臂至少 +1.00 pp。美股 universe,2016-09-01 至 2026-10-01。單邊靚唔算數 —— 呢個係喺 2016–26 出現過嘅教訓。

二、點試

項目設定
市場 / universe美股,179 隻
session2,534 個(2016-09-01 至 2026-10-01)
臂 1(受測)v2 screen (S1 touch + close-hold + ATR cap + box cap + MA200 regime gate)
臂 2(基準)等權持有同一個 universe,收市成交
投入兩臂都接近 100%;空選股日 fallback 落全 universe
成交假設fill lag 0(同一日收市成交)同 fill lag 1(延遲一日)
持有10 個交易日
成本0.25% 來回
null隨機揀同等數量嘅股票,300 trials,seed 20261019

兩個 fill lag 都要試,因為一個 screen 根本唔可能成交嘅價唔算數 —— 延遲一日成交先係誠實嗰個。判讀門檻 z = 1.96。規則定義見 docs/edge-to-alpha-prereg-spec-2026-10-19.md。

三、結果:八個 cell,全部冇過門檻

fill lag臂窗口gap (pp)net (pp)znull 分位≥+1.00 pp
lag 0arm1_v2_screen2016–20+2.98+2.971.1887.7%過
lag 0arm1_v2_screen2021–26-5.12-4.89-1.664.3%唔過
lag 0arm1_nogate2016–20+1.77+1.940.8479.7%過
lag 0arm1_nogate2021–26-4.58-4.07-1.408.7%唔過
lag 1arm1_v2_screen2016–20+2.32+2.270.8981.0%過
lag 1arm1_v2_screen2021–26-5.13-4.99-1.634.7%唔過
lag 1arm1_nogate2016–20+2.11+2.210.8879.7%過
lag 1arm1_nogate2021–26-5.40-4.89-1.703.0%唔過

gap 係選股臂年化減等權臂年化(單位百分點);net 係扣咗 null 平均之後嘅值;null 分位係呢個 gap 喺 300 次隨機抽樣入面排第幾。4 個 cell 喺 2016–20 段過門檻,0 個喺 2021–26 段過 —— 所以兩邊都要過嘅條件,冇達到。

全樣本(2016–26 一次過計)

fill lag選股臂年化 %等權臂年化 %差距 (pp)選股臂 Sharpe等權臂 Sharpe
lag 015.3917.01-1.620.800.89
lag 115.1417.02-1.890.790.89

全樣本唔係判讀規則嘅一部分(規則只睇兩個窗口),只係擺出嚟方便同本站其他公開數字對照。去咗大市閘嗰條臂一樣:lag 0 -1.79 pp、lag 1 -2.14 pp,兩樣都係 SELECTION_DEAD。

四、點解話「死咗」而唔係「反住有效」

2021–26 段四個 cell 全部係負數,z 由 -1.70 到 -1.40。如果係真正嘅反效果(揀股令組合更差),我哋期望見到 z 低過 −1.96,即係「差到可以否認個 null」。

實際上冇任何一個 cell 去到 ±1.96。正確嘅講法係:呢段時間揀股冇帶嚟任何可辨認嘅好處,方向偏負但差得唔夠遠,唔足以講「揀股有害」。兩個 fill lag 都一樣,所以呢個判定唔係成交假設做出嚟。

睇返最好嗰個 cell(arm1_v2_screen,lag 0,2016–20,gap +2.98 pp,z 1.18,null 分位 87.7%)—— 連最好嗰格都企唔穩喺 null 上面。所以呢個唔係「差少少」嘅結論,係「由頭到尾冇 edge」嘅結論。

五、事後診斷:screen 開口嗰啲日都冇贏

呢個係事後診斷 —— 唔係預先登記判斷規則嘅一部分,佢冇自己嘅門檻,亦都唔會改變上面嘅判定。目的只係答一個問題:screen 有開口嘅日子,佢揀出嚟嗰批係咪好過隨機揀同等數量嘅股票?

report 原文標示:POST-HOC DIAGNOSTIC — not part of the pre-registered decision rule, it has no threshold of its own, and it does not change the verdict

做法:同一個引擎、同一批 session 行三條臂 —— screen 揀嘅股票、同一批日子嘅全 universe、同隨機揀同等數量嘅股票;screen 冇開口嘅日子三條都持有現金。如果 screen 有真係嘅辨識力,佢喺自己有觀點嘅日子應該企喺隨機嗰條之上。

fill lag窗口gap (pp)net (pp)znull 分位
lag 02016–20+2.66+2.791.2690.3%
lag 02021–26-4.83-4.53-1.634.3%
lag 12016–20+2.08+2.201.0183.3%
lag 12021–26-4.83-4.51-1.684.3%

screen 開口嘅 session:1,393 / 2,534 個(55.0%),平均每日 3.8 隻。讀法:screen 揀出嚟嗰批,喺佢自己有觀點嘅日子,冇贏過隨機揀同等數量嘅股票。呢個診斷唔會改變判定 —— 佢只係解釋點解會死。

六、仲企得穩嘅嘢

呢個測試只否定咗一件事:揀股。佢冇否定逐單訊號本身。收市確認(跌到 S1 觸及之後,收市企穩 S1 先算成交)呢個條件,逐單層面係有 edge 嘅 —— 嗰部分有獨立測試、獨立 placebo、獨立數字,見 失敗測試記錄 同 方法論頁。

兩句說話都係真嘅,唔好混淆:訊號本身有 edge,用訊號揀股砌組合冇 edge。本站之前就因為淨係公佈第一句而招受過批評,所以兩句都寫喺度。

七、決定

八、方法論同紀律

點樣計:選股臂同等權臂行同一個引擎、同一批 session、同一個成本模型;null 係用同一個引擎隨機揀同等數量嘅股票,跑 300 次,seed 20261019。每個數字都有 null 對照,冇單獨一個數字攞出嚟講。

紀律:規則同門檻喺跑之前寫死(預先登記),唔會因為結果靚就改;所有特徵都係 T-1 收市之後先計得出,冇前視(no look-ahead);兩個子窗口係固定切法,唔會因為其中一段好睇就重切。呢啲紀律嘅作用,就係令一個「輸咗」的結論同「贏咗」嘅結論一樣值得信。

規則同門檻嘅原文:docs/edge-to-alpha-prereg-spec-2026-10-19.md(修訂 A (construction) and B (outcome readings))。本站嘅公開數字同披露規則見 方法論頁,其他失敗測試見 失敗測試記錄。

每個數字嘅來源

數字來源檔
Direction A 全部數字(fill lag 0)reports/edge_alpha_a_us.json
Direction A 全部數字(fill lag 1)reports/edge_alpha_a_us_lag1.json
規則、門檻、修訂docs/edge-to-alpha-prereg-spec-2026-10-19.md

本頁由 scripts/build_selection_dead_page.py 生成,數字由 scripts/honest_results.py 從上面嘅檔案讀出 —— 生成器內冇任何手打數字,來源檔唔在就停止 build。頁面入面用文字講嘅幾個數(最好嗰個 cell、後期窗口嘅 z 範圍)都係由同一批數值算出嚟,唔係另外填。

一啲刻意冇印喺呢頁嘅數字:逐單勝率同每單平均回報唔喺上面兩個 report 入面 —— 嗰啲數有自己嘅來源檔同自己嘅測試,印喺 失敗測試記錄,唔喺呢頁重複一次。

最後更新: 2026-10-20 HKT