台股籌碼反向訊號回測系統¶
性質說明
本頁記錄的是一套研究/回測系統(out-of-sample 模擬),非投資建議、也非實單對帳績效。經回測驗證,文中的籌碼反向訊號(大戶集中度 A/B 及其組合)並不具穩定預測力、三條主要籌碼線均未通過驗證,本頁僅作為否證案例與研究流程紀錄保留,請勿視為可用策略。
專案位置¶
strategy 專案根目錄。
架構總覽¶
fetch_data.py → data/chips/ + data/prices/
(TDCC 大戶集中度 + yfinance 股價)
fetch_finlab.py → data/finlab/
(finlab 三大法人/融資券/借券,2007~2018)
fetch_twse.py → data/twse/
(TWSE/TPEX 公開資料,2019~今)
fetch_us.py → data/us_finlab/
(finlab 美股 Nasdaq100,~2018截止)
backtest.py → results/detail.parquet + summary.csv
analyze.py → 深度分析
進出場邏輯(2026-05-10 版本)¶
訊號 A — 大戶↑ 散戶↓(偏多)¶
- 籌碼條件:千張大戶持股比例連續 3 週上升,散戶連續 3 週下降
- 技術條件:進場日 MA5 > MA10
- 額外條件(非前50大):收盤 > MA5
- 強度門檻:big_chg ≥ 2%(大戶 3 週累積增幅)
- 進場:訊號日後第一交易日開盤價
訊號 B — 大戶↓ 散戶↑(偏空反向)¶
- 籌碼條件:千張大戶連續 3 週下降,散戶連續 3 週上升
- 技術條件:MA5 < MA10 且 收盤 < MA5
- 強度門檻:big_chg ≥ 2%
- 進場:訊號日後第一交易日開盤價
出場¶
- 固定持有期(1 / 4 / 12 週):持有期結束後第一交易日開盤價出場
- MA10 動態出場:收盤跌破 MA10 當日收盤價出場
注意:訊號 B 的 MA10 出場績效差(-0.63%,勝率 37.7%),不建議使用。
最新回測結果(前 100 大,big_chg ≥ 2%,2026-05-10)¶
訊號 A(n=49)¶
| 持有期 | 平均報酬 | 中位數 | 勝率 | 夏普 |
|---|---|---|---|---|
| 1 週 | +3.80% | +1.13% | 51.0% | 2.47 |
| 4 週 | +13.57% | +8.52% | 73.5% | 2.07 |
| 12 週 | +35.35% | +18.65% | 87.8% | 1.57 |
訊號 B(n=61)¶
| 持有期 | 平均報酬 | 勝率 | 夏普 |
|---|---|---|---|
| 4 週 | +5.08% | 62.3% | 1.59 |
| 12 週 | +21.40% | 77.0% | 1.28 |
三組對比(訊號 A,12 週)¶
| 分組 | 平均報酬 | 勝率 | 夏普 | 備註 |
|---|---|---|---|---|
| 前 50 大 | +41.98% | 91.7% | 1.49 | |
| 51~100 大 | +34.88% | 89.2% | 1.74 | 甜蜜區 |
| 100 大以外 | +12.26% | 65.0% | — | 跌 -10% 率 19.6%,風險大 |
5 格資金輪動(前 50 大訊號 A,12 筆訊號)¶
| 持有期 | NAV | 報酬 | MDD |
|---|---|---|---|
| 1 週 | 143.98 | +44% | -3.6% |
| 4 週 | 190.26 | +90% | -5.3% |
| 12 週 | 325.79 | +226% | 0% |
重要發現¶
- 訊號 B 跳空方向顯著:跳空↓進場 4 週勝率 65.1%(夏普 1.48);跳空↑進場 4 週勝率 41.4%(虧損),p<0.001
- 訊號 A 跳空方向不顯著:跳空↑/↓差異無統計意義(p>0.05)
- big_chg ≥ 2% 過濾效果強:樣本減少 76%,12 週平均報酬從 +8.6% 升至 +17.4%
資料限制¶
- TDCC 籌碼只保留約 46 週歷史(無法延伸)
- finlab 免費版資料截止 2018-12-28(每日 500 MB 上限)
- 股價資料有 3 年歷史(yfinance,from ~2023-04)
- Goodinfo 有反爬蟲保護,無法自動化批量抓取歷史籌碼
資料覆蓋對照(finlab + TWSE 合併)¶
格式:Wide Parquet,index=日期,columns=股票代號
| Dataset | 類別 | finlab 範圍 | twse 範圍 | 備註 |
|---|---|---|---|---|
foreign_net |
三大法人 | 2012~2018 | 2019~今 | |
foreign_buy/sell |
三大法人 | 2012~2018 | — | finlab only |
trust_net |
三大法人 | 2012~2018 | 2019~今 | |
dealer_net |
三大法人 | 2012~2018 | 2019~今 | |
dealer_hedge_net |
三大法人 | 2012~2018 | 2019~今 | |
margin_balance/buy/sell |
融資融券 | 2009~2018 | 2019~今 | |
margin_util |
融資融券 | 2009~2018 | — | finlab only |
short_balance/sell/cover |
融資融券 | 2009~2018 | 2019~今 | |
short_util |
融資融券 | 2009~2018 | — | finlab only |
offset_trade |
融資融券 | 2009~2018 | 2019~今 | |
borrow_balance |
借券 | 2007~2018 | — | finlab only |
lend_sell |
借券 | 2007~2018 | — | finlab only |
lend_sell_balance |
借券 | 2007~2018 | — | finlab only |
pe/pb/div_yield |
評價指標 | 2010~2018 | 2019~今 | |
rev_monthly/yoy/mom |
月營收(月頻) | 2005~2018 | 2019~今 | |
dir_hold_ratio/inc/dec |
董監持股(月頻) | 2004~2018 | — | finlab only |
dir_pledge_ratio |
董監持股(月頻) | 2004~2018 | — | finlab only |
inv_1000k_ratio/count |
大戶集中度(週頻) | 2018 | — | 主要用 data/chips/ |
daytrade_vol |
當沖 | 2014~2018 | 2019~今 | |
taiex_return |
大盤基準 | 2007~2018 | — | finlab only |
技術踩坑¶
- finlab FinlabDataFrame:回傳的不是普通 DataFrame,不能直接操作 index。必須先
df = pd.DataFrame(raw)轉換後再操作 - pyarrow 版本:pandas 3.0.3 需要 pyarrow >= 13.0.0(已升級至 24.0.0)
- 跨平台路徑:Bash 工具不能直接使用 Windows 絕對路徑,需改用 PowerShell 工具或
/mnt/<drive>/...格式
最新研究延伸(2026-05-30)¶
本頁原本整理較早期的台股籌碼訊號 A/B 與資料覆蓋。後續已另開新頁,專門記錄 2026-05-30 這輪「大戶增持 / 散戶減少 + 產業資金流」研究,包括:
- 固定半導體 / 電子零組件產業版本
- TDCC 公告延遲 lag 0/3/5/7 敏感度
- 動態產業資金流 Top 1 / Top 3 / Top 5
- 固定產業 vs 動態輪動 vs 混合策略比較
- 月份 / 季度 cohort 檢查
- 外資 / 投信資料缺口診斷
詳見:台股大戶散戶產業資金流策略研究。