VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
策略學院 / AlphaPrime 操作

交易日誌軟體:該記錄什麼,與回測績效報表有何不同

交易日誌記錄的是帳戶裡實際發生的事:成交、部位大小、手續費、理由與截圖。回測績效報表記錄的是規則在歷史資料上的表現。系統化交易者兩者都需要,價值來自兩者的比較。

作者 · 發佈 · 更新於 · 編輯原則

目錄
  1. 交易日誌軟體應該記錄什麼?
  2. 交易日誌與回測績效報表有何不同?
  3. 如何比較實單交易與回測預期?
  4. 如何檢視週期績效與回撤?
  5. 免費或付費的交易日誌軟體:該看什麼?
  6. 常見問題
  7. 參考資料

交易日誌軟體應該記錄什麼?

交易日誌軟體應該記錄每一筆實單交易的進場與出場時間和價格、部位大小、手續費、交易理由,以及一張圖表截圖。對系統化交易者來說,日誌呈現的是帳戶裡實際發生的事,回測績效報表呈現的是規則在歷史資料上的表現。把兩者放在一起比較,就能看出實單交易是否與測試相符。

交易日誌是你實際下過的每一筆交易的紀錄,詳細程度要足以事後解釋這筆交易為什麼賺或賠。銀行對帳單只告訴你餘額變了,日誌則告訴你為什麼。對系統化交易者而言,最有用的額外欄位是策略預期的價格,以及你實際拿到的價格,兩者並列。交易來自固定流程時,日誌最有用,例如匯入 MultiCharts 或匯出到 NinjaTrader的策略。

欄位該記錄什麼有什麼幫助
策略與版本策略名稱,以及產生訊號的確切參數組合即使策略之後改動,也能把交易對應到正確的回測
商品代號與合約月份轉倉日期與合約月份能解釋一些奇怪的成交
方向與部位大小做多或做空、口數知道部位大小,才能比較每口的結果
訊號價格與時間策略決定交易時的價格與 K 棒這就是你的回測所假設的價格
進場成交實際成交價格與時間與訊號價格的差距就是你真實的滑價
出場訊號與出場成交出場的同樣兩個價格出場的滑價通常比進場大,尤其是停損出場
手續費每一買一賣(來回)的手續費,加上交易所與結算費用每筆很小,一年下來很大
理由或偏離「依訊號執行」、「手動干預」、「漏掉訊號」,加上簡短備註看出你交易的是系統還是自己的主觀意見
截圖進場與出場時的圖表,並能看到策略的標記讓你事後確認訊號真的出現在圖表上
事件平台斷線、資料源問題、當時的新聞區分執行問題與策略問題

滑價是策略預期的價格與你實際拿到的價格之間的差距。你可以用跳動點為單位,逐邊計算:

以跳動點計的滑價 = (成交價 − 訊號價)÷ 最小跳動單位

其中,成交價是你實際拿到的價格,訊號價是策略所用的價格,最小跳動單位是該合約最小的價格間距。買進時,正數表示你付得比預期多。賣出時,把正負號反過來,讓較差的成交同樣是正數。每一次進場與每一次出場都要記下這個數字。

交易日誌與回測績效報表有何不同?

回測績效報表告訴你規則在多年歷史中的表現,日誌告訴你你實際交易的那幾週、幾個月裡,真實交易的表現。把回測想成長途駕駛的路線規劃,日誌則是行車紀錄:規劃說這趟車程應該要六小時,紀錄則顯示塞車和走錯路發生在哪裡。

回測績效報表是策略在歷史資料上模擬交易的摘要,通常包含權益曲線、回撤、交易明細與統計數字。在 AlphaPrime(Valynox)中,績效報表會呈現受測策略的權益、回撤、交易、週期績效,以及多空分析。

