選股跟交易的時間加權報酬不一樣?

  •   251 
  • 最後發表   charlie1234  2022 一月 06
charlie1234 發文於   2022/01/01

小幫手好

如沒記錯,選股跟雷達的回測採用的都是時間加權報酬

而在交易模組內也有一個時間加權報酬,他的計算方式跟選股和雷達的計算方式是一樣的嗎?

如果在選股跟交易模組內,進出場股票的時間、點位都是一樣的,時間加權報酬績效曲線在兩個報表上是不是該一樣的呢?

在選股內,

1. 選擇離今天除息日期小於1天

2. 回測台灣50成分股,20200101~20211230,停損利都是10%

在交易模組內,

1. 回測設定一樣

2. 商品採用"選股"

if position=0 and date<>date[1] then setposition(1);

if position>0 and filled>0 and (close>=filledavgprice*1.1 or close<=filledavgprice*0.9 ) then setposition(0);

比對後,買賣的股票數、進出廠日期幾乎都是一樣的,報酬率也都差異不大 (見附加檔案)

然而,選股回測的績效曲線跟交易回測的時間加權報酬曲線卻差異非常大,尤其是2021年那段,

煩請小幫手了解下,謝謝

 

選股回測

 

交易回測

 

 

 

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/01/05

Hello charlie1234,

 

您可以參考策略雷達和自動交易裡面關於時間加權報酬率的說明。

策略雷達回測功能:「回測報告」說明  (內有時間加權報酬率的計算範例)

自動交易回測功能

需注意的是,如同策略雷達回測頁面裡的說明 總報酬率是指回測區間內投資組合的時間加權報酬率。每日計算投資組合的平均報酬率,再以複利的方式算出投資組合的時間加權報酬率。

也就是說,若兩邊交易出場的日期不同,那麼當日計算出的加權報酬率就會不同。

根據您提供的比較excel檔,兩邊商品出場時間不同的商品其實並不少,且每檔商品計算出的報酬率也有差。

這樣兩邊交易加總後計算出的時間加權報酬率自然會不同。

 

附加文件

charlie1234 發文於   2022/01/05

謝謝小幫手

我可以認同不同時間進出場,會造成加權的權益曲線的差異

但我主要的糾結點在於,當一樣的程式碼,在選股跟交易模組卻產生如此不同的報酬曲線

我該如何評估那一個曲線是比較正確的? 很讓人無所適從

如果把上面的兩張圖,當成不同策略的權益曲線,可能一個會去下實單,一個會繼續研究

在不知哪個較為正確的情況下,之後的表現不管好壞,其解釋都是不正確的

下實單的,表現不好,可能就說是過度最佳化、現在不適合這個策略.....

但會不會其實,一開始回測的績效就有問題呢? 

 

 

我知道回測有太多狀況,但至少會希望我回測的結果是正確的

再麻煩小幫手教我當選股跟交易的加權報酬績效差異很大時,該如何評估何者的績效是較為正確的

感謝

 

XQ小幫手 發文於   2022/01/06

Hello charlie1234,

 

小幫手認為您的問題應該在於,腳本中用同樣的邏輯,為什麼進出場會不同導致兩者權益曲線的差異。

(不同時間進出場當然權益曲線會不同)

這是因為兩者背後運算的邏輯並不相同所導致。

 

選股回測時進場會依照您的設定,以日頻率非逐筆下去運算,選擇觸發當下收盤價或下期開盤價進場(一定可以以該價格進場)。

出場時會以逐筆洗價的方式來判斷,用每1分鐘的High和Low來判斷當下的價格出場所獲得的利益損失是否有觸發判斷出場。

 

自動交易回測時日頻率會強制逐筆洗價,條件觸發後依造您的設定模擬送出限價單或市價單。

須注意限價單並不會像選股回測那樣馬上成交,而是視市場價格和成交量而定。

出場一樣會有市價單限價單的問題。

 

這些細微的部分很有可能造成進出場差異。

舉例來說,依造您腳本的邏輯,在自動交易時會發生當天出場後又進場的狀況。

可是選股就算是在同一天出場,怎麼快也要等到明日才會再度進場。

 

您了解兩者背後的運算邏輯後,就可以比較何者相對接近實際情形。

小幫手認為,一般的狀況下自動交易會比較接近實際交易的狀況。

 

發表回覆
Close