
開源 QQQ 0DTE 期權自動交易系統 — 部署指南

上次開源了方案很多人不會用,這次直接把做好的系統源代碼給你們隨便用!
手動做 0DTE 期權太累?我用 Python 搭了一套完整的 QQQ 零日到期期權自動交易系統,支持雙路徑突破信號檢測、市場狀態自適應、三階段動態止盈。已開源到 GitHub,本文詳細介紹系統設計和核心功能。
為什麼做這個系統?
做 0DTE 期權交易的朋友都知道痛點:
- 反應慢:期權價格每秒都在變,手動操作永遠跟不上
- 情緒干擾:該止損時心存僥倖,該止盈時貪心不足
- 策略執行不一致:明明有規則,一到關鍵時刻就手抖
所以我決定把策略寫成代碼——信號檢測、下單執行、止盈止損全自動,人只需要負責監控和調參。
系統基於 Longbridge OpenAPI 構建,實時訂閲 QQQ 行情,檢測到突破信號後自動選擇 0DTE 期權合約、下單、管理倉位。
系統架構
整個系統分為幾層:

技術棧:
| 組件 | 技術選型 |
|---|---|
| 交易引擎 | Python 3.14 + NumPy + SciPy |
| API 通信 | Longbridge OpenAPI (WebSocket + REST) |
| 桌面 GUI | Tkinter + pystray 系統托盤 |
| Web 儀表盤 | Python 內置 http.server,零依賴 |
| 通知 | 飛書 Webhook |
| 打包 | PyInstaller 單文件 EXE |
核心策略:雙路徑突破
系統的核心是 v6.2 雙路徑突破策略,不是單一信號,而是根據市場節奏自動切換兩種模式:
Classic 模式(經典突破)
- 突破窗口:3 根 K 線(5 分鐘級別)
- 量能要求:成交量 > 20 日均量 × 0.8
- 需要回踩確認:突破後等回調再入場
適用場景: 趨勢明確的行情,穩紮穩打。
Accelerated 模式(加速突破)
- 突破窗口:2 根 K 線(更敏捷)
- 量能要求:成交量 > 20 日均量 × 1.2
- 近 3 根回踩檢測:快速確認後入場
適用場景: 急漲急跌行情,快速響應。
兩種模式自動切換——系統會根據 K 線斜率和量能變化判斷當前是趨勢行情還是加速行情,選擇最優路徑。
信號過濾:多層確認機制
觸發突破信號後,還要通過多層過濾才能真正下單:
預加載濾鏡(6 取 4)
每根 K 線實時計算 6 個指標狀態,信號觸發時只需查詢,不需重算:
| 濾鏡 | 做多條件 | 做空條件 |
|---|---|---|
| SMA20 | 價格 > SMA20 且上升 | 價格 < SMA20 且下降 |
| SMA50 | 價格 > SMA50 | 價格 < SMA50 |
| 當日位置 | < 85%(不在頂部做多) | > 15%(不在底部做空) |
| 趨勢 | 最近 5 根 ≥ 3 陽 | 最近 5 根 ≥ 3 陰 |
| VWAP | 價格 > VWAP | 價格 < VWAP |
| MACD | MACD 柱 > 0 | MACD 柱 < 0 |
6 箇中至少過 4 個才允許入場。 趨勢行情下 MACD 降級為可選項(急漲初期 MACD 可能還沒翻正)。
核心過濾(3 項全過)
| 過濾項 | 條件 |
|---|---|
| 成交量 | 當前量 > 20 日均量 × 倍數 |
| 動量 | K 線方向與信號方向一致 |
| K 線實體 | 實體比例 > 最小閾值 |

