最近迫切的想搭建一个回测系统,既然是回测的话,就需要做两件事
- 存数据
- 取数据
关于大规模存储数据,我并没有很多经验,所以,只能列一下我查找的相关资料,等待之后验证。
关于最后的选择,我个人认为是
- 实时存储
influxdb
- 静态存储,用于回测
hdf5
或者Berkeley db
关于 Berkeley db
主要来源于知乎上的一个回答:
首先我们只录量价tick数据,即一个结构体里只有时间戳最新价和成交量,刚刚好一笔数据32字节,key 设计成交易日加品种名,比如20180203ru1805,固定32字节长度,所以存储一笔tick 刚刚好64字节,使用Berkeley db ,因为bdb 的key 支持partially retrieved 所以你可以提取某一天的所有品种,或者某个品种的所有交易日,两块1t的intel 的pcie ssd组raid0,小公司,小团队,我是没有使用过比这种组合再快的东西了,代码细节就别问了
目前只是一个趋势,整个架子,包括其他都没有做好。