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)。
總結
以上是生活随笔為你收集整理的python 回测模块_回测调用研究模块总结(慎用Python3 PacVer 2.0)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鸣潮远赴乘霄任务怎么做 鸣潮远赴乘霄任务
- 下一篇: python3 面向对象详解_Pytho