Crypto Market Maker Project: 做市商 高频交易 回测

持续更新: Wechat: Wiger123

高频框架

回测框架

框架名称 简介 评测
pandas 自己写向量化回测 纯自己造轮子,对代码能力和数学能力要求很高,资料比较少,但是速度非常快,自定义程度很高,实测双均线策略,14w行的k线数据 0.05秒就能测完,如果代码没写错的话回测结果和vectorbt是一样的。
backtrader python的事件驱动回测,指标计算可以是向量化计算 14w行k线数据,双均线策略,跑大概30秒左右,其中15秒是在加载数据,15秒运行回测,速度可以说是里面最慢的了,但是在python的事件驱动框架里又算快的了。自定义程度很高,而且不用自己造轮子,回测代码非常简洁且逻辑清晰,文档非常详细,而且有大量的例子,甚至有论坛,可以说是这几个里面对用户最友好的框架了!这点非常重要,因为一个框架如果非常难用,上手很难的话,即使性能很优秀我觉得也不能算是一个优秀的开源框架。缺点:在回测大量数据时速度比较慢,不算致命缺点,但是很难受。
vectorbt python向量化回测框架 14w行数据7秒跑完,速度算比较快了,但是作为一个向量化回测的框架,说实话这个成绩我不太满意。vectorbt的文档还算详细,但是还是远远不如backtrader的回测代码写起来也比较简单,缺点是画图分析比backtrader要差很多,代码基本得自己写。
hikyuu C++内核 python接口的回测框架 国产框架,速度极快,百万级别的K线,2秒就能跑完,缺点是基本上只支持国内的股票数据,自定义数据很困难,而且可以说是几乎没有文档,可能是因为作者比较忙。我的水平比较低,看了几个例子和官网的文档之后仍然没能够上手。如果是高手的话可以去看看这个框架,速度相当快,我之后准备研究一下他的源码。回测的代码很简洁,但是局限性比较大,且上手略难。
wondertrader C/C++内核 python接口的回测框架
vnpy 国产经典 像是backtrader的强化版本,不过我还没用过,之前想去学但是感觉很复杂,资料也不如backtrader有条理,但是最大的优点是有UI界面,适合小白,且实盘对接做的很好。但是据说回测是不如backtrader的,如果有技术,可以用backtrader回测,用vnpy下单
quantconnect(LEAN) 最近又尝试了一下新的框架,LEAN,好处是集回测和实盘于一体,且代码非常简洁易懂,文档和教程非常详细,感觉比vnpy好上手很多(可能我太菜了,vnpy当时看了两天没啥头绪)而且编程思路和backtrader很像,因此我上手也很快。最关键的是集回测和实盘于一体,且有好的社区,C#核心代码,python接口,数据也很方便获取。回测速度相当快,不太复杂的策略基本上是每秒20-80k行k线这个水平,15w行k线一两秒秒就跑完了,速度在这几个里面堪称无敌。
  • 总结: 如果是小白或者数据量不是特别大,而且对回测速度没有特别高的要求建议使用 backtrader,教程、资料相比其他框架多得多,上手会简单很多。vectorbt 看起来速度很快,但是实测速度也就这样,可能是我测试的问题,如果有人测出了和我不一样的结果可以留言评论。如果是玩国内的股票期货,那可以考虑后面两个国产框架,对国内有优化,对其他的不太友好。如果对速度有要求,那就去自己写向量化吧,或者自己用 C++ 写,和 hikyuu 一样,hikyuu 的速度是真的快,我准备之后慢慢研究他的源码,看看为啥这么快,然后让他变得更好用一些。

个人感受

  • 去年研究了一段时间强化学习做市商, 复现了两篇 paper (参考了作者源代码 github: https://github.com/sadighian/crypto-rl), 感觉效果不好
  • 根据寒假实习学到的情况, 未来几个月的设想在下面的研究计划里

研究计划

  • 做市商算法
  • 高频算法
  • 交易框架
  • 回测系统
  • 因子: cex + dex: ticker 5 + trade + web3 + …
  • 模型

参考引用

  • 量化橙同学

猜你喜欢

转载自blog.csdn.net/weixin_40042498/article/details/123317451