本章将引导您使用一个预先配置好的工程文件(
.kh文件),来快速完整地运行一次回测。我们将重点介绍 V3版本特有的 DuckDB 本地数据源模式。
💡 提示:V3 版本同时也支持传统的 MiniQMT 在线数据源 模式。如果您希望使用 MiniQMT 作为数据源(例如需要实时行情),其操作流程与 V2 版本基本一致,您可以参考 第四章:运行第一个回测 (MiniQMT模式) 中的相关章节。本章将专注于讲解更高效、更稳定的 DuckDB 离线回测模式。
1 加载并配置示例工程
软件中内置了一些经典的策略示例,以供快速学习和测试。下面将加载其中一个进行演示。
1.1 加载示例工程
- 找到并点击主界面顶部工具栏上的 “加载配置” 按钮。
- 在弹出的文件选择对话框中,找到软件安装目录下的
_internal\strategies目录(例如C:\Program Files\KhQuant\_internal\strategies)。 - 选择示例工程文件
【1-MA策略案例】双均线精简_使用khMA函数.kh,然后点击”打开”。
1.2 策略文件路径设置
- 检查并重设策略文件路径:由于每个用户的软件安装路径可能不同,加载
.kh文件后,可能需要手动重新指定策略文件的位置。点击”策略文件”输入框右侧的浏览按钮。
⚠️ 重要提醒:策略文件保存位置
为了避免在软件升级或重新安装时丢失您的策略文件,强烈建议不要将策略文件保存在软件安装目录下。推荐的保存位置:
- 用户策略目录(推荐):软件会自动为您创建专用的策略目录
- Windows:
C:\Users\[用户名]\AppData\Local\KhQuant\strategies\
- Windows:
- 自定义目录:如
D:\MyStrategies\或C:\Users\[用户名]\Documents\KhQuant\
如何使用用户策略目录:
- 在策略文件选择对话框中,默认会打开用户策略目录
- 首次使用时,系统会自动复制默认策略文件到此目录
- 您也可以手动导航到该目录进行文件管理
- 用户策略目录(推荐):软件会自动为您创建专用的策略目录
- 在策略文件选择对话框中,建议选择用户策略目录中的
【1-MA策略案例】双均线精简_使用khMA函数.py文件。如果您是首次使用,系统已经自动将示例策略复制到了用户目录中。
1.3 策略文件管理最佳实践
🛡️ 文件安全保护机制
软件采用了智能的文件保护机制:
- 自动目录创建:首次运行时,系统会自动创建用户策略目录
- 默认策略复制:将内置的示例策略复制到用户目录,但不会覆盖已存在的文件
- 智能路径提示:选择策略文件时,如果文件不在安全目录中,系统会提醒您
- 升级保护:用户目录中的文件在软件升级时完全不受影响
🔧 管理策略文件
- 访问策略目录:通过策略文件选择对话框导航到用户策略目录
- 手动打开目录:直接在文件管理器中导航到用户策略目录路径
- 管理策略文件:您可以在此目录中查看、编辑、备份和组织您的策略文件
⚠️ 避免的操作
- 不要将策略文件保存在软件安装目录(如
C:\Program Files\KhQuant\) - 不要直接修改软件安装目录中的示例文件
- 不要将重要的策略文件只保存一份,建议定期备份
1.4 切换数据源为 DuckDB
这是 V3 版本最关键的一步配置。为了确保能从 MiniQMT 导入数据到 DuckDB,我们需要同时配置 DuckDB 路径和 MiniQMT 数据路径。
- 点击主界面顶部工具栏的 “设置” 按钮。
- 在设置对话框中,找到 “客户端设置” 区域。
- 将 “回测数据源” 选项切换为
DuckDB本地数据库。 - 配置关键路径:
- DuckDB数据路径:设置本地数据库的存储位置(建议修改为空间充足的磁盘目录,最好有300G以上空间)。
- miniQMT路径:必须指向 MiniQMT 的 用户数据文件夹(通常是
userdata_mini)。这是从 MiniQMT 导入数据的必要条件。如果您不清楚如何查找此路径,请参考 第三章:第一次启动配置 中的详细说明。
- 点击 “保存设置”。
此时,请观察主界面右上角的指示灯:
- 🟢 绿色:代表 DuckDB 数据库就绪。这意味着系统找到了有效的数据目录,您可以离线运行回测,无需启动 MiniQMT。
- 🔴 红色:代表 DuckDB 数据库不可用。第一次打开软件时这是正常的,说明数据库中没有数据,按照后续操作补充数据即可。
1.5 保存配置
💡 提示:设置好正确的策略路径和数据源后,建议点击工具栏上的 “配置另存为” 按钮,将配置文件保存到您的用户目录中。
2 准备回测数据 (DuckDB模式)
在 DuckDB 模式下,回测直接读取本地硬盘上的数据库文件,因此必须先将数据导入到本地。V3 版本提供了强大的 本地数据管理器 来完成这一工作。
⚠️ 重要提醒
对于本次演示的双均线策略,我们需要确保以下数据都已导入到 DuckDB 中:
- 日线数据 (1d):用于移动平均线指标的计算
如果本地数据库中缺少这些数据,回测将无法进行或结果不准确。
2.1 启动数据管理器
在主界面顶部工具栏点击 “数据管理”,打开 看海数据管理模块 窗口。
2.2 导入数据
我们将演示如何从 MiniQMT 导入 平安银行 (000001.SZ) 的数据。
前置条件:导入数据时,需要临时启动并登录 MiniQMT 客户端 以获取历史数据。导入完成后,回测阶段则不再需要 MiniQMT。
MiniQMT数据导入设置
- 点击”从MiniQMT导入数据”:在数据管理器工具栏上,点击 “从MiniQMT导入数据” 按钮。
- 选择”自定义补充数据”:在弹出的导入对话框中,切换到 “自定义补充数据” 标签页(Tab)。
- 设置股票代码:
- 在”股票池选择”区域,点击 “手动输入”。
- 输入
000001.SZ。
- 设置时间与周期:
- 日线 (1d):勾选,设置时间范围(例如
2024-11-01至2025-12-31)。
注意:请按照这个时间范围设置下载时段(或者大于这个时间段的范围),这里设置的时间范围比回测时间范围要宽,这是因为计算均线需要更早的历史数据。
- 日线 (1d):勾选,设置时间范围(例如
- 开始导入:点击 “开始扫描并补充” 按钮。
- 系统会自动从 MiniQMT 下载数据并写入本地 DuckDB 数据库。
- 观察进度条和日志,等待任务完成。
2.3 验证数据
数据导入完成后,我们可以立即在管理器中验证数据是否就绪:
- 关闭导入对话框,回到数据管理器主界面。
- 在 左侧数据结构树 中,展开
深交所 (SZ)->日线数据。 - 点击
000001。 - 右侧展示区 应该会显示出刚刚导入的日线行情表格。
数据验证结果
确认无误后,关闭数据管理器。
3 开始回测与观察
万事俱备,现在我们可以开始体验 DuckDB 带来的极速回测了。
- 点击”开始运行”:由于加载的工程文件已预设了回测时间,您无需手动调整,直接点击工具栏上的 “开始运行” 按钮即可。
- 观察运行状态:
- 速度差异:您会发现,相比 V2 版本的 MiniQMT 模式,DuckDB 模式下的回测初始化和数据读取速度有显著提升,尤其是在第二次运行时(因为操作系统会缓存文件索引)。
- 系统日志:右侧日志面板会输出策略运行信息。
- 进度条:底部状态栏显示回测进度。
4 解读回测报告
等待回测进度条走到 100%,系统会自动弹出回测报告窗口。
回测报告窗口
这份报告浓缩了策略在历史数据中的全部表现,主要包含:
- 核心绩效指标:如总收益率、年化收益、最大回撤、夏普比率等。
- 可视化图表:包括策略净值与基准对比的资金曲线、回撤曲线等。
- 详细交易记录:每一笔买入和卖出的明细。
- 每日持仓与资产快照:方便复盘策略在任何一天的具体状态。
💡 提示:在 V3 版本中,我们还新增了 “个股微观分析” 模块。在回测报告中点击 “个股分析” 按钮,可以查看每一笔交易在 K 线图上的具体买卖点标记,这对于复盘网格交易或 T0 策略尤为有用。更详细的个股分析功能介绍,请参考官方教程:T0交易功能模块 – 个股分析
5 重要提醒:保护您的策略文件
在结束本章之前,再次强调策略文件安全的重要性:
⚠️ 策略文件安全检查清单
在继续使用软件之前,请确认:
- ✅ 已了解用户策略目录的位置
- ✅ 已确认策略文件选择对话框默认打开用户策略目录
- ✅ 重要的策略文件已保存在安全位置(非软件安装目录)
- ✅ 已为重要策略文件创建备份
- ✅ 配置文件(.kh文件)也保存在安全位置
记住:软件安装目录中的文件在升级时可能会被覆盖!
通过遵循这些最佳实践,就可以安心地使用KHQuant进行策略开发,而不用担心重要文件的丢失。