用python写回测系统

Discussion in 'Python & Quantopian' started by protein, Mar 31, 2015.

  1. 有没有人用python写回测系统的?
    模式设计和构架大概是什么样子的?
     
  2. 我用的python。 基本上和mt4差不多, 就是准备一个策略类, 不断的feed data。
     
  3. 你是用python这个平台搭建了一个可以回测的平台?
     
  4. 能说一下你的软件的模块和继承层次的构造吗?可以直接接broker进行交易吗?
     
  5. 我有一个专用于股票(A股和美股)的回测系统, 自动从google和其他网站download最新的数据, 并且提供信号,然后手动交易。 这个比较成熟了,去年一年运行效果还行。

    另外一个forex的自动交易系统, 链接IB进行交易,基本完成。

    系统应该包括几个部分: 数据采集, 分析数据并产生信号, 资金管理, 交易执行。

    当然你的系统应该尽量设计的稳定些: 比如断电重连后,信号和数据能自动回复;
     
  6. diy

    diy

    嗯,MT4轮子快要做完了,估计今年年底可以吧。。
     
  7. 如果是做探索的话。python有点慢。但作为运行,就比较合适了。
     
  8. pyalgotrade 和我预期的差不多, 仔细看看
     
  9. 学习了
     
  10. 我说个比较菜的事情,浮点数的精度,以前吃饱没事干用python搭土炮的时候遇到的,很多编程语言都是这样。
    python跟其他语言一样默认的浮点数可能不是绝对精确的,如果你把数据存在文件中,再读入,可能会有变化,例如文件里白纸黑字写着一个0.998,读取出来可能是0.9979,在一些极端情况会导致回测的结果不正确(例如手算结果MA明明大于close了,但python算出来就不是这样)

    python有用于科学计算的精确表示数字的类,具体我忘记了,楼主可以查一下。

    随便唠叨一下,如果已经注意这个问题请略过。
     
  11. 通常这个不会引起问题, 原因是小数点通常后面不只4位, 比如:
    >>> 1/9.12
    0.10964912280701755


    这个数存到文件里面再读出来一般是不会导致问题的。 除非你存的时候减小了精度, 比如只存了小数点后面4位, 这就另当别论了。