Files
DinQuant/README_TW.md
T
TIANHE 0fbee21c57 new
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
2026-01-14 21:49:45 +08:00

23 KiB
Raw Blame History


QuantDinger Logo

QuantDinger

下一代 AI 量化交易平台

🤖 AI 原生 · 🐍 可視化 Python · 🌍 全球多市場 · 🔒 隱私優先

擁有 AI 副駕駛的構建、回測與交易平台。比 PineScript 更強,比 SaaS 更智能。

官方社區 · 在線演示 · 📺 視頻演示 · 🌟 加入我們

License Python Vue Docker Stars

Telegram Group Discord X


📖 簡介

QuantDinger 是什麼?

QuantDinger 是一個本地優先、隱私優先、自託管的量化交易基礎設施。它運行在你的機器/伺服器上,提供 PostgreSQL 支持的多用戶帳號體系,同時讓你完全控制自己的策略、交易數據和 API 密鑰。

為什麼選擇本地優先?

與將你的數據和策略鎖定在雲端的 SaaS 平台不同,QuantDinger 在本地運行。你的策略、交易日誌、API 密鑰和分析結果都保留在你的機器上。沒有供應商鎖定,沒有訂閱費用,沒有數據洩露風險。

適合誰使用?

QuantDinger 為以下用戶而構建:

  • 重視數據主權和隱私的交易員、研究員和工程師
  • 需要透明、可審計的交易基礎設施
  • 更偏好工程而非營銷
  • 需要完整的工作流:數據、分析、回測和執行

核心功能

QuantDinger 包含一個內置的基於 LLM 的多智能體研究系統,能夠從網絡收集金融情報,結合本地市場數據,生成分析報告。這與策略開發、回測和實盤交易工作流無縫集成。

核心價值

  • 🔓 Apache 2.0 開源(代碼):寬鬆且商業友好。你可以在 Apache 2.0 下 fork/修改代碼,但需保留許可與署名等必要聲明。
  • 🐍 Python 原生 & 可視化:使用標準 Python 編寫指標(比 PineScript 更簡單),並由 AI 輔助。直接在圖表上可視化信號——打造「本地版 TradingView」體驗。
  • 🤖 AI 閉環優化:不僅運行策略,AI 還會分析回測結果並建議參數調整(止損/止盈/MACD 設置),形成閉環優化。
  • 🌍 全球市場接入:統一系統支持加密貨幣(實盤)、美股/A股、外匯和期貨(數據/通知)。
  • Docker & 清晰架構:4 行命令極速部署。現代技術棧(Vue + Python),架構清晰,關注點分離。

📺 視頻演示

QuantDinger 專案介紹視頻

點擊上方視頻觀看 QuantDinger 專案介紹


📚 文檔

開發指南

通知配置

📸 功能預覽

📊 專業量化儀表盤

實時監控市場動態、資產狀況和策略狀態。

QuantDinger Dashboard

🤖 AI 深度投研

多智能體協作進行市場情緒與技術分析。

AI Market Analysis

💬 智能交易助手

通過自然語言接口獲取即時市場洞察。

Trading Assistant

📈 交互式指標分析

豐富的技術指標庫,支持拖拽式分析。

Indicator Analysis

🐍 Python 策略生成

內置編輯器,支持 AI 輔助策略代碼編寫。

Code Generation

📊 資產監測

追蹤持倉、設置預警,並通過郵件/Telegram 接收 AI 分析報告。

Portfolio Monitor

關鍵特性

1. 可視化 Python 策略工作台

比 PineScript 更強,比 SaaS 更智能。

  • Python 原生:用 Python 編寫指標和策略。利用完整的 Python 生態(Pandas, Numpy, TA-Lib),而不是 PineScript 這種專用語言。
  • "Mini-TradingView" 體驗:直接在內置的 K 線圖上運行你的 Python 指標。在歷史數據上可視化調試買賣信號。
  • AI 輔助編程:讓內置 AI 為你編寫複雜的邏輯。從創意到代碼只需幾秒鐘。

2. 完整的交易生命週期

從指標到執行,無縫銜接。

  1. 指標:定義你的市場入場/出場信號。
  2. 策略配置:附加風險管理規則(倉位管理、止損、止盈)。
  3. 回測 & AI 優化:運行回測,查看豐富的性能指標,並讓 AI 分析結果以建議改進(例如:「調整 MACD 閾值為 X」)。
  4. 執行模式
    • 實盤交易
      • 加密貨幣:直接 API 執行,支持 10+ 交易所(Binance, OKX, Bitget, Bybit 等)
      • 美股/港股:通過盈透證券 (IBKR) 🆕
      • 外匯:通過 MetaTrader 5 (MT5) 🆕
    • 信號通知:針對不支持實盤交易的市場(A股/期貨),通過 Telegram, Discord, Email, SMS 或 Webhook 發送信號。

