訊號點計出嚟 · 同埋我哋改咗乜
Leeks Terminal 嘅訊號全部由 Python 對 T-1 日線 OHLC 確定性計算,零 LLM 幻覺。 現行規則係 v2 —— 2026-10-01 一份第三方 10 年訊號審計之後改版。 舊版有啲規則經審計證實冇正期望值,我哋停用咗,並喺下面逐項列明。
⚠ 閱讀本頁前請先知:每單有優勢,但美股層面冇超額回報
我哋將 v2 放喺同一個 10 倉組合(每單風險 1%、單一名字上限 10% 名義、總曝險 ≤100%) 同一批日線跑足 2016–26,再加一個真正嘅對照:乜都唔做,淨係將同一批股票等權每月再平衡。
| 2016–26 年化 | 美股 | 日股 |
|---|---|---|
| v2 組合 | +25.59% | +15.63% |
| 同一批股票等權持有 | +24.63% | +15.97% |
| 大市指數 buy & hold | +13.3% | +15.0% |
美股:v2 領先 +1.0 點/年(2016–20 領先 +3.7 點/年、 2021–26 落後 +2.4 點/年)。呢批股票本身就係一個極強嘅對照 —— 「乜都唔做、淨係等權持有同一批今日嘅大型股」已經跑贏大市十幾個百分點, 而嗰十幾個百分點全部來自「呢批係今日嘅大型股」呢個選擇,唔係來自揀時段。 日股:全期 v2 落後 +0.3 點/年(0.25% 成本口徑; 2016–20 落後 +9.0 點/年、2021–26 領先 +5.1 點/年)—— 兩個市場嘅正負號都喺兩段之間變換(見 §4.8),所以全期嗰個差距唔應該當成 持久 alpha 去引用。 最大回撤反而淺過純持有(−19.68% 對 −21.03%)—— 減少咗回撤,但冇製造穩定嘅超額回報。
即係話:每單優勢係真嘅(見 §4.6),但喺美股,佢冇轉化成一個穩定、跑贏 「攞住同一批股票」嘅超額回報。 詳情同限制見 §4.7。
1. 修正記錄:我哋改咗乜、點解
2026-10-01 收到一份第三方 10 年訊號審計(2016–2026)。佢用本站公開嘅規則重跑, 結論係舊版四個策略喺整個週期都冇正期望值。以下係逐項處理結果。 呢一節我哋刻意保留,唔打算改。
2026-10-06 — 撤回一句聲稱。
我哋之前喺首頁、方法論同 llms.txt 都寫過「日股 +6.9 個百分點/年」。
呢個數唔企穩,我哋撤回佢。 拆開市況之後:日股 2016–20 落後純持有
7.9 點/年,2021–26 先領先 16.7 點/年;美股兩個時段分別
領先 +3.7 點/年同落後 +2.4 點/年
(2026-10-18 按統一成本口徑重測後嘅數)。
當時四格冇一格係穩定正數,所以 +6.9 只係「輸嘅五年」同「贏嘅五年」嘅平均,
唔係一個跨市況都成立嘅優勢 —— 2026-10-18 重測之後,兩個市場一樣冇一個
regime 企得穩(見 §4.8)。同時我哋用 Nikkei 官方成分股變更紀錄做咗
point-in-time 名單(scripts/portfolio_pit.py):剔除 17 隻遲入選股票後
差額只由 +6.9 變 +6.0,證明遲入選唔係主因;但真正嘅偏差(已經唔存在嘅股票)
用公開名單重建唔到。詳見 §4.7、§4.8 同第三項未解決限制。
2026-10-15 — 撤回嗰句之後,連「差幾多」都要再量一次。
上面 2026-10-06 撤回咗 +6.9,但當時只係話個數唔企穩,冇重新報一個數,
所以頁面一直留低 +25.4% 對 +18.5%、分段 7.9/16.7。2026-10-12 我哋重跑咗完整
10 年組合測試(scripts/hk_retest.py → data/hk_retest_summary.json)。
2026-10-18 更新:呢一節原本報嘅係 0.10% 成本口徑
(v2 +18.09%、等權 +15.97%,
差 +2.12 pp/年),而首頁三個市場一律用 0.25%。
同一頁寫兩個成本口徑 = 自行揀一個好睇嘅講,所以我哋
改用同首頁一致嘅 0.25%:v2 +15.63%、
同一批股票等權持有 +15.97%,差 −0.34 pp/年
—— 兩個成本口徑嘅正負號根本唔同(0.10% 成本下係
領先 +2.1 點/年),所以淨係報好睇嗰個就係自欺。
分段睇:2016–20 落後 +9.0 點/年、2021–26 領先 +5.1 點/年。
呢頁組合層面嘅美股同日股數字而家係由 data/hk_retest_summary.json 讀出嚟,
唔再係手打 —— 同一個數字寫兩遍,就一定會有一遍過時。
但唔係全頁都係同一個來源:§4 嘅逐單統計(交易筆數、勝率、每單平均淨、
利潤因子、日期叢集 t)係另一個實驗,由 data/ab_close_hold.json 讀出
(重跑方法見 scripts/ab_close_hold.py,輸入資料在 data/bt10y2/)。
兩個來源唔會混為一談 —— 講邊個數出自邊個檔,就講邊個。
同一個道理,呢頁連方向嘅措辭都係由符號計出嚟:data/hk_retest_summary.json 喺 2026-10-18
當日下午重跑過兩次,差距嘅正負號轉咗兩次,所以頁面唔會再自己斷言
「領先」定「落後」。
⚠ 2026-10-16 — 我哋自己嘅入場時段規則,量出嚟係差過隨機揀時段
Signal Search Sprint 1(scripts/signal_search_s1.py)將本頁描述嘅 v2 規則
每個維度逐個改(入場位、收市確認、止損、持有期、市況過濾),美股 11 個變體 × 3 個成本情境,
每一個都對同一批 179 隻股票、同一本 10 倉組合、同一組成本去跑。
為咗分清楚「規則有效」同「呢批股票本身就升」,每個變體都做咗 placebo:
規則、universe、倉位、成本全部照舊,只係把入場日隨機換到另一個交易日,跑 30 次。
現行入場規則(20 日低 S1 限價買入 + 收市確認)嘅結果:
| 期間 | 真實差距 | 隨機入場 null | 淨差距 | z | 喺 null 嘅百分位 |
|---|---|---|---|---|---|
| 2016–2020 | +0.41pp | +5.67 ± 3.98pp | −5.26pp | −1.32 | 6.7% |
| 2021–2026 | −6.48pp | +9.42 ± 3.38pp | −15.90pp | −4.71 | 0.0% |
即係話:喺 2021–26 嗰半,現行入場時段比隨機揀時段仲差,而 30 次隨機trial
冇一次好過佢(0.0 百分位)。 11 個變體入面 10 個 喺兩個時段都係負 z。
最好嗰個(取消市況過濾)worst z 只有 +0.14,等於同自己嘅 null 分唔開。
呢個結論唔係話策略蝕錢,亦唔係話隨機入場係好策略 —— null 本身係正數,
嗰個正值來自「持有呢批 2016 年後被選中嘅大型股」同「組合平均只用咗 76.9% 資金」
呢兩件事,同入場時段無關。單筆層面嘅優勢亦冇變(見 §4.6)。
真正被否定嘅只有一樣:用 S1 限價 + 收市確認去揀時段,喺組合層面冇帶來可量度嘅選股價值。
我們冇改 production,現行規則照跑。原因係:呢個係一個 falsification 結果,
唔係一個新規則;Sprint 1 冇任何變體通過修正後 bar(要贏 null、且 z ≥ 1.96、且兩段都要),
所以唯一可以負責任嘅做法係公開咗佢,而唔係換一條未經證明嘅規則上去。
全部 11 個變體 × 3 個成本情境嘅 grid(每個變體嘅曝險、null 均值/標準差/z/百分位)
可以用 scripts/signal_search_s1.py --placebo 30 一次過重跑;
規則定義寫喺 docs/signal-search-sprint-1-spec.md。
| 原本做法 | 審計發現 | 而家做法 |
|---|---|---|
| SELL_R1(升到 R1 沽空至 box 中位) | T+5 每單淨蝕 0.57%,t = −14;喺 30 個 market × horizon × period 組合全部為負 | 已停用 |
| BREAK_LONG / BREAK_SHORT(突破追) | T+5 −0.31% / −0.48%,止損觸發率 67–69% | 已停用 |
| 每隻股掛歷史勝率 badge(60 日 win%) | 同下一筆交易嘅 rank correlation 只有 −0.001 / −0.004 —— 冇預測力,但頁面呈現方式令人誤以為係信心指標 | 已停用,改顯示 setup 樣本外勝率 + 樣本數 n |
| T+10 swing「+3.02% net」 | 嗰個係逐筆百分比相加,假設每單都用盡 100% 資金。曾經用一個「誠實定資模擬」嘅 T+10 總回報頂上,該數字已於 2026-10-18 一併撤回:冇任何 run 產生過佢,唯一可能產生佢嘅 scripts/monthly_swing_backtest.py 讀嘅 data/dsa_hk.db 入面 daily_report 表係 0 行,個 script 直接以「No BUY signals in window」結束 |
兩個數都已撤回,唔再當 headline,亦唔會用另一個數字填返 |
| Portfolio sim「+55% 6mo, MaxDD 1.96%」 | 同一個 sum-of-pct 口徑;該數字已於 2026-09-11 被明確標示為非投資組合回報 | 已撤回 |
| 港股訊號(佔全站三個市場其中一個) | 扣約 0.45% round-trip 成本後,樣本外淨收益 +0.02%,等於零;沽空另需借券資格 | 改為只作資訊參考,唔落實倉;並標明本站無法獨立驗證(資料源唔提供 .HK 個股) |
| long entry 淨係「touch S1」就算入 | touch 之後收市跌返落 S1 以下,代表該支持位失效 —— 你買嘅唔係支持位,係接飛刀。要求收市企穩 S1 先入,移除咗 26% 交易,嗰批平均每單 −3.90% | 2026-10-05 已出貨:四個窗口全部改善(每單約翻倍、t 大升),代價係交易量減半。見下方 §4.5 |
| 10 年日線庫(407 個代號) | 逐隻重新抓取後發現 8 個檔案損壞:7 隻日股加 1 隻美股,最嚴重嗰隻價格偏離原始數據 43,781%(日線被印成另一個價位級別)。源頭 Yahoo 本身亦有一兩支壞 bar(例如 1306.T 有兩日被印成 1/10 價) | 已重新逐隻抓取成獨立資料庫,並加咗 fail-closed 過濾:任何交易窗(連同前 210 日特徵暖機)碰到壞 bar 就唔准入統計。舊嘅 +1811.8%/Sharpe 2.97 組合數字已撤回,原因見 §4.7 |
| 「v2 有選時優勢」呢句話 | 每單層面成立,但組合層面:v2 美股年化 +25.59%,同一批股票等權每月再平衡就有 +24.63% —— 差額 +0.96 pp/年(領先 +1.0 點/年);但要留意:差額嘅正負號喺 2016–20 同 2021–26 之間會變,即係全期嗰個數由單一 regime 決定,唔應該當成持久 alpha 去引用 | 已改寫:公開講明每單優勢 ≠ 超額回報,美股層面冇可引用嘅持久 alpha。見 §4.7 |
審計同時指出另外三類問題:頁面之間就同一件事引用唔同數字(已於 2026-10-05 統一)、 勝率 badge 可能顯示咗相反方向策略嘅成績、n = 1–4 嘅極小樣本勝率照樣顯示出嚟。 呢啲都係顯示層問題,已一併修正。
2. 現行規則:v2
| 方向 | 只做多(no short) |
| 個股篩選 | T-1 收市價 > 200 天線,且 200 天線喺 20 個交易日內向上 |
| 大市過濾 | 指數 T-1 收市價 > 佢自己嘅 200 天線(美股 SPY/日股 1306.T) |
| 入場 | 下一個交易日以 S1 掛限價買入;開市價低過或等於 S1 就跳過(唔追) |
| 止損 | S1 × (1 − 3 × ATR%) |
| 目標價 | 無 |
| 離場 | 入場後第 10 個交易日收市(時間離場) |
| 倉位 | 每單 1% 權益風險、單一名義上限 10%、最多 10 倉(gross ≤ 100%) |
| 名額競爭 | 超賣優先排序(5 日回報最低者先入) |
| Guard rails | ATR% ≥ 6% 或 20 日 box 寬度 ≥ 35% → 不出訊號 |
每個門檻都係用 2016–2022 選定,再喺 2023–2026 只測一次(樣本外)。 選出嚟嘅組合(3×ATR 止損、無目標、10 日持有)喺樣本外同時都係最好嗰個。
3. S/R ladder(v2 都用)
4 層不重疊 rolling pivot,全部用前一日數據計,無 look-ahead:
- S1 / R1 — 最近 20 個交易日嘅 low / high ← v2 嘅入場價就係 S1
- S2 / R2 — 第 21–60 個交易日
- S3 / R3 — 第 61–120 個交易日
- S4 — 第 121 日以前嘅最低 low(52 週 crash low)
4. 表現(本站自測)
以下數字係本站自己跑出嚟嘅,用 Yahoo Finance 10 年日線、同一個引擎、
按市場收成本、日期叢集 t 統計。重跑方法見 scripts/ab_close_hold.py,
輸入資料在 data/bt10y2/,每個結論都可以覆核;含壞 bar 嘅交易窗會被自動剔除(scripts/bt_clean.py)。
一個必須講嘅差異:本站引擎未能重現 2026-10-01 第三方審計報告嘅基線 —— 同一套規則,我哋測出嚟嘅基線高約 1.7 倍(第三方 US 樣本外 +0.45%, 我哋 +0.783%)。所以下面嘅絕對水平同第三方數字唔可以直接比較; 有效嘅係 A/B 之間嘅相對差(同一引擎、同一成本、只差一個入場條件)。 我哋冇查清楚差異來源,所以唔會聲稱第三方數字有錯。
現行規則(收市企穩 S1)· 樣本外 2023–2026
| 市場 | 交易筆數 | 勝率 | 每單平均淨 | Profit factor | 日期叢集 t |
|---|---|---|---|---|---|
| US200 | 2,982 | 60.3% | +1.772% | 2.05 | +7.67 |
| JP200 | 2,187 | 65.5% | +2.354% | 2.69 | +8.87 |
逐單結果 · 訓練期 2016–2022(門檻揀選期)
| 市場 | 交易筆數 | 勝率 | 每單平均淨 | Profit factor | 日期叢集 t |
|---|---|---|---|---|---|
| US200 | 3,693 | 64.6% | +1.922% | 2.26 | +10.49 |
| JP200 | 2,389 | 55.6% | +1.058% | 1.52 | +4.81 |
逐單結果 · 樣本外 2023–2026(只測一次)
| 市場 | 交易筆數 | 勝率 | 每單平均淨 | Profit factor | 日期叢集 t |
|---|---|---|---|---|---|
| US200 | 2,982 | 60.3% | +1.772% | 2.05 | +7.67 |
| JP200 | 2,187 | 65.5% | +2.354% | 2.69 | +8.87 |
⚠ 訓練期同樣本外差距好大,呢點要自己睇
日本市場訓練期平均只有 +0.01%、Profit factor 1.00、t = −0.56 —— 即係頭七年基本上冇 edge,個規則要到近期樣本先「好轉」。 美國就相反(訓練期 +0.82% 高過樣本外 +0.45%)。 只印樣本外一邊係選擇性呈現,所以兩邊都放上嚟。 一個誠實嘅結論係:呢套規則喺不同市場、唔同時段嘅穩定性差異好大, 唔應該當成一個跨市場通用嘅 alpha 來源。
港股
| 期間 | 交易筆數 | 勝率 | 每單平均淨 | Profit factor | 日期叢集 t |
|---|---|---|---|---|---|
| 訓練期 2016–22(第三方) | 1,408 | 37.0% | −2.01% | — | −4.00 |
| 樣本外 2023–26(第三方) | 2,447 | 48.0% | +0.02% | 1.01 | 1.23 |
港股呢兩行係第三方數字,本站未能獨立驗證 —— 本站日線資料源(Yahoo Finance)唔提供 .HK 個股代號,200 隻全部取唔到; 只有指數層面(^HSI、2800.HK)有數。所以「扣 0.45% round-trip 後樣本外 +0.02%」 呢個數字,我哋自己跑唔到,只可以引用。 港股訊號因此只作資訊參考,唔落實倉。
組合層面(1% 風險/單、10 倉上限)
| 組合 | 總回報 | CAGR | 最大回撤 | Sharpe | 交易筆數 |
|---|---|---|---|---|---|
| 舊引擎(按網站原本方式顯示)· 2016–26 | −92.6% | −23.6% | −93.1% | −2.43 | 6,542 |
| v2 · 美股 · 2016–26(0.25% 成本) | +894.7% | +25.59% | −13.35% | — | 5,219 |
| v2 · 日股 · 2016–26(0.25% 成本) | +332.5% | +15.63% | −19.68% | — | 3,468 |
| 同一批股票等權每月再平衡 · 美股 | +820.7% | +24.63% | −23.56% | — | — |
| 同一批股票等權每月再平衡 · 日股 | +345.5% | +15.97% | −21.03% | — | — |
| 大市指數 buy & hold · 美股(^GSPC) | +253.2% | +13.3% | −33.9% | — | — |
| 大市指數 buy & hold · 日股(^N225) | +307.4% | +15.0% | −31.8% | — | — |
呢個表係組合層面,唔係每單。 重點唔係 v2 跑贏指數,而係佢跑唔贏 「乜都唔做、淨係等權持有同一批股票」 —— 詳情見 §4.7。
分年睇(美股 v2 組合):2017 +15%、2018 +18%、2019 +48%、2020 +12%、2021 +53%、 2022 +3%、2023 +28%、2024 +44%、2025 +16%、2026 +20%。十個曆年全部為正, 但 2022 嗰年得 +3% —— 大市過濾減少咗曝險,冇完全避開。 同一個對照組(開市價直接買上升趨勢股)喺 2018 −14%、2022 −13%、2026 −1%。
4.5 已出貨:long entry 加咗收市確認(2026-10-05)
呢個係一個方向性不對稱問題。沽空入 R1 嗰陣,價格觸及阻力本身就係 setup; 但買入 S1 支持位,「touch 然後收市跌穿」其實係該支持位失效 —— 你唔係買入支持位,你係接住跌勢。兩者用同一個 touch 規則,語意係相反嘅。
所以 v2 現行規則除了「開市價高過 S1」,再要求該交易日收市企穩 S1 之上; 觸及之後收返落去嘅單,唔當成交。
呢個唔係照搬第二手數字 —— 我哋喺自己嘅 10 年 bars、同一個引擎、同一個成本模型下做咗 A/B, 唯一分別就係呢一個入場條件:
| 市場 | 窗口 | 保留交易 | 每單平均 | 日期叢集 t |
|---|---|---|---|---|
| US200 | 訓練 2016–22 | 51.0% | +0.892% → +1.922% | +6.04 → +10.49 |
| US200 | 樣本外 2023–26 | 51.4% | +0.788% → +1.772% | +3.75 → +7.67 |
| JP200 | 訓練 2016–22 | 46.6% | +0.106% → +1.058% | +0.98 → +4.81 |
| JP200 | 樣本外 2023–26 | 51.1% | +1.180% → +2.354% | +6.03 → +8.87 |
四個格全部改善(每單升、t 升),所以唔係單一窗口嘅 accident。 每一格交易筆數 2,187–3,693,遠高於本項目「1,000 單先可以出貨」嘅門檻。 代價係交易量減半 —— 呢個規則賺錢嘅方式係唔做錯單,唔係做多啲單。
但呢個比較有一個必要嘅對照組,因為 B 臂只保留 A 臂一半交易 —— 「交易少咗所以平均高」同「揀得準」睇落一模一樣。為此喺跑之前已經把門檻寫死落 docs/close-confirmation-prereg-2026-10-18.md(z ≥ 1.96,四格全要,並且規定如果 B 落喺對照 null 之內就要公開為 negative result),然後用一個同 B 一樣大細、但係隨機抽嘅 A 臂子集做安慰劑對照 (300 trials/cell)。
四格全部企喺 null 之上:差距 +0.95 至 +1.17 個百分點,z 由 8.91 到 13.19,門檻 1.96。四個對照組嘅標準差都唔係 0,即係個對照組真係有檢定力(sd = 0 嘅安慰劑會喺冇測過任何嘢嘅情況下通過)。 結論係收市企穩呢個條件帶資訊,唔係單純減少交易量。
兩點要講清楚:(一)呢個測試只有一個對照組,唔係兩個 —— 主要對照組 P2(同 B 一樣大細、隨機抽嘅 A 臂子集)已跑並通過;次要對照組 P1(隨機換交易日)已經決定唔跑(2026-10-19)。P2 已經直接測緊假設本身嗰條軸(揀邊啲交易,唔係揀邊一日),再跑一個成本高好多、改變另一條軸嘅對照唔會令 H1/H2 條問題更利落。(二)呢個測試唔係10 日持有嘅結論 —— 兩臂都固定 HOLD = 10,量度嘅係入場資格;10 日、5 日、15 日、20 日邊個好仍然未答。
4.6 對照組測試:S1 入場係咪真係有選時價值?
要分清楚「揀上升趨勢股持有」同「等佢跌到 S1 先入」呢兩件事, 唯一方法係跑一個只有入場方式唔同嘅對照組: 同一批股票、同一個上升趨勢篩選、同一個大市過濾、同一個 3×ATR 止損、同一個 10 日離場, 唯一分別係唔等 S1,喺任何合資格日子的開市價直接買。
| 市場 | 窗口 | v2 交易筆數 | v2 每單 | 對照組每單 | 差額 |
|---|---|---|---|---|---|
| US | 訓練 2016–22 | 3,693 | +1.922% | +0.535% | +1.387pp |
| US | 樣本外 2023–26 | 2,982 | +1.772% | +0.696% | +1.076pp |
| JP | 訓練 2016–22 | 2,389 | +1.058% | +0.112% | +0.946pp |
| JP | 樣本外 2023–26 | 2,187 | +2.354% | +0.693% | +1.661pp |
四個格全部:v2 每單收益高過對照組 2.6 至 6.6 倍,兩個市場、訓練同樣本外一致。 單就「入場方式」呢一項,v2 確實有超過單純追上升趨勢嘅選擇優勢。
⚠ 三個限制,唔好跳過
一、呢個係「每單」優勢,唔係「總回報」優勢。 v2 只做對照組 2–4% 嘅交易機會(美股 3,693 對 132,032 單)。 每單贏多啲,唔等於同等資金下賺多啲。呢一項我哋已經喺 §4.7 補做咗組合層面測試, 答案係:美股零超額。
二、呢個結果同 2026-10-01 第三方審計報告相反。 嗰份報告嘅對照組數字(美股樣本外 +0.58%)同我哋(+0.694%)好接近, 但佢哋報 v2 只有 +0.45%,我哋量到 +1.77%。 差異喺 v2 嗰邊,而唔係對照組嗰邊 —— 原因未查清,我哋唔會因此聲稱第三方有錯。
三、交易量差距本身可能有選擇含義。 對照組每單都做,代表佢喺同一個上升趨勢裡面不停出入;v2 只做「跌到支持位又企穩」 嗰啲。呢個差異正正就係規則想捕捉嘅東西,但亦即係話 v2 嘅樣本更少、 對單一事件嘅依賴度更高。
順帶一提:同一批回測亦發現名義 R:R 同實績反相關 (R:R < 1.5 平均 +1.83%/單,R:R ≥ 1.5 平均 +1.14%/單), 意味住一個 R:R 下限過濾有可能反而濫走好單。 v2 冇目標價所以根本冇 R:R,呢個發現對 v2 唔構成問題。
4.7 組合層面測試:同「攞住同一批股票」比,仲有冇超額?
§4.6 嘅對照組答緊「等 S1 係咪好過追上升趨勢」。但真正嘅問題係另一條: 如果我淨係將呢 201 隻股票等權持有,我仲使唔使搞 v2? 答呢條問題先至重要,因為「攞住一批股票」本身已經好叻 —— 呢 201 隻係今日嘅大型股,唔係當年嗰 200 隻。
測試設計:v2 同對照組行完全同一套組合機器 —— 每單風險 1%、最多 10 倉、
單一名字名義上限 10%、總曝險 ≤100%、倉位滿時以最超賣者優先。
兩個市場一律用同一個 0.25% 來回成本口徑(cost_0.25%,
同首頁一致)。兩邊唯一分別仍然係入場方式。
| 2016–26 | 美股年化 | 美股最大回撤 | 日股年化 | 日股最大回撤 |
|---|---|---|---|---|
| v2 組合 | +25.59% | −13.35% | +15.63% | −19.68% |
| 同一批股票等權每月再平衡 | +24.63% | −23.56% | +15.97% | −21.03% |
| 大市指數 buy & hold | +13.3% | −33.9% | +15.0% | −31.8% |
| v2 減「等權持有」 | +0.96 pp/年 | — | −0.34 pp/年 全期差距細,拆分市況後正負號會變(§4.8) | — |
美股答案係「冇一個穩定嘅超額」。 同一批股票乜都唔做,年化就有 +24.63%,v2 +25.59% —— +0.96 pp/年,即係 v2 領先 +1.0 點/年。 兩個時段嘅正負號相反,所以全期差距唔係一個跨市況都成立嘅優勢 —— 我哋唔當佢係 alpha。 呢個對照本身就已經跑贏大市十幾個百分點,而嗰十幾個百分點全部來自 「呢批係今日嘅大型股」呢個選擇,唔係來自揀時段。
日股答案係「冇一個穩定嘅超額」。 2026-10-12 重測、2026-10-18 改用 0.25% 口徑之後,v2 全期 落後 +0.3 點/年 —— 同一批股票乜都唔做,差距只有咁多。拆開市況睇: 2016–20 落後 +9.0 點/年、2021–26 領先 +5.1 點/年。 兩個時段嘅正負號相反,所以全期差距唔係一個跨市況都成立嘅優勢 —— 我哋唔當佢係 alpha。
4.8 全期差額拆開睇:會唔會淨係係單一個市況造成?
全期數字最容易被誤讀成「十年都有優勢」。但 2016–26 其實橫跨兩個完全相反嘅 regime,
所以最緊要係睇清楚兩段各自點。下表用同一套機械重跑(scripts/portfolio_pit.py),
只係將日曆切成兩段,四格全部由 data/hk_retest_summary.json 讀出:
| 期間 | v2 年化 | 等權持有 | v2 減持有 |
|---|---|---|---|
| 日股 2016–2020 | +3.73% | +12.71% | −8.98 pp/年 |
| 日股 2021–2026 | +23.57% | +18.48% | +5.09 pp/年 |
| 美股 2016–2020 | +29.82% | +26.10% | +3.72 pp/年 |
| 美股 2021–2026 | +21.60% | +23.99% | −2.39 pp/年 |
日股全期 −0.34 pp/年,2016–20 落後 +9.0 點/年、2021–26 領先 +5.1 點/年 —— 兩個時段嘅正負號相反,所以全期差距唔係一個跨市況都成立嘅優勢 —— 我哋唔當佢係 alpha。 美股:兩個時段分別 領先 +3.7 點/年 同 落後 +2.4 點/年 —— 兩個時段嘅正負號相反,所以全期差距唔係一個跨市況都成立嘅優勢 —— 我哋唔當佢係 alpha。
呢個唔代表規則完全冇用 —— 佢喺單一交易層面仍然有可重現嘅優勢, 而 v2 嘅市況過濾本身亦確實減少咗熊市持倉(美股最大回撤 −13.35% vs 純持有 −23.56%)。 但「減少虧損」同「產生超額回報」係兩件事,我哋只證明咗前一半。 實際意義:唔好預期呢條規則喺大市唔升嘅年份跑贏單純持有。
三個未解決嘅限制
一、股票名單係靜態嘅,結構上 100% 帶倖存者偏差。 呢 201 隻係用今日市值/排名抽出嚟,之後直接套落 2016–26 全部歷史。 名單冇 as-of 日期,所以任何 10 年絕對水平都唔可信 —— 包括上面「等權持有 +24.63%」嗰個數。唯一可信嘅係 v2 同等權持有之間嘅相對差, 因為兩邊行同一批股票。
二、我哋自己喺呢個測試上面出過三個錯,全部令結果嚴重偏離。 2026-10-05 首次跑,印出美股 +1811.8%/Sharpe 2.97。三個成因: (a) 程式計咗成本但從來冇用過,盈虧係毛數; (b) 10% 名義上限只限制每筆單,唔係每隻股票 —— 實測同時可以持有多過 4 筆同一隻股; (c) Sharpe 喺「有成交嘅日子」之間做差分,再當每個間隔都係一日去年化。 另外,10 年日線庫本身有 8 個檔案損壞(最嚴重嗰隻偏離原始數據 43,781%), 已重新逐隻抓取並剔除含壞 bar 嘅交易窗。修正後就係上面嘅數字。 呢個過程記錄喺修正記錄一節,因為佢正正係點解絕對水平唔可以當真。
三、日股本來嗰 +6.9 個百分點已經拆開就冇咗,重測之後連全期都只剩 −0.34 pp/年,而且 point-in-time 偏差仍然未能量化。
我哋用 Nikkei 官方 1970 年至今嘅成分股變更紀錄做咗 point-in-time 名單
(scripts/portfolio_pit.py):剔除 17 隻 2016-09-01 之後先入選嘅股票,
當年嗰個差額只由 +6.9 變 +6.0 —— 即遲入選唔係主因。
但真正嘅偏差係已經唔存在嘅股票(2016 年係大盤、後來縮細/被剔除/除牌),
佢哋完全唔喺今日名單,所以兩邊都冇計到。而 Nikkei log 只覆蓋 Nikkei 225 成員,
同我哋嘅 TOPIX Core30 + Large70 只有 41/201 重疊,重建唔到。
再加上上面嘅市況拆分,我哋唔會聲稱日股有 alpha。
4.9 試驗台賬同披露規則
上面每一個數字,都要配上「試過幾多個先」同「點解唔係隨機」先讀得明。 本站至今一共測過 58 個設定,每一項都跑過 placebo(將受測嗰部分 隨機化,或者隨機揀同等數量嘅股票),同自己嘅 null 比。完整結果、逐個變體同 原始檔案喺 失敗測試記錄。
| 測試 | 數量 | 結果 | 來源檔 |
|---|---|---|---|
| Sprint 1 — 11 個變體 × 成本情境 | 33 個設定 | placebo 重跑 300 trials 後,0 個過到門檻 | reports/signal_search_s1_summary.json |
| Sprint 2 — crossed randomization 三軸 | 3 條軸 | 3 條 FAIL | reports/signal_search_s2_us_axis_a.json, reports/signal_search_s2_us_axis_b.json, reports/signal_search_s1_us_placebo.json |
| Sprint 3 — deployment-matched benchmark | 2 條臂 | 0 條過關 | reports/signal_search_s3_us.json |
| Direction A — fill-matched 選股(臂 × fill lag) | 4 條臂 | 4 條 SELECTION_DEAD | reports/edge_alpha_a_us.json, reports/edge_alpha_a_us_lag1.json |
| Direction C — 組合構造 OFAT | 16 個 cell | 5 個 void、0 個顯著 | reports/edge_alpha_c_us.json |
Sprint 1 嘅 placebo 重跑唔另計:佢係同一批 11 個變體換把尺 再評一次(300 trials),冇畀數據多一次「撞運」嘅機會。
Holdout 紀律
2016–20 同 2021–26 係固定切法,唔會因為結果靚就改。 任何新 claim 必須兩個分段同號先可以發佈 —— 單邊靚唔算數。 Sprint 2 三條軸(3 條,全部 FAIL)就係因為兩段之間隔籬變咗號, 或者其中一段直接輸。逐個數字同逐個檔案都喺 失敗測試記錄。
Placebo 規則
日後任何策略數字上站之前,必須並排一個 null / placebo 對照, 而且 null 要用同一個引擎、同一個 universe、同一個成本模型跑,只把受測嗰部分 隨機化。做法見 4.6 嘅對照組測試:把訊號移到隨機交易日,睇差距仲喺唔喺 null 上面。冇 placebo 嘅數字,唔上站 —— 本頁 4.7 嘅等權對照、4.5 嘅收市確認 A/B,全部都係咁做嘅。
5. 風險管理
- 每單風險 = 權益 1%;單一名義上限 10%;同時最多 10 倉
- 入場前已定死止損價,唔會因為盤中情緒改動
- 冇目標價 —— 離場時間同樣係規則一部分,唔係睇心情
- 港股訊號只作資訊:沽空需借券資格,成本結構亦唔同
更正:本頁舊版寫嘅「每筆 1–2% 帳戶、持倉 30–40% 上限、唔過夜、收市前必須平倉」 係 v1 日內交易規則,v2 已經唔適用。v2 係持有 10 個交易日嘅 swing 邏輯。
6. T-1 Hard Rule
- 永遠用上一個交易日收市價計訊號,唔用 live intraday 數
- 各市場喺自己收市後先重建,開市前睇訊號
- 所有特徵(20/60/120/200 日窗口、ATR、200 天線斜率)都 shift(1),零 look-ahead
- Universe 係「今日成交額 top-200」,對過去窗口有 selection bias (今日仍活躍嘅股票傾向市值大、曾經跑贏)。理想係 point-in-time universe (用當時可得數據動態構建)—— 未完成,此處誠實標明
7. 點解唔會有 LLM 幻覺數字
- 所有 OHLC、S/R、特徵、訊號、觸發價、止損價由 Python 確定性計算
- LLM 只可以出解釋文字(if-then 情境、陷阱),唔可以出數字
- 頁面上每一個指數、匯率、升跌比例都由同一份數據層生成, 包括呢一頁 —— 站內唔存在人手輸入嘅市場數字
8. 資料來源
- Yahoo Finance(yfinance)— 歷史日線 OHLC,400 根 bar,每股每個交易日重取
- 大市過濾用指數/ETF 自身收市價對其 200 天線
- 取數失敗時唔會當作「大市向下」發訊號 —— 會用最後一次有效讀數並標明係快取值
常見問題
Leeks Terminal 嘅信號係點計出嚟嘅?
全部由 Python 對 T-1 日線 OHLC 確定性計算。先疊 20/60/120/200 日 S/R ladder,再要求股價喺 200 天線之上且 200 天線 20 日內向上,並要求大市指數喺自己嘅 200 天線之上,然後喺 S1 掛限價買入、3×ATR 止損、第 10 個交易日收市離場。LLM 只負責解釋文字,唔會產生任何數字。
點解淨係做多?之前唔係有做空嘅策略嗎?
有。舊版有 SELL_R1 同 BREAK_SHORT。2026-10-01 嘅第三方 10 年審計顯示,SELL_R1 喺 T+5 每單淨蝕 0.57%,而且喺 30 個 market × horizon × period 組合全部為負;BREAK_LONG / BREAK_SHORT 嘅止損觸發率達 67–69%。呢兩類訊號已全部停用。港股因為沽空涉及借券資格同額外成本,扣約 0.45% round-trip 後樣本外淨收益係 +0.02%,等於零,所以只作資訊參考。
你哋頁面以前嘅 win% 係咩?而家點變?
以前每隻股掛住一個歷史勝率 badge(例如 60 日勝率),令人以為係信心指標。審計實測該勝率同下一筆交易嘅 rank correlation 只有 −0.001 / −0.004,即係冇任何預測力。這個 badge 已停用;表格中嘅 Win% 欄而家只顯示該 setup 本身喺樣本外(2023–2026)嘅歷史勝率,並附交易筆數 n 讓你自行判斷樣本大小。
T+10 swing 而家點計?以前話 +3.02% 係咪假嘅?
以前網站多處引用 T+10 swing +3.02%,嗰個係逐筆百分比直接相加,等於假設每一單都用盡 100% 資金同時持有,唔係一個投資組合回報 —— 呢個數我哋已經撤回。
2026-10-18:我哋曾經用一個「誠實定資模擬」嘅 T+10 總回報去取代佢,而家連嗰個數都一齊撤回,因為佢冇任何 run 產生過:唯一可能產生佢嘅 scripts/monthly_swing_backtest.py 讀嘅 data/dsa_hk.db 入面,daily_report 表係 0 行,個 script 會直接以「No BUY signals in window」結束,根本跑唔到。一個背後冇 run 嘅回測數字唔係證據,所以我哋唔會用另一個數字填返個位。(/equity_curve_t* 嗰條係十年美股 v2 曲線,係另一個實驗,唔係同一個六星期港股 swing 窗口,唔可以攞嚟頂。)而家網站唔再將 T+10 當成 edge 宣傳。
頁面啲 performance 數字係你哋自己驗證㗎?
係,2026-10-05 起用嘅係本站自測數字:Yahoo 10 年日線、同一個引擎、按市場計成本、日期叢集 t。重跑方法同輸入資料都公開:scripts/ab_close_hold.py(每單 A/B)、scripts/control_test.py(對照組)、scripts/portfolio_test.py(組合層面),輸入資料 data/bt10y2/。⚠ 舊嘅 data/bt10y/ 快取經逐隻重抓比對後確認有 8 個檔案損壞,唔應該再用。要留意一點:我哋引擎重現唔到 2026-10-01 第三方審計報告嘅基線,同一規則高約 1.7 倍,差異原因未查清 —— 所以兩邊數字唔可以直接比較,有效嘅係同一引擎內嘅 A/B 相對差。
v2 係咪真係有選時能力,定只係買上升趨勢股?
要分兩層答。單筆層面:有優勢 —— 同一批股票、同一個篩選、同一個大市過濾,唯一分別係等 S1 定喺開市價直接買,v2 每單收益喺四個窗口全部高過對照組 2.6 至 6.6 倍。但組合層面:美股冇穩定超額 —— 將同一批股票等權每月再平衡,2016–26 年化 +24.63%,v2 +25.59%,即係 v2 領先 +1.0 點/年;但要留意:差額嘅正負號喺 2016–20 同 2021–26 之間會變,即係全期嗰個數由單一 regime 決定,唔應該當成持久 alpha 去引用。即係話每單揀得准,但呢個優勢喺美股冇轉化成一個穩定、跑贏「唔做嘢」嘅回報。日股喺同一個 0.25% 成本口徑下,v2 落後 +0.3 點/年(v2 +15.63% 對等權 +15.97%);按市況拆開:2016–20 落後 +9.0 點/年、2021–26 領先 +5.1 點/年 —— 兩個時段嘅正負號相反,所以全期差距唔係一個跨市況都成立嘅優勢 —— 我哋唔當佢係 alpha。詳見方法論頁 §4.6 同 §4.7。
數據幾時更新?用即市價定收市價?
永遠使用 T-1 收市價(hard rule)。各市場喺自己收市後重建全站,開市前查看訊號即可,不會使用 live intraday 數據計算。
呢個站係投資建議嗎?
不是。全部內容屬教育用途並附免責聲明。短線交易風險極高,過往表現不代表將來回報;v2 每單樣本外勝率係美股 60.3%/2,982 單、日股 65.5%/2,187 單(樣本外 2023–26,data/ab_close_hold.json)。但要睇清楚:每單勝率唔等於組合超額回報 —— 組合層面 v2 喺美股領先 +1.0 點/年、日股落後 +0.3 點/年(對「乜都唔做、淨係等權持有同一批股票」,0.25% 成本口徑)。唔構成任何回報承諾。
免責聲明:教育用途,非投資建議。Backtest 唔等於 live 表現。
v2 每單樣本外勝率係美股 60.3%/2,982 單、日股 65.5%/2,187 單(樣本外 2023–26,data/ab_close_hold.json);但每單勝率唔等於組合超額回報 ——
組合層面 v2 喺美股領先 +1.0 點/年、日股落後 +0.3 點/年
對「乜都唔做、淨係等權持有同一批股票」。短線及 swing 交易都可能損失全部本金。
References
- Leeks Terminal 10 年訊號審計報告(第三方,2026-10-01)— v2 規則來源與 performance 數字出處
- Barber, B., Lee, Y., Liu, Y., Odean, T. (2014). "The cross-section of speculator skill: Evidence from day trading." Journal of Financial Markets.
- Bailey, D., López de Prado, M. (2014). "The Deflated Sharpe Ratio." Journal of Portfolio Management.
- yfinance — github.com/ranaroussi/yfinance