如何使用zipline注册自定义捆绑包?

时间:2017-07-20 15:54:50

标签: python csv quantitative-finance zipline

我在这里遵循教程:

http://www.prokopyshen.com/create-custom-zipline-data-bundle

并尝试设置自定义捆绑包以从定制的非美国金融资产中获取价格。我被困在说:

Advise zipline of our bundle by registering it via .zipline/extension.py

我的extension.py文件位于.zipline / directiory中,其代码如下:

from zipline.data.bundles import register
from zipline.data.bundles.viacsv import viacsv
eqSym = {
    "CBA"
}

register(
    'CBA.csv',    # name this whatever you like
    viacsv(eqSym),
)

我不知道通过.zipline / extension.py注册捆绑包意味着什么?我认为这可能意味着从我的终端通过:

运行extension.py文件
python extenion.py

但是失败并说:

ImportError: No module named viacsv

如何注册此捆绑包?

3 个答案:

答案 0 :(得分:1)

我也遵循了本教程,我必须承认这部分有点令人困惑。

首先,我认为没有必要运行:

$ python extension.py

您得到的错误消息可能来自于Python无法在viacsv.py中找到sys.path文件(它查找模块的位置等)。在您提到的教程中,不清楚如何处理此文件。就我而言,我刚刚将viacsv.py文件保存在我的本地site-packages目录中。当我在Linux上时,我把它放在那里~/.local/lib/python2.7/site-packages,但它可能与你不同。您可以运行以下python脚本来查找:

    import sys

    for dr in sys.path:
        print dr

然后我在from zipline.data.bundles.viacsv import viacsv中用from viacsv import viacsv替换了extension.py

答案 1 :(得分:0)

我怀疑你可能在寻找extension.py文件的错误位置。

对于Windows机器,该文件位于"〜\ .zipline \ extension.py"下。就我而言,它位于" C:\ Users \ XXXX \ .zipline \ extension.py"。

我一直在查看conda&#39的site-packages文件夹下的zipline文件夹,但无法找到它。然后创建了一个extension.py,我自己想知道为什么没有调用它。

在此处查看相关帖子https://www.quantopian.com/posts/zipline-issue-while-creating-custom-bundle-to-bring-yahoo-data

答案 2 :(得分:0)

同样的问题,@ Gillu13向我指出了这个解决方案。 我通过conda安装了zipline。所以zipline安装在 家/我/ anaconda3 / ENVS / krakenex / lib中/ python3.6 /站点包

在那里你会找到zipline / data / bundles,你可以把viacsv.py放在那里......

然后

from zipline.data.bundles.viacsv import viacsv

作品