問題回測績效報表交易日誌
規則在趨勢、盤整與高波動的年份表現如何?可以不行,只涵蓋你交易過的期間
回撤合理來說可能多深?可以,來自歷史只有你親身經歷過的回撤
執行實際花了多少成本?只有你假設的部分可以,來自真實成交
我有照規則做嗎?不行可以,來自偏離欄位
平台與資料表現正常嗎?不行可以,來自事件備註
回測涵蓋多年歷史資料,採用假設的成本。交易日誌只涵蓋最近幾個月的實單交易,是真實成交。兩者在重疊的區間進行比較。 在重疊區間比較 同一條時間軸,兩份紀錄 回測:多年,假設成本 比較 日誌:數月,真實成交 計畫對紀錄:看出差距。 因此:用實單日期重跑回測。
回測涵蓋很長的歷史,成本是假設的。日誌涵蓋短短的實單期間,成交是真實的。比較就發生在兩者重疊的地方。

如何比較實單交易與回測預期?

先比較執行,再比較績效,因為執行問題在幾筆交易後就會浮現,而績效需要很多筆交易才有意義。請依序進行以下步驟:

  1. 在實單期間重跑回測。使用相同的資料、交易時段設定與成本,以及你實單交易的相同日期。這樣每一筆實單交易都該有一筆對應的回測交易。
  2. 數交易筆數。實單交易多出或缺少,通常指向資料差異、交易時段設定或手動干預。檢查偏離欄位。
  3. 比較訊號價格。如果實單與回測的訊號出現在不同價格,代表 K 棒資料或交易時段設定不同。先解決這個問題,再處理其他事。
  4. 比較成交。從日誌算出每邊的平均滑價,與回測假設的滑價比較。
  5. 比較扣除成本後的平均每筆損益。期望值是許多筆交易後,每筆交易平均賺或賠的金額。用勝率與期望值計算器從你的日誌算出期望值,並與回測的數字並列。
  6. 用事先訂好的規則決定。在開始實單交易前就寫下,滑價或交易筆數差距達到多少時,你會停下來調查。

假設範例

某策略交易的合約,每一跳動點價值 $10。回測假設每邊 1 個跳動點的滑價,每一買一賣(來回)手續費 $10,並顯示扣除成本後的平均每筆損益為 $50。實單交易 40 筆之後,日誌顯示平均每筆損益為 $25。滑價欄位顯示每邊平均 2.5 個跳動點,也就是每一買一賣(來回)$50,而不是假設的 $20。多出來的 $30 足以涵蓋 $25 的差距:若採用假設的滑價,實單平均約為 $55,與回測相近。規則的表現與測試一致,只是執行成本更高。下一步是用每邊 2.5 個跳動點重跑回測,並檢查平均每筆損益是否仍是一買一賣(來回)成本的數倍。

這就是訊號價格欄位如此重要的原因。沒有它,你只會看到「$25 而不是 $50」,可能就怪罪策略。關於成本如何吞噬微小的優勢,請見回測中的交易成本與平均每筆損益。把日誌裡記下的滑價帶回 AlphaPrime 回測的手續費與滑價設定,下一輪測試就會從你實際成交的成本出發。

即使執行相符,也要預期實單結果會略低於回測。當測試了許多變體並只保留最好的一個,它的回測結果往往被高估。Harvey 與 Liu(2015)正是基於這個原因,建議對回測的夏普比率打折。

如何檢視週期績效與回撤?

按固定的時程檢視,並把每個期間與回測中相同類型的期間比較,而不是與你的期望比較。回撤是帳戶權益從先前最高點到之後低點的跌幅。你可以用回撤計算器,從日誌的權益序列來衡量,它也會顯示恢復花了多久。

  1. 每週:檢查執行。找出漏掉的訊號、手動干預、滑價異常值與平台事件。
  2. 每月:記錄淨損益、交易筆數與目前的回撤。與回測中每月結果的分布比較。如果回測也有類似幅度的虧損月份,那麼虧損的月份就是正常的。
  3. 每季或達到一定交易筆數後:把實單的期望值、勝率與平均獲利和虧損與回測比較,並分別檢查多單與空單交易。
  4. 任何時候:如果實單回撤超過你事先寫下的水準,就停止增加風險,並執行上述的比較步驟。

