python 回测模块_回测调用研究模块总结(慎用Python3 PacVer 2.0)
今天做程序的時候,需要在回測模塊調(diào)用研究模塊生成的數(shù)據(jù),出了些問題,查了一下之前的帖子,做了下總結(jié)。
關(guān)于回測模塊調(diào)用研究數(shù)據(jù)的問題,之前有兩篇帖子。
(1)打通回測與研究的文件通道 by 止一之路
(2)使用pickle模塊將數(shù)據(jù)對象保存到文件并在回測中讀取 by Supercritical-JoinQuant聚寬
結(jié)論概述:
1.研究模塊采用python2,用write/read_file法存儲讀取數(shù)據(jù)。在回測模塊就用write/read_file法調(diào)用數(shù)據(jù),這是可行的。
2.研究模塊采用python3,因為python3里面沒有cpickle,所以用open法存儲讀取數(shù)據(jù)。如果在回測模塊繼續(xù)用open法,那么會報錯找不到文件。如果繼續(xù)使用write/read_file法,則可以讀取數(shù)據(jù)?;仡^看看python2生產(chǎn)的數(shù)據(jù)能不能用open法,還是不行。所以,初步得到一個結(jié)論,無論是python2還是3, open方法都不好使。
3.研究模塊采用python3(PacVer2.0)的話,回測模塊用write/read_file法沒有用,產(chǎn)生新的錯誤,自定義庫。
總結(jié),慎用python3(PacVer2.0)。
下面是詳細(xì)的討論。
從 生產(chǎn)數(shù)據(jù)的研究模塊 和 調(diào)用數(shù)據(jù)的回測模塊 兩個方面來討論:
(一)
我們知道回測模塊用到的是python2.0,API中提到了write/read_file,這恰好是(1)提到的方法,我稱它write/read_file方法。
研究模塊用python2.0,調(diào)用cPickle和 StringIO,程序如下:
1.1 那么我們用write/read_file方法在回測模塊調(diào)用:
(二)如果我們研究模塊用3.0,因為python3里面沒有cPickle,我們我們調(diào)用pickle模塊,代碼如下:
2.1 這個方法里用到了open,我稱它為open方法。
既然用到了open,很自然的,在對應(yīng)的回測模塊中,我用open也可以調(diào)用數(shù)據(jù)么?
報錯了~不行。
2.2 如果我們繼續(xù)使用write/read_file呢?會正常運行。
2.3(1.2) 面對從python3里生產(chǎn)的數(shù)據(jù),用open方法不行,對于python2生產(chǎn)的數(shù)據(jù)可以嗎?
初步得到一個結(jié)論,無論是python2還是3, open方法都不好使。
(三). 如果我們研究模塊用3.0(PacVer2.0),代碼如下:
3.1 我們前面知道了open方法不好使,直接用write/read_file方法吧。
出現(xiàn)了新的錯誤,一堆中文。得到的結(jié)論就是在研究中用Python3.0(PacVer2.0)的話,回測模塊無法調(diào)用數(shù)據(jù)。
后記:
在研究模塊,你用python2,3存下來的數(shù),在python3(PacVer2.0)里都沒法讀取。
說到底,慎用python3(PacVer2.0)。
總結(jié)
以上是生活随笔為你收集整理的python 回测模块_回测调用研究模块总结(慎用Python3 PacVer 2.0)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鸣潮远赴乘霄任务怎么做 鸣潮远赴乘霄任务
- 下一篇: websocket python爬虫_p