市場狀態自適應:一套策略三種打法
這是系統最核心的設計——不是一套參數打天下,而是根據市場狀態動態調整所有參數。
市場狀態檢測
系統每根 K 線自動檢測三種市場狀態:
- trending(趨勢市):波動放大 + 方向一致 + 趨勢強
- neutral(中性):標準參數
- choppy(震盪市):波動縮小 + 方向不一致 + 趨勢弱
檢測基於最近 20 根 K 線的 4 個維度:
- 波動幅度比(當前 5 根 vs 前 15 根)
- 方向一致性(同向 K 線比例)
- 趨勢強度(簡化 ADX:連續創新高/低次數)
- 價格位置(在 20 根範圍中的位置)
參數自適應
| 參數 | 趨勢市 | 中性 | 震盪市 |
|---|---|---|---|
| 突破窗口 | 3 根(等確認) | 3 根 | 2 根(極速入場) |
| 回踩確認 | 需要 | 不需要 | 不需要 |
| 預加載濾鏡 | 6 取 3(放寬) | 6 取 3 | 6 取 2(更放寬) |
| 止盈平倉 | 100% 平半倉(讓利潤跑) | 80% 平半倉 | 50% 平半倉(快進快出) |
| 止損 | 25% | 25% | 30%(容忍震盪) |
| 超時退出 | 不設超時 | 4 分鐘 | 8 分鐘 |
| 倉位 | 70% | 40%(風險低) | 80% |
核心理念:
- 趨勢市:順勢入場,讓利潤跑,不怕回撤
- 震盪市:極速入場,快進快出,小倉位
- 中性:保守操作,控制風險
風控系統

動態止盈(按市場狀態調整)
趨勢市:盈利 100% → 平倉 30% 倉位 → 追蹤最高點回撤全平 中性: 盈利 80% → 平倉 30% 倉位 → 追蹤最高點回撤全平 震盪市:盈利 50% → 平倉 30% 倉位 → 追蹤最高點回撤全平
多層止損
| 止損類型 | 觸發條件 | 説明 |
|---|---|---|
| 固定止損 | 虧損 >= 25% | 立即全平 |
| 時間止損 | 超時(4~8 分鐘) | 按市場狀態動態調整 |
| 日虧損上限 | 當日虧損 >= 25% | 當日停止交易 |
| 連虧冷卻 | 連續虧損後 | 暫停交易,允許反向信號 |
| 收盤強平 | 美東 15:50 | 0DTE 必須收盤前平倉 |
倉位管理
- 單筆倉位:總資金的 8%
- 期權選擇:OTM 虛值$2 行權價
- 最大同時持倉:3 個
- 信號強度→倉位倍數(強/中/弱)
Web 儀表盤
系統內置零依賴 Web 儀表盤,用 Python 內置的 http.server 實現,不需要 Flask。
設計特點:
- 深色主題,卡片式佈局
- 實時更新(5 秒自動刷新)
- 移動端適配(手機瀏覽器也能用)
- 狀態欄:引擎狀態、連接狀態、當前價格
- 信號過濾面板:6 個濾鏡狀態實時顯示
- 交易記錄表格:盈虧一目瞭然
- 事件日誌:系統運行狀態
啓動後瀏覽器訪問 http://localhost:8080 即可查看。
桌面應用
雙擊 main_app.py 啓動,包含:
- Tkinter 桌面窗口:系統托盤常駐,實時監控
- 設置界面:4 個 Tab 頁(信號/風控/窗口/API),在線調整參數
- API 密鑰管理:首次運行彈出配置嚮導
- 配置熱重載:修改 settings.json 後自動生效,無需重啓
PyInstaller 打包
# 打包為單文件 EXE build.bat # 或 pyinstaller qqq_trading.spec
打包後雙擊 EXE 即可運行,無需 Python 環境。
集成 Longbridge API
行情訂閲
# WebSocket 實時訂閲 QQQ 1 分鐘 K 線 # 自動聚合為交易信號檢測所需的數據
自動下單
信號觸發後自動:
- 根據正股價格 + $2 偏移 生成 OTM 虛值期權合約代碼
- 通過 Longbridge REST API 市價下單
- 最多重試 2 次,間隔 500ms
期權合約生成
# Call: strike = floor(stock + 2) → 確保 OTM # Put: strike = ceil(stock - 2) → 確保 OTM # 格式: QQQ260508C710000.US
飛書通知
每筆交易關鍵節點推送飛書消息:
- 🟢 開倉信號:合約、方向、入場價
- 🔴 止盈止損:觸發價格、盈虧比例
- ⚠️ 異常告警:連虧、API 斷連、心跳超時
時區處理(關鍵坑點)
長橋 API 的時間戳是 HKT(UTC+8),不是美東時間!
系統內部統一使用美東時間(Eastern Time),自動處理夏令時/冬令時切換:
TZ_ET = ZoneInfo("America/New_York") # 自動 EDT/EST 切換 TZ_HKT = timezone(timedelta(hours=8)) # 交易窗口:美東 09:35-15:50 # 收盤強平:美東 15:50
安全與穩定性
看門狗
watchdog.py 監控交易引擎:
- 進程崩潰後自動重啓(最多 5 次)
- 所有輸出記錄到日誌文件
- 優雅退出(SIGINT/SIGTERM)
狀態持久化
- 原子寫入:先寫臨時文件再替換,防止崩潰時文件損壞
- 交易記錄:
records/目錄按日期存儲 JSON - 狀態文件:
state.json供儀表盤實時讀取
快速開始
1. 克隆項目

