關於策略雷達回測報告

  •   266 
  • 最後發表   阿碩  2021 六月 07
阿碩 發文於   2021/05/30

您好 想請教一下關於策略雷達設定停損跑出來的結果

我寫了一個簡單當沖策略測試(5分K)

九點五分 買進一口台指 ,停損使用30點,若無停損當日13:15會出掉

但跑出來的回測結果有些是正確 有些是不正確

正確的如 交易序號 255 進場時間 09:05 進場價格10502 出場時間 09:26 出場價格 10472

不正確的如  交易序號 266 進場時間 09:05 進場價格10629 出場時間 10:00出場價格 10608 (-21點 ??)

回測報告虧損的交易部分出場時間是整點?

(雖然最低點有超過30點,但出場價格明顯錯誤,出場時間應該也不可能剛好是整點,我用的是5分K)

不知是否設定有問題?再麻煩解答 感謝

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

Hello 阿碩,

 

需要麻煩您提供 策略雷達腳本(包含進出場腳本)、回測報告以及 XQ Log 來檢視問題為何。

Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。

您可以直接將檔案上傳,如果檔案過大的話也可以Mail至客服信箱 XQservice@XQ.com.tw且附上 討論文章連結網址。

感謝。

阿碩 發文於   2021/05/31

商品:台指近月 5分鐘

進場腳本:

if time=090500 then ret=1;

出場腳本(並設定策略雷達停損30點 如附圖)

if time>=131500 and time<=134500 then ret=1;

 

附加文件

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

 Hello 阿碩,

 

小幫手依照您所敘述的腳本及設定作回測後,確實有 2019/06/21 09:05進場後 2019/06/21 10:00出場的交易發生。

所以小幫手實際去查看此段時間的1分鐘頻率K線圖,發現最低點 10598 確實是發生在 10:00 的時候。

所以依照您的設定,觸發停損後在當期收盤價出場,也就是 10:00收盤價 10608。

小幫手覺得此筆並沒有問題,符合可預期的狀況。

細節可以參考附圖。

感謝。

附加文件

阿碩 發文於   2021/06/01

哈囉 想再確認一下

所以策略雷達設定停損停利的意思是

當點觸發時,會在當期的收盤價出場嗎???

交易序號 255 進場時間 09:05 進場價格10502 出場時間 09:26 出場價格 10472

為何出場時間不是 09:30 的收盤價??

還是說雖然用五分K~但回測出發點位的出場,會以1分K收盤為主?

 

XQ小幫手 發文於   2021/06/02

Hello 阿碩,

 

進出場時間跟進出場價格會受到您在回測時的設定所影響。

您回測時有勾選模擬逐筆洗價,且進出場價格選擇當期收盤價。

模擬逐筆洗價會將原本的五分鐘 Bar 拆分為5個 1 分鐘 Bar 來判斷是否要進場,但是原本的運算(像是移動平均)還是以5分鐘頻率的資訊為基準。

所以您的狀況是有可能發生在09:26出場。

進出場價格有兩個選項:當期收盤價或下期開盤價,會依您的設定來決定進出場用什麼價位。

您可以先參考此篇文章,裡面有關於策略雷達回測參數的說明。

阿碩 發文於   2021/06/03

小幫手您好 

我想請教 策略雷達 與 自動交易 的差異,因為我用自動交易實際下單跟回測的有出入,寫了簡單的策略測試 發現有問題

兩者都是模擬逐筆交易1分K

策略雷達程式碼(做多)

進場策略:if time=090500 then ret=1

出場策略:if time=131500 then ret=1

自動交易程式碼

進場策略:if time=090500 then setpostion(1);

出場策略if time=131500 then setpostion(0);

單看6月3日

策略雷達進場17229 可以理解(0905 的開盤價)

自動交易的進場卻在0905的最高價?? (0905 的最高價17236)

其實出場也有差異,我有附檔案,把相同策略的自動交易與策略雷達進出場差異做比較

我的理解是策略雷達是正確的,逐筆交易0905開盤進場

但自動交易是錯誤的,但自動交易多空策略好寫很多~盼能及早修正~(或是我哪裡設定錯誤 再請指教)

 

附加文件

XQ小幫手 發文於   2021/06/04

Hello 阿碩,

 

策略雷達在1分鐘模擬逐筆運算時,如果在這根模擬 tick 觸發的話,會依您在回測裡的設定來進出場。

自動交易中心在一分鐘逐筆回測時,會將該 Bar 拆開為 Open High/Low Close 四個Tick來檢查。

其中 High 跟 Low 的先後順序為:

如果 (High - Open) < (Open - Low) 則為 OHLC,相反的話則是 OLHC。

您的自動交易腳本會在Open的時候觸發,所以會在下一Tick進場,所以就是 High 或 Low,而這邊的情況是 High。

阿碩 發文於   2021/06/04

感謝回復~已了解差異

關於自動交易一分鐘逐筆回測,建議回測進出點是否可與策略雷達相同~~

原因為自動交易策略的報表比較好閱讀,也比較好寫~相對於真實交易也比較不會失真(僅針對一分鐘當沖策略)

希望可以納入考量 感謝

 

XQ小幫手 發文於   2021/06/04

Hello 阿碩,

 

實際上是自動交易中心回測運算的邏輯會比較合理。

因為現實是要觸發了以後才能進場,而不是觸發的時候就以觸發價進場。

小幫手會將您的建議轉告知相關人士。

感謝。

阿碩 發文於   2021/06/04

感謝 我想我表達的不是很清楚~

是想說可不可以也有選擇像策略雷達 是 當期收盤價進場(觸發價)

這樣逐筆交易 回測進場價格就可以是下期開盤價 

因為如果當期收盤價 跟 下期開盤價 交易時間幾乎只差一秒 會是比較真實的情況~

但 自動交易只能下期開盤價觸發 導致進出的點為 不是一分K的最高 不然就是最低

價差多的話可能多達40 50點(波動大時)

所以因為我實際跑過兩天,再去看回測資料,會發現回測的進出點為跟我實際進出有差異

因為實際上 逐筆交易進場 會接近上期開盤價,而不是下期的最高價或最低價

回測用逐筆交易會有失真的疑慮(我指一分K,才有這個疑慮)

再麻煩小幫手反應了~感謝回復

 

顯示更多回應 發表回覆
Close