【问题标题】:Convert a csv to panel pandas for zipline将 csv 转换为用于 zipline 的面板 pandas
【发布时间】:2020-01-07 09:49:38
【问题描述】:

我正在尝试将 csv 转换为 pandas 中的面板,如下所示,但 jupyter 保持警报“ValueError:面板构造函数未正确调用!”,尽管我已按照 https://blog.quantinsti.com/importing-csv-data-zipline-backtesting/ 中的指南完成:

我的 csv 文件有结构:

data = pd.read_csv('.../MWG.csv', index_col=0, parse_dates=['Date'])
data.fillna(method='ffill')

     Date       Open        High        Low         Close       Volume
Symbol                      
MWG 2019-12-12  113.0000    113.5000    112.7000    113.4000    366190
MWG 2019-12-11  110.5000    113.0000    110.3000    113.0000    314710
MWG 2019-12-10  110.9000    111.4000    110.0000    111.0000    412000
MWG 2019-12-09  110.8000    111.6000    110.0000    110.9000    526010
MWG 2019-12-06  110.6000    111.0000    110.0000    110.8000    468980
MWG 2019-12-05  113.2000    113.5000    110.6000    110.6000    544700
MWG 2019-12-04  109.0000    113.0000    108.6000    113.0000    574630

我的代码是:

panel = pd.Panel(data)
panel.minor_axis = ['Open', 'High', 'Low', 'Close', 'Volume']
panel.major_axis = panel.major_axis.tz_localize(pytz.utc)

警报如下:

ValueError: Panel constructor not properly called!

请帮助我纠正问题,以便我可以为 Zipline 运行策略提供输入。

【问题讨论】:

    标签: python pandas csv panel zipline


    【解决方案1】:

    您可以将panel 用于ndarraydict of dataframes。你可以试试这个,

    >>> data = {}
    >>> data['MGW'] = pd.read_csv('.../MWG.csv', index_col=0, parse_dates=['Date'])
    >>> panel = pd.Panel(data)
    

    【讨论】:

    • 嗨@Jack,如果这个或任何答案解决了您的问题,请点击复选标记考虑accepting it。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。
    猜你喜欢
    • 2013-01-09
    • 2020-02-09
    • 2020-03-06
    • 2021-12-28
    • 2018-11-06
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多