我是Mr.看海,我正在开发基于miniQMT的量化交易系统。
本篇文章是关于“看海量化交易系统”的安装使用教程。
有不清楚之处,大家可以在本页面上方“问题反馈”提交反馈。
1.安装教程
在首页下载安装文件压缩包到本地,右键解压缩后,将会得到一个exe文件,双击exe文件安装。

选择软件安装路径,一直点击下一步,直到安装成功。

安装完成后桌面上将会有软件的快捷方式,双击可以打开软件。
2.软件的使用
2.1 打开miniQMT客户端
软件在使用前需要首先打开国金的QMT交易端客户端,在登录时需要勾选“极简模式”(有的版本叫“独立交易”)。miniQMT登录后,将会自动提供接口服务。

如果还没有开通QMT,可以点击这里咨询开通。
如果在“看海量化交易系统”的设置界面中提前设置了miniQMT客户端路径,那么当打开看海系统时,会检测miniQMT是否登录,如果未登录,将会按照设置路径启动miniQMT。

2.2 软件界面
打开软件后将会显示如下主界面

2.2.1 标题栏

标题栏中除了最大化最小化这些常规功能外,还有状态指示灯和帮助按钮。点击帮助按钮,将会打开官网帮助文档,软件的使用方法、注意事项和常见问题将在此处解答。
指示灯目前显示两种状态:
– 红灯:miniQMT未登录,需先登录miniQMT。
– 绿灯:状态正常,可以正常使用软件。
2.2.2 工具栏

工具栏中,目前有两个功能模块。第一个是可视化模块,第二个是系统设置。点击相应图标可开启对应功能。
2.2.3 系统设置

2.2.3.1 股票列表更新管理
成分股数据的时效性直接影响策略研究的准确性。新版本提供了成分股清单一键更新功能,用户只需点击”更新成分股列表”按钮,系统就会自动获取最新的股票清单。更新过程中会显示详细的进度信息,让用户明确了解当前状态。这个功能适合在新股上市或成分股调整期间使用。
2.2.3.2 客户端路径配置
之前提到过,打开该软件的时候,会检测QMT软件状态,并在未开启时自动打开QMT软件。考虑到不同用户的安装路径不同的情况,新版本支持灵活配置miniQMT客户端路径。在设置界面设置路径,系统会自动保存这个配置。在使用过程中,软件会实时监测客户端状态,确保数据获取的稳定性。
2.3 数据下载模块
2.3.1 设置数据存储路径
选好路径之后数据将会下载到这个文件夹当中。

2.3.2 设置需要下载的股票列表

通过导入股票清单的方式来设置需要下载的股票是比较简易的一种方式,这里设定的是导入csv格式的文件,文件中写上股票代码和股票名称,就像下图。(可以参考“软件安装路径_internal\data\otheridx.csv” 文件的写法,例如“D:\Program Files (x86)\khQuant_internal\data\otheridx.csv”)

预置了多个主流股票池,包括沪深A股、创业板、科创板等常用板块的股票列表,以及中证500、沪深300、上证50等重要指数成分股名单,以及对于上证指数等几种指数也预制了下载选项。
这里我设置了一个“自选清单”,其中可以填入用户常用的股票清单,设定好之后后续再使用只需要勾选就可以。点击“自选清单”可以直接打开清单文件进行修改。
同时,支持导入多个csv文件,这样就可以预设多个文件,比如沪深300股票清单存一个csv文件,上证50存成一个,还可以存一些自己特挑的股票,然后一股脑地导入进来。
2.3.3 周期类型、复权方式和字段选择
周期类型可以选择tick、1m、5m和1d四种,这也是接口支持的几种类型。
复权方式默认为前复权,当然你也可以根据需求修改。
需要注意,选择tick类型和选择其他类型周期,对应可选的字段列表是不同的,当选择tick时,有以下16种可选的字段。
当选择其他类型周期时,可选以下11种字段。字段列表会根据选择的周期类型自动显示不同的列表。
2.3.4 日期范围、时间段选择
可以选择起始和结束的日期范围,可以通过图形界面自由点选。
时间段可以设置全天,也可以指定时间段。当选择全天时,数据是从9:15集合竞价阶段开始下载。
2.3.5 数据下载按钮和进度条
根据实测,如果设置需要下载的股票数量多、时间跨度长,那么程序需要运行的时间还是蛮长的。
因此设置一个数据下载进度条也是十分有必要的。效果如下图。
需要注意,数据下载过程中程序会进入阻塞状态,界面会未响应,此时请耐心等待。如果要停止下载数据,直接退出软件即可。
文件命名规则:
– 存储的文件名格式: “{股票代码}{周期类型}{起始日期}{结束日期}{时间段}_{复权方式}.csv”
– 示例1: “000001.SZ_tick_20240101_20240430_all_none.csv”
– 股票代码: 000001.SZ
– 周期类型: tick
– 起始日期: 20240101
– 结束日期: 20240430
– 时间段: all (表示全部时间段)
– 复权方式: none (表示不复权)
– 示例2: “000001.SZ_1d_20240101_20240430_all_front.csv”
– 复权方式: front (表示前复权)
– 如果指定了具体的时间段,时间段部分将替换为 “HH_MM-HH_MM” 的格式
– 示例: “000001.SZ_1m_20240101_20240430_09_30-11_30_none.csv”
– 时间段: 09_30-11_30 (表示 09:30 到 11:30 的时间段)
– 复权方式有以下几种:
– ‘none’: 不复权,使用原始价格
– ‘front’: 前复权,基于最新价格进行前复权计算
– ‘back’: 后复权,基于首日价格进行后复权计算
– ‘front_ratio’: 等比前复权,基于最新价格进行等比前复权计算
– ‘back_ratio’: 等比后复权,基于首日价格进行等比后复权计算
2.3.6 状态提示
软件运行的状态需要及时掌握,就像上图中的“正在下载数据…”,这个位置是软件的最底部,也是状态显示栏。
一些报错信息也会在这里显示,就像这样:
当然,为了更醒目地提示报错信息,当运行存在故障时,将会有弹窗提醒。
2.4 数据清洗模块
数据清洗模块可以说是和历史数据下载模块是一体的,所以他们在涉及的时候存在很多内在的联系。
2.4.1 待清洗的文件夹选择
此路径会自动与下载的历史数据的路径相关联,同时也可以手动修改,以增加该模块使用的便捷性和灵活性。
2.4.2 选择清洗操作
再提醒一下,“移除异常值”应该慎重选择。
在点击“开始清洗”之后,程序会根据勾选的清洗操作类型,将选定的文件夹内的数据进行处理,需要注意,为了节省空间,程序会直接在原数据上进行修改,也即清洗后的数据将覆盖原数据。
2.4.3 清洗结果日志

