
量化回测离不开高质量的历史数据。使用QMT做策略开发时,你需要知道如何获取日线、分钟线甚至tick级别的历史数据。QMT本身内置了数据模块,但也允许导入外部数据。下面详细介绍几种常见方式。
第一种,也是最方便的,直接使用QMT客户端的数据下载功能。在QMT的“行情”或“数据管理”界面,你可以选择股票代码、时间范围、周期(1分钟、5分钟、日线等),然后点击下载。下载后的数据会保存在本地文件夹中,供策略通过xtdata.get_market_data等API调用。这种方式免费且合法,数据源来自券商的行情服务器,质量有保障。缺点是,如果你需要全市场几千只股票10年的分钟数据,下载量会很大,占用硬盘空间。
第二种,使用三方Python库自行获取。例如baostock、akshare、tushare pro等开源库,它们提供免费的A股历史数据(日线基本免费,分钟线部分收费)。你可以写一段独立的Python脚本下载CSV文件,然后在QMT策略中读取这些文件。这种方式灵活,但需要注意数据的准确性以及更新频率。尤其要警惕部分免费数据源存在前复权错误或停牌处理不当的问题。
第三种,购买专业数据服务。如果你做高频策略或需要level2逐笔成交数据,免费数据无法满足,可以考虑购买Wind、聚宽数据、米筐数据等商业服务。但这些价格不菲,个人投资者一般用不到。
第四种,利用QMT的实时行情订阅并自行积累。你可以写一个简单的收集脚本,每天运行QMT,将收到的tick或分钟数据保存到数据库。几个月后你就拥有了自己积累的历史数据。这种方法耗时较长,但数据完全符合你的需求。
需要注意,回测时使用的数据必须进行复权处理,否则除权除息会导致技术指标失真。QMT内置的数据接口默认提供后复权数据,比较方便。而自行下载的数据可能需要手动复权。
另外,数据频率越高,回测速度越慢。对于长周期策略,日线数据足够;对于日内策略,5分钟线是较好的平衡点;高频策略才需要tick级数据。作为个人入门,建议先使用日线数据验证逻辑,再逐步细化。
无论采用哪种数据源,都建议对比一下不同来源的同一时段数据,确认没有异常值。国金证券的QMT平台为合格用户提供了完整的历史日线和分钟线下载权限,且数据质量经过校验。同时,10万资金门槛即可开通实盘,配合量化社群答疑,用户在数据获取和清洗中遇到的技术问题可以快速得到解答。一个可靠的数据基础,是策略成功的一半。