rainx/zipline_cn_databundle

Ingest bundle 卡住

Opened this issue · 3 comments

你好 我参照源代码里面quandl的写法 写了一个quandl eod的data bundle,大概有1万个股票全部日价。流程是先读metadata, 然后下载csv,通过iterator 逐行读取数据,生成每个股票日价dataframe。但每次ingest到一半就会卡住,~/.zipline/data 里面什么也没有。请问你有碰到过类似问题么。

rainx commented

之前因为读取国外的URL速度过慢卡住过,除此之外,没有遇到过卡住的情况

就是内存不够的问题,虽然用的是生成器,生成每个股票的日价,但ingest函数提供的writer,貌似要等全部股票信息读完 才会写入,也就是全部股票的信息会保存在内存中。换了个更给力的机器就不会卡住了。。。不知道是不是我代码写的有问题

rainx commented

恩,的确... 而且它底层使用的bcolz模块也会将数据保存在内存中...之后再整体写入文件,这个基于他的开元部分的模型应该没有改进, 除非自己写reader writer, 比如从数据库中读写 。。

不过bcolz的好处是读取速度非常快