3. AI 多智能體投研

你的 7x24 小時 AI 投委會。

系統僱用了一個多智能體團隊作為你策略的二次過濾器:

  • 研究智能體:抓取網絡新聞和宏觀事件(Google/Bing)。
  • 分析智能體:分析技術指標和資金流向。
  • 策略集成:AI 的判斷可以作為「市場過濾器」——僅當 AI 情緒一致時才允許策略交易(例如:「如果 AI 風險分析師標記宏觀風險極高,則不要買入」)。

4. 通用數據引擎

QuantDinger 提供跨多個市場的統一數據接口:

  • 加密貨幣:直接 API 連接進行交易(10+ 交易所)和 CCXT 集成獲取行情數據(100+ 數據源)
  • 股票Yahoo Finance、Finnhub、Tiingo(美股)和 AkShareA股/港股)
  • 期貨/外匯OANDA 和主要期貨數據源
  • 代理支持:內置代理配置,適應受限網絡環境

5. 🧠 AI 記憶增強系統(Memory-Augmented Agents

QuantDinger 的多智能體不是「每次從零開始」。後端內建本地記憶庫 + 反思閉環:在生成提示詞(prompt)時檢索過往經驗並注入到 system prompt,並可在事後驗證/復盤後把結果寫回記憶庫。

  • 本質RAG 風格「經驗檢索增強」,不是訓練/微調模型權重(零外部向量庫依賴)。
  • 隱私:所有記憶與反思記錄預設落盤在本地 SQLite:backend_api_python/data/memory/

邏輯圖(從請求到記憶閉環)

flowchart TB
    %% ===== 🌐 入口層 =====
    subgraph Entry["🌐 API 入口"]
        A["📡 POST /api/analysis/multi"]
        A2["🔄 POST /api/analysis/reflect"]
    end

    %% ===== ⚙️ 服務編排層 =====
    subgraph Service["⚙️ 服務編排"]
        B[AnalysisService]
        C[AgentCoordinator]
        D["📊 建構上下文<br/>price · kline · news · indicators"]
    end

    %% ===== 🤖 多智能體工作流 =====
    subgraph Agents["🤖 多智能體工作流"]

        subgraph P1["📈 Phase 1 · 多維分析(並行)"]
            E1["🔍 MarketAnalyst<br/><i>技術面分析</i>"]
            E2["📑 FundamentalAnalyst<br/><i>基本面分析</i>"]
            E3["📰 NewsAnalyst<br/><i>新聞輿情</i>"]
            E4["💭 SentimentAnalyst<br/><i>市場情緒</i>"]
            E5["⚠️ RiskAnalyst<br/><i>風險評估</i>"]
        end

        subgraph P2["🎯 Phase 2 · 多空博弈(並行)"]
            F1["🐂 BullResearcher<br/><i>看多論據</i>"]
            F2["🐻 BearResearcher<br/><i>看空論據</i>"]
        end

        subgraph P3["💹 Phase 3 · 交易決策"]
            G["🎰 TraderAgent<br/><i>綜合研判 → BUY / SELL / HOLD</i>"]
        end

    end

    %% ===== 🧠 記憶層 =====
    subgraph Memory["🧠 本地記憶庫 SQLitedata/memory/"]
        M1[("market_analyst")]
        M2[("fundamental")]
        M3[("news_analyst")]
        M4[("sentiment")]
        M5[("risk_analyst")]
        M6[("bull_researcher")]
        M7[("bear_researcher")]
        M8[("trader_agent")]
    end

    %% ===== 🔄 反思閉環 =====
    subgraph Reflect["🔄 反思閉環(可選)"]
        R[ReflectionService]
        RR[("reflection_records.db")]
        W["⏰ ReflectionWorker"]
    end

    %% ===== 主流程 =====
    A --> B --> C --> D
    D --> P1 --> P2 --> P3

    %% ===== 記憶讀寫 =====
    E1 <-.-> M1
    E2 <-.-> M2
    E3 <-.-> M3
    E4 <-.-> M4
    E5 <-.-> M5
    F1 <-.-> M6
    F2 <-.-> M7
    G <-.-> M8

    %% ===== 反思流程 =====
    C --> R --> RR
    W --> RR
    W -.->|"驗證 + 學習"| M8
    A2 -.->|"手動復盤"| M8

檢索排序(簡化)

[ score = w_{sim}\cdot sim + w_{recency}\cdot recency + w_{returns}\cdot returns_score ]

兩條「學習」通道

  • 手動復盤(推薦)POST /api/analysis/reflect 寫入真實交易結果(returns/result
  • 自動反思(可選)ENABLE_REFLECTION_WORKER=true 後,背景任務按 REFLECTION_WORKER_INTERVAL_SEC 驗證到期記錄並寫回記憶

关键環境變量(.env

  • ENABLE_AGENT_MEMORY, AGENT_MEMORY_TOP_K, AGENT_MEMORY_CANDIDATE_LIMIT
  • AGENT_MEMORY_ENABLE_VECTOR, AGENT_MEMORY_EMBEDDING_DIM
  • AGENT_MEMORY_HALF_LIFE_DAYS, AGENT_MEMORY_W_SIM, AGENT_MEMORY_W_RECENCY, AGENT_MEMORY_W_RETURNS
  • ENABLE_REFLECTION_WORKER, REFLECTION_WORKER_INTERVAL_SEC

6. 策略運行時

  • 基於線程的執行器:獨立的線程池用於策略執行
  • 自動恢復:系統重啟後恢復運行中的策略
  • 訂單隊列:後台工作線程用於訂單執行

7. 技術棧

  • 後端Python (Flask) + SQLite + Redis(可選)
  • 前端Vue 2 + Ant Design Vue + KlineCharts/ECharts
  • 部署Docker Compose

🔌 支持的交易所和券商

QuantDinger 支持多種市場類型的執行方式:

加密貨幣交易所(直接 API

交易所 市場
Binance 現貨, 合約, 槓桿
OKX 現貨, 永續, 期權
Bitget 現貨, 合約, 跟單交易
Bybit 現貨, 線性合約
Coinbase Exchange 現貨
Kraken 現貨, 合約
KuCoin 現貨, 合約
Gate.io 現貨, 合約
Bitfinex 現貨, 衍生品

傳統券商

券商 市場 平台
盈透證券 (IBKR) 美股, 港股 TWS / IB Gateway 🆕
MetaTrader 5 (MT5) 外匯 MT5 終端 🆕

行情數據(通過 CCXT

Bybit、Gate.io、Kraken、KuCoin、HTX 以及 100+ 其他交易所用於行情數據。


多語言支持

QuantDinger 為全球用戶構建,提供全面的國際化支持:

English Simplified Chinese Traditional Chinese Japanese Korean German French Thai Vietnamese Arabic

所有 UI 元素、錯誤信息和文檔均已完全翻譯。語言會根據瀏覽器設置自動檢測,也可以在應用中手動切換。


支持的市場

市場類型 數據源 交易
加密貨幣 Binance, OKX, Bitget, + 100 交易所 全面支持
美股 Yahoo Finance, Finnhub, Tiingo 通過盈透證券 🆕
港股 AkShare, 東方財富 通過盈透證券 🆕
A股 AkShare, 東方財富 僅數據
外匯 Finnhub, OANDA 通過 MT5 🆕
期貨 交易所 API, AkShare 僅數據

架構 (當前倉庫)

┌─────────────────────────────┐
│      quantdinger_vue         │
│   (Vue 2 + Ant Design Vue)   │
└──────────────┬──────────────┘
               │  HTTP (/api/*)
               ▼
┌─────────────────────────────┐
│     backend_api_python       │
│   (Flask + 策略運行時)       │
└──────────────┬──────────────┘
               │
               ├─ SQLite (quantdinger.db)
               ├─ Redis (可選緩存)
               └─ 數據提供商 / LLMs / 交易所

倉庫目錄結構

.
├─ backend_api_python/         # Flask API + AI + 回測 + 策略運行時
│  ├─ app/
│  ├─ env.example              # 複製為 .env 進行本地配置
│  ├─ requirements.txt
│  └─ run.py                   # 入口點
└─ quantdinger_vue/            # Vue 2 UI (開發服務器代理 /api -> 後端)

快速開始

選項 1: Docker 部署 (推薦)

運行 QuantDinger 最快的方式。

1. 一鍵啟動

Linux / macOS

git clone https://github.com/brokermr810/QuantDinger.git && \
cd QuantDinger && \
cp backend_api_python/env.example backend_api_python/.env && \
docker-compose up -d --build

Windows (PowerShell)

git clone https://github.com/brokermr810/QuantDinger.git
cd QuantDinger
Copy-Item backend_api_python\env.example -Destination backend_api_python\.env
docker-compose up -d --build

2. 訪問與配置

注意:為了使用 AI 功能或生產環境安全,請編輯 backend_api_python/.env(添加 OPENROUTER_API_KEY,修改密碼),然後執行 docker-compose restart backend 重啟服務。

3. 訪問應用

Docker 命令參考

# 查看運行狀態
docker-compose ps

# 查看日誌
docker-compose logs -f

# 停止服務
docker-compose down

# 停止並刪除卷 (警告:會刪除數據庫!)
docker-compose down -v

數據持久化

以下數據掛載到主機,重啟容器後依然保留:

volumes:
  - ./backend_api_python/logs:/app/logs                       # 日誌
  - ./backend_api_python/data:/app/data                       # 數據目錄(包含 quantdinger.db
  - ./backend_api_python/.env:/app/.env                       # 配置文件

選項 2: 本地開發

先決條件

  • 推薦 Python 3.10+
  • 推薦 Node.js 16+

1. 啟動後端 (Flask API)

cd backend_api_python
pip install -r requirements.txt
cp env.example .env   # Windows: copy env.example .env
python run.py

後端將在 http://localhost:5000 上可用。

2. 啟動前端 (Vue UI)

cd quantdinger_vue
npm install
npm run serve

前端開發服務器運行在 http://localhost:8000 並將 /api/* 代理到 http://localhost:5000


配置 (.env)

使用 backend_api_python/env.example 作為模板。常用設置包括:

  • 認證: SECRET_KEY, ADMIN_USER, ADMIN_PASSWORD
  • 服務器: PYTHON_API_HOST, PYTHON_API_PORT, PYTHON_API_DEBUG
  • AI / LLM: OPENROUTER_API_KEY, OPENROUTER_MODEL
  • 網絡搜索: SEARCH_PROVIDER, SEARCH_GOOGLE_*, SEARCH_BING_API_KEY
  • 代理 (可選): PROXY_PORTPROXY_URL

🤝 社區與支持


💼 商業授權與贊助(Commercial License & Sponsorship

QuantDinger 的代碼使用 Apache License 2.0 授權。但請注意:Apache 2.0 不授予商標權。QuantDinger 的名稱/Logo/品牌標識受商標與品牌政策約束(與代碼許可分離):

  • 版權/署名:你必須保留必要的版權與許可聲明(例如倉庫中的 LICENSE/NOTICE 等,以及代碼中的署名資訊)。
  • 商標(名稱/Logo/品牌):你不得使用 QuantDinger 的名稱/Logo/品牌來暗示背書或誤導來源;若再發佈修改版,一般需要移除/替換 QuantDinger 品牌標識,除非獲得書面許可。

若你希望在再發佈版本中保留/修改 QuantDinger 品牌展示(包括 UI 品牌、Logo 使用等),請聯繫我們獲取 商業授權

另見:TRADEMARKS.md

商業授權可獲得

  • 品牌/版權展示的商用授權(以雙方約定為準)
  • 運維支持:部署、升級、故障處理與維護建議
  • 諮詢服務:架構評審、性能調優、策略工作流諮詢
  • 贊助商權益:成為專案贊助商,可按約定展示你的 Logo/廣告(README/官網/應用內等)

聯繫方式


💼 值得信賴的交易所合作夥伴(聯盟鏈接)

使用我們的合作夥伴鏈接,在享受相同交易體驗的同時支持 QuantDinger 的發展。

Binance

全球最大的加密貨幣交易所
現貨 • 期貨 • 槓桿交易
OKX

領先的衍生品平台
現貨 • 永續合約 • 期權
Bitget

創新的跟單交易
現貨 • 期貨 • 社交交易

💝 直接支持(捐贈)

你的貢獻幫助我們維護和改進 QuantDinger。

加密貨幣捐贈 (ERC-20 / BEP-20 / Polygon / Arbitrum)

0x96fa4962181bea077f8c7240efe46afbe73641a7

USDT ETH


致謝

QuantDinger 站在這些偉大的開源項目肩膀之上:Flask, Pandas, CCXT, Vue.js, Ant Design Vue, KlineCharts 等。

感謝所有維護者和貢獻者! ❤️