我開源了 QQQ 末日期權自動交易系統

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

基於長橋 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.pyWeb 儀表盤
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)

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

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