【发布时间】:2015-03-27 10:31:40
【问题描述】:
我正在尝试弄清楚如何在 Zipline 中使用我自己的 csv 数据文件(最初来自 Yahoo Finance)。我知道您需要将 csv 文件加载到 pandas 数据框中。但我似乎无法阻止 Zipline 从 Yahoo 下载数据。
我的 csv 文件格式:
Date, Open, High, Low, Close, Volume, AdjClose
我的算法文件:
from zipline.api import order, record, symbol
import pandas as pd
data = pd.read_csv('AAPL.csv')
def initialize(context):
pass
def handle_data(context, data):
order(symbol('AAPL'), 10)
record(AAPL=data[symbol('AAPL')].price)
我创建pickle文件的命令行:
run_algo.py -f E:\..\Main.py --start 2011-1-1 --end 2015-1-1 -o buyapple_out.pickle
命令行输出:
[2015-03-27 10:18:20.809959] WARNING: Loader: No benchmark data found for date range.
start_date=2015-03-27 00:00:00+00:00, end_date=2015-03-27 10:18:19.973911, url=http://ichart.finance.yahoo.com/table.csv?a=2&s=%5EGSPC&b=27&e=27&d=2&g
=d&f=2015&c=2015
[2015-03-27 10:20:05.811965] INFO: Performance: Simulated 504 trading days out of 504.
[2015-03-27 10:20:05.811965] INFO: Performance: first open: 2013-01-02 14:31:00+00:00
[2015-03-27 10:20:05.811965] INFO: Performance: last close: 2014-12-31 21:00:00+00:00
我的泡菜文件创建正确。但它似乎仍在使用 yahoo 而不是我的 csv,因为命令行输出谈论的是 yahoo 财务。 除了“将 csv 加载到数据框”之外,Zipline 似乎没有关于如何执行此操作的文档。还有什么?
非常感谢。
【问题讨论】:
-
不确定您是在提问还是在发表声明。但是是的。