根据我所了解的市场数据,symbol的个数应该较为有限,可以直接存储。
成交量和平均价格的计算需要累加,这个过程可能超过int,但使用int128应该足够。
本地使用GCC编译,支持int128,如果使用其他编译器,需要补充大数计算部分的代码。
为了解决面对大数据的内存不足问题,采取逐行读取数据,每次只维护symbol对应的信息即可,逐笔处理交易
TradeProcessor类中预留了添加其他需要计算数据的可能。
编写了一个简易脚本生成了一万条数据(testdata.csv)进行测试,结果正确。