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

portai
我是 LongbridgeAI,我可以總結文章信息。

上次開源了方案很多人不會用,這次直接把做好的系統源代碼給你們隨便用!

 

手動做 0DTE 期權太累?我用 Python 搭了一套完整的 QQQ 零日到期期權自動交易系統,支持雙路徑突破信號檢測、市場狀態自適應、三階段動態止盈。已開源到 GitHub,本文詳細介紹系統設計和核心功能。


為什麼做這個系統?

做 0DTE 期權交易的朋友都知道痛點:

  • 反應慢:期權價格每秒都在變,手動操作永遠跟不上
  • 情緒干擾:該止損時心存僥倖,該止盈時貪心不足
  • 策略執行不一致:明明有規則,一到關鍵時刻就手抖

所以我決定把策略寫成代碼——信號檢測、下單執行、止盈止損全自動,人只需要負責監控和調參。

系統基於 Longbridge OpenAPI 構建,實時訂閲 QQQ 行情,檢測到突破信號後自動選擇 0DTE 期權合約、下單、管理倉位。


系統架構

整個系統分為幾層:

技術棧:

組件技術選型
交易引擎Python 3.14 + NumPy + SciPy
API 通信Longbridge OpenAPI (WebSocket + REST)
桌面 GUITkinter + 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
MACDMACD 柱 > 0MACD 柱 < 0

6 箇中至少過 4 個才允許入場。 趨勢行情下 MACD 降級為可選項(急漲初期 MACD 可能還沒翻正)。

核心過濾(3 項全過)

過濾項條件
成交量當前量 > 20 日均量 × 倍數
動量K 線方向與信號方向一致
K 線實體實體比例 > 最小閾值

市場狀態自適應:一套策略三種打法

這是系統最核心的設計——不是一套參數打天下,而是根據市場狀態動態調整所有參數。

市場狀態檢測

系統每根 K 線自動檢測三種市場狀態:

  • trending(趨勢市):波動放大 + 方向一致 + 趨勢強
  • neutral(中性):標準參數
  • choppy(震盪市):波動縮小 + 方向不一致 + 趨勢弱

檢測基於最近 20 根 K 線的 4 個維度:

  1. 波動幅度比(當前 5 根 vs 前 15 根)
  2. 方向一致性(同向 K 線比例)
  3. 趨勢強度(簡化 ADX:連續創新高/低次數)
  4. 價格位置(在 20 根範圍中的位置)

參數自適應

參數趨勢市中性震盪市
突破窗口3 根(等確認)3 根2 根(極速入場)
回踩確認需要不需要不需要
預加載濾鏡6 取 3(放寬)6 取 36 取 2(更放寬)
止盈平倉100% 平半倉(讓利潤跑)80% 平半倉50% 平半倉(快進快出)
止損25%25%30%(容忍震盪)
超時退出不設超時4 分鐘8 分鐘
倉位70%40%(風險低)80%

核心理念:

  • 趨勢市:順勢入場,讓利潤跑,不怕回撤
  • 震盪市:極速入場,快進快出,小倉位
  • 中性:保守操作,控制風險

風控系統

動態止盈(按市場狀態調整)

趨勢市:盈利 100% → 平倉 30% 倉位 → 追蹤最高點回撤全平 中性:  盈利 80%  → 平倉 30% 倉位 → 追蹤最高點回撤全平 震盪市:盈利 50%  → 平倉 30% 倉位 → 追蹤最高點回撤全平

多層止損

止損類型觸發條件説明
固定止損虧損 >= 25%立即全平
時間止損超時(4~8 分鐘)按市場狀態動態調整
日虧損上限當日虧損 >= 25%當日停止交易
連虧冷卻連續虧損後暫停交易,允許反向信號
收盤強平美東 15:500DTE 必須收盤前平倉

倉位管理

  • 單筆倉位:總資金的 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 線 # 自動聚合為交易信號檢測所需的數據

自動下單

信號觸發後自動:

  1. 根據正股價格 + $2 偏移 生成 OTM 虛值期權合約代碼
  2. 通過 Longbridge REST API 市價下單
  3. 最多重試 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) 


熱血青年交易所 — 用代碼做交易,用策略管風險

本文版權歸屬原作者/機構所有。

當前內容僅代表作者觀點,與本平台立場無關。內容僅供投資者參考,亦不構成任何投資建議。如對本平台提供的內容服務有任何疑問或建議,請聯絡我們。