選股回測與用XS內回測結果不同

  •   179 
  • 最後發表   charlie1234  2024 四月 15
charlie1234 發文於   2024/04/09

小幫手好

我用選股中心跟在XS下對同樣的程式碼做回測,結果差很大

這個策略主要是用年報發布當下選出進場,15天後出場,因為用年報判斷,同一檔股票,一年只可能進場一次

選股中心的回測應該是正確的,但XS下的回測就很怪了,同一檔股票,出場後又會在進場

請幫我看看是否是我設定哪裡有問題

謝謝

選股中心回測結果

 

XS回測結果

另外,假設選股中心的回測是正確的,對於進場我有個疑問,因為是採用年報出來後進場,但回測卻出現有的股票在1月就進場,年報有可能1、2月就發布嗎? 煩請協助核對資料是否正確

謝謝

 

 

 

附加文件

排序方式: 標準 | 最新
XS小編 發文於   2024/04/11

Hello charlie1234,

 

您提供過來的回測報告中兩者是使用不同的腳本,可能是此原因造成 (參考附圖)。

要麻煩提供 Piotroski選股V2 的腳本來確認測試。

另外關於1月進場的部分您可以用回朔或print的方式來確認,小編這邊看應該是因為有資料欄位的長度不夠長,導致 12/30 那日 1587 和 6671 才第一次執行 (回測設定隔日開盤進場,故確認時要向前一天),故value10[1]會是0。

可以多加上value10[1] <> 0 的條件來排除。

附加文件

charlie1234 發文於   2024/04/11

Hello, 

不好意思給錯檔了

是要用Piotroski這個版本

麻煩在看下附加檔案,謝謝

附加文件

XS小編 發文於   2024/04/12

Hello charlie1234,

 

仔細看了一下是因為您XS回測的進場設定中,腳本的執行頻率為年 (參考附圖)。

這會導致 year(value10) >  year(value10[1]) 只要當年的資料更新後條件就一定會成立。

若將其改為日的話回測結果就會和選股回測相同。

charlie1234 發文於   2024/04/12

謝謝小幫手,您的眼睛真利~~

不過,還有個問題就是,每次我回測時,他的頻率就是年,要自己去改日

為何回測時,腳本頻率就會自動跳到年,是甚麼原因呢?

要加上甚麼指令,回測時的腳本頻率才會是日呢?

謝謝

 

不知怎麼頻率變成了年,謝謝

 

XS小編 發文於   2024/04/15

Hello charlie1234,

 

小編認為是腳本中使用到的欄位都為年頻率,故回測時系統自動判斷要使用年頻率。

建議可以用 SetBarFreq 函數指定腳本運作的頻率。

加上 SetBarFreq("D"); 的話腳本的執行頻率就會是日。

發表回覆
Close