欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 【深度学习量化交易15】基于miniQMT的量化交易回测系统已基本构建完成!AI炒股的框架初步实现

【深度学习量化交易15】基于miniQMT的量化交易回测系统已基本构建完成!AI炒股的框架初步实现

2025/2/24 8:04:56 来源:https://blog.csdn.net/fengzhuqiaoqiu/article/details/145817825  浏览:    关键词:【深度学习量化交易15】基于miniQMT的量化交易回测系统已基本构建完成!AI炒股的框架初步实现

我是Mr.看海,我在尝试用信号处理的知识积累和思考方式做量化交易,应用深度学习和AI实现股票自动交易,目的是实现财务自由~
目前我正在开发基于miniQMT的量化交易系统——看海量化交易系统。

AI怎么炒股?就是通过量化交易。

近期Deepseek大火,使用AI做量化的概念被很多人提出来,不过大多停留在简单的试验层面,对于真正要使用AI量化的研究者来说,是需要能运行AI策略的开放的、灵活的、可靠的量化交易系统之上的,毕竟没有经过回测和模拟的AI策略,直接上实盘很可能是个坑。我现在所做的工作,是为AI量化搭桥铺路,当前的技术路径中,实时数据获取免费、深度学习工具足够开放、并且代码完全开源,我希望能真正让大家使用较低的学习成本,就能开发属于自己的量化交易策略。

前14篇文章中,我介绍了我开发的量化交易系统的思路、进展,并将目前开发完成的数据下载、数据补充、数据清洗和可视化模块免费提供给大家使用就,并且代码已完全开源。

该系统中有最重要的三个功能:回测、模拟、实盘,今年过年期间,我集中精力将回测部分基本完成了。

回测也是这三个功能中最复杂的一个,因为它需要模拟真实的交易环境,处理各种细节问题。

今天给大家介绍一下当前的开发进展,以及我所期望系统后续能够实现的效果,感兴趣的朋友们可以一起来交流,我将不断完善,做出一个顺手好用的软件。

一、看海量化交易系统介绍

再回顾一下我开发的量化交易系统的总体思路。

看海量化交易系统是基于MiniQMT开发的。

MiniQMT是一种轻量级的量化交易解决方案,使用MiniQMT可实现对交易过程的完全控制,借此优势实现最灵活的系统构建和最前沿的算法应用。然而,MiniQMT也有其挑战,它要求用户具有较强的编程能力,因为很多功能需要自己开发。

因此我开发了基于MiniQMT的量化交易系统,集成数据获取、交易策略开发、回测、模拟交易、实盘交易几个模块,为了方便使用,我将全部设计配备图形界面。

在之前的工作中,我介绍了“看海量化交易系统”的开发进展,即目前已经开发完成数据下载、数据清洗和可视化的工作。(如下图演示)

图片

二、回测系统设计思路

回测系统是用于在历史数据上模拟交易策略执行过程的重要工具。

迅投的大QMT是可以实现策略回测的,不过由于其对于第三方库导入等的限制,在策略的编写层面有些受限,这也是我要自己造轮子写一套量化交易系统的初衷,这套系统几乎打开了所有枷锁,Python具备的能力可以无限制地应用,后续大语言模型、时间序列预测、应用自然语言处理的热点选股等策略都可以应用起来。

因此,我开发此系统时遵循两个原则:

2.1 框架搭建时要尽可能地实现模块间的低耦合,即UI界面要和底层架构分离,数据下载要和回测模拟实盘框架分离,策略编写要和架构支撑分离,这样做是为了在后续系统升级过程中尽可能减少“牵一发而动全身”的代码💩山后果。

2.2 策略、框架架构上要尽可能高内聚,简单说就是对于后续要使用框架的用户,只需要把精力放在策略编写上,并且后续我会将策略的各种接口及规则整理成规范文档,约束边界条件,我的目标是实现将规范文档喂给deepseek这类大模型后,大家给大模型提策略想法就能生成可用的策略文件。另外要实现一个策略文件能支持在回测、模拟盘、实盘使用而不用做额外修改,并且使用同一套UI界面,最大程度减轻使用者的负担。

三、回测系统开发进展

下边介绍一下当前回测系统开发进展和功能构成。

上一篇文章中我介绍了组成khQuant的框架:

图片

1.主交易框架(khFrame.py)。作为整个系统的核心,负责协调各个模块的工作,处理不同运行模式下的逻辑差异。在系统启动时完成必要的初始化工作,包括运行模式设定、数据订阅、账户连接等。根据不同的运行模式(回测、模拟、实盘),框架会采用相应的数据处理和策略触发机制。
2.策略模块(自定义命名)。为用户提供标准化的策略开发接口。通过初始化配置和主要交易逻辑两个核心部分,使策略开发者能够专注于交易逻辑的实现,而无需过多关注底层细节。

