回測採用還原值問題

  •   774 
  • 最後發表   charlie1234  2024 十一月 19
charlie1234 發文於   2021/09/26

小幫手好

回測採用還原值時發現,常會有股票已經達到獲利條件卻未出場的狀況

如下方程式碼,獲利1%就出場,採用日線回測,100大權值股

用還原值時,有股票已達到獲利卻未出場,甚至還有報酬率達1000%以上都沒出場

如用原始值回測就很正常

請小編協助了解是何問題,謝謝

 

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

if position=1 and filled=1 and close>filledavgPrice*1.01 then setposition(0); 

 

 

 

 

 

 

附加文件

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

Hello charlie1234,

 

小幫手測試過後確實有發生您所說的情況。

會請工程師協助檢驗問題原因。

 

另外,由於您是用日頻率,所以date<>date[1] 這一定會是 True。

如果您是想要在日頻率逐筆的狀況下判斷換日的話,那麼可以這麼寫:

getfield("Date", "1") <> getfield("Date", "1")[1]

這樣的話就可以取得1分鐘頻率Bar的日期。

請注意這只有在逐筆的狀況下使用才有用。

XQ小幫手 發文於   2021/10/13

Hello charlie1234,

 

經工程師確認過後,此狀況會發生的原因為交易指令的價格會調整至漲跌停的範圍內。

所以雖然回測是在還原頻率裡執行,但價格依然是調整至非還原的漲跌停價範圍,導致很難賣出。

小幫手會和相關人士研究看此狀況該如何處理。

感謝。

charlie1234 發文於   2021/10/13

 

謝謝小幫手

希望能儘快有解決方案

 

charlie1234 發文於   2021/11/10

 

這個問題,請問是如何解決呢? 

謝謝小幫手

XQ小幫手 發文於   2021/11/12

Hello charlie1234,

 

簡單來說的話,就是會在原始值的價格上作加減spread的動作,接著再計算其對應的還原值。

這樣在還原值上也會保有對應的還原值漲跌停限制。

色色的米蟲 發文於   2024/11/10

(((簡單來說的話,就是會在原始值的價格上作加減spread的動作,接著再計算其對應的還原值。

 

這樣在還原值上也會保有對應的還原值漲跌停限制。)))

 

請問上面這段話,實務上怎寫出來?

 

進場平均成本 需要自己再修正?

進場平均成本 經過除權息後 可以由原始值 取得還原值的 進場平均成本?

XS小編 發文於   2024/11/19

Hello 色色的米蟲,

 

小編不確定您為什麼需要自行計算這些數值,回測報告不論是否使用還原值,在運算時皆會將除權息等相關因素考慮進去,故不需要另外處理。

若要取得當下的還原價或是收盤價的話,可以使用 GetField 函數。

要推算進場成本換算成還原價或收盤價的話,只要使用 GetField 函數取得還原價和收盤價來計算比例後即可推算。

發表回覆
Close