📊 量化投资系统

完整操作手册

文档版本: v1.0  |  生成日期: 2026-04-19  |  系统位置: /home/projects/quant

📋 目录

一、系统概述

1.1 系统简介

量化投资交易系统是一套轻量级、易部署、可扩展的量化投资解决方案,整合了股票实时监控、量化策略回测、模拟交易引擎三大核心模块。

适用人群:

🎯 个人投资者
科学决策,风险可控
📈 量化爱好者
策略开发,快速验证
💼 投资顾问
绩效展示,客户服务
🏢 小型机构
策略孵化,低成本部署

1.2 核心功能

模块 功能 端口
股票监控 实时行情、价格预警、飞书通知 8315
量化策略 5 种经典策略、回测引擎、信号生成 8316
模拟交易 虚拟账户、订单系统、盈亏核算 8320
技术栈:Python 3.11 + Flask + Streamlit | MySQL 9.0 (端口 9001) | 东方财富 API | 飞书机器人

二、系统架构

┌─────────────────────────────────────────────────────────────────┐
│                        量化投资交易系统                          │
├─────────────────────────────────────────────────────────────────┤
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐          │
│  │  股票监控    │  │  量化策略    │  │  模拟交易    │          │
│  │  (8315)      │→ │  (8316)      │→ │  (8320)      │          │
│  └──────────────┘  └──────────────┘  └──────────────┘          │
│         ↓                  ↓                  ↓                 │
│  ┌──────────────────────────────────────────────────┐          │
│  │              MySQL 数据库 (端口 9001)             │          │
│  │  stock_monitor | quant_strategies | sim_trading  │          │
│  └──────────────────────────────────────────────────┘          │
│         ↓                                                        │
│  ┌──────────────┐                                               │
│  │  东方财富 API │                                               │
│  └──────────────┘                                               │
└─────────────────────────────────────────────────────────────────┘

三、快速开始

3.1 访问地址

服务 访问地址 端口
📈 股票监控 http://124.221.140.157:8315 8315
🤖 量化策略 http://124.221.140.157:8316 8316
💰 模拟交易 http://124.221.140.157:8320 8320

3.2 服务状态检查

# 检查所有服务状态 ps aux | grep -E "8315|8316|8320" | grep -v grep # 检查数据库 mysql -h 127.0.0.1 -P 9001 -u root -pnew_password -e "SHOW DATABASES;"

3.3 使用流程

1️⃣ 股票监控
添加关注股票,设置预警
2️⃣ 量化策略
选择策略,生成交易信号
3️⃣ 模拟交易
创建账户,执行交易,查看绩效

四、股票监控服务(8315 端口)

4.1 功能特性

✅ 实时监控
每 30 秒自动更新股票行情
✅ 价格预警
涨跌幅超过阈值自动告警
✅ 数据记录
所有行情数据保存到数据库
✅ Web 仪表盘
可视化监控界面
✅ 飞书通知
支持飞书机器人推送预警消息
✅ REST API
提供完整的 API 接口
✅ 板块行情
231 个板块数据(行业/概念/地区)

4.2 Web 界面操作

添加监控股票

  1. 访问 http://124.221.140.157:8315
  2. 在页面底部"添加股票"区域填写:
    • 股票代码:601377
    • 股票名称:兴业证券
    • 预警阈值:3.0 (表示涨跌超过 3% 时告警)
  3. 点击"添加"按钮

查看实时行情

板块行情功能

# 下载板块行情数据 cd /home/projects/quant/stock_monitor python3 download_sectors.py # 查询板块行情 python3 query_sectors.py top # 领涨板块前 20 python3 query_sectors.py bottom # 领跌板块前 20 python3 query_sectors.py all # 查看全部板块 python3 query_sectors.py industry # 只查看行业板块

4.3 运维命令

cd /home/projects/quant/stock_monitor # 启动服务 ./start.sh start # 停止服务 ./start.sh stop # 重启服务 ./start.sh restart # 查看状态 ./start.sh status # 查看日志 ./start.sh logs

4.4 配置说明

# 配置文件:stock_monitor.py CONFIG = { 'db': { 'host': '127.0.0.1', 'port': 9001, 'user': 'stock_monitor', 'password': 'Stock2026!', 'database': 'stock_monitor' }, 'monitor': { 'interval_seconds': 30, 'stocks': [ {'code': '601377', 'name': '兴业证券', 'alert_threshold': 3.0}, ], 'alert_threshold_default': 3.0 }, 'feishu': { 'webhook_url': 'https://open.feishu.cn/open-apis/bot/v2/hook/xxx', 'enabled': True } }

五、量化策略系统(8316 端口)

5.1 功能特性

5 种经典策略:

策略 类型 难度 适用市场
📊 双均线策略 趋势跟踪 趋势市
📉 MACD 策略 趋势 + 动量 ⭐⭐ 趋势市
📈 RSI 策略 均值回归 震荡市
📊 布林带策略 均值回归 ⭐⭐ 震荡市
🎯 多因子策略 综合策略 ⭐⭐⭐⭐ 所有市场

回测引擎 v1.1:

5.2 Web 界面操作

访问 http://124.221.140.157:8316

导航菜单:

5.3 策略使用示例

