--- 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): 有电脑就行