免費下載
訂閱模組
搜尋

策略雷達回測功能:「回測報告」說明


選擇單元...
各位XS的用戶,在對「策略雷達」執行回測後,最重要的工作就是在回測報告中確認執行的成效!

在這篇文章中,我們將為您介紹「回測報告」中的四種顯示模式。詳情如下:

 

整體統計

整體統計是用來顯示策略績效的全面報告。

為了可以更客觀評估策略投資組合的投資績效,從XQv6.40起各項整體統計數值計算改時間加權報酬(Time Weighted Returns, TWR)的方式計算。時間加權報酬通常被用於衡量基金的投資績效,主要考量的是策略訊號對策略績效的影響,而非資金流入、流出造成的績效變動。

由於時間加權報酬率的計算方式,即使是相同報酬率的二筆交易,在不同的時間對策略績效的影響有可能會不同。某些用來評估單筆交易而非策略部位的數值項目(例如最大獲利率),我們會特別在後面標註單筆,代表這些項目的值僅考慮單筆進出場點的計算,而非策略績效的貢獻度。

另外,現在每筆交易的報酬率,在股票商品會納入除權息再投資,在期貨商品則會去除換月價差影響,讓報酬率變得更為精確。不過,為了方便使用者於圖表上比對進出場點,我們在交易分析中顯示的進出場價仍然是回測頻率的點位,而非計算報酬所用的價格。

整體統計是顯示回測的整體報告,用戶們可以參考底下的說明。

 

回測設定顯示

這裡主要是顯示回測的參數設定,讓用戶們可以知道回測的資料範圍區間、腳本所輸入的參數,以及交易設定的設定內容‧

針對回測的商品範圍部分,系統會將執行結果顯示在「執行商品個數」欄位,裡面內容會呈現執行成功/失敗的商品數量,用戶們可以點擊失敗的個數link,點擊後系統會跳出執行失敗的列表,用戶們可以從列表中知道商品執行失敗的原因‧

 

進出場設定

進出場設定是顯示腳本所輸入的參數,以及出場的交易設定。

 

匯總報表

匯總報表是顯示這個回測在這段區間內,所有因觸發而產生的模擬交易的整體報表,主要顯示下列資訊

總交易次數

一個進場+出場視為一次的交易,在回測區間內所產生的所有交易次數加總,就是「總交易次數」

例如:A策略雷達在回測中,台積電總共交易了5次,大立光總共交易了6次,所以總交易次數就是11次‧

獲利次數

「總交易次數」內賺錢(報酬率>0)的交易次數

虧損次數

「總交易次數」內賠錢(報酬率<0)的交易次數

勝率

「獲利次數」佔「總交易次數」的百分比

總報酬率%(單筆)

依據交易分析中的進場點和出場點計算所得出的每筆交易的報酬率(股票會納入除權息再投資、期貨會去除換月價差影響)

平均報酬率%

整體統計中,總交易報酬率的平均值

總報酬率/總交易次數

最大獲利率%(單筆)

交易分析裡,每筆交易報酬率>0(賺錢)的交易中,報酬率最大(賺最多)就是「最大獲利率%」

例如:A策略雷達在回測中,總共只有3次交易:

  • 第一次交易的報酬率為3%
  • 第二次交易的報酬率為10%
  • 第三次交易的報酬率為-2%

在這個回測中只有第一&第二次交易的報酬率>0,且最大報酬率率是第二次交易,所以最大獲利率就是10%

最大虧損率%(單筆)

交易分析裡,每筆交易報酬率<0 (賠錢)的交易中,報酬率最小(賠最多)就是「最大虧損率%」

例如:B策略雷達在回測中,總共只有3次交易:

  • 第一次交易的報酬率為3%
  • 第二次交易的報酬率為-5%
  • 第三次交易的報酬率為-8%

在這個回測中只有第二&第三次交易的報酬率<0,且最小的報酬率是第三次交易,所以最大虧損率就是-8%

總報酬率%

總報酬率是指回測區間內投資組合的時間加權報酬率。每日計算投資組合的平均報酬率,再以複利的方式算出投資組合的時間加權報酬率。

舉例來說:

  • 1/1日的投資組合中僅有一檔商品,且該商品的日報酬率為5%,則1/1日的投資組合報酬率為5%,總報酬率為(1+5%)-1=5%
  • 1/2日的投資組合中有二檔商品,日報酬率各為-3%及-5%,則1/2日的投資組合報酬率為((-3%)+(-5%))/2=-4%,總報酬率為(1+5%)*(1-4%)-1=0.8%
  • 1/3日的投資組合中僅有一檔商品,且該商品的日報酬率為2%,則1/3日的投資組合報酬率為2%,總報酬率為(1+5%)*(1-4%)*(1+2%)-1=2.82%
  • 依此類推

