Lazy loaded image
QMT与问财结合-单策略2.0:自然语言自动化交易系统
00 分钟
2025-3-14
2025-3-27
type
status
date
slug
summary
tags
category
icon
password

使用说明

问财的数据爬取利益于开源库 zsrl/pywencai: 获取同花顺问财数据,但在使用该程序系统需要注意下面几点:
  1. 自己部署 python 环境的话,需要安装相应的库,主要有三个,xtquant 、apscheduler 和 pywencai,其他的是标准库,不需安装。 xtquant 是小 QMT 的数据获取和交易的库,可以到官网 xtquant版本下载 | 迅投知识库 (thinktrader.net) 自行下载,然后放到你 python 安装所在的 site-packages 文件夹内。apschedulerpywencai 库可以通过 pip 安装,国内镜像可以使用 pip install apscheduler -i https://pypi.tuna.tsinghua.edu.cn/simple
  1. pywencai 库依赖 Node.js,自行在电脑中安装安装,否则无法爬取问财数数据。
  1. 爬取问财的数据可能出现不稳定,毕竟不是通过 api 获得数据,所以是存在一定的风险的。一旦数据出错或获取不到数据,自动化交易可能带来损失,损失自行承担,概不负责。建议有两个:一、降低爬取频率,以免 IP 被封;二、模拟号充分测试。

一、系统概述

问财策略量化交易系统是一个基于 Python 开发的自动化股票交易工具,它连接了"问财"数据接口与券商交易系统,实现了自动化的择股、交易决策和执行。该系统的核心优势在于支持定时任务的智能调度执行,使用户可以根据自定义查询条件,设置特定时间点自动进行交易操作,实现真正的"无人值守"交易模式。
系统采用了图形用户界面(GUI)设计,交易逻辑清晰明确:首先通过问财接口获取符合条件的证券列表,然后对比当前持仓,先卖出不在列表中的持仓证券,再按资金均分原则买入新的证券。整个过程支持定时执行,并提供了丰富的日志记录和状态反馈。
notion image

二、系统架构与组件

该交易系统主要由以下几个核心组件构成:

1. 用户界面层(WencaiTraderGUI 类)

负责与用户交互的图形界面,包括:
  • 交易参数设置区域:QMT 路径、账号、交易时间、委托方式等
  • 查询条件管理区域:添加、删除问财查询语句
  • 定时任务管理区域:设置、执行和删除定时任务
  • 资产信息展示区域:账户资金、持仓状态实时展示
  • 日志展示区域:记录系统运行状态和操作结果

2. 交易逻辑层(TraderThread 类)

作为独立的线程运行,处理核心交易逻辑:
  • 负责与交易接口的通信连接
  • 调度和执行定时任务
  • 实现问财策略的具体交易逻辑
  • 管理资产查询和持仓查询

3. 订单执行层(place_orders 函数等)

处理具体的交易指令:
  • 撤销已有订单
  • 发送新的交易委托
  • 处理不同证券类型的交易规则
  • 根据市场情况调整交易价格

4. 辅助功能模块

包括日志记录、错误处理、配置管理等功能:
  • LogRedirector 类:重定向系统输出到 GUI 界面
  • 配置文件的保存与加载功能
  • 异常捕获与处理机制

三、核心功能详解

1. 定时任务管理

系统最重要的特色功能是定时任务调度执行机制,由 schedule 库提供支持:
此机制确保即使当前时间已过设定执行时间,系统也会自动将任务安排到下一个交易日执行,同时只要程序保持运行,任务会在每天的指定时间自动执行。

2. 交易策略执行流程

系统的交易逻辑体现在 execute_wencai_strategy_with_reserved_cash 方法中,遵循"先卖后买"的原则:
这种设计确保系统先释放资金,然后再分配资金进行新买入,最大化利用可用资金。

3. 智能价格调整

系统支持智能价格调整策略,可根据用户设置的百分比对买入价和卖出价进行微调:
这一功能帮助用户更灵活地应对市场波动,提高订单成交概率。

四、系统流程图

五、代码实现中的亮点

1. 高效的异步处理

系统广泛使用多线程技术处理耗时操作,保证 GUI 界面的响应性能:

2. 强大的错误处理

系统实现了全面的异常捕获和错误处理机制,确保在遇到问题时不会崩溃:

3. 持久化配置管理

系统支持将所有设置保存到配置文件,并在启动时自动加载:

六、潜在的改进方向

尽管该系统功能强大,但仍有一些可以改进的方面:
  1. 风险控制机制:增加交易量限制、单笔交易最大金额限制等风险控制参数。
  1. 更灵活的资金分配:目前系统采用均分资金策略,可以考虑增加根据证券权重、波动率等因素进行智能资金分配。
  1. 性能优化:问财查询可能耗时较长,可以考虑增加缓存机制,避免频繁查询。
  1. 数据分析功能:增加交易结果统计分析功能,帮助用户评估策略效果。
  1. 回测系统集成:集成历史数据回测功能,帮助用户在实盘前评估策略。

七、总结

问财策略量化交易系统是一个功能完善、设计良好的量化交易工具,它将问财的选股能力与自动化交易执行有机结合,通过定时任务机制实现了真正的自动化交易。系统采用分层架构设计,代码结构清晰,异常处理完善,为追求投资自动化的用户提供了强大的工具支持。
通过保持程序运行,系统能够按照预设的时间和规则自动执行交易策略,实现"每日定时调仓"的需求,让投资策略运行不再依赖人工干预,大大减轻了投资者的操作负担。
上一篇
3-14收评:A股全线飘红,创业板指劲升2.8%引领市场复苏
下一篇
指数评估:板块轮动加速,估值差异凸显

评论
Loading...