问题描述
我正在用Python构建一个事件驱动的回测引擎,用于统计套利的大学研究项目。对于NVME SSD上的HDF5文件中的100多种证券,我大约有1.5tb的报价数据。每个文件均由4列组成,分别是日期时间,出价,要价和交易量,以用于单独的证券。
示例数据:
DateTime Bid Ask Volume
20070605 00:06:04.912 0.88197 0.88243 1
20070605 00:06:14.597 0.88207 0.88253 1
20070605 00:06:19.776 0.88215 0.88261 1
20070605 00:06:30.602 0.88224 0.88270 1
20070605 00:06:33.012 0.88263 0.88317 3
我的第一种方法是将文件合并为一个数据帧,然后使用Itertuples对其进行迭代,当仅分析一些适合内存的文件时,该方法可以很好地工作。但是,我想分析所有证券,这样我就可以连续运行测试,例如贝叶斯条件协整,以完善和/或更改将被传递到交易策略的证券池,而不是挑选一些证券从一开始。
迭代这种大小的数据的最佳方法是什么?在遍历它们之前,我应该将文件分开还是将它们全部合并为一个大HDF5文件吗?
我应该如何存储计算,NumPy数组,pandas Dataframe等中的值?
我正在使用Python 3.7.9 我的计算机运行Windows 10,具有64GB的RAM和Ryzen 3700X。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)