2

我正在关注这里的教程:

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

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

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

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

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

我如何注册这个捆绑包?

4

3 回答 3

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 viacsvfrom viacsv import viacsvin替换extension.py

于 2017-08-20T20:36:34.550 回答
0

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

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

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

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

于 2017-09-07T20:16:49.473 回答
0

同样的问题,@Gillu13 向我指出了这个解决方案。我通过 conda 安装了 zipline。所以 zipline 安装在 home/me/anaconda3/envs/krakenex/lib/python3.6/site-packages

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

然后

from zipline.data.bundles.viacsv import viacsv

作品

于 2017-11-30T16:33:57.667 回答