3.交易模块(khTrade.py)。负责处理所有交易相关的操作,针对不同的运行模式实现相应的交易逻辑。在实盘模式下执行实际交易,在回测和模拟模式下通过虚拟交易系统模拟整个交易流程。
4.算法库(khQuTools.py)。提供策略开发所需的各类工具函数,包括数据处理、技术分析、策略分析等功能。该模块设计为可扩展的形式,能够根据实际需求不断丰富功能。

5.风控模块(khRisk.py)。实现完整的风险控制体系,包括资金风控、持仓风控、交易风控等多个维度。通过实时监控和预警机制,确保交易在可控的风险范围内进行。
6.配置管理(khConfig.py)。集中管理系统的所有配置信息,包括环境配置、策略参数、风控参数等。通过统一的配置管理机制,提高系统的可维护性和灵活性。

需要说明软件界面是运行于上述框架之上的,也即不使用UI界面,采用纯代码的形式也可以运行,当然有UI界面是最好的。

为方便介绍,我将此系统概括为3个层面:

3.1 第一个层面是工程化管理。

在工程化管理层面,系统实现了完整的工程文件管理机制,让策略研究工作更加高效便捷。通过软件中“保存配置”和“加载配置”的设置,系统将策略开发过程中的各类配置信息进行统一管理和持久化存储。

图片

用户在配置完成并保存后,后续再进行该策略工程研究时可以直接加载,避免了重复配置的烦恼。

具体来说,工程文件包含了策略开发所需的所有信息:策略文件的路径和参数设置、回测区间和初始资金等回测参数、交易费用和滑点设置、股票池配置、风控参数等。也即下图中所能见到的配置基本都可保存到工程文件当中。

图片

从代码实现来看,这些配置信息都采用JSON格式存储,既保证了可读性,也方便进行版本管理。例如,当用户需要测试不同的股票池或者不同的参数组合时,只需要切换工程文件,就能快速进入不同的测试场景。

图片

工程文件的一部分

图片

系统还为虚拟账户管理提供了完善的支持。在回测和模拟交易时,账户的初始资金、持仓结构、交易限制等信息都会保存在工程中。

额外提一句,如果选择的是实盘模式,账户信息部分将会自动读取账户基本情况与持仓情况。

图片

3.2 第二个层面是常规参数设置。

在参数设置层面,系统提供了清晰直观的图形界面。整个界面分为策略配置、系统设置、回测参数和股票池设置等几个主要部分。

首先是策略配置部分。用户可以通过"选择策略文件"按钮选择本地的Python策略文件,系统支持完整的文件路径显示。运行模式可以在回测、实盘之间切换,不同模式下系统会自动调整相应的参数设置界面。

图片

系统设置部分主要包含账户相关的基础配置。用户需要设置账户代码和账户类型(如STOCK),同时还要指定QMT路径用于数据存储和访问。这些设置确保了系统能够正确识别和管理交易账户。

图片

回测参数设置是最常用的部分。这里包含了交易成本设置和回测时间设置两大块。在交易成本方面,用户可以设置最低佣金、佣金费率、印花税率等。系统还支持设置滑点类型和滑点值,以更真实地模拟交易环境。在时间设置方面,用户可以指定回测的起止日期,精确到日级别。

数据设置部分提供了复权方式和周期选择。复权方式支持"等比前复权"等选项,周期可以选择从1分钟到日线等多个级别。用户还可以勾选需要的数据字段,包括开盘价、最高价、最低价、收盘价、成交量、成交额、持仓量等,这些数据字段的选择直接影响策略的计算过程。

图片

在股票池配置方面,系统提供了两种方式。一是通过选择主流指数如上证50、沪深300、中证500等自动获取成分股;二是通过自定义方式导入股票列表。界面底部设有"导入股票"、"删除选中"和"清空列表"三个按钮,方便用户管理自选股票池。同时系统可设置基准合约(如sh.000300,即沪深3000)用于收益对比。

图片

就像3.1节中所介绍第一样,所有这些参数的修改都可以保存,通过这种方式,用户可以方便地保存和加载不同的参数组合,大大提高了策略开发和测试的效率。

3.3 第三个层面是策略评估

策略评估分为实时监控和回测结果分析两个部分。系统在设计时特别注重了实时反馈机制,通过精心设计的日志系统,让用户能够实时掌握策略运行状态

3.3.1 实时监控

在实时监控方面,系统在主界面右侧设置了专门的日志显示区域。日志系统支持多级别的信息显示,包括INFO、WARNING、ERROR等不同级别,并通过不同颜色进行区分。

图片

不同类型的日志信息使用不同颜色进行区分

用户可以实时查看策略的运行进度、交易信号生成、订单执行等关键信息。日志区域底部配备了"清空日志"、"保存日志"等功能按钮,方便用户管理和分析日志信息。回测进度也会以百分比的形式在日志中显示。

