Files
DinQuant/README_TW.md
T
TIANHE eea7d75615 new
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
2026-01-06 19:30:16 +08:00

20 KiB
Raw Blame History


QuantDinger Logo

QuantDinger

下一代 AI 量化交易平台

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

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

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

License Python Vue Docker Stars

Telegram Group Discord X


📖 簡介

QuantDinger 是什麼?

QuantDinger 是一個本地優先、隱私優先的量化交易基礎設施。它完全運行在你的機器上,讓你完全控制自己的策略、交易數據和 API 密鑰。

為什麼選擇本地優先?

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

適合誰使用?

QuantDinger 為以下用戶而構建:

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

核心功能

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

核心價值

  • 🔓 Apache 2.0 開源:完全寬鬆且商業友好。不像病毒式的 GPL/AGPL 協議,你真正擁有你的代碼和修改權。
  • 🐍 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

關鍵特性

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 等)。
    • 信號通知:針對非實盤執行的市場(股票/外匯/期貨),通過 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 連接到主要加密貨幣交易所進行執行,並使用 CCXT 獲取廣泛的行情數據。

直接 API 支持

交易所 市場
Binance 現貨, 合約, 槓桿
OKX 現貨, 永續, 期權
Bitget 現貨, 合約, 跟單交易

也支持通過 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 通過券商 API
A股/港股 AkShare, 東方財富 僅數據
外匯 Finnhub, OANDA 通過券商 API
期貨 交易所 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

🤝 社區與支持


💰 專案可持續性

QuantDinger 是開源且免費使用的。如果你覺得它有用,以下是一些支持專案持續發展的方式:

直接捐贈

ERC-20 / BEP-20 / Polygon / Arbitrum

0x96fa4962181bea077f8c7240efe46afbe73641a7
USDT ETH

交易所推薦鏈接

如果你正在註冊支持的交易所,使用下面的鏈接可以提供推薦收益,幫助支持專案。這些是可選的,不會影響你的交易費用或賬戶功能。

交易所 推薦鏈接
Binance 使用推薦鏈接註冊
OKX 使用推薦鏈接註冊
Bitget 使用推薦鏈接註冊

商業服務

我們提供專業服務,助你充分利用 QuantDinger

服務 描述
部署與設置 一對一協助服務器部署、配置和優化
定制策略開發 針對特定需求和市場定制交易策略
企業版升級 商業授權、優先支持和企業級高級功能
培訓與咨詢 為你的交易團隊提供實戰培訓和戰略咨詢

感興趣? 聯繫我們:


致謝

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

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