我是Mr.看海,我在尝试用信号处理的知识积累和思考方式做量化交易,应用深度学习和AI实现 股票自动交易,目的是实现财务自由~
目前我正在开发基于miniQMT的量化交易系统——看海量化交易系统。
MiniQMT是一种轻量级的量化交易解决方案,使用MiniQMT可实现对交易过程的完全控制,借此优势实现最灵活的系统构建和最前沿的算法应用。然而,MiniQMT也有其挑战,它要求用户具有较强的编程能力,因为很多功能需要自己开发。
在之前的工作中,我介绍了“看海量化交易系统”的开发进展,即目前已经开发完成数据下载、数据清洗和可视化的工作。(如下图演示)
我开发的此系统免费向大家开放使用,获取方式在文末
此外我还用五篇文章的内容详细介绍了一下miniQMT的行情接口和交易接口,因为这是后续系统开发的基础(文章链接附在文末)。
今天开始,将要进入系统开发的核心部分——也就是回测、模拟盘和实盘的系统框架构建,我将该框架命名为khQuant。
零、我为什么要自己搭建一套量化交易框架?
这一节是本文写完之后加的,目的是想要再详细讲讲,在诸多现有量化交易系统可用的当下,我为什么要花这么大的力气再自己做一遍这件事。
1.想要足够开放灵活地实现量化交易。现有的量化交易系统往往对策略开发的方式有较多限制,比如对支持的python第三方包不开放,就限制了最先进的AI算法在量化交易中的应用,这对于我未来想在量化交易领域开展的探索是致命性的约束。基于miniQMT的系统开发几乎将所有自由度都交给了开发者,这是极具诱惑力的。
2.想要策略安全地本地运行。此外基于miniQMT的系统,所有的策略都在本地运行,我们只是调用了行情和交易接口,对于量化交易来说,策略就是一切,本地运行无疑是最安全的。其次是在需要进行大规模数据处理或复杂模型训练时,本地化部署能够提供更好的性能和更低的成本。
3.想要打造一个趁手的“兵器”。关注我的老粉丝可能知道,我以前主要是做信号处理和机器学习算法研究的,在前几年的开发中就有着将工具高效化的开发习惯,在保证专业性的同时实现高度的易用性,软件毕竟只是工具,未来大部分经历是要放在策略研究上的,所以我对这个自己要用的工具的要求就是要足够好用。
最重要的,目前还没有基于miniQMT回测和模拟平台,我开发khQuant框架来吃这个螃蟹,也是给自己和读者朋友们提供更多的可选择空间。
一、khQuant框架总体思路
为了给策略开发提供充分的便利,框架层面的设计我考虑要兼顾以下几点特性:
- 同一个