Longbridge Quant Console 是一个基于 Longbridge OpenAPI 的本地量化交易系统,集成了 AI 智能分析、自动交易、智能选股、仓位管理等核心功能。通过 DeepSeek AI 深度分析 + 量化评分体系,帮助您做出更科学的交易决策。
- 🤖 AI 智能分析:集成 DeepSeek AI,深度分析 K线数据,提供交易决策
- 📊 5维度量化评分:趋势、动量、量能、波动、形态多维度评估(0-100分)
- 🎯 智能选股系统:批量分析股票池,AI推荐最值得交易的标的
- 💼 智能仓位管理:自动计算最优仓位,风险可控
- 📈 实时监控:持仓监控、策略盯盘、K线图表一应俱全
- 🔄 全自动交易:从选股到下单,全流程自动化
截图占位 1:主界面全景
建议截图内容:显示完整的导航栏和主界面
文件名:
docs/screenshots/main-interface.png
配置 Longbridge API 凭据、股票池、系统参数等。
截图占位 2:基础配置页面
建议截图内容:配置页面,显示 API 凭据输入、股票列表等
文件名:
docs/screenshots/settings.png
功能清单:
- ✅ Longbridge API 凭据配置
- ✅ 股票代码列表管理
- ✅ 凭据验证
- ✅ 配置导入导出
AI驱动的自动交易引擎,实时分析市场并执行交易。
截图占位 3:AI交易界面
建议截图内容:AI交易控制面板、实时分析日志、交易记录
文件名:
docs/screenshots/ai-trading.png
核心功能:
- ✅ DeepSeek AI 深度分析
- ✅ 实时K线数据获取
- ✅ 技术指标计算(MA、RSI、MACD、布林带等)
- ✅ K线形态识别(锤子线、晨星、吊颈线等)
- ✅ 自动下单/撤单
- ✅ 风险控制(止损止盈)
- ✅ 交易日志记录
AI分析维度:
📊 量化评分(0-100分)
├─ 趋势分析(0-30分):短中长期趋势评估
├─ 动量分析(0-25分):RSI、MACD等动量指标
├─ 量能分析(0-15分):成交量变化
├─ 波动分析(0-15分):价格波动率、布林带
└─ 形态分析(0-15分):K线形态识别
🤖 AI决策
├─ 行动建议:BUY / SELL / HOLD
├─ 信心度:0.0-1.0(70%以上执行)
└─ 推理过程:详细的分析理由
全新功能! 批量分析股票,AI推荐最值得交易的标的。
截图占位 4:智能选股 - 双栏布局
建议截图内容:左侧做多池,右侧做空池,显示股票卡片和评分
文件名:
docs/screenshots/stock-picker-overview.png
功能亮点:
- 支持两个独立股票池(各20只)
- 自定义添加股票代码
- 批量导入功能
- 获取200根K线数据
- 计算技术指标
- AI深度分析
- 生成推荐评分
| 评级 | 分数 | 说明 |
|---|---|---|
| 🟢 A级 | 80-100 | 极佳,强烈推荐 |
| 🟡 B级 | 65-79 | 良好,推荐 |
| 🟠 C级 | 50-64 | 中等,谨慎 |
| 🔴 D级 | 0-49 | 较差,不推荐 |
推荐度 = 量化评分 × 40% + AI信心度 × 35% + 信号强度 × 25%截图占位 5:股票卡片详情
建议截图内容:展开的股票卡片,显示评分细节、AI理由、信号列表
文件名:
docs/screenshots/stock-card-detail.png
股票卡片信息:
- 🏷️ 股票代码、名称
- 💰 当前价格、涨跌幅
- 📊 量化评分(5维度柱状图)
- 🎯 推荐度
- 🤖 AI信心度
- 💡 推荐理由
- ✅ 技术信号列表
- 📈 AI分析理由
智能计算最优仓位规模,平衡收益与风险。
截图占位 6:智能仓位管理
建议截图内容:仓位计算器、风险评估、仓位建议
文件名:
docs/screenshots/smart-position.png
功能清单:
- ✅ 凯利公式计算
- ✅ 风险敞口评估
- ✅ 仓位建议
- ✅ 资金管理策略
查看持仓股票的K线图表,支持多周期切换。
截图占位 7:持仓K线图表
建议截图内容:K线图表、技术指标、成交量
文件名:
docs/screenshots/position-klines.png
图表功能:
- ✅ 多周期切换(1分钟到日线)
- ✅ 技术指标叠加(MA、MACD、RSI等)
- ✅ 成交量展示
- ✅ 实时更新
策略运行监控,实时查看策略表现。
截图占位 8:策略盯盘
建议截图内容:策略列表、运行状态、盈亏统计
文件名:
docs/screenshots/strategy-watch.png
实时监控持仓变化、盈亏情况。
截图占位 9:持仓监控
建议截图内容:持仓列表、盈亏统计、风险提示
文件名:
docs/screenshots/position-monitoring.png
┌─────────────────────────────────────────────────────────┐
│ Frontend (React + TS) │
│ ┌─────────┬─────────┬─────────┬─────────┬─────────┐ │
│ │ 配置 │ AI交易 │ 选股 │ 仓位 │ 监控 │ │
│ └─────────┴─────────┴─────────┴─────────┴─────────┘ │
└────────────────────┬────────────────────────────────────┘
│ HTTP/WebSocket
┌────────────────────▼────────────────────────────────────┐
│ Backend (FastAPI + Python) │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Routers (API 路由层) │ │
│ │ ├─ /api/settings │ │
│ │ ├─ /api/ai-trading │ │
│ │ ├─ /api/stock-picker (新增) │ │
│ │ ├─ /api/portfolio │ │
│ │ └─ /ws/quotes │ │
│ └──────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Services (业务逻辑层) │ │
│ │ ├─ AI Analyzer (DeepSeek) │ │
│ │ ├─ AI Trading Engine │ │
│ │ ├─ Stock Picker Service (新增) │ │
│ │ ├─ Quote Stream Manager │ │
│ │ └─ Position Monitor │ │
│ └──────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Data Layer (数据层) │ │
│ │ └─ DuckDB (本地数据库) │ │
│ │ ├─ candlesticks (K线数据) │ │
│ │ ├─ ai_analysis_log (AI分析日志) │ │
│ │ ├─ stock_picker_pools (股票池) (新增) │ │
│ │ ├─ stock_picker_analysis (分析结果) (新增) │ │
│ │ └─ ... │ │
│ └──────────────────────────────────────────────────┘ │
└────────────────────┬────────────────────────────────────┘
│
┌────────────────────▼────────────────────────────────────┐
│ Longbridge OpenAPI │
│ ├─ QuoteContext (行情数据) │
│ └─ TradeContext (交易接口) │
└─────────────────────────────────────────────────────────┘
| 软件 | 版本要求 |
|---|---|
| Python | 3.9+ |
| Node.js | 16+ |
| npm | 8+ |
git clone <your-repo-url>
cd longbridgecd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txtcd frontend
npm install创建 .env 文件(或在前端配置页面配置):
# Longbridge API 凭据
LONGBRIDGE_APP_KEY=your_app_key
LONGBRIDGE_APP_SECRET=your_app_secret
LONGBRIDGE_ACCESS_TOKEN=your_access_token
# DeepSeek AI API
DEEPSEEK_API_KEY=your_deepseek_api_key
DEEPSEEK_BASE_URL=https://api.deepseek.com
# 数据库路径
DATABASE_PATH=data/quant.db方式1:一键启动(推荐)
./start.sh方式2:分别启动
# 终端1:启动后端
cd backend
python -m app.main
# 终端2:启动前端
cd frontend
npm run dev- 前端界面:http://localhost:5173
- 后端API:http://localhost:8000
- API文档:http://localhost:8000/docs
截图占位 10:系统启动成功
建议截图内容:终端显示启动成功信息
文件名:
docs/screenshots/startup-success.png
- 打开浏览器访问:http://localhost:5173
- 点击「⚙️ 基础配置」
- 填入 Longbridge API 凭据
- 点击「验证凭据」确认连接成功
- 添加要监控的股票代码
- 点击「保存配置」
截图占位 11:智能选股使用流程
建议截图内容:完整的选股操作流程,从添加股票到查看结果
文件名:
docs/screenshots/stock-picker-workflow.png
方式A:手动添加
- 点击「🎯 智能选股」Tab
- 点击「➕ 添加」按钮
- 输入股票代码(如:
AAPL.US) - 输入股票名称(可选)
- 输入添加理由(可选)
- 点击「确定添加」
方式B:批量导入(推荐)
编辑 import_stocks.py:
# 做多池(20只)
long_symbols = [
"AAPL.US", "MSFT.US", "GOOGL.US", ...
]
# 做空池(20只)
short_symbols = [
"TSLA.US", "NFLX.US", ...
]运行导入脚本:
python import_stocks.py方式A:前端操作
- 点击顶部「🔄 分析全部」按钮
- 或分别点击做多池/做空池的「🔍 分析」按钮
- 等待2-5分钟(取决于股票数量)
- 查看分析结果
方式B:命令行操作
python analyze_stocks.py分析完成后,股票会按推荐度排序:
- #1 排名第一,推荐度最高
- 点击「▼ 查看详情」展开详细信息
- 查看5维度评分柱状图
- 阅读AI分析理由
- 查看技术信号列表
根据推荐结果,您可以:
- 手动交易:在券商平台下单
- 自动交易:切换到「🤖 AI交易」Tab,启动自动交易
- 点击「🤖 AI交易」Tab
- 设置交易参数:
- 最小信心度(默认70%)
- 每笔金额
- 止损止盈比例
- 选择要交易的股票
- 点击「启动AI交易」
- 实时查看交易日志
截图占位 12:AI交易运行中
建议截图内容:AI交易日志、实时分析、交易记录
文件名:
docs/screenshots/ai-trading-running.png
- 点击「👁️ 持仓监控」Tab
- 查看当前持仓列表
- 查看盈亏情况
- 设置风险提醒
- 点击「📊 持仓K线」Tab
- 选择股票
- 选择周期(日线、小时线等)
- 查看K线图表和技术指标
GET /api/stock-picker/pools
GET /api/stock-picker/pools?pool_type=LONG响应示例:
{
"long_pool": [
{
"id": 1,
"symbol": "AAPL.US",
"name": "Apple Inc.",
"pool_type": "LONG",
"is_active": true,
"priority": 0
}
],
"short_pool": [...]
}POST /api/stock-picker/pools
Content-Type: application/json
{
"pool_type": "LONG",
"symbol": "AAPL.US",
"name": "Apple Inc.",
"added_reason": "科技龙头"
}POST /api/stock-picker/pools/batch
Content-Type: application/json
{
"pool_type": "LONG",
"symbols": ["AAPL.US", "MSFT.US", "GOOGL.US"]
}POST /api/stock-picker/analyze
Content-Type: application/json
{
"pool_type": "LONG", // 可选,不传则分析全部
"force_refresh": true
}GET /api/stock-picker/analysis?sort_by=recommendation&limit=10响应示例:
{
"long_analysis": [
{
"id": 1,
"symbol": "AAPL.US",
"current_price": 175.50,
"price_change_1d": 2.35,
"score": {
"total": 85.2,
"grade": "A",
"breakdown": {
"trend": 25.5,
"momentum": 22.0,
"volume": 12.0,
"volatility": 11.5,
"pattern": 14.2
}
},
"ai_decision": {
"action": "BUY",
"confidence": 0.85,
"reasoning": ["趋势向上", "MACD金叉", "成交量放大"]
},
"recommendation_score": 92.5,
"recommendation_reason": "高分量化 + 高信心AI + 多个买入信号"
}
],
"short_analysis": [...],
"stats": {
"long_count": 20,
"short_count": 20,
"long_avg_score": 75.3,
"short_avg_score": 68.5
}
}DELETE /api/stock-picker/pools/{pool_id}访问 http://localhost:8000/docs 查看完整的 Swagger API 文档。
| 技术 | 说明 |
|---|---|
| FastAPI | 现代、高性能的 Web 框架 |
| DuckDB | 嵌入式分析型数据库 |
| Longbridge SDK | 长桥证券 OpenAPI SDK |
| DeepSeek AI | AI 分析引擎 |
| Pydantic | 数据验证和设置管理 |
| uvicorn | ASGI 服务器 |
| 技术 | 说明 |
|---|---|
| React 18 | 用户界面库 |
| TypeScript | 类型安全的 JavaScript |
| Vite | 下一代前端构建工具 |
| Tailwind CSS | 实用优先的 CSS 框架 |
| Recharts | React 图表库 |
-- K线数据
CREATE TABLE candlesticks (...)
-- AI分析日志
CREATE TABLE ai_analysis_log (...)
-- 股票池
CREATE TABLE stock_picker_pools (
id INTEGER PRIMARY KEY,
pool_type TEXT, -- 'LONG' or 'SHORT'
symbol TEXT,
name TEXT,
is_active BOOLEAN,
priority INTEGER
)
-- 分析结果
CREATE TABLE stock_picker_analysis (
id INTEGER PRIMARY KEY,
symbol TEXT,
analysis_time TIMESTAMP,
score_total DOUBLE,
score_grade TEXT,
ai_confidence DOUBLE,
recommendation_score DOUBLE,
...
)def calculate_score(klines, indicators):
"""
5维度量化评分
"""
# 1. 趋势分析(0-30分)
trend_score = analyze_trend(
ma5, ma10, ma20, ma60,
price_position, trend_direction
)
# 2. 动量分析(0-25分)
momentum_score = analyze_momentum(
rsi, macd_histogram, macd_line
)
# 3. 量能分析(0-15分)
volume_score = analyze_volume(
volume_ratio, price_volume_correlation
)
# 4. 波动分析(0-15分)
volatility_score = analyze_volatility(
bollinger_position, volatility_level
)
# 5. 形态分析(0-15分)
pattern_score = analyze_pattern(
identified_patterns, pattern_strength
)
# 总分
total = (trend_score + momentum_score +
volume_score + volatility_score +
pattern_score)
# 评级
grade = get_grade(total) # A/B/C/D
return {
"total": total,
"grade": grade,
"breakdown": {
"trend": trend_score,
"momentum": momentum_score,
"volume": volume_score,
"volatility": volatility_score,
"pattern": pattern_score
}
}def calculate_recommendation_score(
quantitative_score, # 量化评分
ai_confidence, # AI信心度
signals # 技术信号
):
"""
综合推荐度计算
"""
# 信号强度
signal_strength = (
len([s for s in signals if 'buy' in s.lower()]) * 10 +
len([s for s in signals if 'strong' in s.lower()]) * 5
)
# 加权计算
recommendation = (
quantitative_score * 0.40 + # 40%
ai_confidence * 100 * 0.35 + # 35%
min(signal_strength, 25) * 0.25 # 25%
)
return min(recommendation, 100)答:
- 访问 Longbridge 开放平台
- 注册并创建应用
- 获取
APP_KEY、APP_SECRET、ACCESS_TOKEN - 在系统配置页面填入凭据
答:
- 访问 DeepSeek 官网
- 注册账号
- 创建 API Key
- 在
.env文件中配置DEEPSEEK_API_KEY
答:
- 默认:每个池20只(做多池20 + 做空池20 = 共40只)
- 可配置:修改
stock_picker_config表中的max_pool_size - 建议:不超过50只/池,否则分析时间会很长
答:
- 单只股票:约5-10秒
- 40只股票:约2-5分钟
- 时间取决于:网络速度、DeepSeek API 响应速度
答:
- 需要手动启动「AI 交易」功能
- 启动后,AI 会自动分析并下单
- 可以随时暂停或停止
- 建议先用小金额测试
答:
- 评分是技术面分析,不考虑基本面、消息面
- 建议结合您的判断使用
- 可以查看「详细分析」了解评分依据
- 最终决策权在您手中
答:
- ✅ 美股(如:
AAPL.US) - ✅ 港股(如:
00700.HK) - ✅ A股(如:
000001.SZ,需要 Longbridge 支持)
答:
- 本地数据库:
data/quant.db(DuckDB) - 所有数据都在本地,不上传云端
- 支持数据备份和恢复
答:
# 方式1:脚本停止
./stop.sh
# 方式2:手动停止
# 按 Ctrl+C 终止进程
# 方式3:强制停止
pkill -f "uvicorn"
pkill -f "vite"答:
-
查看日志:
tail -f logs/backend.log tail -f logs/frontend.log
-
常见错误:
- API 凭据无效 → 重新配置凭据
- DeepSeek 额度不足 → 充值或更换 API Key
- 股票代码格式错误 → 确保带后缀(
.US/.HK) - 数据库锁定 → 重启系统
-
获取帮助:
- 查看文档:
docs/目录下的详细文档 - 提交 Issue:在 GitHub 上提交问题
- 查看文档:
longbridge/
├── backend/ # 后端代码
│ ├── app/
│ │ ├── main.py # FastAPI 入口
│ │ ├── config.py # 配置管理
│ │ ├── db.py # 数据库连接
│ │ ├── models.py # Pydantic 模型
│ │ ├── services.py # 业务逻辑
│ │ ├── ai_analyzer.py # AI 分析器
│ │ ├── ai_trading_engine.py # AI 交易引擎
│ │ ├── stock_picker.py # 智能选股服务
│ │ ├── streaming.py # 行情流管理
│ │ ├── trading_api.py # 交易API
│ │ └── routers/ # API 路由
│ │ ├── settings.py
│ │ ├── ai_trading.py
│ │ ├── stock_picker.py
│ │ ├── portfolio.py
│ │ └── ...
│ ├── data/ # 数据目录
│ │ └── quant.db # DuckDB 数据库
│ └── requirements.txt # Python 依赖
├── frontend/ # 前端代码
│ ├── src/
│ │ ├── App.tsx # 主应用
│ │ ├── api/ # API 客户端
│ │ │ ├── client.ts
│ │ │ └── stockPicker.ts
│ │ ├── pages/ # 页面组件
│ │ │ ├── Settings.tsx
│ │ │ ├── AiTrading.tsx
│ │ │ ├── StockPicker.tsx
│ │ │ ├── SmartPosition.tsx
│ │ │ └── ...
│ │ └── components/ # 公共组件
│ ├── package.json # 前端依赖
│ └── vite.config.ts # Vite 配置
├── docs/ # 文档目录
│ ├── screenshots/ # 截图目录 (待添加)
│ ├── AI_TRADING_GUIDE.md
│ ├── STOCK_PICKER_DESIGN.md
│ ├── STOCK_PICKER_FRONTEND_GUIDE.md
│ └── ...
├── logs/ # 日志目录
│ ├── backend.log
│ └── frontend.log
├── import_stocks.py # 导入股票脚本
├── analyze_stocks.py # 分析股票脚本
├── start.sh # 启动脚本
├── stop.sh # 停止脚本
└── README.md # 本文件
欢迎贡献代码、报告问题、提出建议!
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
- Python:遵循 PEP 8
- TypeScript:遵循 ESLint 规则
- 提交信息:使用清晰的提交描述
本项目采用 MIT 许可证。详见 LICENSE 文件。
- Longbridge OpenAPI - 提供行情和交易接口
- DeepSeek AI - 提供 AI 分析能力
- FastAPI - 现代化的 Web 框架
- React - 前端框架
- DuckDB - 高性能分析型数据库
- 问题反馈:GitHub Issues
- 邮件:your-email@example.com
- 文档:查看
docs/目录
🎯 新功能:
- ✅ 智能选股系统(做多池 + 做空池)
- ✅ 5维度量化评分系统(0-100分)
- ✅ AI 推荐算法
- ✅ 批量分析功能
- ✅ 股票卡片详情展示
🔧 优化:
- ✅ AI 提示词优化(降低保守性)
- ✅ 评分系统重构
- ✅ 界面精简(11个Tab → 7个Tab)
- ✅ 性能优化
📚 文档:
- ✅ 13个详细文档
- ✅ API 文档完善
- ✅ 使用指南更新