量化交易是什麼?入門教學、策略分類與台股回測器
量化交易是什麼?
量化交易(Quantitative Trading)是把投資決策寫成明確、可重複的規則,例如選哪些股票、何時換股、每檔配置多少權重,再用歷史資料檢查這套規則在不同市場階段的報酬與風險。 它不是猜明天漲跌,也不是把主觀盤感包成程式;它在做的是把「我覺得有效」改成「這個規則在過去資料裡承擔多少波動、遇過多深回撤、是否仍有超額報酬」。
這頁的閱讀順序是:先用對照表分清楚量化交易與主觀交易,再認識可用的回測平台,接著照 FinLab 首頁的三步驟啟動 AI Agent,選一種策略類型,最後用台股策略回測器與三套真實回測檢查結果。讀者不需要一開始就懂所有 Python 語法;比較重要的是知道怎麼把投資想法寫成可驗證的規格。
重點摘要
| 你想知道 | 答案 |
|---|---|
| 量化交易在做什麼 | 把選股、進出場、權重與風控寫成規則,用歷史資料檢查報酬分布 |
| 和程式交易差在哪 | 量化交易重點是「決策邏輯能被數據驗證」,程式交易重點是「自動執行」 |
| 要會寫程式嗎 | 不一定。FinLab 的定位是讓你用 Prompt 描述策略,由 AI 產生可執行的 finlab 程式碼;你需要懂因子與風險,不一定要會語法 |
| 散戶做得起來嗎 | 做得起來。真正困難的是在績效平庸、回撤變深時,仍按規則操作、控制部位與風險,而不是靠隨性的預測與臨場改單 |
| 怎麼判斷策略好壞 | 看夏普比率(每承擔一份波動換到多少報酬)、索提諾比率(只看下跌波動時的報酬)、最大回撤(最深曾跌多少)、成本壓力(手續費與滑價會吃掉多少)、分段穩定度(不同年度是否都站得住),不能只看 CAGR(年化報酬) |
| 本頁真實錨點 | 後半段用 finlab 示範三種台股策略,2020~2026 日夏普 1.21~1.26,並附可下載 strategy.py |
量化交易 vs 程式交易 vs 技術分析 vs 演算法/高頻交易
這四個詞常被混在一起,其實在回答不同問題。
| 名詞 | 它在強調什麼 | 關鍵差別 |
|---|---|---|
| 量化交易 | 用數據與統計做決策,並以回測檢查規則是否有優勢 | 決策邏輯可被驗證,可以人工下單,也可以自動執行 |
| 程式交易 | 用程式自動執行買賣、停損、再平衡 | 執行自動化,策略本身可能是量化規則,也可能只是主觀規則的程式版,詳見程式交易是什麼 |
| 技術分析 | 用價格與量的型態、指標判斷進出 | 是訊號來源之一,可寫成規則回測,也常被主觀使用 |
| 演算法/高頻交易 | 強調下單演算法、拆單、造市與毫秒級速度 | 多為法人低延遲基礎建設,和散戶月頻選股是不同賽道 |
本文談的是散戶最可執行的版本:用基本面、價量、籌碼資料做台股選股,月頻或週頻換股,讓回測先告訴你規則值不值得投入資金。
量化交易 vs 主觀交易:差別在哪?
可以先用一個生活化例子理解:主觀交易像「今天新聞很多,我覺得這檔會漲」;量化交易像「先寫好條件,讓全市場股票都照同一把尺篩一次,再看過去這把尺是否真的有用」。
| 比較項目 | 主觀交易 | 量化交易 |
|---|---|---|
| 決策依據 | 盤感、新聞、經驗、個人判斷 | 數據、規則、模型、統計結果 |
| 優勢 | 彈性高,能快速解讀突發事件 | 紀律強,規則可複製、可回測、可重跑 |
| 劣勢 | 容易受貪婪、恐懼、凹單影響 | 模型可能僵化,遇到規則外事件會失效 |
| 驗證方式 | 常靠印象:「我覺得這招有效」 | 靠回測:「這套規則過去承擔多少風險、得到多少報酬」 |
| 分析廣度 | 人力有限,通常只能盯少數股票 | 可同時掃描數百到上千檔股票 |
所以量化交易不是比較「聰明」的預測法,而是把投資決策變成可檢查的流程。它犧牲一部分臨場彈性,換取紀律、可重複與大範圍分析。
哪些平台工具可以幫忙回測?
量化交易的第一個門檻不是策略,而是工具。你需要一個能讀資料、建立規則、扣成本、產生報告的環境;否則再好的想法也只能停留在「感覺有效」。
如果你還不確定回測到底在驗證什麼,可以先看回測是什麼?2026 量化投資回測入門,再回來比較平台會更容易判斷。
| 平台 / 方式 | 資料 | 回測 | 基本面 | 券商下單 | 學習曲線 | 適合誰 |
|---|---|---|---|---|---|---|
FinLab(finlab / Studio) |
台股、美股資料與 900+ 指標,含價量、基本面、籌碼、月營收 | Python 回測、成本口徑、策略報告、可下載程式碼 | 強,適合財報、月營收、多因子選股 | 可搭配自動排程與實單流程,仍需自行確認券商端限制 | 中;用 Prompt 起步,進階可讀 Python | 想做台股因子選股、回測研究、AI 輔助策略開發的人 |
| XQ 全球贏家 | 台股看盤與即時行情強 | 適合技術面與條件選股驗證 | 中;偏既有指標與資料欄位 | 強,交易與券商整合成熟 | 中 | 需要看盤、條件單、技術面與交易執行整合的人 |
| TradingView | 全球市場價量、社群腳本多 | Pine Script 回測方便,適合技術策略 | 弱到中;台股基本面深度有限 | 依市場與券商支援而定,台股限制較多 | 低到中 | 想快速視覺化技術策略、跨市場觀察的人 |
| MultiCharts | 依資料商與券商串接 | 技術策略、期貨與程式下單成熟 | 弱;基本面研究需外部資料 | 強,尤其期貨與自動下單場景 | 中高 | 已有技術交易方法,想把執行自動化的人 |
| TQuant / TEJ | TEJ 機構級台股資料 | Python / Zipline 類流程,研究彈性高 | 強,資料深度與法人研究場景完整 | 需自行串接或另接交易流程 | 高 | 研究機構、法人、資料需求很深的使用者 |
| 純 Python 自建 | 完全取決於你買的資料源 | 最大自由度,也最容易踩資料與前視偏差 | 取決於資料清洗能力 | 需自行串 API、處理錯單與風控 | 高 | 工程能力強、想完全控制資料管線與回測引擎的人 |
如果目標是「台股量化交易入門」,FinLab 比較像研究工作台:資料、回測、報告與 AI 對話在同一條流程裡。XQ、TradingView、MultiCharts 更偏看盤、技術面與交易執行;TQuant 與純 Python 適合願意承擔較高資料工程成本的研究者。想看 FinLab 介面怎麼操作,可接著看FinLab 量化策略平台入門操作指南。
想逐一深入比較,可看 FinLab 對各平台的單頁分析:vs TEJ/TQuant Lab、vs QuantPass(量化通)、vs XQ、vs TradingView。
量化交易入門教學:三步驟用 AI Agent 跑第一次回測
FinLab 首頁的流程其實很簡單:描述策略 → 產生回測 → 查看風險。新手不用先架資料庫,也不用先背完整 Python;第一步是把投資想法用一句話講清楚,讓 Agent 幫你把它變成可回測的規則。
先選一條開始方式。
第一次不要問「幫我找會漲的股票」。比較好的問法是:
顯示程式碼
找近 3 個月營收成長、估值不過高的股票,順便回測風險。Agent 回來的結果應該至少包含三件事:選股清單、回測績效、風險指標。首頁範例也是同一個節奏:AI 先讀資料庫,完成回測,再告訴你 CAGR、最大回撤,並提示可以再加估值條件。這就是量化交易入門最重要的第一步:把模糊想法變成可檢查結果。想完整架設對話式研究流程,可延伸看AI Agent 量化交易完整指南。
四步驟入門:不用一口氣學完
- 選平台:先選一個能拿到台股資料、能回測、能產生報告的工具。新手不需要先自建資料庫。
- 學基本知識:先懂三件事就夠了:回測不是保證未來、成本會吃掉報酬、最大回撤會考驗你能不能抱住策略。
- 設計第一個策略:不要從複雜模型開始。先用「營收成長 + 估值不太貴 + 波動不要太大」這種白話條件;如果想把條件拆得更有系統,可以參考設定選股條件的 5 個步驟。
- 回測與優化:先看結果是否合理,再慢慢調整持股數、換股頻率、因子組合與成本壓力。
回測提示詞怎麼寫才夠用?
等你準備做第二次、第三次回測,再把提示詞補完整。重點是講清楚股票池、因子條件、換股頻率、基準,以及希望 Agent 回傳哪些風險指標;完整不是為了炫技,而是避免 Agent 猜錯你的研究口徑。想看更多提示詞如何把想法跑成策略,可看AI 量化研究:5 個提示詞。
完整提示詞範例:
顯示程式碼
幫我做一個台股多因子量化交易回測。股票池是上市櫃普通股,排除成交量太低的股票。因子包含月營收年增率、ROE、近 120 日動能與 60 日低波動。請把每個因子轉成橫斷面排名分數,每月選前 40 名,分數平方加權,月營收公布後 14 天換股。基準用含息 0050,回測 2020 年到現在,列出 CAGR、日夏普、索提諾、最大回撤、年度報酬、成本壓力,並附 Python 程式碼與限制說明。架好 AI Agent 後,下一步是選策略
Agent 只是讓回測變快;真正要決定的是「要測哪一種策略」。新手最適合從可解釋、可月頻換股、資料容易取得的策略開始,例如價值、品質、動能、成長、低波動與多因子複合。下面先把這些策略類型拆開,再進入台股策略回測器。
量化交易策略有哪些?六大類型與台股對照
量化策略不是單一套路,而是一組可組合的因子語言。新手可以先把「策略」想成一種找股票的理由:價值策略找便宜貨,成長策略找營收變好的公司,動能策略找已經轉強的股票,低波動策略找比較不容易大起大落的標的。
下表把常見類型對應到台股實務與站內實證文章。
| 策略類型 | 核心邏輯 | 台股適用度 | 延伸閱讀 |
|---|---|---|---|
| 價值 | 買估值便宜且財務體質尚可的公司 | 高,但需搭配品質過濾 | 台股選股回測 |
| 品質 | 買 ROE、毛利率、現金流較穩的公司 | 高,防禦性較佳 | 見下方「品質動能低波」 |
| 動能 | 買近期相對強勢、趨勢向上的股票 | 高,但回撤通常較大 | 月營收動能策略 |
| 成長 | 買營收或獲利加速的公司 | 高,台股月營收資料特別有用 | 多因子打敗 0050 |
| 低波動 | 偏好報酬波動較小的股票 | 中高,常用來壓回撤、提高風險調整後報酬 | 低波動選股策略 |
| 多因子複合 | 用排名把多個因子合成分數 | 最高,能分散單因子失效風險 | 見下方「多因子複合」 |
單一因子很容易在某個市場階段失靈。只看成長,可能買到估值過熱又波動很大的股票;只看低估,可能買到長期便宜但缺乏催化的公司。多因子複合的價值在於讓不同因子的弱點互相抵消,而不是把條件堆到看起來很複雜。
全球常見量化策略分類:哪些適合散戶,哪些不適合?
很多人搜尋量化交易策略時,會看到市場中性、多空、趨勢追蹤、事件驅動、高頻交易等名詞。這些都屬於量化方法,但不代表都適合散戶照做。差別在資料、交易頻率、成本、券源、法規與基礎建設。
新手可以先用一句話判斷:如果策略需要高速下單、放空券源、複雜衍生品或很大的資金容量,它就不適合當第一套策略。
| 全球常見策略 | 典型做法 | 散戶適用度 | 判斷理由 |
|---|---|---|---|
| 因子選股 / 多因子 | 用價值、品質、動能、成長、低波等因子排序選股 | 高 | 可用日資料、月資料與財報資料回測,換股頻率可控制,最適合台股散戶從小資金研究開始 |
| 趨勢追蹤 | 價格站上均線、突破區間或動能延續時持有 | 中高 | 技術面資料容易取得,但容易在盤整期反覆停損,需要搭配成本與滑價測試 |
| 事件驅動 | 財報、月營收、除權息、法說會、併購消息後重新定價 | 中 | 台股月營收是可用資料,但事件時間點、公布延遲與流動性要處理好 |
| 市場中性 | 同時做多與做空,降低大盤曝險 | 中低 | 需要穩定券源、放空成本與風控,散戶可研究概念,但實盤難度高於 long-only 選股 |
| 多空策略 | 做多強勢股票、放空弱勢股票 | 中低 | 回測看起來完整,實盤受限於借券、融券、保證金與強制回補 |
| 技術分析量化 | 把 RSI、均線、突破、均值回歸寫成規則 | 中 | 適合練習規則化與回測,但單一指標容易過擬合,最好和基本面或風控結合 |
| 對沖策略 | 用期貨、選擇權或 ETF 降低曝險 | 低到中 | 可以作為風控工具,但期貨與選擇權有槓桿、保證金與到期日問題,不適合只看報酬率 |
| 高頻 / 造市 | 毫秒級下單、吃價差、做流動性 | 低 | 需要低延遲基礎建設、交易所連線、排隊模型與資金規模,和散戶月頻量化選股是不同賽道 |
對大多數台股散戶來說,合理順序是:多因子選股 → 趨勢或事件因子 → 成本與回撤壓力測試 → 小資金實單追蹤。市場中性、高頻、複雜對沖可以理解,但不適合當第一套策略。
台股策略回測器:選好策略後,先改條件看結果
上面選完策略類型後,就可以用回測器把想法變成數字。你可以先從「多因子複合」「品質動能低波」「高毛利成長」三種風格開始,觀察持股數、換股頻率、成本與基準 0050 的差異。登入後再把條件改成自己的版本,讓 AI Agent 繼續迭代。
台股策略回測器
回測區間 2020-01 ~ 2026-06| 指標(2020–2026) | 多因子複合 | 0050 含息 |
|---|---|---|
| 年化報酬(CAGR) | 36.8% | 35.2% |
| 日夏普比率 | 1.26 | 1.46 |
| 索提諾比率 | 1.96 | 2.5 |
| 最大回撤 | -47% | -34% |
| 平均持股數 | 40 檔 | 1(ETF) |
因子:營收成長、ROE 品質、價格動能、低波動。數字為 finlab sim() 實跑、已扣手續費與證交稅;過去績效不代表未來。
想用最新台股資料、自己改因子組合與持股數即時重算?登入 FinLab
後,整個回測會在你的瀏覽器跑真實 finlab 引擎(資料截至今日)。
如何衡量策略品質?報酬、夏普、回撤與成本
回測不是證明未來會發生同樣的事,而是把一套交易規則轉成可檢查的時間序列。最基本的口徑可以寫成:
白話版:策略每一期的報酬,可以拆成三段。
| 步驟 | 在公式裡 | 白話意思 |
|---|---|---|
| 先決定持股比例 | 昨天收盤前就決定每檔股票買多少,不能等今天漲跌出來才改 | |
| 再看股票漲跌 | 今天每一檔股票各自上漲或下跌多少 | |
| 最後扣掉成本 | 手續費、證交稅與滑價都要扣掉,否則回測會太樂觀 |
可以把它想成一條簡單流程:昨天決定持股 → 今天股票漲跌 → 扣掉交易成本 → 得到今天策略報酬。公式只是把這條流程寫得比較短。
| 指標 | 中文意思 | 怎麼看 |
|---|---|---|
| CAGR(年化報酬) | 把整段報酬換算成每年平均成長率 | 看長期賺錢速度,但不能單獨判斷好壞 |
| 夏普比率 | 每承擔一份波動,換到多少超額報酬 | 越高通常越好,但短期間容易被單一行情拉高 |
| 索提諾比率 | 只看下跌波動時,每承擔一份壞波動換到多少報酬 | 比夏普更貼近投資人對虧損的感受 |
| 最大回撤 | 淨值曾經從高點跌到低點的最大幅度 | 越小越容易持續執行,也越不容易在低點被迫停損 |
| 成本壓力 | 手續費、證交稅與滑價提高後,報酬被吃掉多少 | 高周轉策略一定要看,月頻策略也不能忽略 |
| 分段穩定度 | 不同市場期間是否都還站得住 | 如果只靠某一段多頭,未來失效風險較高 |
如果你已經有一組因子,下一步不是直接丟進策略,而是先檢查它和未來報酬是否真的有關。這類因子驗證可以從 Information Coefficient(IC) 開始。
風險調整後報酬:用夏普比率觀察
風險調整後報酬通常用夏普比率觀察:
白話來看,夏普比率在問:「策略平均多賺的部分,能不能抵過每天上下震盪?」分子是平均超額報酬,分母是波動度;同樣年化報酬下,路徑越平穩,夏普通常越高。索提諾比率則把焦點放在下跌波動,對投資人更接近「壞波動」的感受。想先看白話版,可讀夏普比率是什麼?2026 白話解釋。
最大回撤衡量的是淨值從歷史高點跌到低點的最大幅度:
把淨值曲線想成一條投資路徑,最大回撤看的不是終點賺多少,而是途中曾經從最高點往下掉到多深。只要把期間拉長, 會在更多市場狀態裡尋找低點,碰到更大 MDD 的機率自然提高;所以長回測的最大回撤變深,是非常正常的統計現象,不應該被解讀成策略突然變壞。真正要問的是:拉長期間後,策略的報酬、風險與行為邏輯是否仍在可接受範圍內。
量化研究有學術支撐,也有清楚的失敗模式。Fama 與 French 的價值、獲利能力因子,Jegadeesh 與 Titman 的動能效應,Novy-Marx 的毛利率品質因子,Ang 等人的低波動異常,分別對應到本文幾個因子來源。但 Bailey 與 López de Prado 對回測過擬合的研究、Harvey、Liu 與 Zhu 對多重檢定的警示,也說明了另一半事實:測越多參數,越容易在歷史資料裡撞出漂亮但不穩的結果。
| 回測能回答 | 回測不能保證 |
|---|---|
| 這套規則過去承擔多少波動 | 未來會複製同一條淨值曲線 |
| 成本、稅與換股頻率是否吃掉報酬 | 實單一定能用同樣價格成交 |
| 策略是否只靠某一段多頭 | 因子永遠有效 |
| 回撤深度是否在心理與資金承受範圍內 | 投資人能在回撤中完全遵守紀律 |
真實台股回測:三種策略的報酬與風險怎麼看
下面三套策略風格不同,但都使用相同回測口徑:流動性過濾、橫斷面排名加權、月頻換股、對齊月營收公布日。回測引擎是 finlab 的 sim(),已扣手續費與證交稅;基準是含息 0050,使用還原權值股價計算,避免除權息讓 ETF 報酬被低估。回測區間為 2020-01~2026-06。
這裡會看到「日夏普 1.21~1.26」。白話來說,它不是「保證賺錢」的分數,而是衡量策略在每天波動下拿到多少報酬。數字越高,代表同樣承擔一份波動時,策略拿到的平均報酬越多;但它仍要和最大回撤、成本、基準 0050、全期樣本一起看。
下面直接看三套策略與含息 0050 的同口徑比較:
| 策略(2020~2026,月頻,含息) | 風格 | 年化報酬 | 日夏普 | 索提諾 | 最大回撤 | 平均持股 |
|---|---|---|---|---|---|---|
| 多因子複合(成長 + 品質 + 動能 + 低波) | 穩健 | 36.8% | 1.26 | 1.96 | -47% | 40 |
| 品質動能低波(ROE + 動能 + 低波) | 防禦 | 25.6% | 1.21 | 1.84 | -29% | 25 |
| 高毛利成長(毛利 + 營收 + 動能) | 積極 | 43.4% | 1.25 | 1.98 | -47% | 30 |
| 含息 0050(基準) | 大盤 ETF | 35.2% | 1.46 | 2.50 | -34% | 1 |
這組數字的重點不是「策略完全打敗 0050」。2020~2026 是台股大型權值股、尤其半導體的強勢區間,含息 0050 本身就跑出 1.46 的高夏普。比較克制的說法是:三套策略在這段期間提供了不同風格的分散選股結果,年化報酬高於 0050,但風險調整後報酬沒有贏過這輪權值股主導的 0050。這個比較要留在文中,因為它提醒讀者:年化報酬較高,不代表每個風險指標都較好。
四張研究圖:一張一張看懂策略品質
下面四張圖都由同一份回測資料產生,但它們回答的是不同問題。不要把它們當成「漂亮圖表集合」一次看完;比較好的讀法是:先看報酬與回撤的交換,再看夏普是否只是近年樣本好,接著看不同行情期間是否穩定,最後看成本提高後還剩多少報酬。
圖 1:年化報酬 vs 最大回撤
這張圖先回答最直覺的問題:策略賺得多,途中是不是也跌得深?
怎麼看: 每個點是一個策略。越上方代表年化報酬越高;越左邊代表最大回撤越小,也就是歷史上從高點跌到低點的幅度比較淺。右上角不一定最好,因為那通常代表報酬高,但也承擔更深回撤。
這張圖的結論: 高毛利成長的年化報酬最高,但最大回撤也深;品質動能低波的報酬較低,但回撤明顯較小。這表示策略風格不是單純「誰賺最多」的排名,而是「你願意用多深的回撤換多少報酬」。
不要誤讀: 年化報酬高,不代表策略比較容易持有。新手最常忽略的是回撤心理壓力:如果策略曾經跌 40% 以上,你要先問自己能不能在那段期間繼續照規則執行。
圖 2:2020~2026 夏普 vs 2007~2026 夏普
圖 1 看報酬與回撤,圖 2 則看「近期漂亮績效是不是拉長期間後還站得住」。
怎麼看: 深色柱是 2020~2026 主視窗,淺色柱是拉長到 2007~2026 全期。深色比淺色高,代表近年表現比長期平均好;差距越大,越要小心近期樣本太順。
這張圖的結論: 三套策略拉長期間後夏普都下降,這是合理現象。2020~2026 包含台股權值股與 AI 供應鏈強勢行情,不能把這段期間的高夏普直接外推成未來常態。
不要誤讀: 全期夏普下降不代表策略失效。比較精準的解讀是:近期報酬有順風,長期仍有優勢,但策略必須接受更普通的市場階段。
圖 3:分段穩定度熱力圖
圖 2 把期間拉長,圖 3 再把期間拆開,檢查策略是不是只靠某一段行情撐起來。
怎麼看: 每一格是某策略在某段期間的日夏普。顏色越深,代表該期間風險調整後報酬越好;顏色變淡,代表那段期間策略變普通或比較難做。
這張圖的結論: 2022~2023 明顯降溫,代表策略會遇到不順期間。2024~2026 的數字很強,但讀者不能只看這段,否則很容易在多頭行情後高估策略。
不要誤讀: 量化策略不需要每一年都贏,但需要知道什麼市場環境會變弱。分段圖的用途不是挑一段最好看的期間,而是提醒你策略在壓力期間的行為。
圖 4:交易成本壓力測試
最後一張圖回到實盤問題:回測報酬扣掉手續費、證交稅與滑價後,還剩多少?
怎麼看: 橫軸是手續費與滑價代理,越往右代表交易成本越高;縱軸是年化報酬。折線往下代表成本正在吃掉策略報酬。
這張圖的結論: 以多因子複合策略來看,月頻換股對成本仍有緩衝,成本提高到 0.5% 時年化報酬仍有明顯空間。但這個結論只適用於本文的月頻策略。
不要誤讀: 如果策略改成週頻或日頻,周轉率上升,成本會更快吃掉報酬。看到高報酬策略時,最好先問它多久換股一次,而不是只看回測表上的 CAGR。
三套策略都從同一份 strategy.py 產生。程式核心是:抓取 finlab 資料,建立因子分數,選前 N 名,再交給 sim() 回測。下面是多因子複合策略的摘要版本:
顯示程式碼
from finlab import data
from finlab.backtest import sim
close = data.get('price:收盤價')
rev = data.get('monthly_revenue:去年同月增減(%)')
roe = data.get('fundamental_features:ROE稅後').index_str_to_date()
mom = close.pct_change(120)
vol = close.pct_change().rolling(60).std()
score = (
rev.rank(axis=1, pct=True)
+ roe.rank(axis=1, pct=True)
+ mom.rank(axis=1, pct=True)
+ (1 - vol.rank(axis=1, pct=True))
)
position = score.is_largest(40)
report = sim(position, resample='M', resample_offset='14D')
report.display()完整可重現版本(三套策略 + 0050 對照)可下載:strategy.py。資料會隨時間更新,重跑時數字可能略有不同,這是量化策略的正常狀態。
穩健性與期間敏感度
我們把同樣三套策略拉到 2007~2026 全期,再看分段期間與成本壓力。全期結果如下:
| 策略 | 全期年化 | 全期日夏普 | 全期最大回撤 |
|---|---|---|---|
| 多因子複合(穩健) | 19.1% | 0.78 | -55% |
| 品質動能低波(防禦) | 15.4% | 0.79 | -50% |
| 高毛利成長(積極) | 19.9% | 0.72 | -67% |
| 含息 0050 | 13.7% | 0.65 | -56% |
全期夏普下降、最大回撤變深,是合理現象。回測時間越長,樣本越可能包含金融海嘯、歐債、COVID、升息空頭或政策衝擊;MDD 是對整段路徑取最差水下值,樣本變長時,碰到更大回撤的機率本來就會上升。
分段看,以穩健型為例:
| 期間 | 年化報酬 | 日夏普 | 解讀 |
|---|---|---|---|
| 2020~2021 | 33.7% | 1.09 | COVID 後多頭,策略跟上行情 |
| 2022~2023 | 14.8% | 0.63 | 空頭與震盪期,績效明顯變平庸 |
| 2024~2026 | 67.6% | 1.93 | 權值股與 AI 供應鏈行情帶動 |
這也是「紀律」真正派上用場的地方。績效亮眼時誰都能照規則;績效平庸、回撤加深、基準短期更強時,量化交易靠的是重新檢查風控與假設,而不是臨時預測哪一檔明天會漲。
交易成本壓力測試(以穩健型、不同手續費率代理滑價):
| 手續費率(含滑價代理) | 年化報酬 |
|---|---|
| 0%(理論上限) | 39.0% |
| 0.1425%(台股標準) | 36.8% |
| 0.3% | 34.4% |
| 0.5%(高滑價情境) | 31.4% |
成本提高到 0.5% 時,年化仍有 31.4%,代表這套月頻策略對交易成本不算敏感。這個結論只適用於月頻;如果改成日頻或週頻,周轉率上升,成本會更快侵蝕報酬。
回測口徑與限制
| 項目 | 本文做法 |
|---|---|
| 手續費 | sim() 預設 0.1425%,實務上券商折扣可能更低 |
| 證交稅 | 賣出 0.3%,finlab 回測預設已含 |
| 滑價 | 未單獨建模,改用手續費翻倍做成本壓力測試代理 |
| 股票池 | 全上市櫃個股,60 日均量 > 100 萬股做流動性過濾 |
| 排除類別 | 僅做流動性過濾,未額外排除金融股、KY 股、ETF、全額交割股 |
| 前視偏差 | ROE 與毛利率用 index_str_to_date() 對齊財報公布日;月營收用 resample_offset='14D' 延後換股 |
| 權重 | 取前 N 名後用分數平方加權,非單純等權 |
| 周轉率 | 月頻換股,平均周轉率未精確估算 |
| 樣本內外 | 全段 in-sample,未做樣本外或滾動測試;主視窗 2020+ 為展示窗,全期 2007+ 另列 |
這些限制會直接影響讀者對數字的信任。滑價、容量、樣本外測試都還能再做得更細;現階段這頁提供的是「可下載、可重跑、口徑公開」的基準版本,而不是最終實盤建議。
新手常遇到的現實門檻
量化交易看起來像把策略交給電腦,但真正困難的地方通常不是按下回測,而是下面幾件事。
- 資料取得與清理:股價、財報、月營收、除權息、下市股都會影響結果。資料錯,回測再漂亮也沒有參考價值。
- 資金門檻與分散:策略如果每月要持有 40 檔,小資金很難完全照比例買足,實際績效可能和回測不同。
- 平台學習曲線:FinLab Studio 可以降低入門門檻,但進階時仍要理解因子、回測口徑、成本與風險指標。
- 策略需要維護:市場結構會變,因子會輪動。策略不是寫好就永遠有效,需要定期重跑與檢查。
- 心理門檻:回測能告訴你過去最大回撤,但真的遇到虧損時,能不能照規則執行,仍是人要面對的問題。
資料面可以先從Python 取得台股資料完整教學補足;若未來要走到實單,還需要理解Python 自動下單完整教學裡的券商串接、錯單處理與風控限制。
這些門檻不代表新手不能做,而是要先把期待放對:量化交易不是不用學習的賺錢機器,而是一套讓你更有紀律地研究、驗證與修正策略的方法。
量化交易的優點與風險
| 優點 | 說明 |
|---|---|
| 去除情緒 | 規則化執行,減少恐慌殺低與貪婪追高 |
| 可驗證、可重複 | 每個決策都能用歷史資料檢查,輸贏有跡可循 |
| 可分散、可擴展 | 同時持有多檔股票、跨多個因子,降低單一個股與單一邏輯的風險 |
| 可持續改進 | 策略衰退時可以重跑、拆解、重估,而不是憑感覺修改 |
| 風險 / 缺點 | 說明 |
|---|---|
| 過擬合 | 在歷史資料上調到漂亮,實盤卻失效;參數越多、回測次數越多越危險 |
| 交易成本與滑價 | 高周轉策略常被手續費、證交稅、滑價吃掉報酬 |
| 流動性 | 回測買得到,實單不一定買得到;小型股尤其要過濾 |
| 結構性失效 | 市場結構改變,例如權值股集中化,會讓過去有效的因子失靈 |
| 肥尾風險 | 少數極端行情會造成夏普難以描述的損失,要搭配最大回撤與壓力測試 |
關於過擬合與夏普的盲點,可延伸看做量化投資會遇到的挑戰:夏普、過擬合與失效策略。風險指標本身怎麼讀,可看夏普比率工具頁。
常見問題(FAQ)
Q1:量化交易要會寫程式嗎?不會 coding 可以做嗎?
可以。傳統量化通常要寫程式,但 FinLab 的做法是用 Prompt 描述策略,由 AI 產生 finlab 程式碼並跑真實資料。你需要理解的是因子邏輯與風險,而不是一定要會語法。
Q2:量化交易真的賺得到錢嗎?散戶有勝算嗎? 有勝算,但不是因為散戶能更準預測。散戶比較可行的優勢是紀律、分散、低管理成本與長期執行。策略績效平庸或遇到回撤時,重點是按規則檢查風控與部位,而不是隨性預測、隨性加減碼。
Q3:量化交易和程式交易、演算法交易差在哪? 量化交易是用數據驗證決策的方法,程式交易是自動執行的手段,演算法/高頻交易強調下單演算法與速度,多為法人低延遲場景。三者常重疊但不等於,詳見上方對照表與程式交易是什麼。
Q4:判斷量化策略好壞只看報酬率嗎? 不行。CAGR 是年化報酬,只告訴你賺錢速度;夏普比率看報酬是否值得承擔波動,索提諾比率更重視下跌波動,最大回撤看途中最深跌幅,成本壓力看手續費與滑價會吃掉多少,分段穩定度看策略是否只靠某一段多頭。
Q5:什麼是過擬合?為什麼是量化最大的風險? 過擬合是把策略在歷史資料上調得很漂亮,實盤卻失效。參數越多、回測次數越多,越容易在歷史資料裡挑到僥倖有效的組合。對策是限制參數、做樣本外測試、偏好簡單穩健的複合因子。
Q6:量化交易需要多少本金才能開始? 回測不需要本金。實單上,持股數越多,所需本金越大,才有辦法分散且降低單檔權重偏差。可以先用較少持股或定期定額起步,重點是先建立策略與風控紀律。
Q7:PTT/Dcard 上常問:量化交易是不是賣課?策略出租能不能買? 判斷重點不是包裝,而是能不能看到資料來源、回測口徑、成本、滑價、最大回撤與策略失效情境。只展示漂亮報酬、不交代風險與方法的策略出租或課程,都不適合作為下單依據。懷疑時可以對照過擬合與策略失效這篇,檢查對方是否揭露同樣的風險。
Q8:策略會不會失效?多久要重看一次? 會。市場結構會變,因子會輪動。建議每季重跑回測檢視新資料,策略衰退時重新檢查因子、風控與成本,而不是憑感覺改參數。
Q9:量化交易要怎麼學?有沒有入門教學、書單或課程?
學的順序是先懂概念,再動手跑一次回測,最後才補語法。免費路徑:先照本頁上方「量化交易入門教學:三步驟」用 AI Agent 把一個想法跑成 finlab 回測,再理解夏普、最大回撤與成本這些品質指標,接著看回測是什麼與AI 量化研究:5 個提示詞補觀念。書單方面,因子與過擬合的學術論文(見文末引用)是進階讀物,但對散戶而言,先把一個策略從想法跑到可驗證的回測,比讀完一本書更有效。判斷付費課程值不值得,看它有沒有揭露資料來源、回測口徑與策略失效情境,而不是只秀漂亮報酬。
Q10:量化分析是什麼?和量化交易一樣嗎?
量化分析(quantitative analysis)是用統計與數據方法研究市場或個股,例如估算因子有沒有效、計算夏普與相關性;量化交易則是把這些分析結論寫成可下單的規則並回測驗證。簡單說,量化分析是研究方法,量化交易是把研究變成可執行、可回測的策略。本頁後段三套台股策略(2020~2026 日夏普 1.21~1.26)就是把量化分析的因子結論,落地成可回測、可下載的 finlab 策略。
相關閱讀
- 回測是什麼?量化投資回測入門
- 程式交易是什麼?台股自動化交易入門
- AI 量化研究:5 個提示詞,把想法跑成策略
- Information Coefficient:因子驗證與避免過擬合
- 台股選股回測:複合策略怎麼贏
- 多因子選股策略:年化贏過 0050
- AI Agent 量化交易:用對話打造自動化台股系統
- 做量化投資會遇到的挑戰:夏普、過擬合與失效策略
- 設定選股條件的 5 個步驟
- 用 Python 抓台股資料
- 夏普比率:怎麼算、多少算好 · 名詞定義表 /glossary
引用文獻
- Sharpe,W. F.(1966). Mutual Fund Performance. 提出用超額報酬除以波動度衡量基金績效,本文用日夏普與索提諾衡量策略的風險調整後報酬。
- Fama,E. F. 與 French,K. R.(1992,2015). 價值、規模、獲利能力與投資因子的長期實證,對應本文的價值與 ROE/品質因子。
- Jegadeesh,N. 與 Titman,S.(1993). 動能效應的經典實證,對應本文的價格動能因子。
- Novy-Marx,R.(2013). The Other Side of Value: The Gross Profitability Premium. 毛利率作為品質因子的證據,對應本文的高毛利成長策略。
- Ang,A.、Hodrick,R.、Xing,Y. 與 Zhang,X.(2006). 低波動異常研究,對應本文用低波動因子控制回撤的設計。
- Lo,A. W.(2002). The Statistics of Sharpe Ratios. 說明夏普比率的估計誤差與年化假設,支撐本文對短期間高夏普的保守解讀。
- Bailey,D.、Borwein,J.、López de Prado,M. 與 Zhu,Q.(2014);Harvey,C.、Liu,Y. 與 Zhu,H.(2016). 分別討論回測過擬合與多重檢定,支撐本文對樣本內、參數測試與漂亮數字的警示。
投資有風險,過去績效不代表未來表現。本內容僅供教學參考,不構成投資建議,請依個人風險承受度審慎評估。回測為全段 in-sample、未做樣本外測試,數字會隨資料更新而變動。
最後更新:2026-06|回測區間:2020-01 ~ 2026-06(另列 2007~2026 全期)|作者:FinLab 量化研究團隊(經量化研究員審閱)