量化積木:回測報告說明教學
本篇會向大家說明量化積木損益的計算方式以及回測報告內的數值是如何算出來的。曾有不少用戶詢問「為什麼賣出價格比買入時還低,損益還是正的?是不是哪裡出錯了?」 放心,這不是 Bug 🐛!這是因為計算中考慮了 除權息 或 期貨轉倉 的影響哦~ 接下來,我們詳細拆解股票與期貨的損益計算邏輯。 若想要進一步了解 XQ 全球贏家提供的各種回測功能,可以參考《 功能介紹:XQ 有哪些回測報告? 》。1. 損益計算方式
1.1. 股票損益計算方式
首先,來看看損益是如何計算的,以下有幾個重要元素:- 交易數量:1 張 = 1000 股(未來會有金額計算方式)
- 手續費折數:6 折
- 進場價格:
- 策略有即時條件:以分 K 收盤價進場
- 策略只有盤後條件:以分 K 開盤價進場
- 出場價格:以分 K 收盤價出場
- 其他調整:除權息、手續費、交易稅
假設情境如下:- 2023/9/12 進場價:536 元
- 2023/9/15 出場價:548 元
如果單純計算價差: (548 − 536) × 1000 = 12,000 元。 但實際上,考慮除權息、手續費與證交稅後,真實損益是 12,473 元,比單純估算多了 473 元。 ▼ 假設你在2023年9月12日以536元買進台積電,並在9月15日以548元賣出
1.1.1. 損益計算公式
在計算前,先了解幾個關鍵名詞:- 進場還原比率 = 進場當天的原始收盤價 / 還原後的收盤價
- 出場還原比率 = 出場當天的原始收盤價 / 還原後的收盤價
- 還權比率 = 進場還原比率 / 出場還權比率
- 平倉價 = 出場價 * 還權比率
- 價差 = 平倉價 - 進場價 * 單位數
- 進場成本 = 進場價 * 單位數 * 手續費
- 出場成本 = 平倉價 * 單位數 * (手續費 + 交易稅)
- 損益 = 價差 - 進場成本 - 出場成本
1.1.2. 量化積木損益計算詳解
- 進場還原比率 = 544 / 540.98 = 1.005582461
- 出場還原比率 = 558 / 558 = 1
- 還權比率 = 1.005582461 / 1 = 1.005582461
- 平倉價 = 548 * 1.005582461 = 551.059
- 價差 = 551.059 - 536 * 1000 = 15059
- 進場成本 = 536 * 1000 * (0.001425 * 0.6) = 458
- 出場成本 = 551.05 * 1000 * (0.001425 * 0.6 + 0.003) = 2124
- 損益 = 15059 - 458 - 2124 = 12477
(註:因小數點四捨五入,最終結果可能會有微小差異,如範例中的 12,473 與 12,477)
1.2.期貨損益計算方式
期貨的計算較為複雜,涉及保證金與轉倉點數:- 契約單位:每點 × 每點價值(例:臺指期 200 元、小型期貨 50 元)
- 保證金乘數:13.5%(代表實際投入資金比例)
- 價格來源:依策略條件以分 K 收盤價進出場
- 其他調整:累計還原點數、交易稅、手續費
1.2.1 實際計算範例
假設情境:- 進場價 = 72.35
- 出場價 =72.45
- 累計還原點數 = 1
- 契約乘數 = 10000
- 保證金乘數 = 13.5%
- 手續費 = 50 元 / 口
- 交易稅 = 0.00002
乍看之下:(72.35 − 72.45) × 10,000 虧損巨大。 但在考慮了累計還原點數、手續費、交易稅與保證金制度計算後,真實損益是 10,871 元,報酬率 11.12%。 
1.2.2 詳細計算公式與過程
關鍵名詞:- 累計還原點數 = 從進場日至出場日累積的「轉倉還原點數 + 事件還原點數」
- 價差(多單) = (賣出價 + 累計還原點數 − 買入價) × 每點價值
- 價差(空單) = (賣出價 − (買入價 + 累計還原點數)) × 每點價值
- 進場成本 = 進場價 × 契約乘數 × 交易稅 + 手續費
- 出場成本 = (出場價 + 累計還原點數) × 契約乘數 × 交易稅 + 手續費
- 總成本 = 進場成本 + 出場成本
- 損益 = 價差 − 總成本
- 報酬率(%) = (損益 ÷ (進場價 × 契約乘數 × 保證金乘數)) × 100%
🌟 計算詳解:- 累計還原點數 = 141.40
- 價差(多單)= (47.54 + 141.40 − 188.45) × 10,000= 4,900
- 成本計算 進場:188.45 × 10,000 × 0.00002 + 50 = 87.69 ≈ 87 出場:(47.54 + 141.40) × 10,000 × 0.00002 + 50 = 87.79 ≈ 87 總成本 = 87 + 87 = 174
- 損益 = 4,900 − 174 = 4,726 元
- 報酬率 = 4,726 ÷ (188.45 × 10,000 × 13.5%) × 100%= 1.86%
📌 差異說明: 如果只看價格差,會覺得是虧損,但其實因為 累計還原點數 的存在,真實結果是獲利。 另外,計算中還要考慮 手續費與交易稅,因此最終數字會與單純估算不同。 同時因四捨五入到小數點第 2 位,會出現些許差距(例如 ±1 元)。2. 績效報告的意義及計算方式
接下來,將介紹量化積木績效報告裡面一些比較重要的數值。首先會說明數值的涵義,讓大家對數值有基本了解,並再進一步探討這些數值是如何計算出來的。2.1. 績效報告怎麼看呢?
▼ 介紹量化積木的績效報告裡面一些比較重要的數值,每個數值的定義是什麼。 
- 報酬率 (ROI):可以理解為看你投了多少錢,最後能賺回多少。具體來說,就是把你每筆交易的淨利(已實現損益+未實現損益)加起來,然後看看這個數字占最大投入的總金額的百分比。
- 最大拉回:這是從報酬率(ROI)曲線最高點掉到最低點的那段距離。它告訴你,在最壞的情況下,你可能會虧多少錢。這個數字有兩種算法:一種是用金額算,一種是用百分比算。▼ 介紹量化積木的績效報告,「最大拉回」這個數值是指從報酬率(ROI)曲線最高點掉到最低點的那段距離。