最大連續獲利率%

將總報酬率%繪製成每日曲線圖(總報酬率走勢圖)找出每一段總報酬率%連續增加的區段並計算中間的差值,就是連續獲利率,舉例來說:

  • 連續獲利率的算法:

    • 當單日報酬率 ≧ 0 時,公式為:(1+單日報酬率)×(1+前一期的連續獲利率)-1
    • 當單日報酬率<0 時,此數值為 0

連續獲利率累加的算法,是採用時間加權報酬率的公式運算。

而將回測區間中計算出所有的連續獲利率後取出最大值,就是「最大連續獲利率%」

最大連續虧損率%

將總報酬率%繪製成每日曲線圖(總報酬率走勢圖),找出每一段總報酬率%連續減少的區段並計算中間的差值,就是連續虧損率,舉例來說:

  • 連續虧損率的算法:

    • 當單日報酬率 ≦ 0 時,公式為:(1+單日報酬率)×(1+前一期的連續虧損率)-1
    • 當單日報酬率>0 時,此數值為 0

連續虧損率累加的算法,是採用時間加權報酬率的公式運算。

而將回測區間中計算出所有的連續虧損率後取出最小值,就是「最大連續虧損率%」

最大區間獲利率%

區間獲利率的計算方式與連續獲利率的差異是連續獲利率要求總報酬率必須持續向上,可是區間獲利率允許總報酬率暫時的下滑,只要總報酬率沒有跌破前低值的話都算是獲利中,舉例來說:

  • 區間獲利率的算法

    • 當總報酬率大於總報酬率的最小值時,公式為:(1+總報酬率)/(1+總報酬率的最小值)-1
    • 當總報酬率小於或等於總報酬率的最小值時,則為 0

  • 總報酬率的算法

    • 採用時間加權報酬率,公式為:(1+單日報酬率)×(1+前一期的總報酬率)-1

上述算法,因為是用報酬率在算,所以我們會加上本金去計算實際的獲利率變化。可以想成本金是 100 把所有的數值都換成錢後,再去計算區間的獲利率。

而將回測區間中計算出所有的區間獲利率後取出最大值,就是「最大區間獲利率%」

最大區間虧損率%

區間虧損率的計算方式與連續虧損率的差異是連續虧損率要求總報酬率必須持續向下,可是區間虧損率允許總報酬率暫時的上升,只要總報酬率沒有突破前高值的話都算是虧損中,舉例來說:

  • 區間獲利率的算法

    • 當總報酬率小於總報酬率的最大值時,公式為:(1+總報酬率)/(1+總報酬率的最大值)-1
    • 當總報酬率小於或等於總報酬率的最小值時,則為 0

  • 總報酬率的算法

    • 採用時間加權報酬率,公式為:(1+單日報酬率)×(1+前一期的總報酬率)-1

上述算法,因為是用報酬率在算,所以我們會加上本金去計算實際的獲利率變化。可以想成本金是 100 把所有的數值都換成錢後,再去計算區間的虧損率。

而將回測區間中計算出所有的區間虧損率後取出最小值,就是「最大區間虧損率%」

總報酬率走勢圖

顯示回測區間中投資組合總報酬率的每日曲線圖,區間中最後一日的數值,會等於上面「匯總報表」中的「總報酬率%」。走勢圖有支援查價功能,使用者可以查詢每日的投資組合報酬率變化。

report2-03

用戶們也可以利用走勢圖下方的區間調整bar,來zoom in/zoom out走勢圖。

report2-04

如果想要和其他商品比較,也可以利用走勢圖右上角的「+」icon,來加入其他商品來比較。例如想知道自己的策略有沒有打敗大盤,就可以加入「加權指數」來比較看看!

report2-06

 

 

商品統計表

商品統計表會列出每個商品的回測結果,且每個欄位都支援排序的功能,方便用戶們找到該欄位中數值最大(最小)的商品。

如果列表中的商品太多,用戶們可以使用右上角的搜尋Tool,只要敲入股號或股名,系統就會快速在列表區中顯示出找尋結果,是不是很方便呢!!

report2-07

