我正在建立一个数据库来存储财务数据(尤其是期权链)。在
我每天检索每个交易日的数据,即5d/周或250d/年。我对300个股票代码这样做,数据库正以每天150Mb的速度增长,目前已达到9Gb。在
数据以熊猫数据帧的形式提供。在
我想使用HDF5格式,在每个交易日将文件分组,然后在股票代码中进一步分支,并进一步“调用”/“卖出”(期权行话)
下面是编写文件的代码片段,我使用pd.HDF存储还有一个for循环
db = pd.HDFStore('Database.h5')
group = c_year + '/' + c_month + '/' + c_day + '/'# Create main group from current day
for i in tickers['Symbol']:
db.put(group + i + '/Call', data, format = 'table', append = True, data_columns = True)
每个交易日编写文件的速度很慢,但我得出的结论是,这一切都是为了用pandas datareader检索数据
随后,我需要检索整个数据库,将其转换为简化的pandas数据帧,以便进行数据争用。在
下面的代码只为“calls”读取*.h5文件,而另一个for在1年的回顾期内遍历所有日期
^{pr2}$这可能会变得非常缓慢,我注意到慢度随着我检索的股票数量呈指数级增长,这使得这个过程毫无用处。在
当我检索到一个股票代码时只花了15秒,但从股票代码70到80需要50分钟!在
我的文件结构有什么问题吗?或者我可以做些什么来加快这个过程?在
目前没有回答
相关问题 更多 >
编程相关推荐