---
title: "我开源了 QQQ 末日期权自动交易系统 "
type: "Topics"
locale: "zh-CN"
url: "https://longbridge.com/zh-CN/topics/40122313.md"
description: "基于长桥 Python SDK，全自动交易 QQQ 0DTE 虚值期权。回测 761 笔/2.3 年，胜率 75.8%。本系统仅供参考学习部署，具体交易策略还需要自己优化。一、策略说明做什么全自动交易 QQQ 当日到期（0DTE）虚值期权，每天美东 09:35-15:50 期间自动检测信号、下单、持仓管理、平仓..."
datetime: "2026-04-23T03:06:19.000Z"
locales:
  - [en](https://longbridge.com/en/topics/40122313.md)
  - [zh-CN](https://longbridge.com/zh-CN/topics/40122313.md)
  - [zh-HK](https://longbridge.com/zh-HK/topics/40122313.md)
author: "[热血青年](https://longbridge.com/zh-CN/profiles/17928542.md)"
---

# 我开源了 QQQ 末日期权自动交易系统 

> 基于长桥 Python SDK，全自动交易 QQQ 0DTE 虚值期权。回测 761 笔/2.3 年，胜率 75.8%。

> 本系统仅供参考学习部署，具体交易策略还需要自己优化。

* * *

## 一、策略说明

### 做什么

全自动交易 **QQQ 当日到期（0DTE）虚值期权**，每天美东 09:35-15:50 期间自动检测信号、下单、持仓管理、平仓。

### 怎么做

**两条信号路径同时运行：**

**1\. 趋势突破（顺势）**

-   价格突破前 5 根 1 分钟 K 线的高点 → 买入 Call（做多）
-   价格跌破前 5 根 1 分钟 K 线的低点 → 买入 Put（做空）
-   4 层过滤：SMA20 趋势 + 量能确认 + 动量确认 + K 线实体

**2\. 衰竭反转（逆势）**

-   从日内高点回落≥0.2% → 买入 Call（抄底）
-   从日内低点反弹≥0.2% → 买入 Put（逃顶）
-   每天最多 1 次，防止频繁抄底

### 怎么管

**动态止盈：**

1.  亏损 25% → 止损全部平仓
2.  盈利 100% → 平仓一半（锁定利润）
3.  从最高盈利回撤 30% → 全部平仓
4.  持仓超过 15 分钟 → 超时平仓

**风控：**

-   每笔最小 10 张期权
-   日最大交易 8 笔
-   日亏损达 5% 停止交易

### 回测结果

指标

数值

总交易

761 笔 / 2.3 年

胜率

75.8%

总收益

+3111%

年化收益

354.8%

最大回撤

25.19%

* * *

## 二、环境准备

### 1\. 系统要求

-   Python 3.10+
-   Linux 或 WSL（Windows 原生不推荐）
-   长桥 API 密钥（需开通美股期权权限）

### 2\. 安装依赖

`pip install longbridge flask numpy scipy`

* * *

## 三、获取代码

`git clone` `https://github.com/1797346220/qqq-trading-system.git cd qqq-trading-system`

* * *

## 四、配置密钥

### 1\. 申请长桥 API

1.  访问 https://open.longportapp.com 注册账号
2.  创建应用，获取以下三个密钥：
    -   `APP_KEY`
    -   `APP_SECRET`
    -   `ACCESS_TOKEN`
3.  确保账户已开通美股期权交易权限

### 2\. 创建 .env 文件

在项目目录创建 `.env` 文件，填入你自己的密钥：

`LONGPORT_APP_KEY=你的 APP_KEY LONGPORT_APP_SECRET=你的 APP_SECRET LONGPORT_ACCESS_TOKEN=你的 ACCESS_TOKEN`

**⚠️ 重要：**`**.env**` **文件绝对不能提交到 Git！**

### 3\. 验证密钥

`import os with open('.env') as f:    for line in f:        line = line.strip()        if '=' in line and not line.startswith('#'):            k, v = line.split('=', 1)            os.environ.setdefault(k.strip(), v.strip().strip('"')) from longbridge.openapi import Config, QuoteContext config = Config.from_apikey_env() ctx = QuoteContext(config) quotes = ctx.quote(['QQQ.US']) print(f"QQQ: ${float(quotes[0].last_done):.2f}")`

如果输出 QQQ 价格，说明密钥配置成功。

* * *

## 五、启动系统

### 方式一：直接启动

`# 终端 1：启动交易引擎 PYTHONUNBUFFERED=1 python live_trader.py # 终端 2：启动 Web 仪表盘 PYTHONUNBUFFERED=1 python trader_web.py`

### 方式二：后台启动

`# 后台启动交易引擎 nohup PYTHONUNBUFFERED=1 python live_trader.py > trader.log 2>&1 & # 后台启动 Web 仪表盘 nohup PYTHONUNBUFFERED=1 python trader_web.py > web.log 2>&1 &`

### 方式三：watchdog 守护（推荐）

`python watchdog.py`

watchdog 会自动管理 live\_trader.py 的生命周期，崩溃后自动重启。

* * *

## 六、验证部署

### 1\. 检查进程

`ps aux | grep -E 'live_trader|trader_web' | grep -v grep`

应该看到两个 Python 进程在运行。

### 2\. 检查状态文件

`python -c " import json d = json.load(open('state.json')) print(f'连接: {d[\"connected\"]}') print(f'运行: {d[\"running\"]}') print(f'K 线数: {d[\"candle_count\"]}') "`

### 3\. 访问 Web 仪表盘

浏览器打开 `http://127.0.0.1:8080`

* * *

## 七、文件说明

文件

说明

`live_trader.py`

核心交易引擎

`trader_web.py`

Web 仪表盘

`watchdog.py`

守护进程

`update_gist.py`

同步交易记录

`.env`

密钥配置（不入库）

`state.json`

实时状态（自动生成）

`today.csv`

当日 K 线（自动生成）

`records/*.json`

交易记录（自动生成）

* * *

## 八、常见问题

### Q: ImportError: No module named 'longbridge'

`pip install longbridge`

### Q: 长桥 API 连接失败

检查：

1.  `.env` 文件是否存在且格式正确
2.  环境变量名是 `LONGPORT_*` 不是 `LONGBRIDGE_*`
3.  使用 `Config.from_apikey_env()` 不是 `Config.from_env()`

### Q: 信号检测无输出

检查：

1.  state.json 的 candle\_count 是否\>0
2.  当前时间是否在交易窗口内（美东 09:35-15:50）
3.  是否有持仓阻塞

### Q: 期权下单失败

检查：

1.  期权合约代码格式是否正确（.US 后缀 + 整数行权价）
2.  到期日是否用美东时间生成
3.  账户是否有期权交易权限

* * *

## 九、策略参数

如需调整策略，修改 `live_trader.py` 中的 CONFIG：

`CONFIG = {    'sl': 0.25,               # 止损 25%    'lookback': 5,            # 突破窗口 5 根 K 线    'vol_mult': 0.8,          # 量能倍数    'min_body': 0.0003,       # K 线实体 0.03%    'max_trades': 8,          # 日最大交易    'start_time': '09:35',    # 入场开始（美东）   'end_time': '15:50',      # 入场结束（美东）   # ... 其他参数见代码注释 }`

**⚠️ 修改后必须同步修改** `**trader_web.py**` **中的 CONFIG，然后重启两个进程。**

* * *

## 开源地址

https://github.com/1797346220/qqq-trading-system

* * *

## 免责声明

本系统仅供学习研究使用。期权交易具有高风险，可能导致本金损失。作者不对使用本系统产生的任何损失负责。

$小米集团-W(01810.HK) $纳指 100 ETF - Invesco(QQQ.US)

### 相关股票

- [QQQ.US](https://longbridge.com/zh-CN/quote/QQQ.US.md)
- [SQQQ.US](https://longbridge.com/zh-CN/quote/SQQQ.US.md)
- [PSQ.US](https://longbridge.com/zh-CN/quote/PSQ.US.md)
- [01810.HK](https://longbridge.com/zh-CN/quote/01810.HK.md)
- [81810.HK](https://longbridge.com/zh-CN/quote/81810.HK.md)
- [HXXD.SG](https://longbridge.com/zh-CN/quote/HXXD.SG.md)
- [XIACY.US](https://longbridge.com/zh-CN/quote/XIACY.US.md)

## 评论 (84)

- **热血青年 · 2026-05-08T14:46:26.000Z · 👍 1**: 止盈策略不能太复杂了，条件越多反而容易出 bug。进场条件过滤也是一样太严了，走势都涨完了才进场；太松了容易被假信号骗，所以慢慢的优化改参数不要动框架。$纳指 100 ETF - Invesco(QQQ.US)
  - **卖飞的小韭菜** (2026-05-08T15:39:41.000Z): 佬你这个策略我也想过回测过，居然一样的想法，还有今天我的交易次数比你少，昨天和今天的入场时机都不太好被挂山顶止损走的好几单，现在就是入场时机不太好，研究看看看有没有好的进场机会
  - **卖飞的小韭菜** (2026-05-08T15:41:32.000Z): 今日的
  - **热血青年** (2026-05-08T15:56:28.000Z): 我实际开仓笔数没这么多，分批止盈很多笔。我单边趋势胜率很高，震荡行情也还在优化。
- **V震天 · 2026-05-04T08:20:06.000Z**: 哥哥能把你优化后的策略发一下看看么？我的胜率只有 29%，太痛苦了😣
  - **新能源_87ba4G** (2026-05-08T08:14:31.000Z): 啊？猜也一半啊，40% 多，好惨
- **ian-914 · 2026-04-30T14:02:17.000Z**: 是不是要开通 OPRA 美股期权行情，开始收费了😂
  - **卖飞的小韭菜** (2026-04-30T14:12:06.000Z): 是要开，连续包月 22hkd，记得开 api 版本的
  - **新能源_87ba4G** (2026-05-01T06:08:43.000Z): 大佬，只用买期权那个？不用买纳斯达克也有 qqq 本身的数据？
  - **卖飞的小韭菜** (2026-05-01T07:15:09.000Z): api 有股票行情但是没有期权行情，所以要买
- **坚决不入坑 · 2026-04-29T17:10:59.000Z**: 大佬
- **左侧+耐心 · 2026-04-29T05:48:59.000Z · 👍 1**: 我尝试复现了一下，胜率没有到老哥的 75% 这么高啊🥲看来路还很长
  - **苏辂** (2026-04-30T14:35:01.000Z): 我试了一下胜率过 50 都很难😭
  - **新能源_87ba4G** (2026-05-03T13:49:08.000Z): 回测的时候，只有 QQQ 价格，怎么考虑期权价格与正股价格的关系呢？
  - **零度热饮** (2026-05-03T14:30:26.000Z): 同，我还以为是我的问题 😂
- **卖飞的小韭菜 · 2026-04-28T23:29:48.000Z**: 交作业，还是有好多问题，1.web 界面和长桥的数据对不上。2. 会下很多被拒单，佬你的 max_trades 8  是单日最大笔数 8 吗，
  - **卖飞的小韭菜** (2026-04-28T23:45:41.000Z): 一天干掉我 3 千万 token，太废 token 了😭
  - **苏辂** (2026-04-29T04:46:16.000Z): 佬有点没看懂 1 和 4 条是什么止盈止损逻辑，照理来说不应该这个波动平仓吧
  - **卖飞的小韭菜** (2026-04-29T04:57:36.000Z): 代码问题，还在修正中，第一天试跑，今晚再看看
- **Eastwen · 2026-04-28T19:32:47.000Z**: 其实这个系统就多了个 web UI 吧
- **明止 · 2026-04-28T03:42:19.000Z · 👍 1**: 非常感谢分享，用龙虾自动编程实现了，同时加了波动率的影响参数，以及参数控制面板。
  - **热血青年** (2026-04-28T04:05:37.000Z): 👍🏻👍🏻👍🏻
- **duriancat · 2026-04-27T22:26:22.000Z**: 是不是需要购买美股的期权行情？
  - **热血青年** (2026-04-28T04:05:43.000Z): 是的
  - **duriancat** (2026-04-28T12:35:39.000Z): 是买 OpenAPI 的 lv1 就够了吗
  - **新能源_87ba4G** (2026-05-08T08:13:24.000Z): 便宜那个
- **华尔该没有雪 · 2026-04-27T17:31:11.000Z**: 长桥没有取历史期权数据的接口吧？怎么回测的
  - **热血青年** (2026-04-28T04:06:42.000Z): 回测 qqq
  - **华尔该没有雪** (2026-04-28T05:34:24.000Z): 你这交易的期权，为啥回测 qqq 正股
  - **新能源_87ba4G** (2026-05-04T05:27:10.000Z): 是不是期权的价格，如果是末日，可以根据正股价推算出来？
- **金裤衩 · 2026-04-27T16:43:35.000Z**: 这个回测结果是根据 qqq 得出的？还是根据期权得出的呢？
  - **热血青年** (2026-04-28T04:06:01.000Z): Q
- **热血青年 · 2026-04-27T14:11:09.000Z**: 我负责玩，你自己全自动😎$纳指 100 ETF - Invesco(QQQ.US)
  - **不奋东西** (2026-04-27T14:14:01.000Z): 模拟仓是哪个标识？实仓是 live
  - **Seanyue** (2026-04-27T22:45:47.000Z): 为啥我的说模拟仓做不了美股期权
  - **龙小瑞** (2026-04-28T03:10:56.000Z): 哥，咨询一个问题，我下单失败会是 | USOption | You do not have access to the market's Open API data. Please visit the Quotes Store to purchase. | 这个导致的嘛？
- **Seanyue · 2026-04-26T04:27:50.000Z · 👍 1**: 我交易账户没钱了，周末搞了这个玩玩模拟
- **忌贪忌躁忌赌落袋为安 · 2026-04-24T03:40:52.000Z**: 周末我也参考你的历史分享，看能否搭建一套自己的系统，感谢分享。
- **不奋东西 · 2026-04-24T02:06:47.000Z**: 模拟盘程序怎么访问设置请给一下，我也试试。
  - **热血青年** (2026-04-24T02:37:56.000Z): 看我前两个教程
  - **不奋东西** (2026-04-24T04:31:57.000Z): 好
- **梵天一页书 · 2026-04-24T01:17:37.000Z**: 只有文档，没有代码？ ai 也不能凭空造出来
  - **热血青年** (2026-04-24T02:37:36.000Z): 文档都给你了，你还怕没代码，直接让 AI 生成
  - **卖飞的小韭菜** (2026-04-24T03:32:41.000Z): 刚用 cursor 跑完了，晚上试试看👀
  - **卖飞的小韭菜** (2026-04-24T03:51:50.000Z): 佬，刚跑完它提示我可能需要开通期权实时行情权限，佬你开了吗
- **tst · 2026-04-24T00:12:45.000Z**: 回测有算交易手续费吗？
  - **热血青年** (2026-04-24T02:36:47.000Z): 回测不要考虑这些，主要针对胜率成功率
- **神威天将军 · 2026-04-23T19:29:40.000Z**: 我就喜欢无私奉献的大佬😎
- **风w长宜放眼量 · 2026-04-23T17:13:01.000Z**: 完全不会编程这些🥹
  - **热血青年** (2026-04-24T02:35:33.000Z): 不用会编程，全部 AI 搞定
- **Sonny96 · 2026-04-23T16:20:49.000Z**: 需要什么硬件
  - **热血青年** (2026-04-23T16:23:03.000Z): 有电脑就行
