QMT如何接入自定义数据源?比如财务因子或舆情
发布时间:7小时前阅读:7

标准QMT提供的行情数据主要包括价量数据,对于多因子选股或事件驱动策略,往往需要额外的财务数据(如市盈率、营收增速)或舆情数据(如新闻情绪)。那么能否将这些自定义数据源接入QMT,让策略在运行时使用?有多种方法可以实现。
方法一:使用QMT的“自定义数据”功能。部分版本的QMT允许用户导入CSV或Excel文件,数据包含股票代码、日期和自定义因子值。然后策略中可以通过get_custom_data函数读取。例如,你从Wind导出了一张个股的季度净利润表,导入QMT后,在回测时每个交易日都能获取到对应报告期的净利润值。这种方式适合静态或低频更新的数据。
方法二:通过Python脚本在策略外部准备数据。QMT的策略代码可以访问本地文件系统(需在安全策略下)。你可以在每天盘前运行一个单独的脚本,从免费API(如Tushare、AkShare)下载最新的财务因子,保存成pickle或parquet文件。然后在QMT策略的init函数中加载这些数据,存入context字典。在handle_bar中根据当天日期找到对应的因子值。需要注意的是,因子数据需要对齐交易日,并且要避免未来函数(即不能用还没发布的财报数据)。
方法三:使用网络请求实时获取。如果你的数据源提供HTTP API(例如第三方舆情监控),可以在QMT策略中使用requests库实时抓取。但要注意,频繁的网络请求可能影响策略执行速度,且存在网络异常的风险。建议将数据缓存到本地,每小时刷新一次。
方法四:直接使用QMT对接的数据库。机构版QMT支持连接MySQL、SQL Server等数据库。你可以将各类数据存入数据库,策略通过SQL查询获取。这种方式性能较好,适合数据量大的场景,但个人投资者通常没有权限或需要付费。
实现自定义数据源的关键是处理好数据的日期对齐。例如,财务报告有披露日期,并不是报告期的最后一天就可以使用。你需要维护一个“实际可用日期”表,确保策略不会在前一年就使用下一年的数据。
对于普通个人量化投资者,方法二(本地文件+盘前更新)最实用。例如,你可以写一个爬虫每天下载全市场的市盈率、市净率,然后QMT策略读取这些数据来构建“低估值轮动”策略。
国金证券的QMT(10万资金门槛)支持用户自定义数据读取,社群中有人分享了完整的财务数据下载和对接代码。此外,两融全线上开通,当你根据基本面因子选出股票后,需要融资买入时也能快速操作。善用自定义数据,你的策略将从纯技术分析升级为基本面量化,收益来源更丰富。
温馨提示:投资有风险,选择需谨慎。
-
养虾理财用的金融Skill是什么?国泰海通灵犀Skills实测,新手也能装
2026-05-09 13:41
-
豆包开启付费!AI行业迎来拐点,普通投资者该怎么布局?
2026-05-09 13:41
-
2026国金证券新人开户能够享受哪些福利?(含6888元品质礼包)
2026-05-09 13:41


问一问

+微信
分享该文章