列表也支援直接把列表中的商品加到自選組合功能,用戶們可以先勾選要加到自選組合的商品,然後點選列表左上角的「加到自選股...」按鈕,系統就會跳出「加入自選商品組合」的介面,用戶可以利用這個介面將所勾選的商品加入到所選擇的自選組合中。

report2-08

如果用戶覺得某一檔商品的回測報告不錯,想要確認這檔商品的每個交易回測結果,可以直接點擊列表中這個商品的商品名稱,系統就會自動跳到這個商品的「商品分析」。

report2-09

 

商品分析

商品分析介面中,上方會顯示「單商品回測報告」,而下方會顯示這個商品的「報酬率」、「走勢圖」、「交易明細表」。

要切換其他商品的回測報告,可以利用左邊的導航欄,在「商品分析」項目下,會列出所有的商品,用戶們可以點選來切換目前商品分析中所顯示的商品。或是點選右上方的上/下一檔箭頭,也可以切換上下一檔商品。

report2-10

單商品回測報告

單商品回測報告的數值是顯示這個策略中該商品相關的交易的數值分析。這邊的數值計算仍然維持原本的每筆交易報酬率累加的計算方式,而非時間加權報酬率。每個項目的計算說明如下:

總交易次數

一個進場+出場視為一次的交易,在回測區間內該商品的所有交易次數加總,就是「總交易次數」

獲利次數

「總交易次數」內賺錢(報酬率>0)的交易次數

虧損次數

「總交易次數」內賠錢(報酬率<0)的交易次數

勝率

「獲利次數」佔「總交易次數」的百分比

報酬率%

依據交易分析中的進場點和出場點計算所得出的每筆交易的報酬率(股票會納入除權息再投資,期貨會去除換月價差影響)

平均報酬率%

商品每筆交易報酬率的平均值

每筆交易報酬率相加 / 總交易次數

最大獲利率%

商品每筆交易報酬率>0(賺錢)的交易中,報酬率最大(賺最多)就是「最大獲利率%」

最大虧損率%

商品每筆交易報酬率<0 (賠錢)的交易中,報酬率最小(賠最多)就是「最大虧損率%」

總報酬率%

商品每次交易的報酬率加總

最大連續獲利率%

將總報酬率%繪製成每日曲線圖(總報酬率走勢圖)找出每一段總報酬率%連續增加的區段並計算中間的差值,就是連續獲利率,舉例來說:

  • 連續獲利率的算法:

    • 當單日報酬率 ≧ 0 時,公式為:(1+單日報酬率)×(1+前一期的連續獲利率)-1
    • 當單日報酬率<0 時,此數值為 0

連續獲利率累加的算法,是採用時間加權報酬率的公式運算。

而將回測區間中計算出所有的連續獲利率後取出最大值,就是「最大連續獲利率%」

最大連續虧損率%

將總報酬率%繪製成每日曲線圖(總報酬率走勢圖),找出每一段總報酬率%連續減少的區段並計算中間的差值,就是連續虧損率,舉例來說:

  • 連續虧損率的算法:

    • 當單日報酬率 ≦ 0 時,公式為:(1+單日報酬率)×(1+前一期的連續虧損率)-1
    • 當單日報酬率>0 時,此數值為 0

連續虧損率累加的算法,是採用時間加權報酬率的公式運算。

而將回測區間中計算出所有的連續虧損率後取出最小值,就是「最大連續虧損率%」

最大區間獲利率%

區間獲利率的計算方式與連續獲利率的差異是連續獲利率要求總報酬率必須持續向上,可是區間獲利率允許總報酬率暫時的下滑,只要總報酬率沒有跌破前低值的話都算是獲利中,舉例來說:

  • 區間獲利率的算法

    • 當總報酬率大於總報酬率的最小值時,公式為:(1+總報酬率)/(1+總報酬率的最小值)-1
    • 當總報酬率小於或等於總報酬率的最小值時,則為 0

  • 總報酬率的算法

    • 採用時間加權報酬率,公式為:(1+單日報酬率)×(1+前一期的總報酬率)-1

上述算法,因為是用報酬率在算,所以我們會加上本金去計算實際的獲利率變化。可以想成本金是 100 把所有的數值都換成錢後,再去計算區間的獲利率。

而將回測區間中計算出所有的區間獲利率後取出最大值,就是「最大區間獲利率%」

最大區間虧損率%

