Quantitative Trading Strategies — 15 種常見投資策略完整指南
概論(Overview)
量化交易是將投資決策轉為明確、可重複、可回測的規則,交由程式(或 AI Agent)自動篩選標的,去除人為情緒與盤感偏誤。本指南把 15 種常見策略分為 5 大類,每種策略均附「核心邏輯 / 參數 / 選股條件 / AGENT 提示詞」,並額外提供 20+ 技術指標、15 種基本面因子、AI Agent 提示詞資料庫、多因子評分系統、風險管理、回測框架 與 績效分析 等完整工具鏈,可直接套用於 DB 前 300 大市值股票的每日選股。
本指南內容地圖
| # | 章節 | 內容 |
|---|---|---|
| 概論 | Overview | 核心價值、生命週期、DB 速查 |
| 附錄A | 技術指標速查 | 20+ 指標公式、參數、訊號 |
| 附錄B | 基本面因子 | 15 因子定義、方向、來源 |
| 一~五 | 15 種策略 | 邏輯 / 條件 / Agent 提示詞 |
| 六 | Agent 提示詞資料庫 | 每策略可直接複製 Prompt |
| 七 | 多因子評分系統 | Scoring Engine 打分流程 |
| 八 | 風險管理 | Risk Management 部位與停損 |
| 九 | 回測框架 | Backtesting Framework |
| 十 | 績效分析 | Performance Analytics 指標 |
三大核心價值
| 價值 | 說明 |
|---|---|
| 規則化 | 條件明確,不受情緒影響,人人可複製 |
| 可回測 | 用歷史資料驗證勝率與風報比後才上線 |
| 自動化 | Agent 依提示詞每日執行,穩定產出選股清單 |
策略執行生命週期
| 階段 | 動作 | 產出 |
|---|---|---|
| 1 構想 | 選定策略與適用行情 | 策略假設 |
| 2 選股 | 套用選股條件 + Agent 提示詞 | 候選清單 |
| 3 回測 | 用歷史資料驗證績效 | 勝率 / 最大回撤 |
| 4 風控 | 設定停損、部位、權重 | 風控參數 |
| 5 上線 | 每日自動執行推送 | 選股報告 |
DB 資料表速查(提示詞共用)
| 資料表 | 關鍵欄位 | 用途 |
|---|---|---|
stock_overview | market_cap / roe / debt_ratio | 篩前 300 大、品質因子 |
daily_prices | close / pe_ratio / pb_ratio / dividend_yield | 當日估值與價值因子 |
daily_prices_YYYYMMDD | 歷史 close / high / low | 動量、均線、通道、波動率 |
ETF 排除規則:
pe_ratio、pb_ratio、dividend_yield三項皆為 NULL 者視為 ETF,選股前先過濾。
⚠️ 資料源現狀核對(2026-07-10 實測,Agent 執行前必讀)
本指南欄位假設與實際 TWSE/MOPS 抓取結果部分不符,以下為核對結果,避免用不存在的欄位導致選股失敗。
實際資料來源(非假想 DB):
- 市值/股本:
fetch_market_cap.py→ TWSE OpenAPIt187ap03_L(寫入stock_overview.market_cap/shares_outstanding) - 日線 OHLCV:
fetch_history.py→ TWSEexchangeReport/STOCK_DAY(目前僅存 close / volume,open/high/low 被捨棄未寫入) - 基本面:
update_all.py→ MOPSt187ap06_L_ci.csv(損益)、t187ap07_L_ci.csv(資產負債)
✅ 實際存在、可使用的欄位:
| 表 | 欄位 |
|---|---|
stock_overview | stock_id / stock_name / industry / roe / gross_margin / net_margin / debt_ratio / eps / market_cap / shares_outstanding |
daily_prices | trade_date / stock_id / stock_name / close / volume / pe_ratio / pb_ratio / dividend_yield |
daily_prices_YYYYMMDD | 同上(歷史) |
❌ 指南提及但 DB 不存在的欄位(暫不可算,需先擴充抓取):
| 缺失欄位 | 影響章節 |
|---|---|
daily_prices.open / high / low | 附錄 A 大半指標(SAR/ATR/DMI/ADX/KD/CCI/WilliamsR/BOLL/KC/OBV/MFI/CMF/VWAP)與策略 1/3/4/5/7/11 的「來源欄位」寫 high/low 是假的,目前只能算 MA/EMA/MACD/RSI/Momentum/StdDev(僅用 close) |
stock_overview.roa | 附錄 B 因子 6 |
stock_overview 營業利益率 / 營收年增率 / 流動比率 / FCF | 附錄 B 因子 8/12/13/15 |
stock_overview 除權息日 / 填息率 | 策略 13 |
stock_overview EPS 去年同季(年增率計算用) | 策略 12 |
擴充排程:已規劃修改
fetch_history.py將 STOCK_DAY 的 open/high/low 寫入 DB(見「下一步」Phase 0),完成後上表 ❌ 項除 high/low 類外其餘仍需 MOPS 額外欄位,不在本次擴充範圍。
如何閱讀本指南
每個策略統一四段結構:核心邏輯(一句話)→ 參數表(常見設定)→ 選股條件(可執行判斷式)→ 🤖 AGENT 提示詞(對應 DB 表/欄位的提示詞表 + 可複製指令)。
策略分類總覽
| 分類 | 策略數量 | 適用場景 | 前 300 大適用性 |
|---|---|---|---|
| 趨勢動量 | 4 | 單邊行情、強趨勢市場 | ⭐⭐⭐⭐⭐ |
| 均值回歸 | 3 | 震盪盤整、區間波動 | ⭐⭐⭐ |
| 因子投資 | 4 | 長期持有、價值配置 | ⭐⭐⭐⭐⭐ |
| 事件驅動 | 2 | 財報季、除權息 | ⭐⭐⭐⭐ |
| 多因子複合 | 2 | 穩健超額報酬 | ⭐⭐⭐⭐⭐ |
附錄 A:技術指標速查(20+ Technical Indicators)
依功能分為四大族群,皆可由 daily_prices_YYYYMMDD 的 OHLCV 計算。
A-1 趨勢類(Trend)
| 指標 | 全名 | 常用參數 | 多方訊號 | 來源欄位 |
|---|---|---|---|---|
| MA | 簡單移動平均 | 5/20/60 | close > MA 且均線上揚 | close |
| EMA | 指數移動平均 | 12/26 | 短 EMA 上穿長 EMA | close |
| MACD | 指數平滑異同 | 12/26/9 | 柱>0 且 DIF 上穿 DEA | close |
| ADX | 平均趨向指標 | 14 | ADX>25 且 +DI>-DI | high/low/close |
| SAR | 拋物線轉向 | 0.02/0.2 | 價格在 SAR 之上 | high/low |
| DMI | 動向指標 | 14 | +DI > -DI | high/low/close |
A-2 動量類(Momentum)
| 指標 | 全名 | 常用參數 | 超賣/多方 | 來源欄位 |
|---|---|---|---|---|
| RSI | 相對強弱 | 14 | <30 超賣、>50 偏多 | close |
| KD | 隨機指標 | 9,3,3 | K 上穿 D 且 <20 | high/low/close |
| CCI | 順勢指標 | 20 | 由 -100 向上回升 | high/low/close |
| ROC | 變動率 | 12 | ROC>0 動能轉正 | close |
| WilliamsR | 威廉指標 | 14 | < -80 超賣 | high/low/close |
| Momentum | 動量 | 10 | close - N日前 close >0 | close |
| Stoch RSI | 隨機 RSI | 14 | <0.2 超賣 | close |
A-3 波動類(Volatility)
| 指標 | 全名 | 常用參數 | 用途 | 來源欄位 |
|---|---|---|---|---|
| BOLL | 布林帶 | 20, 2σ | 觸下軌超賣、寬窄判波動 | close |
| ATR | 真實波幅均值 | 14 | 設停損距離、部位大小 | high/low/close |
| StdDev | 標準差 | 20 | 年化波動率 = σ×√252 | close |
| KC | 肯特納通道 | 20, 2ATR | 突破/擠壓判斷 | high/low/close |
A-4 量能類(Volume)
| 指標 | 全名 | 常用參數 | 多方訊號 | 來源欄位 |
|---|---|---|---|---|
| OBV | 能量潮 | — | OBV 創高伴隨價漲 | close/volume |
| MFI | 資金流量 | 14 | <20 超賣、量價背離 | high/low/close/volume |
| VWAP | 成交量加權均價 | 日內 | close > VWAP 偏多 | close/volume |
| CMF | 蔡金資金流 | 20 | CMF>0 資金流入 | high/low/close/volume |
| VOL MA | 量能均線 | 5/20 | 量 > 量均線放量 | volume |
附錄 B:基本面因子(15 Fundamental Factors)
| # | 因子 | 類型 | 優選方向 | 來源 | 說明 |
|---|---|---|---|---|---|
| 1 | PE 本益比 | 價值 | 低 | daily_prices.pe_ratio | 股價/EPS,>0 才有意義 |
| 2 | PB 股價淨值比 | 價值 | 低 | daily_prices.pb_ratio | 股價/每股淨值 |
| 3 | PEG | 價值/成長 | 低 | 計算 | PE / EPS 成長率 |
| 4 | 殖利率 DY | 價值 | 高 | daily_prices.dividend_yield | 現金股利/股價 |
| 5 | ROE | 品質 | 高 | stock_overview.roe | 股東權益報酬率 |
| 6 | ROA | 品質 | 高 | stock_overview.roa | 資產報酬率 |
| 7 | 毛利率 | 品質 | 高 | stock_overview | 反映定價能力 |
| 8 | 營業利益率 | 品質 | 高 | stock_overview | 本業獲利能力 |
| 9 | 淨利率 | 品質 | 高 | stock_overview | 最終獲利能力 |
| 10 | EPS | 成長 | 高/正 | stock_overview.eps | 每股盈餘 |
| 11 | EPS 年增率 | 成長 | 高 | 計算 | 獲利成長動能 |
| 12 | 營收年增率 YoY | 成長 | 高 | stock_overview | 營運擴張速度 |
| 13 | 自由現金流 FCF | 品質 | 正/高 | stock_overview | 營運現金-資本支出 |
| 14 | 負債比 | 風險 | 低 | stock_overview.debt_ratio | 總負債/總資產 |
| 15 | 流動比率 | 風險 | 高 | stock_overview | 短期償債能力 |
標準化建議:各因子先轉「排名百分位(0~100)」再加權,避免量綱不一致;優選方向為「低」者取
100 - 排名%。
一、趨勢動量類(Trend & Momentum)
1. 均線交叉(Moving Average Crossover)
核心邏輯:短均線上穿長均線買進,下穿賣出
| 參數 | 常見組合 | 說明 |
|---|---|---|
| 短/長 | 5/20 | 短期交易,敏感度高 |
| 短/長 | 20/60 | 中期波段,訊號穩定 |
| 短/長 | 60/120 | 長期趨勢,假訊號少 |
選股條件:今日收盤價 > MA5 > MA20 > MA60(多頭排列)
🤖 AGENT 提示詞
| 用途 | 資料表 | 欄位/條件 |
|---|---|---|
| 均線計算 | daily_prices_YYYYMMDD | 近 60 日 close |
| 篩選 | 計算值 | close > MA5 > MA20 > MA60 |
| 排序 | 計算值 | 依 (close-MA20)/MA20 乖離率降冪 |
從 daily_prices_YYYYMMDD 取前300大近60日 close,計算 MA5/MA20/MA60,
篩出多頭排列(close>MA5>MA20>MA60),依 MA20 乖離率排序,輸出前10檔:代號/名稱/收盤/MA5/MA20/MA60
2. 動量策略(Momentum)
核心邏輯:過去 N 天報酬率排名前 10% 做多
| 回看期 | 持倉期 | 說明 |
|---|---|---|
| 60 天 | 20 天 | 中期動量,最常見 |
| 20 天 | 5 天 | 短期動能,交易頻率高 |
| 252 天 | 20 天 | 長期反轉前的動量延續 |
選股條件:過去 60 天報酬率排名前 10%(前 30 名)
🤖 AGENT 提示詞
| 用途 | 資料表 | 欄位/條件 |
|---|---|---|
| 報酬率 | daily_prices_YYYYMMDD | (今日close/60日前close)-1 |
| 篩選 | 計算值 | 報酬率排名前 10% |
| 排序 | 計算值 | 60 日報酬率降冪 |
從 daily_prices_YYYYMMDD 取前300大,計算(今日close/60交易日前close-1)為60天報酬率,
排序取前10檔(排名前10%),輸出:代號/名稱/60D報酬率/現價
3. 通道突破(Donchian Channel / 海龜交易法)
核心邏輯:突破近 N 天高點買進,跌破低點賣出
| 參數 | 說明 |
|---|---|
| 20 日通道 | 短線突破,海龜經典 |
| 55 日通道 | 中線波段,過濾假突破 |
選股條件:收盤價 = 近 20 日最高價
🤖 AGENT 提示詞
| 用途 | 資料表 | 欄位/條件 |
|---|---|---|
| 通道上緣 | daily_prices_YYYYMMDD | 近 20 日 high 最大值 |
| 突破判斷 | 計算值 | 今日 close >= 近20日最高 |
| 排序 | daily_prices | 成交量放大者優先 |
從 daily_prices_YYYYMMDD 取前300大近20日 high,找今日 close 突破(>=)近20日最高價者,
依成交量降冪排序,輸出前10檔:代號/名稱/現價/20日高點/量能
4. MACD 策略
核心邏輯:MACD 線上穿 Signal 買進,下穿賣出
選股條件:MACD 柱 > 0 且 MACD 線向上
🤖 AGENT 提示詞
| 用途 | 資料表 | 欄位/條件 |
|---|---|---|
| DIF/DEA | daily_prices_YYYYMMDD | close 算 EMA12/EMA26/DEA9 |
| 篩選 | 計算值 | MACD 柱>0 且 DIF 今日>昨日 |
| 排序 | 計算值 | MACD 柱值降冪 |
從 daily_prices_YYYYMMDD 取前300大 close,計算 DIF=EMA12-EMA26、DEA=DIF的EMA9、
柱=(DIF-DEA)*2,篩出柱>0且DIF向上者,依柱值排序輸出前10檔:代號/名稱/DIF/DEA/柱
二、均值回歸類(Mean Reversion)
5. 布林帶回歸(Bollinger Bands)
核心邏輯:價格觸及下軌買進,觸及上軌賣出
| 參數 | 說明 |
|---|---|
| 20 日 ± 2σ | 標準布林帶 |
| 觸下軌 + RSI < 30 | 雙重確認,勝率更高 |
選股條件:收盤價 < 布林下軌
🤖 AGENT 提示詞
| 用途 | 資料表 | 欄位/條件 |
|---|---|---|
| 中軌/標準差 | daily_prices_YYYYMMDD | 近 20 日 close 均值與 σ |
| 下軌 | 計算值 | 下軌 = MA20 - 2σ |
| 篩選 | 計算值 | 今日 close < 下軌 |
從 daily_prices_YYYYMMDD 取前300大近20日 close,計算 MA20 與標準差σ,
下軌=MA20-2σ,篩出今日 close<下軌者,依 (下軌-close)/close 幅度排序輸出前10檔
6. RSI 超買超賣
核心邏輯:RSI < 30 超賣買進,RSI > 70 超買賣出
| RSI 週期 | 說明 |
|---|---|
| RSI(14) | 標準參數 |
| RSI(9) | 敏感度更高 |
選股條件:RSI(14) < 35(超賣區)
🤖 AGENT 提示詞
| 用途 | 資料表 | 欄位/條件 |
|---|---|---|
| 漲跌幅 | daily_prices_YYYYMMDD | 近 15 日 close 日變動 |
| RSI | 計算值 | 14 日平均漲幅/(平均漲+跌) |
| 篩選 | 計算值 | RSI(14) < 35 |
從 daily_prices_YYYYMMDD 取前300大近15日 close,計算 RSI(14)=100-100/(1+平均漲幅/平均跌幅),
篩出 RSI<35(超賣)者,依 RSI 升冪排序輸出前10檔:代號/名稱/RSI/現價
7. 配對交易(Pairs Trading)
核心邏輯:找兩檔高度相關股票,價差偏離時做多弱勢 / 放空強勢
適合產業配對:
- 台積電 (2330) vs 聯電 (2303)
- 富邦金 (2881) vs 國泰金 (2882)
- 台塑 (1301) vs 南亞 (1303)
選股條件:價差 Z-score > 2 時放空強勢股 + 買進弱勢股
🤖 AGENT 提示詞
| 用途 | 資料表 | 欄位/條件 |
|---|---|---|
| 價差序列 | daily_prices_YYYYMMDD | 兩檔近 60 日 close 比值 |
| Z-score | 計算值 | (今日價差-均值)/標準差 |
| 訊號 | 計算值 | |Z| > 2 觸發配對 |
給定配對(如2330,2303),從 daily_prices_YYYYMMDD 取近60日 close,
計算價差比=A/B,Z=(今日價差-均值)/σ;當 Z>2 放空A買B、Z<-2 反向,輸出配對/Z值/建議方向
三、因子投資類(Factor Investing)
8. 價值因子(Value Factor)
核心邏輯:低 PE、低 PB、高殖利率的股票長期有超額報酬
| 因子 | 條件 | 說明 |
|---|---|---|
| 低 PE | PE < 12 且 PE > 0 | 排除虧損股 |
| 低 PB | PB < 1.5 | 股價被低估 |
| 高殖利率 | DY > 5% | 穩定配息 |
選股條件:PE < 12 AND PB < 1.5 AND DY > 5%
🤖 AGENT 提示詞
| 用途 | 資料表 | 欄位/條件 |
|---|---|---|
| 估值 | daily_prices | pe_ratio / pb_ratio / dividend_yield |
| 篩選 | 計算值 | pe∈(0,12) 且 pb<1.5 且 dy>5% |
| 排序 | 計算值 | 三項排名百分位平均 |
從 daily_prices 取前300大 pe_ratio/pb_ratio/dividend_yield(排除三項全NULL的ETF),
篩出 pe_ratio介於0~12 且 pb_ratio<1.5 且 dividend_yield>5%,依綜合估值排名輸出前10檔
9. 品質因子(Quality Factor)
核心邏輯:高 ROE、低負債、穩定獲利的公司長期勝出
| 因子 | 條件 |
|---|---|
| 高 ROE | ROE > 15% |
| 低負債 | 負債比 < 40% |
| 穩定 EPS | 近 4 季 EPS 皆為正 |
選股條件:ROE > 15% AND 負債比 < 40%
🤖 AGENT 提示詞
| 用途 | 資料表 | 欄位/條件 |
|---|---|---|
| 品質指標 | stock_overview | roe / debt_ratio |
| 篩選 | 計算值 | roe > 15 且 debt_ratio < 40 |
| 排序 | 計算值 | ROE 排名% + (100-負債比排名%) |
從 stock_overview 取前300大 roe/debt_ratio,篩出 roe>15 且 debt_ratio<40,
依 ROE 降冪、負債比升冪綜合排序,輸出前10檔:代號/名稱/ROE/負債比
10. 規模因子(Size Factor)
核心邏輯:小市值股票長期有溢價(前 300 大較不適用)
替代應用:在前 300 大中選「相對小市值」的 50 檔
選股條件:market_cap 在前 300 大中排名後段(201~300 名)
🤖 AGENT 提示詞
| 用途 | 資料表 | 欄位/條件 |
|---|---|---|
| 市值 | stock_overview | market_cap |
| 篩選 | 計算值 | 前 300 大中市值最小的 50 檔 |
| 排序 | stock_overview | market_cap 升冪 |
從 stock_overview 取市值前300大,依 market_cap 升冪排序取最小的50檔(相對小市值),
再結合動量或品質過濾,輸出:代號/名稱/市值/排名
11. 低波動因子(Low Volatility)
核心邏輯:低波動股票風險調整後報酬更佳
選股條件:20 日年化波動率 < 25%
🤖 AGENT 提示詞
| 用途 | 資料表 | 欄位/條件 |
|---|---|---|
| 日報酬 | daily_prices_YYYYMMDD | 近 20 日 close 日變動 |
| 年化波動 | 計算值 | 日報酬 σ × √252 |
| 篩選 | 計算值 | 年化波動率 < 25% |
從 daily_prices_YYYYMMDD 取前300大近20日 close,計算日報酬標準差×√252 為年化波動率,
篩出<25%者,依波動率升冪排序輸出前10檔:代號/名稱/年化波動率
四、事件驅動類(Event-Driven)
12. 財報事件(Post-Earnings Announcement Drift)
核心邏輯:財報優於預期後,價格會持續漂移上漲
選股條件:最新財報 EPS > 市場共識 × 1.1
🤖 AGENT 提示詞
| 用途 | 資料表 | 欄位/條件 |
|---|---|---|
| 財報 | stock_overview | 最新季 eps / 年增率 |
| 事件後表現 | daily_prices_YYYYMMDD | 財報後 close 漂移 |
| 篩選 | 計算值 | EPS 優於前期 + 股價未反應 |
從 stock_overview 取最新季 eps 與去年同季比較,篩出 EPS 年增>10% 且近5日漲幅<5%(尚未反應)者,
結合 daily_prices 成交量放大,輸出前10檔:代號/名稱/EPS/年增率/近5日漲幅
13. 除權息策略
核心邏輯:除權息前買進,賺取股息 + 填息行情
選股條件:
- 殖利率 > 4%
- 近 3 年填息率 > 70%
- 除權息日在 30 天內
🤖 AGENT 提示詞
| 用途 | 資料表 | 欄位/條件 |
|---|---|---|
| 殖利率 | daily_prices | dividend_yield > 4 |
| 除權息日 | stock_overview | 除息日在未來 30 天內 |
| 填息率 | 歷史資料 | 近 3 年填息率 > 70% |
從 daily_prices 篩 dividend_yield>4,結合 stock_overview 除權息日在未來30天內、
近3年填息率>70%,依殖利率×填息率排序輸出前10檔:代號/名稱/殖利率/除息日/填息率
五、多因子複合 + 風險管理
14. 多因子選股(Multi-Factor Scoring)⭐ 推薦
核心邏輯:結合 Value + Momentum + Quality 打分排名
評分公式:
總分 = 價值分數 × 0.4 + 動量分數 × 0.3 + 品質分數 × 0.3
價值分數 = (PE 排名% + PB 排名% + DY 排名%) / 3
動量分數 = 60 天報酬率排名%
品質分數 = (ROE 排名% + (100 - 負債比排名%)) / 2
選股條件:總分排名前 10 名
🤖 AGENT 提示詞
| 因子 | 資料表 | 欄位 | 權重 |
|---|---|---|---|
| 價值 | daily_prices | pe/pb/dividend_yield | 0.4 |
| 動量 | daily_prices_YYYYMMDD | 60 日報酬率 | 0.3 |
| 品質 | stock_overview | roe/debt_ratio | 0.3 |
對前300大(排除ETF)分別計算:價值分(pe/pb/dividend_yield排名%平均)、
動量分(60天報酬率排名%)、品質分((roe排名%+(100-負債比排名%))/2);
總分=價值×0.4+動量×0.3+品質×0.3,取前10名輸出:代號/名稱/總分/各因子分
15. 風險平價(Risk Parity)
核心邏輯:依波動率分配權重,而非資金等權重
權重公式:
權重_i = (1 / 波動率_i) / Σ(1 / 波動率_j)
🤖 AGENT 提示詞
| 用途 | 資料表 | 欄位/條件 |
|---|---|---|
| 波動率 | daily_prices_YYYYMMDD | 各檔近 20 日年化波動率 |
| 反比權重 | 計算值 | (1/σ_i) / Σ(1/σ_j) |
| 輸出 | 計算值 | 每檔建議配置權重% |
對選股清單各檔,從 daily_prices_YYYYMMDD 算近20日年化波動率σ,
權重_i=(1/σ_i)/所有(1/σ)總和,正規化為百分比,輸出:代號/名稱/波動率/建議權重%
推薦方案:前 300 大每日 10 檔選股
為何選「多因子選股」?
| 考量 | 多因子 | 純動量 | 純價值 |
|---|---|---|---|
| 穩定性 | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐ |
| 可解釋性 | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 資料需求 | 中(DB 已有) | 低 | 低 |
| 風控能力 | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
| 適合新手 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
每日 10 檔選股流程
輸入:前 300 大市值股票(stock_overview + daily_prices)
↓
Step 1:計算 60 天動量(需要 daily_prices_YYYYMMDD 歷史資料)
↓
Step 2:讀取 PE/PB/殖利率(daily_prices)
↓
Step 3:讀取 ROE/負債比(stock_overview)
↓
Step 4:排除 ETF(三項估值全 NULL)
↓
Step 5:各因子排名 + 加權打分
↓
Step 6:取前 10 名輸出
↓
輸出:股票代號、名稱、總分、各項因子值、建議權重
所需資料欄位
| 欄位 | 來源 | 用途 |
|---|---|---|
close | daily_prices | 計算動量 |
pe_ratio | daily_prices | 價值因子 |
pb_ratio | daily_prices | 價值因子 |
dividend_yield | daily_prices | 價值因子 |
roe | stock_overview | 品質因子 |
debt_ratio | stock_overview | 品質因子 |
| 歷史收盤價 | daily_prices_YYYYMMDD | 動量計算 |
輸出格式範例
📊 每日 10 檔選股推薦(2026-06-29)
| 排名 | 代號 | 名稱 | 總分 | PE | PB | DY | ROE | 60D動能 |
|------|------|------|------|-----|-----|-----|------|---------|
| 1 | 2330 | 台積電 | 92.3 | 18.2 | 4.5 | 1.8% | 24.5% | +8.2% |
| 2 | 2317 | 鴻海 | 88.1 | 12.1 | 1.8 | 4.5% | 15.2% | +12.3% |
| ... | ... | ... | ... | ... | ... | ... | ... | ... |
建議權重:風險平價法(依 20 日波動率反比配置)
六、AI Agent 提示詞資料庫(Prompt Database)
每個策略對應一組可直接複製給 Agent 的提示詞。通用前綴先設定資料範圍與排除規則,再接各策略指令。
🔧 通用前綴(每次先貼)
你是量化選股 Agent。
可用資料源(實際存在):
- stock_overview:stock_id/stock_name/industry/roe/gross_margin/net_margin/debt_ratio/eps/market_cap/shares_outstanding
- daily_prices:trade_date/stock_id/stock_name/close/volume/pe_ratio/pb_ratio/dividend_yield
- daily_prices_YYYYMMDD:同上(歷史,目前僅 close/volume,無 open/high/low)
範圍:市值前300大;排除 ETF(pe/pb/dividend_yield 三項全NULL)。
⚠️ 不可用欄位:roa、營業利益率、營收年增率、流動比率、FCF、除權息日、填息率、open/high/low(指標計算需 high/low 者暫停用)。
輸出以表格呈現,含代號/名稱。
| # | 策略 | 一句話提示詞(接在通用前綴後) |
|---|---|---|
| 1 | 均線交叉 | 算 MA5/20/60,篩多頭排列(close>MA5>MA20>MA60),依MA20乖離率輸出前10 |
| 2 | 動量 | 算60天報酬率(今日/60日前-1),取前10% 輸出前10 |
| 3 | 通道突破 | 找今日close突破近20日high者,依量能輸出前10 |
| 4 | MACD | 算DIF/DEA/柱,篩柱>0且DIF向上,依柱值輸出前10 |
| 5 | 布林回歸 | 算MA20±2σ,篩close<下軌,依偏離幅度輸出前10 |
| 6 | RSI | 算RSI(14),篩<35超賣,依RSI升冪輸出前10 |
| 7 | 配對交易 | 給定配對算60日價差Z-score,|Z|>2給多空建議 |
| 8 | 價值因子 | 篩pe∈(0,12)且pb<1.5且dy>5%,依綜合估值排名前10 |
| 9 | 品質因子 | 篩roe>15且debt_ratio<40,依ROE與負債比綜合排序前10 |
| 10 | 規模因子 | 依market_cap升冪取前300大中最小50檔 |
| 11 | 低波動 | 算近20日年化波動率,篩<25%依升冪輸出前10 |
| 12 | 財報事件 | 篩EPS年增>10%且近5日漲幅<5%,結合放量輸出前10 |
| 13 | 除權息 | 篩dy>4%、填息率>70%、除息日30天內,依殖利率×填息率前10 |
| 14 | 多因子 | 價值×0.4+動量×0.3+品質×0.3打分,取總分前10 |
| 15 | 風險平價 | 對清單各檔算波動率反比權重,正規化輸出配置% |
📋 進階組合提示詞(多策略串接)
先用「策略14 多因子」選出前30檔候選 →
再用「策略11 低波動」過濾年化波動率>30%者 →
最後用「策略15 風險平價」分配權重 → 輸出最終10檔含權重與各因子分數
七、多因子評分系統(Scoring Engine)
評分流程
1. 取樣:前300大、排除ETF
2. 取因子:技術(動量/波動) + 基本面(價值/品質/成長)
3. 標準化:各因子 → 排名百分位(0~100);優選方向為低者取 100-排名%
4. 加權:分數 = Σ(因子百分位 × 權重)
5. 排序:總分降冪,取前 N
6. 配權:風險平價 or 等權
預設權重配置(可依風格調整)
| 因子群 | 代表因子 | 穩健型 | 積極型 | 價值型 |
|---|---|---|---|---|
| 價值 | PE/PB/DY | 0.30 | 0.15 | 0.50 |
| 品質 | ROE/負債比 | 0.30 | 0.20 | 0.25 |
| 動量 | 60D報酬 | 0.20 | 0.45 | 0.10 |
| 成長 | EPS/營收YoY | 0.15 | 0.15 | 0.10 |
| 低波動 | 年化σ | 0.05 | 0.05 | 0.05 |
評分公式
Score = 0.4×Value% + 0.3×Momentum% + 0.3×Quality% (預設)
Value% = mean(rank%(PE低), rank%(PB低), rank%(DY高))
Momentum% = rank%(60D報酬率)
Quality% = mean(rank%(ROE高), rank%(負債比低))
🤖 提示詞
對前300大(排除ETF)各因子轉排名百分位,依「穩健型」權重加權計算總分,
輸出總分前10:代號/名稱/總分/價值分/動量分/品質分/成長分
八、風險管理(Risk Management)
三層風控
| 層級 | 機制 | 預設參數 |
|---|---|---|
| 個股 | 停損 / 停利 | -8% 停損、+20% 停利或移動停利 |
| 個股 | 部位上限 | 單檔 ≤ 總資金 10% |
| 組合 | 產業集中度 | 單一產業 ≤ 30% |
| 組合 | 現金水位 | 空頭時保留 20~50% 現金 |
| 系統 | 大盤濾網 | 指數 < 季線時降低持股 |
部位大小(ATR 法)
單筆風險額 = 總資金 × 風險比例(建議1%)
每股風險 = 進場價 - 停損價 = k × ATR(14) (k 常取 2)
買進股數 = 單筆風險額 / 每股風險
停損方式比較
| 方式 | 說明 | 適用 |
|---|---|---|
| 固定百分比 | 跌破成本 -8% | 新手、簡單 |
| ATR 移動 | 停損 = 最高價 - 2×ATR | 趨勢單 |
| 均線停損 | 跌破 MA20 出場 | 波段單 |
| 時間停損 | 持有 N 日未達標出場 | 事件驅動 |
🤖 提示詞
對持股清單,用 daily_prices_YYYYMMDD 算 ATR(14),
以「單筆風險1%、停損=2×ATR、單檔上限10%」計算每檔建議股數與停損價,輸出表格
九、回測框架(Backtesting Framework)
回測流程
歷史資料(daily_prices_YYYYMMDD) → 依策略產生每日訊號 →
模擬進出場(含手續費/滑價) → 記錄每筆交易與每日淨值 → 計算績效指標
關鍵參數與假設
| 項目 | 建議設定 |
|---|---|
| 期間 | 2024–2026(含多空段) |
| 再平衡頻率 | 每日 / 每週 / 每月 |
| 手續費 | 買賣各 0.1425%(可打折) |
| 交易稅 | 賣出 0.3% |
| 滑價 | 0.1~0.3% |
| 初始資金 | 1,000,000 |
避免的陷阱
| 陷阱 | 說明 | 對策 |
|---|---|---|
| 前視偏誤 | 用到未來資料 | 訊號只用當日及之前 |
| 存活者偏誤 | 忽略下市股 | 納入歷史成分股 |
| 過度擬合 | 參數硬湊 | 樣本內外分割、走動最佳化 |
| 忽略成本 | 未計費用 | 納入手續費/稅/滑價 |
🤖 提示詞
用 daily_prices_YYYYMMDD 對「策略X」回測 2024-01-01~2026-06-30,每月再平衡,
手續費0.1425%×折扣、賣出稅0.3%、滑價0.1%,輸出:總報酬/年化/最大回撤/夏普/勝率/交易次數
十、績效分析(Performance Analytics)
核心績效指標
| 指標 | 公式 / 定義 | 良好基準 |
|---|---|---|
| 總報酬率 | (期末淨值/期初)-1 | 優於大盤 |
| 年化報酬 CAGR | (期末/期初)^(1/年)-1 | > 10% |
| 最大回撤 MDD | 峰值到谷底最大跌幅 | < 20% |
| 夏普比率 | (年化報酬-無風險)/年化σ | > 1 |
| 索提諾比率 | 只計下檔波動的夏普 | > 1.5 |
| 卡瑪比率 | 年化報酬 / MDD | > 0.5 |
| 勝率 | 獲利筆數/總筆數 | > 50% |
| 盈虧比 | 平均獲利/平均虧損 | > 1.5 |
| Beta | 對大盤敏感度 | 依風格 |
| Alpha | 超額報酬 | > 0 |
績效報告範例
📈 策略績效報告(2024-01 ~ 2026-06)
─────────────────────────────
總報酬 +64.2% 年化 CAGR 22.1%
最大回撤 -14.8% 夏普比率 1.62
勝率 57.3% 盈虧比 1.85
交易次數 248 年化波動 18.4%
vs 大盤 +21.5%(Alpha) Beta 0.92
🤖 提示詞
依回測交易紀錄與每日淨值,計算 CAGR、最大回撤、夏普、索提諾、卡瑪、勝率、盈虧比、Alpha、Beta,
並與同期大盤(0050)比較,輸出績效報告表格
下一步:實作
| Phase | 模組 | 產出檔案 | 對應章節 |
|---|---|---|---|
| 0 | OHLC 擴充 | fetch_history.py 改抓 open/high/low 寫入 daily_prices_YYYYMMDD(✅ 2026-07-10 已完成) | 附錄 A / 策略 1/3/4/5/7/11 |
| 1 | 指標/因子計算 | indicators.py / factors.py | 附錄 A / B |
| 2 | 評分引擎 | scoring_engine.py | 七 |
| 3 | 選股腳本 | daily_stock_pick.py | 一~五、六 |
| 4 | 風險管理 | risk_manager.py | 八 |
| 5 | 回測框架 | backtest.py | 九 |
| 6 | 績效分析 | analytics.py | 十 |
| 7 | 自動化 | cron 每日推送 | — |
相關節點: