V3 量化交易系统技能
系统架构
量化交易系统-v3/
├── backend/ # FastAPI 后端(端口 8000)
│ ├── core/ # 核心业务逻辑
│ │ ├── market_data.py # 新浪财经行情服务
│ │ ├── broker_api.py # 券商接口抽象层
│ │ ├── auto_trader.py # 自动选股交易机器人
│ │ ├── multi_scorer.py # 10维综合评分引擎
│ │ ├── financial_agent.py # 自学习金融智能体
│ │ ├── smart_picker.py # 智能选股器
│ │ ├── prediction.py # 行情预测
│ │ ├── trade_engine.py # 交易执行引擎
│ │ └── tonghuashun_fetcher.py # 同花顺数据获取
│ ├── api/ # FastAPI 路由
│ │ ├── auth.py # 认证
│ │ ├── trading.py # 交易 API
│ │ ├── market.py # 行情 API
│ │ ├── strategy.py # 策略 API
│ │ ├── auto_trader.py # 自动交易 API
│ │ └── agent.py # 智能体 API
│ ├── data/ # 数据目录(SQLite + JSON)
│ └── main.py # FastAPI 入口(懒加载)
├── frontend/ # React + Vite(端口 5173)
│ ├── src/ # 源代码
│ ├── dist/ # 构建产物
│ └── electron/ # Electron 壳(可选)
└── scripts/ # 运维脚本
后端技术栈:Python 3 + FastAPI + SQLAlchemy + SQLite + Loguru + WebSocket
前端技术栈:React + TypeScript + Vite + Ant Design
行情源:新浪财经 hq.sinajs.cn(唯一可用源,东方财富被屏蔽)
核心工作流
工作流 1:自动选股交易
交易日 09:25 → 选股扫描 → 候选股票评分 → 买入执行
↓
持仓盯盘(每30秒)
↓
止损/止盈/移动止损触发 → 自动卖出
↓
日收益达标(8%) → 全部清仓
工作流 2:手动行情分析
用户输入股票代码 → 查询实时行情 → 10维评分 → 生成买卖建议
工作流 3:智能体自学习
每笔成交 → 记录 TradeMemory → 市场状态识别 → 模式提取 → 权重调整 → 置信度报告
10维评分体系
见 references/scoring-engine.md — 包含完整评分逻辑。
10个维度(满分100):
| 维度 | 满分 | 关键逻辑 |
|------|------|----------|
| 价格位置 | 15 | 超跌反弹最高分(pos_30d < 20 且 chg > 0 → 15分)|
| 趋势结构 | 20 | 多头排列(MA5 > MA10 > MA20)→ 20分 |
| 买卖盘 | 15 | 买盘比 > 3 且股价上涨 → 15分;方向矛盾 → 降级 |
| 波动率 | 10 | 振幅 2-5% 最优(10分)|
| 量价关系 | 10 | 放量上涨10分,放量下跌0分 |
| 板块环境 | 10 | 创业板/深证优先(8分)|
| 逆向信号 | 10 | 5日涨幅超10% → 2分(风险提示)|
| 大盘共振 | 10 | 创业板指上涨时买创业板 → 加分 |
| 日内时机 | 5 | 开盘30分钟后入场优于开盘立即 |
| 持仓状态 | 5 | 避免追高连续3日上涨标的 |
风控策略参数
见 references/trading-strategy.md — 完整参数表。
核心参数(创业板日交易):
- 日收益目标:8%
- 止损:3%(浮亏达到触发止损)
- 止盈:5%(固定目标)
- 移动止损:回撤2.5%触发
- 最大持仓:5只,单票仓位≤15%
- 扫描间隔:30秒
科创板独立参数:
- 止损放大:10%(波动更大)
- 单票仓位:≤5%
- 最低成交额:1亿元
- 止盈:20%(盈亏比2:1)
券商接口抽象
见 references/broker-api.md。
支持多券商接入(工厂模式):
- SIM:模拟交易,内置100万虚拟资金
- XtQuant:迅投QMT(需安装QMT客户端)
- XTP:中泰XTP
自学习金融智能体
见 references/agent-design.md。
核心能力:
1. 经验记忆:记录每笔交易上下文(特征向量 + 市场状态 + 决策理由)
2. 模式识别:从历史成功/失败中提取模式
3. 权重自适应:根据胜率动态调整评分权重
4. 市场感知:识别牛市/熊市/震荡/高波动状态
5. 自我反思:定期复盘并优化策略
6. 决策置信度:每次决策附带置信水平(0-1)
行情接入(新浪财经)
见 references/market-data.md。
- API:
hq.sinajs.cn/list=sh600519,sz000858 - 覆盖:上证/深证/创业板/科创板/美股
- 批量查询:单次最多50个标的
- 缓存TTL:30秒
- 不支持:北交所、港股
启动与运维
启动顺序
# 终端1:后端
cd C:\Users\admin\WorkBuddy\Claw\量化交易系统-v3\backend
python -m uvicorn main:app --reload --port 8000
# 终端2:前端
cd C:\Users\admin\WorkBuddy\Claw\量化交易系统-v3\frontend
npm.cmd run dev
一键启动脚本
# 后端(后台运行)
start_trading.bat
# 前端+后端同时启动
一键启动.bat
看门狗(崩溃自动重启)
python watchdog.py
环境要求
- Python 3.8+
- Node.js 16+
- Windows 10/11
- npm 必须用
npm.cmd(不能用npx)
数据目录结构
backend/data/
├── trading.db # 主数据库(持仓/订单/历史)
├── agent_memory.db # 智能体记忆(WAL模式)
├── config.json # 系统配置
├── stock_list.json # 全A股列表缓存
├── auto_trader_state.json # 自动交易状态
├── daily_history.json # 每日盈亏历史
└── sim_account.json # 模拟账户状态
API 关键端点
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/market/quote?code=300442 |
实时行情 |
| GET | /api/market/quotes?codes=... |
批量行情 |
| GET | /api/market/analysis?code=... |
一键分析 |
| POST | /api/trading/order |
下单 |
| GET | /api/auto-trader/status |
自动交易状态 |
| POST | /api/auto-trader/start |
启动自动交易 |
| POST | /api/agent/insights |
获取智能体洞察 |
关键配置文件
backend/.env(敏感,勿上传)
SECRET_KEY=<JWT密钥>
DATABASE_URL=sqlite:///./data/trading.db
QMT_ENABLED=true
QMT_BROKER=<券商>
QMT_PATH=<QMT安装路径>
QMT_ACCOUNT=<账号>
QMT_PASSWORD=<密码>
BACKEND_PORT=8000
DAILY_TARGET_PCT=8.0
MAX_POSITIONS=5
STOP_LOSS_PCT=3.0
TAKE_PROFIT_PCT=5.0
backend/data/config.json
{
"trading": {
"daily_target_pct": 8.0,
"stop_loss_pct": 3.0,
"take_profit_pct": 5.0,
"max_positions": 5,
"scan_interval": 30
},
"market": {
"indexes": ["sh000001", "sz399001", "sz399006"]
}
}
参考文档
- references/scoring-engine.md — 10维评分引擎完整逻辑
- references/trading-strategy.md — 风控参数与交易策略
- references/agent-design.md — 自学习金融智能体设计
- references/market-data.md — 新浪财经行情接入方案
- references/broker-api.md — 券商接口抽象设计