QQQ Live 实盘交易系统
QQQ 0DTE 实盘交易系统 v6.2,实时 K 线订阅,双路径突破信号,桌面+Web 双面板,系统托盘常驻,看门狗崩溃恢复。
系统概述
QQQ Live 是面向实盘环境的 QQQ 0DTE 交易系统。与侧重策略研究的量化交易系统不同,QQQ Live 的设计重心是稳定性和可靠性——在长达 6.5 小时的美股交易时段内,系统必须持续稳定运行,任何中断都可能造成交易损失。
v6.2 是当前的生产版本,已经在实盘环境中运行了数十个交易日。
实时 K 线订阅
系统通过 Longbridge API 的 WebSocket 接口实时订阅 QQQ 的 1 分钟 K 线数据:
- 数据源:Longbridge OpenAPI WebSocket 实时推送
- 数据粒度:1 分钟 K 线(开高低收 + 成交量)
- 延迟:端到端延迟低于 500ms
- 断线恢复:自动检测连接状态,断线后 3 秒内自动重连
- 数据校验:每根 K 线到达后校验时间戳连续性,防止数据丢失
K 线缓存机制
系统在内存中维护一个滚动的 K 线缓存窗口:
- 缓存最近 200 根 1 分钟 K 线
- 每收到新 K 线,自动更新技术指标(SMA、EMA、RSI、布林带等)
- 缓存数据同时写入本地 SQLite 数据库,防止进程崩溃导致数据丢失
双路径突破信号
系统继承了量化交易系统的双路径突破策略,并针对实盘环境做了优化:
经典路径
- 价格突破 N 周期高低点 + 放量确认
- 选择 Delta 0.3-0.5 的平值合约
- 最长持仓 30 分钟
加速路径
- 价格斜率突变检测
- 选择 Delta 0.5-0.7 的实值合约
- 最长持仓 15 分钟
实盘优化
与回测版本相比,实盘版本做了以下优化:
- 滑点模拟:开仓价格加入 0.02 美元的滑点假设
- 流动性检查:开仓前检查期权合约的买卖价差,价差过大则跳过
- 仓位限制:单笔交易不超过账户资金的 10%,同时持仓不超过 3 笔
- 冷却期:平仓后强制等待 2 分钟,避免情绪化连续交易
Tkinter 桌面控制面板
系统提供基于 Tkinter 的原生桌面 GUI,适合在 Windows 桌面上常驻运行:
主界面
- 行情面板:QQQ 实时价格、涨跌幅、VIX 指数
- 信号面板:5 个引擎的实时信号状态(绿灯=看多,红灯=看空,灰灯=无信号)
- 持仓面板:当前持仓的合约代码、成本、数量、盈亏
- 资金面板:账户余额、可用资金、当日盈亏
操作按钮
- 一键启停:开始/暂停自动交易
- 手动平仓:选中持仓后一键平仓
- 参数调整:实时调整止损比例、仓位大小等参数
- 查看日志:弹出交易日志窗口
界面风格
采用深色主题,与交易终端风格一致。所有数据每秒刷新一次,确保信息实时性。
Flask Web 仪表盘
除桌面 GUI 外,系统还提供基于 Flask 的 Web 仪表盘:
- 远程监控:通过手机浏览器查看交易状态
- 响应式布局:适配手机和桌面浏览器
- 实时数据:通过 WebSocket 推送,无需手动刷新
- 交易记录:按日期查看历史交易明细
Web 仪表盘运行在本地端口 5000,仅限局域网访问。如果需要远程访问,可配合内网穿透工具使用。
系统托盘常驻
系统支持最小化到 Windows 系统托盘,不占用任务栏空间:
- 托盘图标:绿色=运行中,黄色=暂停,红色=异常
- 右键菜单:显示主界面、暂停交易、查看日志、退出系统
- 气泡通知:开仓/平仓时在托盘区域弹出通知气泡
- 单实例保护:防止重复启动,第二次启动时自动激活已有窗口
PyInstaller 打包
系统通过 PyInstaller 打包为独立的 Windows 可执行文件(.exe),无需安装 Python 环境:
打包配置
- 单文件模式:所有依赖打包为单个 exe 文件
- 无控制台:GUI 程序不显示命令行窗口
- 图标自定义:使用自定义的交易图标
- 版本信息:嵌入版本号和版权信息
打包大小
最终 exe 文件约 80MB,包含 Python 运行时、所有依赖库和资源文件。
启动优化
- 首次启动约 3-5 秒(解压依赖)
- 后续启动约 2 秒(使用缓存)
看门狗崩溃恢复
这是实盘系统最重要的安全机制。系统内置看门狗(Watchdog)进程,负责监控主程序的健康状态:
监控机制
- 心跳检测:主程序每 10 秒向看门狗发送心跳包
- 超时判定:连续 30 秒未收到心跳,判定为主程序崩溃
- 进程检查:同时检查主进程是否存活
恢复策略
- 自动重启:看门狗自动重启主程序
- 状态恢复:从 SQLite 数据库恢复最近的持仓和交易状态
- 持仓检查:重启后立即查询 Longbridge API,确认实际持仓与系统记录一致
- 异常上报:通过飞书通知发送崩溃报告,包含崩溃时间和恢复状态
日志系统
- 所有操作记录到本地日志文件(按日期分割)
- 日志级别:DEBUG / INFO / WARNING / ERROR
- 崩溃时自动保存最近 1000 条日志用于排查
交易复盘
系统内置交易复盘功能,每日收盘后自动生成复盘报告:
- 交易统计:总交易笔数、胜率、盈亏比、最大单笔盈亏
- 信号统计:各引擎的信号触发次数和胜率
- 资金曲线:当日账户净值变化曲线
- 改进建议:基于当日交易数据,自动标注需要优化的参数
技术栈
| 层级 | 技术 | |------|------| | 交易引擎 | Python, NumPy, Pandas | | 桌面 GUI | Tkinter, pystray | | Web 服务 | Flask | | API 通信 | Longbridge OpenAPI (WebSocket + REST) | | 数据存储 | SQLite | | 日志 | Python logging | | 打包 | PyInstaller | | 通知 | 飞书 Webhook, Windows Toast | | 看门狗 | multiprocessing |
版本迭代
| 版本 | 主要变更 | |------|---------| | v1.0 | 基础策略,命令行运行 | | v3.0 | 加入 Tkinter GUI | | v5.0 | Longbridge API 集成,实盘交易 | | v6.0 | 看门狗崩溃恢复,系统托盘 | | v6.2 | PyInstaller 打包,Web 仪表盘,飞书通知 |