- 勝率:出手獲利次數佔總交易筆數的百分比。
- 風報比:衡量投資報酬和所承擔風險的比值,數值越高,代表著相對於承受的風險,獲得了更多的回報。
- 交易筆數:總共做了多少筆交易。
- 最大投入金額:回測期間投入了的總資金。
2.2. 績效報告計算方式
以下解釋績效報告中的各項數值:- 報酬率 ROI
- 金額:每筆淨利金額加總
- 百分比%:每筆淨利金額加總 / 最大投入金額
- 最大拉回
- 金額:每日累加淨利變化,依時間序列將淨利高峰 - 淨利谷底
- 百分比%:每日累加淨利變化,依時間序列將 (淨利高峰 / 淨利高峰時的最大投入金額) - (淨利谷底 / 淨利谷底時的最大投入金額)。以下圖為例: 195,776 / 729,049 - 49,894 / 1,083,733 = -22.25%
▼ 介紹量化積木的績效報告,前面說明描述的”報酬率 ROI”與”最大拉回”在2022/03/24這天的數值。
▼ 介紹量化積木的績效報告,前面說明描述的”報酬率 ROI”與”最大拉回”在2022/10/28這天的數值。
- 勝率:淨利為正的交易次數 / 總交易次數
- 風報比:報酬率% / 最大拉回%
- 交易筆數:總交易次數
- 最大投入金額:回測區間資金最大投入。
- 以單一商品的交易為例:(系統會考慮税費及相同股票同時間只進場一次,此處舉例先不考慮税費) 假設第一筆 4.9 元買入,最大投入金額就會是 4900 (進場買進費用) 接著在 5.0 元賣出,此時最大投入金額為 4900 (成本)、可動用金額為 5000 元 (4900 + 100) 假設第二筆 5.1 元買入,此時可動用金額還需額外投入 100 元成本 (5100 - 5000) 才能買入 因此最大投入金額 (成本) 需要調整為 5000 元 (4900 + 100)
- 近半月報酬率:報酬曲線上%,本月份 - 上月份 Ex.12月報酬:12月月末報酬率 - 11月月末報酬率
- 利潤統計:百分比為除以初始資金
- 淨利:每筆 (已實現 + 未實現) 損益金額加總
- 毛利:每筆 (已實現 + 未實現) 獲益金額加總
- 毛損:每筆 (已實現 + 未實現) 虧損金額加總
- 獲利因子: 毛利 / 毛損(的絕對值) × 淨利的正負
- 交易次數統計
- 總交易次數:交易 (已實現 + 未實現) 損益總筆數
- 獲利交易次數:交易 (已實現 + 未實現) 獲利筆數
- 虧損交易次數:交易 (已實現 + 未實現) 虧損筆數
- 平均統計
- 平均交易:淨利 / 總交易次數
- 平均獲利交易:毛利 / 獲利交易次數
- 平均虧損交易:毛損 / 虧損交易次數
- 平均獲利虧損比:平均獲利交易 / 平均虧損交易
- 最大交易統計
- 最大獲利交易:單筆 (已實現 or 未實現) 交易獲利金額最大
- 最大虧損交易:單筆 (已實現 or 未實現) 交易虧損金額最大
以上希望幫助大家對量化積木的計算邏輯有更深入的了解。 我是 XQ 小編,我們下次見。