- Update X/Discord links in docs and frontend dist - Dashboard: report all-time total trades - Notifications: add unread-count endpoint for badge Made-with: Cursor
22 KiB
QuantDinger
AI原生量化交易平台
Vibe Coding 遇见算法交易
🇺🇸 English · 🇨🇳 中文 · 🌐 在线演示 · 📺 视频 · 💬 社区 · 🚀 快速开始
7个AI智能体 · Python策略 · 10+交易所 · 预测市场 · 您的服务器,您的密钥
用自然语言描述您的交易想法 → AI编写Python策略 → 回测 → 实盘交易。
无需编程。自托管 — 您的API密钥和策略永远不会离开您的机器。
🇺🇸 English · 🇨🇳 简体中文 · 🇹🇼 繁體中文 · 🇯🇵 日本語 · 🇰🇷 한국어 · 🇩🇪 Deutsch · 🇫🇷 Français · 🇹🇭 ไทย · 🇻🇳 Tiếng Việt · 🇸🇦 العربية
📑 目录
🚀 快速开始(2分钟)
只需:安装 Docker。无需其他。
# 1. 克隆
git clone https://github.com/brokermr810/QuantDinger.git
cd QuantDinger
# 2. 配置(编辑管理员密码和AI API密钥)
cp backend_api_python/env.example backend_api_python/.env
# 3. 重要:生成并设置安全的 SECRET_KEY
# Linux/Mac:
python3 -c "import secrets; print(secrets.token_hex(32))" | xargs -I {} sed -i 's|SECRET_KEY=.*|SECRET_KEY={}|' backend_api_python/.env
# 或手动编辑 backend_api_python/.env 并替换 SECRET_KEY 值
# Windows PowerShell:
# $key = python -c "import secrets; print(secrets.token_hex(32))"
# (Get-Content backend_api_python\.env) -replace 'SECRET_KEY=.*', "SECRET_KEY=$key" | Set-Content backend_api_python\.env
# 4. 启动!
docker-compose up -d --build
Windows PowerShell:
- 复制:
Copy-Item backend_api_python\env.example -Destination backend_api_python\.env- 生成 SECRET_KEY:
python -c "import secrets; print(secrets.token_hex(32))"然后手动编辑.env
⚠️ 安全提示:如果
SECRET_KEY使用默认值,容器将不会启动。这可以防止不安全的部署。
🎉 完成! 打开 http://localhost:8888 | 登录:quantdinger / 123456
📝 backend_api_python/.env 中的关键设置
# 必需 — 生产环境请修改!
ADMIN_USER=quantdinger
ADMIN_PASSWORD=your_secure_password
SECRET_KEY=your_random_secret_key # ⚠️ 必须修改!生成方式:python3 -c "import secrets; print(secrets.token_hex(32))"
# 可选 — 启用AI功能(选择一个)
OPENROUTER_API_KEY=your_key # 推荐:100+模型
OPENAI_API_KEY=your_key # GPT-4o
DEEPSEEK_API_KEY=your_key # 性价比高
GOOGLE_GEMINI_API_KEY=your_key # Gemini
🔐 生成 SECRET_KEY(Docker部署必需)
在启动Docker之前,您必须设置一个安全的 SECRET_KEY:
# 方式1:使用辅助脚本(Linux/Mac)
./scripts/generate-secret-key.sh
# 方式2:使用辅助脚本(Windows PowerShell)
.\scripts\generate-secret-key.ps1
# 方式3:手动生成
python3 -c "import secrets; print(secrets.token_hex(32))"
# 然后编辑 backend_api_python/.env 并替换 SECRET_KEY 值
⚠️ 如果 SECRET_KEY 使用默认值,容器将不会启动!
🔧 常用Docker命令
docker-compose ps # 查看服务状态
docker-compose logs -f backend # 查看后端日志(实时)
docker-compose restart backend # 仅重启后端
docker-compose up -d --build # 重建并重启所有服务
docker-compose down # 停止所有服务
更新到最新版本:
git pull && docker-compose up -d --build
备份和恢复数据库:
docker exec quantdinger-db pg_dump -U quantdinger quantdinger > backup.sql
cat backup.sql | docker exec -i quantdinger-db psql -U quantdinger quantdinger
自定义端口 — 在项目根目录创建 .env:
FRONTEND_PORT=3000 # 默认:8888
BACKEND_PORT=127.0.0.1:5001 # 默认:5000
🎯 为什么选择QuantDinger?
Vibe Coding交易 — 用纯英文(或任何语言)描述您的交易想法。AI编写Python策略,回测它,并将其部署到实盘市场。无需手动编码。无SaaS锁定。一切都在您自己的服务器上运行。
| 🎵 Vibe Coding | 用自然语言描述想法 → AI生成生产就绪的Python策略 |
| 🔒 100%自托管 | API密钥和策略永远不会离开您的服务器 — 隐私设计 |
| 🤖 7个AI智能体 | 多智能体研究团队:并行分析 → 辩论 → 交易决策 |
| 🐍 Python原生 | 完整生态系统(Pandas、NumPy、TA-Lib、scikit-learn)— 无专有语言限制 |
| 📊 专业图表 | 带Python指标 K线图,实时可视化 |
| 🌍 加密货币+股票+外汇 | 10+交易所、IBKR、MT5 — 一体化平台 |
| 📊 预测市场 | Polymarket按需AI分析 — 概率差异、机会评分 |
| 💰 变现就绪 | 会员、积分、USDT链上支付 — 内置 |
| ⚡ 2分钟部署 | docker-compose up -d — 生产就绪,零构建 |
✨ 核心功能
🎵 Vibe Coding策略工作台
无需编程。 用自然语言告诉AI您想要什么 — 它生成生产就绪的Python策略。或者使用完整的Python生态系统(Pandas、NumPy、TA-Lib、scikit-learn)编写您自己的策略。在专业K线图上可视化一切。
💬 "我想要一个MACD交叉策略,在BTC 15分钟图上使用RSI过滤器"
↓ AI生成Python代码
↓ 📈 在K线图上可视化
↓ 🔄 使用丰富指标回测
↓ 🤖 AI建议优化
↓ 🚀 一键部署到实盘交易
🤖 7智能体AI分析引擎
不仅仅是一次AI调用。QuantDinger部署了7个专业智能体,它们像研究团队一样协作 — 分析、辩论并达成共识:
阶段1(并行): 📊 技术 · 📑 基本面 · 📰 新闻 · 💭 情绪 · ⚠️ 风险
阶段2(辩论): 🐂 多头 vs 🐻 空头 — 结构化论证
阶段3(决策): 🎯 交易智能体 → 买入 / 卖出 / 持有(带置信度%)
- 🎵 自然语言分析 — 询问"分析BTC下周趋势" → 7个智能体提供完整报告
- 📡 AI交易雷达 — 每小时自动扫描加密货币/股票/外汇,发现机会
- ⚡ 快速交易面板 — 看到信号?一键执行。无需切换页面。
- 🧠 记忆增强 — 智能体从过去的分析中学习(本地RAG,非云端)
- 🔌 5+ LLM提供商:OpenRouter(100+模型)、OpenAI、Gemini、DeepSeek、Grok
- 📊 Polymarket预测市场 — 预测市场按需AI分析。输入市场链接或标题 → AI分析概率差异、机会评分和交易建议。完整历史跟踪和计费集成。
📈 完整交易生命周期
| 步骤 | 发生什么 |
|---|---|
| 1. 💬 描述 | 用自然语言告诉AI您的交易想法 — 或直接编写Python |
| 2. 🤖 生成 | AI为您创建指标和策略代码 |
| 3. 📊 可视化 | 在专业K线图上即时查看信号 |
| 4. 🔄 回测 | 丰富指标 + AI分析结果并建议改进 |
| 5. 🚀 执行 | 在10+加密货币交易所、IBKR(股票)、MT5(外汇)实盘交易 |
| 6. 📡 监控 | 投资组合跟踪器,通过Telegram/Discord/Email/SMS/Webhook提醒 |
📊 Polymarket预测市场分析
预测市场按需AI分析。 输入Polymarket链接或市场标题 → AI分析概率差异、机会评分并提供交易建议。
功能:
- 🔍 智能搜索 — 支持市场链接、slug或自然语言标题
- 🤖 AI概率预测 — 比较AI预测概率与市场概率
- 📈 机会评分 — 基于差异和置信度计算机会评分
- 💡 交易建议 — YES/NO/HOLD,带详细推理和关键因素
- 📚 历史跟踪 — 在专用历史标签页中查看所有过去的分析
- 💰 计费集成 — 每次分析可配置积分消耗(通过
BILLING_COST_POLYMARKET_DEEP_ANALYSIS设置) - 🌍 多语言 — AI响应匹配您的前端语言(英文/中文)
- 📊 管理员统计 — 所有分析在用户管理仪表板中跟踪
使用方法:
1. 导航到AI资产分析 → 预测市场标签
2. 输入Polymarket链接或市场标题
3. AI分析并返回:
- 市场概率 vs AI预测概率
- 差异分析
- 机会评分(0-100)
- 交易建议(YES/NO/HOLD)
- 详细推理和关键因素
4. 随时查看分析历史
💰 内置变现
大多数开源项目需要数月的自定义计费工作。QuantDinger开箱即用,提供完整的变现系统:
- 💳 会员计划 — 月度/年度/终身层级,可配置定价和积分
- ₿ USDT链上支付 — TRC20扫码支付,每订单地址的HD钱包(xpub),通过TronGrid自动对账
- 🏪 指标市场 — 用户发布和销售Python指标,您收取佣金
- ⚙️ 管理员仪表板 — 订单管理、AI使用统计、用户分析
🔐 企业级安全
- 多用户 — 基于PostgreSQL的账户,带基于角色的权限
- OAuth — Google和GitHub一键登录
- 保护 — Cloudflare Turnstile、IP/账户速率限制、邮箱验证
- 演示模式 — 公共展示的只读模式
🧠 AI智能体架构图(点击展开)
flowchart TB
subgraph Entry["🌐 API入口"]
A["📡 POST /api/analysis/multi"]
A2["🔄 POST /api/analysis/reflect"]
end
subgraph Service["⚙️ 服务编排"]
B[AnalysisService]
C[AgentCoordinator]
D["📊 构建上下文<br/>价格 · K线 · 新闻 · 指标"]
end
subgraph Agents["🤖 7智能体工作流"]
subgraph P1["📈 阶段1 · 并行分析"]
E1["🔍 MarketAnalyst"]
E2["📑 FundamentalAnalyst"]
E3["📰 NewsAnalyst"]
E4["💭 SentimentAnalyst"]
E5["⚠️ RiskAnalyst"]
end
subgraph P2["🎯 阶段2 · 多头vs空头辩论"]
F1["🐂 BullResearcher"]
F2["🐻 BearResearcher"]
end
subgraph P3["💹 阶段3 · 最终决策"]
G["🎰 TraderAgent → 买入 / 卖出 / 持有"]
end
end
subgraph Memory["🧠 本地记忆存储"]
M1[("智能体记忆(PostgreSQL)")]
end
subgraph Reflect["🔄 反思循环"]
R[ReflectionService]
W["⏰ ReflectionWorker → 验证 + 学习"]
end
A --> B --> C --> D
D --> P1 --> P2 --> P3
Agents <-.->|"RAG检索"| M1
C --> R
W -.->|"更新记忆"| M1
🔌 支持的交易所和经纪商
加密货币(直接API交易)
| 交易所 | 市场 |
|---|---|
| Binance | 现货、期货、杠杆 |
| OKX | 现货、永续、期权 |
| Bitget | 现货、期货、跟单交易 |
| Bybit | 现货、线性期货 |
| Coinbase | 现货 |
| Kraken | 现货、期货 |
| KuCoin | 现货、期货 |
| Gate.io | 现货、期货 |
| Bitfinex | 现货、衍生品 |
传统经纪商和市场
| 市场 | 经纪商/数据源 | 交易 |
|---|---|---|
| 美股 | Interactive Brokers (IBKR)、Yahoo Finance、Finnhub | ✅ 通过IBKR |
| 外汇 | MetaTrader 5 (MT5)、OANDA | ✅ 通过MT5 |
| 期货 | 交易所API | ⚡ 数据 + 通知 |
🏗️ 架构与配置
技术栈
| 层级 | 技术 |
|---|---|
| AI引擎 | 7智能体多智能体系统 · RAG记忆 · 5+ LLM提供商 · Vibe Coding(自然语言→Python) |
| 后端 | Python 3.10+ · Flask · PostgreSQL 16 · Redis(可选) |
| 前端 | Vue.js · Ant Design · KlineCharts · ECharts |
| 支付 | USDT TRC20链上 · HD钱包(BIP-32/44) · TronGrid API |
| 移动端 | Vue 3 + Capacitor(Android / iOS) |
| 部署 | Docker Compose · Nginx · 零构建一键部署 |
┌─────────────────────────────────────┐
│ Docker Compose │
│ │
│ ┌───────────────────────────────┐ │
│ │ frontend (Nginx) → :8888 │ │
│ └──────────────┬────────────────┘ │
│ │ /api/* 代理 │
│ ┌──────────────▼────────────────┐ │
│ │ backend (Flask) → :5000 │ │
│ └──────────────┬────────────────┘ │
│ ┌──────────────▼────────────────┐ │
│ │ postgres (PG 16) → :5432 │ │
│ └───────────────────────────────┘ │
│ │
│ 外部:LLM API · 交易所 · │
│ TronGrid · 数据提供商 │
└─────────────────────────────────────┘
仓库结构
QuantDinger/
├── backend_api_python/ # 🐍 后端(开源,Apache 2.0)
│ ├── app/routes/ # API端点
│ ├── app/services/ # 业务逻辑(AI、交易、支付)
│ ├── migrations/init.sql # 数据库架构
│ ├── env.example # ⚙️ 配置模板 → 复制到.env
│ └── Dockerfile
├── frontend/ # 🎨 前端(预构建)
│ ├── dist/ # 静态文件(HTML/JS/CSS)
│ ├── Dockerfile # Nginx镜像
│ └── nginx.conf # SPA路由 + API代理
├── docs/ # 📚 指南和教程
├── docker-compose.yml # 🐳 一键部署
└── LICENSE # Apache 2.0
⚙️ 配置参考(.env)
使用 backend_api_python/env.example 作为模板:
| 类别 | 关键变量 |
|---|---|
| 认证 | SECRET_KEY、ADMIN_USER、ADMIN_PASSWORD |
| 数据库 | DATABASE_URL(PostgreSQL连接字符串) |
| AI / LLM | LLM_PROVIDER、OPENROUTER_API_KEY、OPENAI_API_KEY |
| OAuth | GOOGLE_CLIENT_ID、GITHUB_CLIENT_ID |
| 安全 | TURNSTILE_SITE_KEY、ENABLE_REGISTRATION |
| 会员 | MEMBERSHIP_MONTHLY_PRICE_USD、MEMBERSHIP_MONTHLY_CREDITS |
| USDT支付 | USDT_PAY_ENABLED、USDT_TRC20_XPUB、TRONGRID_API_KEY |
| 代理 | PROXY_PORT 或 PROXY_URL |
| 工作器 | ENABLE_PENDING_ORDER_WORKER、ENABLE_PORTFOLIO_MONITOR |
🔌 API端点
| 端点 | 描述 |
|---|---|
GET /api/health |
健康检查 |
POST /api/user/login |
用户认证 |
GET /api/user/info |
当前用户信息 |
GET /api/billing/plans |
会员计划 |
POST /api/billing/usdt/create-order |
创建USDT支付订单 |
完整路由列表,请参见 backend_api_python/app/routes/。
📚 文档索引
所有详细指南都在 docs/ 文件夹中:
入门指南
| 文档 | 描述 |
|---|---|
| 更新日志 | 版本历史和迁移说明 |
| 多用户设置 | PostgreSQL多用户部署 |
策略开发
| 指南 | 🇺🇸 EN | 🇨🇳 CN | 🇹🇼 TW | 🇯🇵 JA | 🇰🇷 KO |
|---|---|---|---|---|---|
| 策略开发 | EN | CN | TW | JA | KO |
| 跨品种 | EN | CN | |||
| 代码示例 | examples/ |
经纪商和集成
| 指南 | English | 中文 |
|---|---|---|
| IBKR(美股) | 指南 | — |
| MT5(外汇) | 指南 | 指南 |
| OAuth(Google/GitHub) | 指南 | 指南 |
通知
| 渠道 | English | 中文 |
|---|---|---|
| Telegram | 设置 | 配置 |
| Email(SMTP) | 设置 | 配置 |
| SMS(Twilio) | 设置 | 配置 |
💼 许可与商业
开源许可
后端源代码根据 Apache License 2.0 许可。参见 LICENSE。
前端UI作为预构建文件提供。商标权(名称/徽标/品牌)单独管理 — 参见 TRADEMARKS.md。
🎓 非营利和教育免费源代码
如果您是大学、研究机构、非营利组织、社区团体或教育项目,可以申请免费授权和完整前端源代码:
- 🏫 大学和学术研究
- 🌍 开源社区和开发者团体
- 🤝 非营利和公益组织
- 📚 教育项目和学生黑客马拉松
💼 商业许可
对于商业用途,购买许可可获得:
- 完整前端源代码 + 未来更新
- 品牌授权 — 按约定修改名称/徽标/版权
- 运营支持 — 部署、升级、事件响应
- 咨询 — 架构审查、性能调优
📬 联系方式
| 渠道 | 链接 |
|---|---|
| Telegram | t.me/worldinbroker |
| brokermr810@gmail.com |
🤝 社区与支持
💝 支持项目
加密货币捐赠(ERC-20 / BEP-20 / Polygon / Arbitrum)
0x96fa4962181bea077f8c7240efe46afbe73641a7
🎓 支持合作伙伴
💡 想成为合作伙伴? 联系 brokermr810@gmail.com 或 Telegram。
致谢
在以下项目的肩膀上用 ❤️ 构建:Flask · Pandas · CCXT · yfinance · Vue.js · Ant Design Vue · KlineCharts · ECharts · Capacitor · bip-utils
如果QuantDinger对您有帮助,请考虑 ⭐ 给仓库加星 — 这对我们意义重大!