開源地址在我的博客:https://1797346220.github.io/boke/projects/
2. 安裝依賴
pip install -r requirements.txt
依賴列表:
- numpy, scipy(技術指標計算)
- longbridge(Longbridge SDK)
- pystray, Pillow(系統托盤)
- requests(飛書通知)
3. 配置
首次運行會彈出 API 密鑰配置嚮導,填入 Longbridge 的 App Key、App Secret、Access Token 即可。
也可以手動編輯 settings.json 調整所有參數,修改後自動熱重載。
4. 啓動
# 桌面版(推薦)python main_app.py # 或使用啓動腳本 start.bat
項目結構
├── main_app.py # 主入口(Tkinter GUI + 系統托盤)
├── live_trader.py # 核心交易引擎 v6.2
├── trader_web.py # Web 儀表盤
├── dashboard_web.py # 輕量 Web 儀表盤(無依賴)
├── dashboard_tk.py # Tkinter 桌面儀表盤
├── config_manager.py # 配置管理器
├── settings_gui.py # 設置界面
├── update_gist.py # 交易記錄同步到 GitHub Gist
├── watchdog.py # 看門狗(崩潰自動重啓)
├── backtest_v6.py # 回測引擎(Black-Scholes 定價)
├── settings.json # 交易參數配置
├── requirements.txt # Python 依賴
└── .env.example # 環境變量模板
設計理念
1. 不是一套參數打天下
市場在變,策略也要變。系統的核心創新是市場狀態自適應——自動檢測 trending/neutral/choppy 三種狀態,動態調整所有參數。
2. 信號多層確認
不是"觸發就交易",而是預加載濾鏡(6 取 4)+ 核心過濾(3 項全過),層層篩選,確保信號質量。
3. 風控是生命線
25% 止損、動態超時、日虧損熔斷、連虧冷卻——所有參數都經過嚴格測試。期權波動大,風控不能松。
4. 開箱即用
首次運行有配置嚮導,參數修改自動熱重載,PyInstaller 打包單文件 EXE——降低使用門檻。
免責聲明
⚠️ 本系統僅供學習和研究,不構成投資建議。
- 期權交易風險極高,可能損失全部本金
- 建議先用模擬賬户充分測試
- 實盤使用前請仔細檢查所有參數配置
- 系統依賴 Longbridge API,確保網絡穩定
開源地址
https://1797346220.github.io/boke/projects/
歡迎 Star ⭐ 和 Fork 🔱,有問題提 Issue!
$納指 100 ETF - Invesco(QQQ.US) $小米集團-W(01810.HK)
熱血青年交易所 — 用代碼做交易,用策略管風險
本文版權歸屬原作者/機構所有。
當前內容僅代表作者觀點,與本平台立場無關。內容僅供投資者參考,亦不構成任何投資建議。如對本平台提供的內容服務有任何疑問或建議,請聯絡我們。


