關于回測的問題 [MC]
-
MC用戶求助:
關于回測的邏輯,之前有寫過帖子,http://forums.icetech.com.cn/forum.php?mod=viewthread&tid=3371&extra=page%3D1,有詳細的介紹。
第一、回放和回測時都是根據bar內價格走勢進行成交的,但是這個bar內價格走勢有一個地方不一樣,就是連續還是間斷:回測中,bar內價格走勢是連續的,所以可以成交在指定的價格上;在回放中,bar內價格走勢是間斷的,所以只能成交在指定tick價格上。
第二、未開精細資料的回測和as is回放(若圖表是1分鐘周期,那么就是逐分回放)是類似的,每根bar相當于有4筆tick,由開高低收4個價格組成的,它們出現的順序,這個順序的原理回測和回放是相同的(見上面的帖子),假設這里開盤價離最高價最近,那么4筆tick的順序是開盤tick——最高價tick——最低價tick——收盤tick;對于回測來說,相鄰兩筆tick之間的價格是存在的,而對回放來說,相鄰兩筆tick之間的價格是不存在的,也就是說回放中只能成交在這4筆tick的價格上。
第三、開精細資料的回測和逐筆回放是類似的,bar內價格走勢是由實際的tick按順序組合成的;對于回測來說,相鄰兩筆tick之間的價格是存在的,而對于回放來說,相鄰兩筆tick之間的價格是不存在的,也就是說回放中只能成交在tick價格上。
第四、對于回放中的bar內價格走勢,您可以通過開啟bar內模式并且逐筆回放將當根bar內的tick資料輸出出來進行驗證;這個tick資料理論上是從報價管理器中是一致的,但是實際逐筆回放時并不會嚴格按照報價管理中存儲的tick進行逐筆回放,回放中會忽略相同的tick價格,比如說,報價管理器中存儲的tick價格依次是3787、3787、3789、3787,那么實際回放中使用的tick價格是3787、3789、3787,也就是回放中會忽略連續相同的tick資料。
第五、在實際的逐筆回放中,盡管會忽略連續相同的tick資料,但依然和報價管理器中不一樣的情況,這種情況和精細回測中出現的情況類似(見上述帖子第七章),所以遇到這種情況,您可以通過開啟bar內模式并且使用逐筆回放將tick資料輸出出來進行驗證。?
-
MC回復討論一:
關于回測的邏輯,之前有寫過帖子,http://forums.icetech.com.cn/forum.php?mod=viewthread&tid=3371&extra=page%3D1,有詳細的介紹。
第一、回放和回測時都是根據bar內價格走勢進行成交的,但是這個bar內價格走勢有一個地方不一樣,就是連續還是間斷:回測中,bar內價格走勢是連續的,所以可以成交在指定的價格上;在回放中,bar內價格走勢是間斷的,所以只能成交在指定tick價格上。
第二、未開精細資料的回測和as is回放(若圖表是1分鐘周期,那么就是逐分回放)是類似的,每根bar相當于有4筆tick,由開高低收4個價格組成的,它們出現的順序,這個順序的原理回測和回放是相同的(見上面的帖子),假設這里開盤價離最高價最近,那么4筆tick的順序是開盤tick——最高價tick——最低價tick——收盤tick;對于回測來說,相鄰兩筆tick之間的價格是存在的,而對回放來說,相鄰兩筆tick之間的價格是不存在的,也就是說回放中只能成交在這4筆tick的價格上。
第三、開精細資料的回測和逐筆回放是類似的,bar內價格走勢是由實際的tick按順序組合成的;對于回測來說,相鄰兩筆tick之間的價格是存在的,而對于回放來說,相鄰兩筆tick之間的價格是不存在的,也就是說回放中只能成交在tick價格上。
第四、對于回放中的bar內價格走勢,您可以通過開啟bar內模式并且逐筆回放將當根bar內的tick資料輸出出來進行驗證;這個tick資料理論上是從報價管理器中是一致的,但是實際逐筆回放時并不會嚴格按照報價管理中存儲的tick進行逐筆回放,回放中會忽略相同的tick價格,比如說,報價管理器中存儲的tick價格依次是3787、3787、3789、3787,那么實際回放中使用的tick價格是3787、3789、3787,也就是回放中會忽略連續相同的tick資料。
第五、在實際的逐筆回放中,盡管會忽略連續相同的tick資料,但依然和報價管理器中不一樣的情況,這種情況和精細回測中出現的情況類似(見上述帖子第七章),所以遇到這種情況,您可以通過開啟bar內模式并且使用逐筆回放將tick資料輸出出來進行驗證。?
-
MC回復討論二:
接下來,繼續就我在學習您帖子的內容時的困惑進行提問:在此篇回答中,第二里有句話:“對于回測來說,相鄰兩筆tick之間的價格是存在的,而對回放來說,相鄰兩筆tick之間的價格是不存在的,也就是說回放中只能成交在這4筆tick的價格上”,這里面的相鄰2筆tick指的是什么?因為是未開啟精細,所以對回測來說有4筆tick,如果對回放來說,相鄰兩筆tick之間的價格不存在的,那不就等于只有2個tick了,如果是這樣的話又為何只能成交再這4筆tick的價格上呢?
?
-
MC回復討論三:
抱歉,這個地方讓您有點誤解了,“對于回測來說,相鄰兩筆tick之間的價格是存在的,而對回放來說,相鄰兩筆tick之間的價格是不存在的,也就是說回放中只能成交在這4筆tick的價格上”,這句話可以通過下面的例子進行對比:(以這個帖子http://forums.icetech.com.cn/for ... &extra=page%3D1的第二章的例子進行對比舉例)
if date=1171031 and time=920 then
? ? buy("first") next bar at 3570 stop;
那么"first"委托單在回測下就成交在下一根bar的3570價格上(觸價后成交在指定的委托價上);而在回放下就成交在3572價格上(只能成交在tick價格上)?
-
MC回復討論四:
抱歉,這個地方讓您有點誤解了,“對于回測來說,相鄰兩筆tick之間的價格是存在的,而對回放來說,相鄰兩筆tick之間的價格是不存在的,也就是說回放中只能成交在這4筆tick的價格上”,這句話可以通過下面的例子進行對比:(以這個帖子http://forums.icetech.com.cn/for ... &extra=page%3D1的第二章的例子進行對比舉例)
if date=1171031 and time=920 then
? ? buy("first") next bar at 3570 stop;
那么"first"委托單在回測下就成交在下一根bar的3570價格上(觸價后成交在指定的委托價上);而在回放下就成交在3572價格上(只能成交在tick價格上)
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容