哪位用AB做国内期货请介绍一下经验?

Discussion in 'AmiBroker' started by cnbiz850, Sep 23, 2010.

  1. 明白用AB测试策略很好,请问怎么导入国内期货数据?用什么数据源?

    另外,用AB做历史测试,是否可以在期间更换合约月份?

    还有,如果一个策略用AB测试的很好,用国内软件(比如文华或TB)实现自动交易可行吗?

    多谢指点。
     
  2. 原则上使用AB测试就最好使用AB交易, 软件之间的相同指标会计算出不同结果, 有时差别能使你大吃一惊. 呵呵.
     
  3. 那基本上是你有细节没考虑到。
     
  4. 导入数据应该不难。如果,用国内软件的数据灌入AB,开发好策略后再在原软件上交易,并且两者的算法一致,应该就不会有问题。
    至于直接用AB实时交易,需要自行实现一个接口去连CTP吧?

    这种细节,往往是软件间的差异导致,你考虑到了也没法弥合,或很难弥合。要想“A平台测试,B平台交易”,最担心的就是这类问题。
     
  5. 空谈无益。举个例子吧。
     
  6. 空谈?这样的问题TB论坛里早就提到过,比如SAR指标的计算,不同平台往往就有差异,有的算法公开,有的算法不公开,怎么弥补?还有有效数据位数取舍的不同,以及是否支持递归,等等情况都会导致差异的产生。
     
  7. 自己写指标。

    AB很强大。如果其它软件有局限,AB可以像他们靠拢。
     
  8. 对于这种情况似乎就只有自己写指标了,按自己信得过的算法去写。
     
  9. 谢谢各位回复。还有几点不解的地方希望大侠给解答:
    1)目前导入数据的最好办法是:在软件(比如TB)中以某种格式(比如ASCII)导出数据,然后由AB读入。是这样吗?
    2)是否有比较系统的方法导入多周期、多合约的数据(相同品种)?
    3)用AB做历史测试,在期间是否可实现自动更换合约月份?
    4)能否举例说一下用AB做测试相比与用TB的优势?我想知道假如用TB的数据然后再用TB交易,那么通过导入TB的数据,在AB下编程测试,然后再在TB上编程实现测试过的策略,这一连串过程是否比直接在TB下测试然后交易要好?换句话说,这样是否还值得用AB?
     
  10. 1)目前导入数据的最好办法是:在软件(比如TB)中以某种格式(比如ASCII)导出数据,然后由AB读入。是这样吗?
    基本是这样子。但不知道还有没有其他更好的。

    4)能否举例说一下用AB做测试相比与用TB的优势?我想知道假如用TB的数据然后再用TB交易,那么通过导入TB的数据,在AB下编程测试,然后再在TB上编程实现测试过的策略,这一连串过程是否比直接在TB下测试然后交易要好?换句话说,这样是否还值得用AB?
    我没有用过TB也不清楚你的回测的难度,所以不好说那个软件更适合你。另外,这也取决于你对软件的熟悉程度。如果你对TB很熟悉的话,不妨就用TB做回测,毕竟你还是打算用TB做交易。同时使用两个平台的问题是,精力被分散,最主要的是需要把一个策略在两个平台上实现,回测的代码和实时交易的代码还是有一些不同的。
     
  11. 基本上目前只能这样。当然,如果对BDB熟悉的话,可以考虑写程序直接读取TB的数据库,然后导入AB,配上AutoIt一类的东东,应该可以做到自动化。

    这个不知道:p
    AB的优势应该是调试和评测的速度,另外对e文好的兄弟,网上资源也相当丰富。TB目前还是整体编译的方式,编译耗时很烦心,往往还会导致别的公式出错。另外,为了尽可能模拟真实环境,每根K线都计算一次公式,代价就是回测的龟速。
    TB的优势是本地交易接口,当然,如果能直接把CTP与AB连起来的话,这个优势也就弱化了。
    以我的经验,如果代码运算量不大、没怎么用到数组,还是直接在TB上测试吧,多余的公式都删除,编译时间基本也能控制在半分钟~1分钟,始终保持一个平台,省事省心。
     
  12. 多谢各位先生赐教。

    这个问题没有回答,请问各位用AB是否不在期货上?

    另外的问题是:既然AB功能很强大,那么在AB上设计测试的高深策略是否会有在TB上难以实现的问题?
     
  13. 另外,请教一下devcon,你所说的BDB是什么,可否指示一下哪有相关文档?
     
  14. ab的测试速度是tb的10倍以上
     
  15. 呵呵 也许我缩写得不规范 就是Oracle Berkeley DB。
     
  16. TB最好不要实盘用,实在是问题太多。
    1.编译速度难以忍受。
    2.代码基本无法模块化,有些系统函数不让写进用户函数(也就是自己编写的函数)中。
    3.测试和实盘需要2套不同的开平仓函数。
    4.实盘数据连接不稳定。模拟也一样不稳定。
    5.看不到bug的解决列表和进度,对比一下MT5就知道了。

    用TB测试策略是可以的,不复杂的策略,出错的可能性不是很高,反正我是逐笔交易检查的。
     
  17. 谢谢bigbear2010兄。

    2,3,5本人也实有体会。

    1,编译速度是比较慢,现在还可以忍受,好像是创建的指令越多越慢。

    4,我模拟交易一个多月了,确实逐渐发现很多问题,还没有实盘。请问兄台可否举例一些实盘中的问题?和券商有关吗?
     
  18. 我的实践证明,AB测试,其他软件做交易是完全可以的。

    但细节一定要注意。一定要把两套软件的交易记录对比一下。找出差异所在,解决它。