程序还会生成清洗情况的日志,这是为了确认清理的数据是否符合预期。日志内容包括:
- 处理文件的总数量
- 每个文件的具体处理情况(包括缺失值填充数量、非交易时间数据删除数量、重复数据处理数量等)
- 清洗过程中遇到的异常情况警告
- 清洗完成的时间戳
这样的日志记录使得数据清洗过程更加透明,便于追踪和复查。当发现策略运行异常时,可以回溯数据清洗日志,确认是否存在数据处理不当的情况。

被删除掉的数据的记录
如果想保存下来所有日志信息也没问题,我提供了保存清洗日志的功能。

点击可以导出txt格式的清洗日志。
2.5 可视化模块
可视化模块主要为了做两件事:
第一,确认一下下载的数据的总体概况,比如总共有多少只股票的数据、占用的空间等基本信息。
第二,任意选取其中的某一只股票,绘制其数据文件中的各类数据的图线,也就是数据的可视化。
2.5.1 可视化模块与主界面的衔接
由于数据的可视化并不是量化交易主流程中必不可少的步骤,所以该功能界面就不集成到平台主界面上了(太占地儿了),而是将其作为一个灵活的工具模块内置到平台当中。为此,我在交易平台中设置了“工具栏”,可视化模块将作为第一个工具放入其中。
点击第一个图标,将会弹出此可视化界面:

特别值得一提的是,该模块实现了与主界面的智能联动。它会自动继承主界面当前的数据文件夹路径,这意味着用户在下载完数据后可以直接点击图标进行分析,无需重复设置路径。当然,用户也可以通过界面上的”浏览…”按钮随时切换到其他数据文件夹。
2.5.2 文件信息统计
它能自动扫描文件夹,解析每个文件名中包含的信息,并提供全面的数据概览:

统计信息包括:
- 基础信息:股票总数、文件总大小
- 市场分布:深市、沪市、北交所的股票数量统计
- 数据特征:数据周期类型(tick、1m、5m、1d等)
- 时间范围:数据的起止日期
这些信息直观地展示在界面右上角,帮助用户快速了解数据集的基本特征。这个功能特别适合在批量下载数据后使用,可以帮助快速核实数据的完整性。
2.5.3 智能可视化展示
在可视化功能设计时,我着重考虑了不同数据类型的展示需求。系统会根据数据特征自动调整显示模式。
在“股票”的下拉菜单中,可以选择当前文件夹中的所有股票。这里会将股票代号自动解析成为股票名称。

如果选取的数据是tic、1m或者5m类型的,那么在选择股票后还会自动生成一个日期选择的下拉菜单,在其中可以选择数据文件中涉及的日期。软件会自动识别并标注交易时段和休市时间,让数据展示更加清晰直观。

对于日线数据,系统会自动切换到适合长期趋势分析的显示模式。

值得一提的是,系统实现了智能的数据降采样机制。当数据量超过制定数量时,会自动进行降采样处理,这既保证了显示效果,又确保了系统的响应速度。
2.5.4 交互功能与用户体验
为了提供更好的数据分析体验,我实现了丰富的交互功能:
用户可以通过鼠标框选来放大查看特定时间段的数据,窗口支持拖动、缩放等基本操作,通过右键点击快速重置视图;鼠标悬停时还会显示该点的详细数据信息;通过点击图例,隐藏/显示部分数据类型。

鼠标悬停显示详细数据

窗口局部缩放

鼠标悬停显示详细数据
这个可视化模块虽然看似简单,但在实现过程中考虑了很多实用性的细节。它既可以用来验证数据完整性,也能支持初步的技术分析。