區間虧損率的計算方式與連續虧損率的差異是連續虧損率要求總報酬率必須持續向下,可是區間虧損率允許總報酬率暫時的上升,只要總報酬率沒有突破前高值的話都算是虧損中,舉例來說:

  • 區間獲利率的算法

    • 當總報酬率小於總報酬率的最大值時,公式為:(1+總報酬率)/(1+總報酬率的最大值)-1
    • 當總報酬率小於或等於總報酬率的最小值時,則為 0

  • 總報酬率的算法

    • 採用時間加權報酬率,公式為:(1+單日報酬率)×(1+前一期的總報酬率)-1

上述算法,因為是用報酬率在算,所以我們會加上本金去計算實際的獲利率變化。可以想成本金是 100 把所有的數值都換成錢後,再去計算區間的虧損率。

而將回測區間中計算出所有的區間虧損率後取出最小值,就是「最大區間虧損率%」

報酬率

將單商品的總報酬率繪製成每日曲線圖。未平倉的交易會假設在區間的最後一天平倉。

走勢圖

走勢圖是顯示單商品在回測區間內的k線圖走勢,系統會在有交易的k棒中顯示「進場」、「出場」的標記,而標記中會顯示交易的序號。

再回顧一下前面文章有提到的說明,一個進場+出場等於一次交易,以下面的圖示來看,紅色的框框代表為進場,綠色的框框代表為出場,而同一個交易會標示同一個交易序號,所以上面圖示所圈起的序號「1」的進場/出場圖示,就是代表「交易序號1的進場&出場」標記。

report2-11

如果想了解走勢圖上某一筆交易的進出場價格,可以利用走勢圖提供的查價線,只要用滑鼠點擊有標示交易序號的k棒,系統就會在商品名稱下方顯示交易進出場的價格&該筆交易的報酬率,而交易標記也會用黃色底色顯示,讓用戶們知道目前該筆交易的進出場是在那一根k棒。

用戶們也可以利用走勢圖右上角的「上/下一筆交易」按鈕,快速切換到切到上一筆/下一筆交易。例如:下方圖示中,走勢圖是顯示交易序號1的資訊,當點擊「下一筆交易」按鈕時,系統就會跳到交易序號2。

用戶如果需要看到每筆交易更詳細的資料,可以參考明細表的說明。

明細表

明細表會用表格來呈現這檔商品在回測區間內的所有交易,系統會依照交易序號來排序,所以用戶可以在這個表格中一目了然的知道所有交易的交易資訊,資訊包含以下欄位:

report2_13

交易序號

顯示每筆交易的序號,交易的序號是回測的過程中系統所給的交易編號。

交易日期

顯示每筆交易的進場/出場日期,上面為進場,下面為出場。

交易價位

顯示每筆交易進場/出場的價位和交易方向(買進或賣出),上面為進場,下面為出場。

報酬率

顯示每筆交易的報酬率(股票會納入除權息再投資、期貨會去除換月價差影響)。

累計報酬率

這裡的累計報酬率,初始值是交易序號1的報酬率,然後從交易序號1往下累加。

例如:「交易序號3」的累計報酬率就會累計「交易序號1」、「交易序號2」、「交易序號3」的報酬率所計算出來的值。

連續次數

顯示報酬率>0 & 報酬率<0的連續次數,如果連續幾筆交易都是報酬率>0,系統就會顯示「賺1、賺2、賺3...」;反之,如果連續幾筆交易都是報酬率<0,系統就會顯示「賠1、賠2、賠3...」,依此類推。

 

交易分析

交易分析介面中,上方表格會顯示此次回測所有商品的每筆交易,用戶們可以點選表格中的任一筆交易,下方就會顯示該筆交易商品的走勢圖,而走勢圖的查價線也會停留在該筆交易的進場日期。

用戶們也可以利用表格右上角的「<」&「>」這兩個按鈕,來依序切換表格中上/下一筆交易。

如果用戶們想要快速過濾「賺錢」or「賠錢」的交易,可以利用表格上方的「賺錢」&「賠錢」,快速確認此次回測中所有賺錢&賠錢的交易。

而走勢圖的操作行為和功能,和商品分析的走勢圖一樣,用戶們可以參考「走勢圖」。

 

腳本資料

report2-16

腳本資料介面會顯示這個策略雷達的腳本內容。而介面右上角的「copy」功能,則可以將腳本複製後貼到別的記事本等編輯軟體上。

看到這邊,回測報告的說明也告了一段落,希望各位用戶可以輕鬆的利用回測功能來檢視策略雷達的成效,並祝大家投資順利!!