單一回測只給出一個最大回撤,但同樣的交易換一種順序,就會得到不同的結果。把你的交易重新洗牌,可以得到一個合理的回撤範圍,這是衡量實單回撤更好的尺度。可執行於日誌或回測交易的方法,請見用 Excel 做蒙地卡羅模擬,得到回撤範圍。

假設的十二個月實單權益曲線:兩次從累計高點回落至回測的回撤範圍內,但從未觸及預先設定的虛線檢討水位。 在範圍內就是正常 假設實單一年 vs. 回測 實單權益 測試範圍 檢討水位 範圍內的回落在預期中。 所以:超過底線才動作。
假設:實單權益曲線與回測回撤範圍的比較。在範圍內的下跌屬於預期之內;跌破事先設定的檢視水準,就要進一步檢查。

免費或付費的交易日誌軟體:該看什麼?

最好的交易日誌,是你能持續記錄完整的那一個,所以要依它記錄上述欄位的方便程度來選,而不是價格。免費的選項包括試算表、券商或平台的交易匯出,以及專門日誌應用程式的免費版。付費工具通常多了自動匯入、更多報表與截圖的儲存空間。選擇前請檢查這幾點:

檢查項目對系統化交易者為何重要
從券商或平台匯入成交每筆成交都手動輸入,會造成遺漏與打字錯誤
支援期貨的點值與合約月份乘數錯了,每口的損益就會錯
每筆交易有手續費欄位你需要淨損益,才能與包含成本的回測比較
可新增自訂欄位,例如訊號價格沒有預期價格就算不出滑價
依策略與版本標記交易同一帳戶中的多個策略必須分開檢視
可附加截圖以視覺方式證明訊號出現在規則所說的位置
一致地處理時區成交時間必須與回測的 K 棒時間對得上
匯出你所有的資料你可以在試算表中重建分析,或轉換到其他工具

只要你願意每天貼上平台的交易匯出,試算表就涵蓋了這張表中的每一列。許多系統化交易者就是這樣起步的,因為訊號價格與策略版本的自訂欄位很容易新增。

如果你使用 AlphaPrime,這代表:績效報表提供比較中的回測那一側,所以日誌要使用相同的單位與期間。把每個策略存放在策略資料庫,並把名稱與版本寫進每一筆日誌,讓每一筆實單交易都能回溯到產生它的確切規則。

常見問題

有免費的交易日誌軟體嗎?

有。試算表、券商或平台的交易匯出,以及專門日誌應用程式的免費版,都可以當作日誌。重點是它要能儲存手續費、訊號價格、策略版本與截圖,而且你能匯出自己的資料。

期貨交易者最好的交易日誌是哪一種?

最好的交易日誌,是你每一筆交易都能記錄完整的那一個。對期貨來說,要確認它能處理點值與合約月份、每筆交易記錄手續費,並讓你新增訊號價格等自訂欄位。從你的平台自動匯入,會讓你更容易保持完整。

如果我的策略完全自動化,還需要交易日誌嗎?

需要。自動化排除了人工決策,但沒有排除滑價、漏單、平台斷線或資料問題。日誌是你看到這些問題的地方,也是檢查實單交易是否與回測相符的唯一方法。

要累積多少筆實單交易,才能與回測比較?

執行可以從最初幾筆交易就檢查:滑價、漏掉的訊號與交易筆數。損益則需要多得多的交易筆數,因為短樣本可能純靠機率就看起來很好或很差。事先決定你要等多少筆交易,才判斷績效。

交易日誌與回測績效報表有什麼差別?

回測績效報表顯示策略規則在多年歷史資料上,使用假設成本的表現。交易日誌顯示你實際下的交易,包含真實成交、手續費與備註。回測設定預期,日誌則檢驗這個預期。

參考資料

  • Harvey, C. R., & Liu, Y. (2015). Backtesting. The Journal of Portfolio Management, 42(1), 13–28.