from strategies import DualMAStrategy, Backtester import pandas as pd # 准备数据 data = pd.read_csv('stock_data.csv', index_col='date') # 创建策略和回测引擎 strategy = DualMAStrategy(short_window=5, long_window=20) backtester = Backtester( initial_capital=100000, commission_rate=0.00025, # 万 2.5 tax_rate=0.001, # 1‰ slippage_rate=0.001 # 0.1% ) # 运行回测 result = backtester.run(data, strategy) # 查看绩效报告 print(f"总收益:{result.total_return:.2f}%") print(f"夏普比率:{result.sharpe_ratio:.2f}") print(f"最大回撤:{result.max_drawdown:.2f}%") print(f"胜率:{result.win_rate:.2f}%")

5.4 运维命令

cd /home/projects/quant/quant_strategies # 启动 Streamlit 服务 ./start_streamlit.sh start # 停止服务 ./start_streamlit.sh stop # 查看状态 ./start_streamlit.sh status # 查看日志 ./start_streamlit.sh logs

六、模拟交易引擎(8320 端口)

6.1 功能特性

✅ 模拟账户体系
虚拟资金账户 (初始资金可配置)
✅ 订单系统
市价单/限价单,完整订单状态管理
✅ 持仓管理
实时持仓,加权平均成本计算
✅ 交易撮合
复用股票监控服务实时行情
✅ 盈亏核算
浮动盈亏 + 已实现盈亏

6.2 费用标准

费用类型 费率 说明
手续费 0.025% (万 2.5) 最低 5 元
印花税 0.1% (1‰) 仅卖出收取
# 计算公式: 买入总成本 = 成交价 × 数量 + 手续费 卖出净收入 = 成交价 × 数量 - 手续费 - 印花税 手续费 = max(成交金额 × 0.00025, 5)

6.3 Web 界面操作

访问 http://124.221.140.157:8320

操作流程:

  1. 创建账户 - 点击"创建账户",设置初始资金 (默认 100 万)
  2. 买入股票 - 填写股票代码、买卖方向、订单类型、委托数量
  3. 卖出股票 - 选择持仓,填写卖出数量和价格
  4. 查询持仓 - 查看持仓数量、成本价、当前价、浮动盈亏
  5. 查询订单 - 查看订单状态、成交数量、成交价格

6.4 API 使用示例

# 创建账户 curl -X POST http://124.221.140.157:8320/api/sim/account/create \ -H "Content-Type: application/json" \ -d '{"initial_capital": 1000000}' # 买入股票 curl -X POST http://124.221.140.157:8320/api/sim/order \ -H "Content-Type: application/json" \ -d '{ "account_id": "abc123", "stock_code": "601377", "direction": "buy", "order_type": "market", "quantity": 1000 }' # 查询持仓 curl "http://124.221.140.157:8320/api/sim/position?account_id=abc123"

6.5 运维命令

cd /home/projects/quant/sim_trading # 启动服务 ./start.sh start # 停止服务 ./start.sh stop # 重启服务 ./start.sh restart # 查看状态 ./start.sh status # 查看日志 ./start.sh logs

七、API 接口汇总

7.1 股票监控 API (8315)

接口 方法 说明
/api/quotes GET 获取最新行情
/api/history/<code>?days=7 GET 获取历史数据
/api/alerts?limit=50 GET 获取预警记录
/api/config GET 获取股票配置
/api/config POST 添加/更新配置
/api/status GET 获取服务状态
/api/monitor/trigger POST 手动触发监控

7.2 模拟交易 API (8320)

接口 方法 说明
/api/sim/account/create POST 创建账户
/api/sim/account/{id} GET 查询账户
/api/sim/order POST 下单交易
/api/sim/order/{id} GET 查询订单
/api/sim/order/{id} DELETE 撤销订单
/api/sim/position GET 查询持仓
/api/sim/trades GET 查询成交记录
/api/sim/status GET 服务状态检查

八、常见问题

8.1 服务无法启动

问题: 服务启动失败

解决方法:
# 1. 检查端口占用 netstat -tlnp | grep 8315 # 2. 查看日志 ./start.sh logs # 3. 检查 Python 依赖 pip3 list | grep -i flask

8.2 数据库连接失败

问题: 无法连接 MySQL 数据库

解决方法:
# 1. 检查 MySQL 服务 systemctl status mysqld # 2. 测试连接 mysql -h 127.0.0.1 -P 9001 -u root -pnew_password # 3. 检查数据库用户权限

8.3 行情数据不更新

问题: 股票价格长时间不更新

解决方法:
# 1. 检查网络连接 ping 127.0.0.1 # 2. 检查数据源 API curl http://127.0.0.1:8315/api/quotes?code=601377 # 3. 查看日志错误信息 tail -f /var/log/stock_monitor.log

8.4 飞书通知不发送

问题: 预警触发但未收到飞书消息

解决方法:
  1. 检查 webhook URL 是否正确
  2. 检查 enabled 是否为 True
  3. 手动测试 webhook

8.5 模拟交易无法获取股价

问题: 下单时提示无法获取实时股价

解决方法:
# 1. 检查股票监控服务是否运行 curl http://127.0.0.1:8315/api/status # 2. 重启股票监控服务 cd /home/projects/quant/stock_monitor ./start.sh restart # 3. 重启模拟交易服务 cd /home/projects/quant/sim_trading ./start.sh restart

⚠️ 风险提示

  1. 本系统仅供学习和研究使用,不构成投资建议
  2. 模拟交易不能用于实盘,仅供学习测试
  3. 股市有风险,投资需谨慎
  4. 历史回测不代表未来表现
  5. 从小资金开始,风险控制第一