跳至主要內容

量化交易是什麼?入門教學、策略分類與台股回測器

量化交易是什麼?

量化交易(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 Labvs QuantPass(量化通)vs XQvs TradingView


量化交易入門教學:三步驟用 AI Agent 跑第一次回測

FinLab 首頁的流程其實很簡單:描述策略 → 產生回測 → 查看風險。新手不用先架資料庫,也不用先背完整 Python;第一步是把投資想法用一句話講清楚,讓 Agent 幫你把它變成可回測的規則。

先選一條開始方式。

第一次不要問「幫我找會漲的股票」。比較好的問法是:

顯示程式碼
找近 3 個月營收成長、估值不過高的股票,順便回測風險。

Agent 回來的結果應該至少包含三件事:選股清單、回測績效、風險指標。首頁範例也是同一個節奏:AI 先讀資料庫,完成回測,再告訴你 CAGR、最大回撤,並提示可以再加估值條件。這就是量化交易入門最重要的第一步:把模糊想法變成可檢查結果。想完整架設對話式研究流程,可延伸看AI Agent 量化交易完整指南

四步驟入門:不用一口氣學完

  1. 選平台:先選一個能拿到台股資料、能回測、能產生報告的工具。新手不需要先自建資料庫。
  2. 學基本知識:先懂三件事就夠了:回測不是保證未來、成本會吃掉報酬、最大回撤會考驗你能不能抱住策略。
  3. 設計第一個策略:不要從複雜模型開始。先用「營收成長 + 估值不太貴 + 波動不要太大」這種白話條件;如果想把條件拆得更有系統,可以參考設定選股條件的 5 個步驟
  4. 回測與優化:先看結果是否合理,再慢慢調整持股數、換股頻率、因子組合與成本壓力。

回測提示詞怎麼寫才夠用?

等你準備做第二次、第三次回測,再把提示詞補完整。重點是講清楚股票池、因子條件、換股頻率、基準,以及希望 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
多因子複合 vs 0050 含息(累積淨值,對數軸)
1x2x3x5x2020-022021-032022-042023-052024-062025-072026-06
多因子複合(穩健)0050 含息
指標(2020–2026)多因子複合0050 含息
年化報酬(CAGR)36.8%35.2%
日夏普比率1.261.46
索提諾比率1.962.5
最大回撤-47%-34%
平均持股數40 檔1(ETF)

因子:營收成長、ROE 品質、價格動能、低波動。數字為 finlab sim() 實跑、已扣手續費與證交稅;過去績效不代表未來。

想用最新台股資料、自己改因子組合與持股數即時重算?登入 FinLab 後,整個回測會在你的瀏覽器跑真實 finlab 引擎(資料截至今日)。


如何衡量策略品質?報酬、夏普、回撤與成本

回測不是證明未來會發生同樣的事,而是把一套交易規則轉成可檢查的時間序列。最基本的口徑可以寫成:

rtp=iwt1irtictr^p_t=\sum_i w^i_{t-1}r^i_t-c_t

白話版:策略每一期的報酬,可以拆成三段。

步驟 在公式裡 白話意思
先決定持股比例 wt1iw^i_{t-1} 昨天收盤前就決定每檔股票買多少,不能等今天漲跌出來才改
再看股票漲跌 rtir^i_t 今天每一檔股票各自上漲或下跌多少
最後扣掉成本 ctc_t 手續費、證交稅與滑價都要扣掉,否則回測會太樂觀

可以把它想成一條簡單流程:昨天決定持股 → 今天股票漲跌 → 扣掉交易成本 → 得到今天策略報酬。公式只是把這條流程寫得比較短。

指標 中文意思 怎麼看
CAGR(年化報酬) 把整段報酬換算成每年平均成長率 看長期賺錢速度,但不能單獨判斷好壞
夏普比率 每承擔一份波動,換到多少超額報酬 越高通常越好,但短期間容易被單一行情拉高
索提諾比率 只看下跌波動時,每承擔一份壞波動換到多少報酬 比夏普更貼近投資人對虧損的感受
最大回撤 淨值曾經從高點跌到低點的最大幅度 越小越容易持續執行,也越不容易在低點被迫停損
成本壓力 手續費、證交稅與滑價提高後,報酬被吃掉多少 高周轉策略一定要看,月頻策略也不能忽略
分段穩定度 不同市場期間是否都還站得住 如果只靠某一段多頭,未來失效風險較高

如果你已經有一組因子,下一步不是直接丟進策略,而是先檢查它和未來報酬是否真的有關。這類因子驗證可以從 Information Coefficient(IC) 開始。

風險調整後報酬:用夏普比率觀察

風險調整後報酬通常用夏普比率觀察:

SR^=rˉprfσ(rp)252\widehat{SR}=\frac{\bar r_p-r_f}{\sigma(r_p)}\sqrt{252}

白話來看,夏普比率在問:「策略平均多賺的部分,能不能抵過每天上下震盪?」分子是平均超額報酬,分母是波動度;同樣年化報酬下,路徑越平穩,夏普通常越高。索提諾比率則把焦點放在下跌波動,對投資人更接近「壞波動」的感受。想先看白話版,可讀夏普比率是什麼?2026 白話解釋

最大回撤衡量的是淨值從歷史高點跌到低點的最大幅度:

MDD=mint(VtmaxutVu1)\text{MDD}=\min_t\left(\frac{V_t}{\max_{u\le t}V_u}-1\right)

把淨值曲線想成一條投資路徑,最大回撤看的不是終點賺多少,而是途中曾經從最高點往下掉到多深。只要把期間拉長,mint\min_t 會在更多市場狀態裡尋找低點,碰到更大 MDD 的機率自然提高;所以長回測的最大回撤變深,是非常正常的統計現象,不應該被解讀成策略突然變壞。真正要問的是:拉長期間後,策略的報酬、風險與行為邏輯是否仍在可接受範圍內。

量化研究有學術支撐,也有清楚的失敗模式。Fama 與 French 的價值、獲利能力因子,Jegadeesh 與 Titman 的動能效應,Novy-Marx 的毛利率品質因子,Ang 等人的低波動異常,分別對應到本文幾個因子來源。但 Bailey 與 López de Prado 對回測過擬合的研究、Harvey、Liu 與 Zhu 對多重檢定的警示,也說明了另一半事實:測越多參數,越容易在歷史資料裡撞出漂亮但不穩的結果。

回測能回答 回測不能保證
這套規則過去承擔多少波動 未來會複製同一條淨值曲線
成本、稅與換股頻率是否吃掉報酬 實單一定能用同樣價格成交
策略是否只靠某一段多頭 因子永遠有效
回撤深度是否在心理與資金承受範圍內 投資人能在回撤中完全遵守紀律

真實台股回測:三種策略的報酬與風險怎麼看

下面三套策略風格不同,但都使用相同回測口徑:流動性過濾、橫斷面排名加權、月頻換股、對齊月營收公布日。回測引擎是 finlabsim(),已扣手續費與證交稅;基準是含息 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 最大回撤

這張圖先回答最直覺的問題:策略賺得多,途中是不是也跌得深?

怎麼看: 每個點是一個策略。越上方代表年化報酬越高;越左邊代表最大回撤越小,也就是歷史上從高點跌到低點的幅度比較淺。右上角不一定最好,因為那通常代表報酬高,但也承擔更深回撤。

圖 1:年化報酬與最大回撤一起看 越靠上代表報酬越高,越靠左代表歷史最深跌幅較小;右上角不是一定更好,因為它同時承擔更深回撤。
30%40%50%60%70%10%20%30%40%50%最大回撤絕對值,越低越好年化報酬多因子複合品質動能低波高毛利成長0050 含息

這張圖的結論: 高毛利成長的年化報酬最高,但最大回撤也深;品質動能低波的報酬較低,但回撤明顯較小。這表示策略風格不是單純「誰賺最多」的排名,而是「你願意用多深的回撤換多少報酬」。

不要誤讀: 年化報酬高,不代表策略比較容易持有。新手最常忽略的是回撤心理壓力:如果策略曾經跌 40% 以上,你要先問自己能不能在那段期間繼續照規則執行。

圖 2:2020~2026 夏普 vs 2007~2026 夏普

圖 1 看報酬與回撤,圖 2 則看「近期漂亮績效是不是拉長期間後還站得住」。

怎麼看: 深色柱是 2020~2026 主視窗,淺色柱是拉長到 2007~2026 全期。深色比淺色高,代表近年表現比長期平均好;差距越大,越要小心近期樣本太順。

圖 2:主視窗與全期夏普差距 深色是 2020~2026,淺色是 2007~2026;拉長期間後夏普下降,表示近期高績效不能直接外推。
0.51.01.5多因子複合品質動能低波高毛利成長0050 含息深色:2020~2026淺色:2007~2026

這張圖的結論: 三套策略拉長期間後夏普都下降,這是合理現象。2020~2026 包含台股權值股與 AI 供應鏈強勢行情,不能把這段期間的高夏普直接外推成未來常態。

不要誤讀: 全期夏普下降不代表策略失效。比較精準的解讀是:近期報酬有順風,長期仍有優勢,但策略必須接受更普通的市場階段。

圖 3:分段穩定度熱力圖

圖 2 把期間拉長,圖 3 再把期間拆開,檢查策略是不是只靠某一段行情撐起來。

怎麼看: 每一格是某策略在某段期間的日夏普。顏色越深,代表該期間風險調整後報酬越好;顏色變淡,代表那段期間策略變普通或比較難做。

圖 3:分段穩定度熱力圖 顏色越深代表分段夏普越高;2022~2023 的降溫提醒我們,策略會遇到不順期間。

這張圖的結論: 2022~2023 明顯降溫,代表策略會遇到不順期間。2024~2026 的數字很強,但讀者不能只看這段,否則很容易在多頭行情後高估策略。

不要誤讀: 量化策略不需要每一年都贏,但需要知道什麼市場環境會變弱。分段圖的用途不是挑一段最好看的期間,而是提醒你策略在壓力期間的行為。

圖 4:交易成本壓力測試

最後一張圖回到實盤問題:回測報酬扣掉手續費、證交稅與滑價後,還剩多少?

怎麼看: 橫軸是手續費與滑價代理,越往右代表交易成本越高;縱軸是年化報酬。折線往下代表成本正在吃掉策略報酬。

圖 4:交易成本壓力測試 以多因子複合策略為例,手續費與滑價代理越高,年化報酬越低;月頻策略仍要檢查成本斜率。
30%32%34%36%38%40%0%39.0%0.1425%36.8%0.3%34.4%0.5%31.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 策略。


相關閱讀


引用文獻

  • 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 量化研究團隊(經量化研究員審閱)