python 回测模块_回测调用研究模块总结(慎用Python3 PacVer 2.0)

今天做程序的时候,需要在回测模块调用研究模块生成的数据,出了些问题,查了一下之前的帖子,做了下总结。

关于回测模块调用研究数据的问题,之前有两篇帖子。

(1)打通回测与研究的文件通道 by 止一之路

(2)使用pickle模块将数据对象保存到文件并在回测中读取 by Supercritical-JoinQuant聚宽

结论概述:

1.研究模块采用python2,用write/read_file法存储读取数据。在回测模块就用write/read_file法调用数据,这是可行的。

2.研究模块采用python3,因为python3里面没有cpickle,所以用open法存储读取数据。如果在回测模块继续用open法,那么会报错找不到文件。如果继续使用write/read_file法,则可以读取数据。回头看看python2生产的数据能不能用open法,还是不行。所以,初步得到一个结论,无论是python2还是3, open方法都不好使。

3.研究模块采用python3(PacVer2.0)的话,回测模块用write/read_file法没有用,产生新的错误,自定义库。

总结,慎用python3(PacVer2.0)。

下面是详细的讨论。

从 生产数据的研究模块 和 调用数据的回测模块 两个方面来讨论:

(一)

我们知道回测模块用到的是python2.0,API中提到了write/read_file,这恰好是(1)提到的方法,我称它write/read_file方法。

研究模块用python2.0,调用cPickle和 StringIO,程序如下:

1.1 那么我们用write/read_file方法在回测模块调用:

(二)如果我们研究模块用3.0,因为python3里面没有cPickle,我们我们调用pickle模块,代码如下:

2.1 这个方法里用到了open,我称它为open方法。

既然用到了open,很自然的,在对应的回测模块中,我用open也可以调用数据么?

报错了~不行。

2.2 如果我们继续使用write/read_file呢?会正常运行。

2.3(1.2) 面对从python3里生产的数据,用open方法不行,对于python2生产的数据可以吗?

初步得到一个结论,无论是python2还是3, open方法都不好使。

(三). 如果我们研究模块用3.0(PacVer2.0),代码如下:

3.1 我们前面知道了open方法不好使,直接用write/read_file方法吧。

出现了新的错误,一堆中文。得到的结论就是在研究中用Python3.0(PacVer2.0)的话,回测模块无法调用数据。

后记:

在研究模块,你用python2,3存下来的数,在python3(PacVer2.0)里都没法读取。

说到底,慎用python3(PacVer2.0)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值