【AI量化第26篇】以配置为核心的工程化研究管理——基于miniQMT的量化交易回测系统开发实记

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

量化交易研究,尤其在策略回测阶段,通常涉及大量的代码编写和反复实验。许多研究者初期采用零散脚本验证想法,虽然看似快捷,但随着策略复杂度和研究深入,很快会遇到瓶颈:代码结构混乱、难以维护、重复工作多、实验结果难以精确复现。

KhQuant量化系统旨在解决这些痛点,它引入了工程化的管理思维,倡导将回测过程视为一个严谨的、可管理的流程。

其核心在于通过模块化设计、标准化接口以及以.kh 配置文件为核心的清晰管理模式,将研究者从繁杂的底层工程细节中解放出来,使其能够专注于策略逻辑本身的优化,从而在效率和质量上实现显著提升

一、 核心理念:配置驱动的量化工程

将回测视为一项工程,意味着需要采用系统化的方法来组织、执行和管理整个研究过程。KhQuant的核心机制是配置驱动——即通过标准化的配置文件来定义和控制回测的各个环节。

二、为何选择配置驱动?

缺乏统一配置管理的研究方式常常导致:

  • 实验设置混乱: 参数散布于代码各处,难以追踪不同实验的具体配置。
  • 结果复现困难: 环境变化或时间推移后,难以精确还原之前的实验条件。
  • 参数调整低效且易错: 每次调整参数都需要修改代码,增加了出错的可能性。
  • 流程依赖经验: 回测过程依赖研究者的手动操作和隐性知识,不利于标准化和协作。

配置驱动通过将易于变化的配置信息(如参数、时间范围、标的等)与相对稳定的框架执行逻辑清晰分离,有效解决了上述问题。配置文件成为了定义和记录实验的关键载体。

三、 .kh文件:量化工程的管理核心

KhQuant系统的工程化管理思想,集中体现在对.kh(本质为JSON)配置文件的运用上。你可能会问,既然是 JSON,为啥不直接用 .json 后缀呢?问得好!其实主要是为了辨识度。在一个复杂的项目中,各种.json 文件可能满天飞,给咱们这个核心的配置文件起个专属的.kh后缀,就像给它穿上了一件"黄马褂",让你一眼就能认出它,方便查找和管理。当然,也得承认,这可能也带点程序员的小"仪式感"——给重要的东西打上专属标签,感觉就是不一样,对吧?总之,.kh文件不仅存储参数,更是组织和管理整个量化研究流程的核心工具

(1)定义实验单元:
每一个.kh文件都清晰地定义了一个完整、独立的实验单元。它详细规定了该次实验的所有关键要素:

  • 策略: 指定所使用的策略逻辑文件 (.py)。
  • 数据: 定义回测的起止时间、K线周期、数据复权方式。
  • 环境: 设置初始资金、交易成本(佣金、印花税、滑点)、业绩比较基准。
  • 参数: (若有必要在配置中指定)策略内部的可调参数。
  • 标的: 指定包含交易对象的股票池文件。
  • 执行: 设定运行模式、事件触发机制、盘前盘后处理逻辑等。

一个典型的.kh文件中的内容

通过创建和管理不同的.kh文件,研究者可以系统地组织一系列实验,例如评估同一策略在不同市场阶段的表现,或比较不同参数组合的效果。

(2)保障结果可复现性:
可复现性是科学研究的基础。在量化研究中,.kh文件是保障实验结果可复现的关键。保存一个.kh文件,即保存了该次实验的完整上下文。只要KhQuant框架版本和依赖数据不变,使用相同的.kh文件就能精确重现实验结果。这对于结果验证、问题排查和学术交流极为重要。

(3)标准化执行流程:
从用户在GUI界面设置参数,到框架读取配置并执行回测,.kh文件定义了一条标准化的工作流程。

  • GUI生成配置: 用户通过图形界面直观地设置各项参数。

图形界面上的设置都会存入.kh文件中

  • 内存更新: 界面操作实时更新内存中的配置字典。
  • 生成运行配置: 点击"启动策略"时,系统根据当前内存中的配置,生成一个临时的.kh运行配置文件,并生成对应的临时股票池文件。这一步固化了本次运行的参数,确保运行过程不受后续界面更改的影响。
  • 框架读取配置: 启动的策略执行线程将临时配置文件的路径传递给核心框架 (KhQuantFramework)。
  • 框架按配置执行: 框架在初始化时,解析该配置文件,并严格按照其中的设定来执行回测或模拟交易。

这个标准化的流程确保了运行的一致性,减少了因操作差异导致结果偏差的可能性。

(4)支撑自动化与扩展:
标准化的.kh文件格式为自动化研究提供了基础。研究者可以编写脚本来动态生成或修改.kh文件,进而实现大规模的参数优化、滚动回测或多策略组合测试。同时,这也为未来系统功能的扩展(如集成更复杂的风险模型、对接外部数据源)提供了统一的配置接口。

四、 软件界面与工程化配置管理

主界面顶部的工具栏是关键操作的入口:

  1. 加载与创建: 使用加载配置按钮载入已有的.kh文件,或直接在界面设置参数以创建新配置。
  2. 保存: 通过保存配置配置另存为按钮,将当前界面上的参数持久化为.kh文件。
  3. 执行: 点击开始运行按钮启动策略。此时,系统会将当前配置固化到一个临时的temp_running_config.kh文件中,框架仅读取此文件执行,确保了运行的独立性和一致性。停止运行按钮用于中断执行。

五、下一步考虑

后边还有最后一件事要做,做完后回测系统就可以跟大家见面了:

  • 与成熟的回测软件(比如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的量化交易软件

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

【深度学习量化交易16】韭菜进阶指南:A股交易成本全解析

【深度学习量化交易17】触发机制设置——基于miniQMT的量化交易回测系统开发实记

【深度学习量化交易18】盘前盘后回调机制设计与实现——基于miniQMT的量化交易回测系统开发实记

【深度学习量化交易19】行情数据获取方式比测(1)——基于miniQMT的量化交易回测系统开发实记

【深度学习量化交易20】量化交易策略评价指标全解析——基于miniQMT的量化交易回测系统开发实记

【深度学习量化交易21】行情数据获取方式比测(2)——基于miniQMT的量化交易回测系统开发实记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.看海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值