图片

回测结果分析采用了独特的中介文件夹机制。系统会在每次回测时创建一个独立的结果文件夹(backtest_results),采用"策略名_开始日期_结束日期"的格式命名,确保不同回测结果相互隔离。这个文件夹中包含了多个关键文件:

- trades.csv: 记录每笔交易的完整信息,包括交易时间、证券代码、交易方向、成交价格、成交数量、手续费等
- daily_stats.csv: 记录每个交易日的账户状态,包括当日权益、持仓市值、可用资金、累计盈亏等
- benchmark.csv: 记录基准指数的每日数据,用于策略收益的对比分析
- strategy_config.json: 保存策略运行时的完整配置信息,包括参数设置、股票池配置等

图片

中介文件夹

图片

资金账户的每日变化情况-截取部分信息

采用中介文件夹机制带来了两个方面的优势:其一,它实现了回测引擎和结果展示模块的完全解耦,两个模块通过标准化的文件接口进行通信,大大提高了系统的可维护性和可扩展性。其二,这种机制为后续的策略分析提供了便利,CSV格式的数据文件可以被各种工具处理,用户可以使用更多工具进行深入分析。

3.3.2 回测结果分析

在回测结果展示方面,我开发了专门的结果分析窗口,策略运行完后,该窗口会自动生成。

图片

这个窗口采用多标签页设计,将不同维度的分析分别展示。"概览"标签页展示策略的基本信息和关键指标,包括总收益率、年化收益率、最大回撤、夏普比率等。"收益分析"标签页通过交互式图表展示策略的收益曲线,并叠加显示基准收益便于对比。"交易详情"标签页则提供完整的交易记录,支持按多个维度筛选和排序。

图片

完整操作流程(只回测两天数据作为演示)

四、下一步考虑

目前回测系统的全流程基本走通了,但是还有大量细节需要完善:

-比如回测结果分析界面中,对于策略的评价指标还不够多。
-还需要与成熟的回测软件(比如QMT)进行相同策略的对比,以验证软件的有效性。
-有些交易回调函数还需要逐个测试,以确保与实盘应用时效果能够保持一致。
-为适应一套策略满足实盘、模拟盘、回测这个要求,需要进行的一些适应性衔接问题。
-等等其他问题

因此,目前的回测系统还不满足放出来给大家使用的状态,待测试稳定后,快捷的安装包版本以及全部开源代码都会放出来给读者朋友们使用。

近期我尽量加快软件和文章更新的频率,尽早让朋友们使用上这个软件。

end、开通miniQMT

上述讲到的系统是基于miniQMT,很多券商都可以开通miniQMT,不过门槛各有不同,很多朋友找不到合适的券商和开通渠道。这里我可以联系券商渠道帮忙开通,股票交易费率是万1,开通成功的朋友都可以免费使用上边开发的“看海量化交易系统”。这个系统还在持续开发的过程中,数据下载的功能已经可以使用,回测部分正在加紧开发,大家可以先开通MiniQMT的权限,这样回测部分的功能放出后就能第一时间用上了~

对于想要开通miniQMT、使用上边开发的“看海量化交易系统”的朋友们,请大家关注一下我的公众号“看海的城堡”,在公众号页面下方点击相应标签即可获取。

图片

相关文章

【深度学习量化交易1】一个金融小白尝试量化交易的设想、畅享和遐想

【深度学习量化交易2】财务自由第一步,三个多月的尝试,找到了最合适我的量化交易路径

【深度学习量化交易3】为了轻松免费地下载股票历史数据,我开发完成了可视化的数据下载模块

【深度学习量化交易4】 量化交易历史数据清洗——为后续分析扫清障碍

【深度学习量化交易5】 量化交易历史数据可视化模块

【深度学习量化交易6】优化改造基于miniQMT的量化交易软件,已开放下载~(已完成数据下载、数据清洗、可视化模块)

【深度学习量化交易7】miniQMT快速上手教程案例集——使用xtQuant进行历史数据下载篇

【深度学习量化交易8】miniQMT快速上手教程案例集——使用xtQuant进行获取实时行情数据篇

【深度学习量化交易9】miniQMT快速上手教程案例集——使用xtQuant获取基本面数据篇

【深度学习量化交易10】miniQMT快速上手教程案例集——使用xtQuant获取板块及成分股数据篇

【深度学习量化交易11】miniQMT快速上手教程——使用XtQuant进行实盘交易篇(八千字超详细版本)

【深度学习量化交易12】基于miniQMT的量化交易框架总体构建思路——回测、模拟、实盘通吃的系统架构

【深度学习量化交易13】继续优化改造基于miniQMT的量化交易软件,增加补充数据功能,优化免费下载数据模块体验!

【深度学习量化交易14】正式开源!看海量化交易系统——基于miniQMT的量化交易软件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词