從研究到下單的台股量化平台。
從資料更新、選股、策略回測、參數優化、機器學習到收盤後的下單清單,都在同一個平台完成。Claude 協助設計與檢討策略,但只能存取樣本內資料,樣本外驗證一律由程式執行。
- 個內建策略,其中 22 個附學術文獻
- 28
- 個內建策略,其中 22 個附學術文獻
- 個因子的 IC 與分組分析
- 20
- 個因子的 IC 與分組分析
- 個 API 路由
- 75
- 個 API 路由
- 平日收盤後自動計算訊號並推播
- 18:30
- 平日收盤後自動計算訊號並推播

01
要解決的問題
零訂閱成本
需要可自行部署、沒有月費,資料與程式都由自己掌握的研究環境。
券商未提供散戶 API
國泰證券未開放散戶 API,無法由程式下單,因此採半自動流程:計算清單、推播通知、手動下單。
回測偏誤
回測容易誤用當時尚未公布的資料(前視偏誤),或因過度調參而過度擬合。
雲端主機遭 Yahoo 限流
雲端主機向 Yahoo 取資料會被限流,因此還原股價改以 FinMind 原始資料自行計算。
邊做邊學
身為量化新手,需要能查詢資料、執行回測並解釋結果的 AI 家教。
02
系統架構
前端 Next.js 部署於公開網域,透過 /api 代理至內網的 FastAPI,資料存放於 DuckDB。背景工作與排程都在 API 程序內執行,避免 DuckDB 被多個程序同時鎖定。
← 左右滑動看完整流程 →
使用技術
- 前端
- Next.jsReactTailwind CSSTanStack Querylightweight-chartsECharts
- 後端與資料
- PythonFastAPIDuckDBpandasNumPy
- 量化與機器學習
- OptunaLightGBM
- AI
- Claude CodeMCPAnthropic API
- 部署
- DockerZeaburDiscord
03
主要功能
個股研究
K 線與技術指標、月營收、三大法人、本益比河流圖與 AI 研究報告。
選股器
以規則條件篩選股票池或全體上市櫃,並可一鍵轉為策略或警示。
策略工作室
28 個內建策略與視覺化規則建構器,也能以自然語言請 Claude 設計。
回測報告
權益曲線對照 0050、回撤、月報酬熱力圖、滾動夏普、買賣點標記與 AI 檢討。
參數優化
Optuna 樣本內尋優、樣本外驗證、前 10 名穩健度分析與 Deflated Sharpe。
因子與機器學習
20 個因子的 IC 與分組報酬;LightGBM 滾動訓練與特徵重要度。
AI 研究員與家教
Claude 多輪提出並回測策略;家教可查詢資料、執行回測並解讀截圖。
截圖問 AI
在任何頁面按住 Alt 點選卡片、表格或圖表,即可在側欄詢問 Claude。
每日訊號與帳戶
收盤後依資金配置產生下單清單,整股與零股分列,並記錄實際成交。
上線追蹤與警示
實盤表現落後回測或回撤過深時推播通知;條件警示只在出現新符合標的時觸發。
04
技術細節
04.1
避免前視偏誤:資料以公布日為準
回測中的每筆資料都對齊實際可取得的日期,而非資料所屬的期間。
- 月營收對齊 FinMind 的實際公布時間,缺值時以次月 10 日為準。
- 季報自法定期限隔日起才納入:Q1 5/15、Q2 8/14、Q3 11/14、年報 3/31。
- FRED 月資料依公布延遲平移,晚於當日公布者一律排除。
3 月營收未公布Q1 季報未公布FRED 月資料未公布回測日1 月2 月3 月4 月5 月6 月- 3 月營收:次月 10 日(無公布時間時)
- Q1 季報:法定期限 5/15 的隔天
- FRED 月資料:依公布延遲平移
灰色是資料所屬期間;回測日走過「可用」那一格之前,這筆資料都不存在。
04.2
收盤決策,次日開盤成交
回測引擎依台股的實際交易方式模擬,交易成本採台灣實際費率。
- 手續費 0.1425% × 券商折扣、滑價預設 0.1%、賣出證交稅 0.3%(ETF 為 0.1%)。
- 只交易權重有變動的部位;無法交易的日子順延下單;現金不足時買單等比例縮減,不融資、不放空。
- 01收盤 t策略算出目標權重
- 02開盤 t+1只交易權重變動的部位
- 03先賣手續費+證交稅+滑價
- 04再買現金不足時等比例縮減
- 05收盤結算權益、回撤、夏普
04.3
AI 不接觸樣本外資料
AI 研究員可以反覆提出並回測策略,但只能使用樣本內資料;候選策略由程式執行樣本外驗證,並以 Deflated Sharpe 校正多次嘗試帶來的運氣成分。
- Claude 透過內部 MCP 工具回測,預設 12 次嘗試,最多提交 3 個候選策略。
- AI 產出的是經 JSON Schema 驗證的規則,而非程式碼。
樣本內:Claude 看得到
嘗試 1/12透過內部 MCP 工具回測(lab_backtest)
AI 碰不到樣本外:只有程式
- 候選 1等待
- 候選 2等待
- 候選 3等待
Deflated Sharpe 扣掉多次嘗試的運氣
長條只是示意,沒有對應真實數字。
05
系統畫面


