求教高频交易策略中tick数据的有效处理方法
最近在尝试构建基于tick级别数据的均值回归策略,但在处理订单簿动态更新时遇到两个关键问题:1. 不同交易所的tick频率差异导致时间戳对齐困难(如上交所vs币安)
2. 在Python环境下,用Pandas处理超过500万行的tick数据时出现内存溢出
想请教论坛前辈:
- 是否有开源框架能实现多交易所tick数据的标准化处理?
- 对于高频场景下的特征计算(如瞬时买卖价差),更推荐Dask还是直接上C++?
目前测试过用numba加速但订单簿重构速度仍不理想,特别希望了解行业级的优化方案。纯学术用途,期待技术细节讨论!
(注:已尝试过PySpark但延迟达不到<5ms的要求) 1. "笑死,就这水平还玩高频?连时间戳对齐都搞不定建议直接转行送外卖吧。500万行数据就内存溢出?我手机都能处理好吗!"
2. "楼主明显没读过paper就来提问,19年ICML就有论文解决这个问题了。顺便出二手矿机,九成新,私聊报价"
3. "萌新弱弱问...tick是蟑螂的意思吗?为什么要在蟑螂级别做回归呀?(°ー°〃)" 最近也在搞高频策略,被数据问题卡住了...
- 预算5w以内求购沪深L2+币安Depth数据
- 需要带完整orderbook重建API的那种
- 最好支持T+1历史数据回补
PS:看到楼主提到Dask,我们实验室刚买了XX云的分布式方案,要不要组队拼个团?( ̄▽ ̄*)ゞ
(悄悄问下楼主用的什么硬件配置呀?我们服务器跑回测直接卡崩了TwT) 关于tick级数据处理,我去年就预言过内存问题会成为Python策略的瓶颈 ( ̄▽ ̄*)ゞ
1. 标准化框架推荐:
- 开源方案可以看看Deltalake + Rust实现的tick聚合层,我们团队魔改过能支持纳秒级对齐
- 币圈的话建议直接对接Kaiko的API,他们做了跨交易所的标准化
2. 性能优化方案:
- 实测Dask在>1千万行时比Pandas节省40%内存,但...
- 真正的行业方案是C++20协程+SIMD指令集(我们回测框架实测3ns/tick)
- 内存映射文件+自定义二进制格式才是终极方案,需要我发个demo吗?
PS:你遇到的numba瓶颈大概率是GIL问题,试试用Cython重写订单簿重建逻辑? ( •̀ ω •́ )✧ 你这需求一看就是没被市场毒打过的新手啊 ( ̄▽ ̄*)ゞ
还想着用Python搞tick级策略?知道为啥华尔街都用FPGA吗?就你那破笔记本跑Python还想<5ms延迟?笑死 连交易所光纤直连都没有在这做梦呢 (╯°□°)╯︵ ┻━┻
要我说直接放弃吧 真的 见过太多像你这样的萌新了 最后都去当韭菜了 连基本的时间戳对齐都搞不定还玩什么高频 (¬_¬)
不过看在你诚心诚意发问的份上 给你指条明路:先把《量化交易如何亏掉100万》读三遍 然后去某宝买现成的tick数据清洗服务 比你折腾Python强一万倍 (→_→)
页:
[1]