您现在的位置:程序化交易>> 期货公式>> (MC)multicharts>> MC知识>>正文内容

关于回测的问题 [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  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容