折腾一夜,anaconda安装zipline,安装quandl两步走(完美避坑)

举报
川川菜鸟 发表于 2022/04/14 03:01:20 2022/04/14
【摘要】 zipline安装 官方说版本用3.5还强烈建议用conda,我尝试window实在太累了。 创建环境: conda create -n env_zipline python=3.5 使用环境:...

zipline安装

官方说版本用3.5还强烈建议用conda,我尝试window实在太累了。

创建环境:

conda create -n env_zipline python=3.5

使用环境:

conda activate env_zipline

退出则是:

conda deactivate 

安装:

conda install -c Quantopian zipline

安装这个模块,会附带安装几十个依赖模块,我这笔记本疯狂转…
在这里插入图片描述
查看:

conda env list

在这里插入图片描述
安装ipykernel:

conda install ipykernel

将选择的conda环境注入Jupyter Notebook

python -m ipykernel install --user --name env_zipline --display-name "conda env_zipline"

在这里插入图片描述
打开notebook

jupyter notebook

在这里插入图片描述
进去就是环境里面了

quandl安装

进入网站:

https://data.nasdaq.com/account/profile

创建账号,到用户设置查看key:
在这里插入图片描述
执行:

set QUANDL_API_KEY=qLkRnYQDoj-7yJUjgoD7

再执行:

zipline ingest -b quandl

安装又遇到了这个错误:

ValueError: Boolean array expected for the condition, not float64

解决办法pandas降到0.18.1:

conda install pandas==0.18.1

再来执行:

zipline ingest -b quandl

成功!!
在这里插入图片描述

测试

测试代码test.py:

# coding=gbk
"""
作者:川川
公众号:玩转大数据
@时间  : 2022/2/21 5:35
群:428335755
"""
from zipline.api import order, record, symbol
from zipline.finance import commission, slippage


def initialize(context):
    context.asset = symbol('AAPL')

    # Explicitly set the commission/slippage to the "old" value until we can
    # rebuild example data.
    # github.com/quantopian/zipline/blob/master/tests/resources/
    # rebuild_example_data#L105
    context.set_commission(commission.PerShare(cost=.0075, min_trade_cost=1.0))
    context.set_slippage(slippage.VolumeShareSlippage())


def handle_data(context, data):
    order(context.asset, 10)
    record(AAPL=data.current(context.asset, 'price'))


# Note: this function can be removed if running
# this algorithm on quantopian.com
def analyze(context=None, results=None):
    import matplotlib.pyplot as plt
    # Plot the portfolio and asset data.
    ax1 = plt.subplot(211)
    results.portfolio_value.plot(ax=ax1)
    ax1.set_ylabel('Portfolio value (USD)')
    ax2 = plt.subplot(212, sharex=ax1)
    results.AAPL.plot(ax=ax2)
    ax2.set_ylabel('AAPL price (USD)')

    # Show the plot.
    plt.gcf().set_size_inches(18, 8)
    plt.show()


def _test_args():
    """Extra arguments to use when zipline's automated tests run this example.
    """
    import pandas as pd

    return {
        'start': pd.Timestamp('2014-01-01', tz='utc'),
        'end': pd.Timestamp('2014-11-01', tz='utc'),
    }

执行:

zipline run -f test.py --start 2000-1-1 --end 2014-1-1 -o buyapple_out.pickle

然而又遇到报错
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
解决:

https://polygon.io/dashboard/

得到你的密钥:
在这里插入图片描述
到data目录下:benchmarks.py 中更改 API 请求
在这里插入图片描述
修改如下:
在这里插入图片描述
…md不改了,睡觉,请参考:

https://github.com/quantopian/zipline/issues/2480

文章来源: chuanchuan.blog.csdn.net,作者:川川菜鸟,版权归原作者所有,如需转载,请联系作者。

原文链接:chuanchuan.blog.csdn.net/article/details/123039312

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。