一分鐘精華摘要:
回測一個選擇權策略,像照著一份舊食譜,用當年的食材價錢在家試做一桌菜。食材就是每個履約價每天的權利金,期交所網站免費提供:每日行情一次可以下載一個月,2001 到 2025 年還有整年的壓縮檔;更細的每筆成交,前 30 個交易日免費下載,更早的要另外申請。選擇權回測比期貨難在三件事:每個履約價都是不同的食材,冷門的序列當天可能根本沒成交;買賣價差和期交稅要算進成本;到期日一週就有好幾個。把這三件事照實算進去,回測的結果才接近真的下單會得到的。
「選擇權策略要怎麼回測?」「每個履約價的歷史權利金去哪裡找?」
這篇講選擇權回測要用哪些資料、期交所去哪下載、要記錄哪些欄位,再用一個假設的賣方策略算一次成本,最後講回測時最常算錯的地方。
一、選擇權回測要的資料:比期貨多好幾樣
| 要的資料 | 為什麼需要 | 期貨回測需要嗎 |
|---|---|---|
| 每個履約價、每個到期日的權利金 | 選擇權每個序列都是不同的商品 | 只要一條價格 |
| 標的價格(台指期或加權指數) | 決定要選哪個履約價、到期怎麼結算 | 要 |
| 到期日 | 一週有週三、週五到期,加上月選 | 只有月份 |
| 成交量 | 判斷當天這個價格到底買不買得到 | 參考 |
| 成本:期交稅、價差、滑價 | 選擇權權利金小,成本占的比例高 | 要 |
延伸閱讀:
二、權利金歷史資料去哪找:期交所的四個地方
| 資料 | 期交所網站的位置 | 能下載多少 |
|---|---|---|
| 每日行情(每個序列的開高低收、結算價、成交量) | 交易資訊 → 選擇權 → 選擇權每日交易行情下載 | 每次最多一個月;年度下載有 2001 到 2025 年,每年一個壓縮檔 |
| 每筆成交 | 交易資訊 → 選擇權 → 前 30 個交易日選擇權每筆成交資料 | 最近 30 個交易日,csv 或 rpt 檔 |
| 每日 Delta 值 | 交易資訊 → 選擇權 → 選擇權每日 Delta 值 | 每天 6:45、14:30、16:30 更新,可下載前 30 個交易日 |
| 更早的每筆成交 | 交易資訊 → 交易歷史資料申請 | 要另外申請,價格和起迄時間看期交所的一覽表 |
每日行情從 2025 年 12 月 8 日起多了「契約到期日」欄位,在這之前的資料,到期日要自己對照期交所的行事曆或契約規格補上。夜盤的資料用交易量歸屬的日期標示,跟期貨一樣。
延伸閱讀:
三、回測時每筆要記錄什麼
| 欄位 | 例 |
|---|---|
| 進場日期、時間 | 星期三收盤 |
| 序列 | 到期日、買權或賣權、履約價 |
| 進場價格、用的是哪一種價 | 50 點,用結算價還是收盤價要固定 |
| 當天這個序列的成交量 | 確認真的有成交 |
| 出場日期、價格、原因 | 到期結算、停損、停利 |
| 成本 | 期交稅、價差、滑價 |
| 帳戶資金 | 賣方要放的保證金,用來算報酬率 |
價格用哪一種要先定好。結算價每個序列都有,但冷門的序列當天可能沒有成交,結算價是期交所依規則算出來的,不一定買得到;只用有成交的價格比較保守,能回測的序列也比較少。
延伸閱讀:
四、用一個假設的策略,算一次成本
假設策略是:每週三賣出一口價外的週選賣權,放到到期。某一週成交在 50 點:
| 項目 | 計算 |
|---|---|
| 收到的權利金 | 50 × 50 元=2,500 元 |
| 賣出時的期交稅 | 2,500 × 千分之一=2.5,四捨五入 3 元 |
| 價差 | 50 點附近一跳 1 點,賣在委買價,比中間價少約 1 跳,50 元 |
| 到期時價外 | 歸零,不用買回,沒有到期交割稅 |
| 這一週淨收 | 2,500 − 3 − 50=2,447 元 |
如果那一週指數跌下去,賣權變成價內:
| 項目 | 計算 |
|---|---|
| 到期結算 | 依最後結算價算差額付出 |
| 到期交割稅 | 最後結算價 × 50 × 十萬分之二,四捨五入 |
| 中途停損 | 用買回的價格算,再加一次期交稅、價差和滑價 |
賣方策略常見的樣子是:很多週小賺,少數幾週大賠。回測要拉得夠長,至少要包含幾次大跌的行情,才看得出那幾週會吃掉多少。
延伸閱讀:
五、回測最常算錯的地方
| 常見的錯 | 怎麼避開 |
|---|---|
| 用冷門序列的結算價當成交價 | 加上成交量的條件,沒有成交的不算 |
| 沒算期交稅和價差 | 每一筆進出都扣成本,權利金越便宜,成本占比越高 |
| 只回測行情平穩的那幾個月 | 拉長期間,包含大跌、大漲的行情 |
| 參數一直調到最好看 | 留一段沒用過的資料做最後驗證 |
| 報酬率用保證金當分母 | 用帳戶實際放的資金算,帳戶整體槓桿控制在三倍以下 |
回測的目的,是先知道這個策略在不同行情下大概會怎樣,最差的那幾週會賠多少,帳戶撐不撐得住。把這些先算清楚,再用小口數實際跑一段時間對照。
延伸閱讀:
常見問題
Q1:期交所的選擇權歷史資料要錢嗎?
每日行情(含 2001 到 2025 年的年度檔)、前 30 個交易日的每筆成交、每日 Delta 值都可以在期交所網站免費下載。更早的每筆成交要另外申請,價格看期交所〈交易歷史資料申請〉頁面的一覽表。
Q2:回測要用收盤價還是結算價?
都可以,選定一種就固定用。結算價每個序列都有,比較好算;收盤價是真的成交過的價格,但冷門序列可能沒有。不管用哪一種,都要加上成交量的條件和成本。
Q3:可以用 Python 自己回測嗎?
可以。把期交所下載的 csv 讀進來,依到期日、買賣權、履約價篩出要的序列,再照策略規則逐筆計算。期貨的回測框架可以沿用,多加序列篩選和成本計算。
總結:照實的食材和成本,才做得出真的味道
選擇權回測像照舊食譜試做一桌菜:食材是每個履約價每天的權利金,期交所的每日行情、年度檔、前 30 個交易日每筆成交都能免費下載。回測時每筆記錄序列、價格、成交量和成本,冷門序列加上成交量條件,期交稅、價差、滑價每一筆都扣。期間拉長到包含大行情,報酬率用帳戶實際的資金算,帳戶整體槓桿控制在三倍以下,回測結果才接近實際下單。
程式交易系列: