《股票分析与投资决策系统》

  • 2026年6月3日
  • 738
AI智能摘要
该系统是基于 OpenCLaw 开发的股票分析工具,集成实时行情、智能选股及七维预警等核心模块。其架构采用 React 前端与 FastAPI 后端,支持多源数据自动降级切换以保障稳定性。系统通过 AI 驱动深度分析生成买卖建议,并利用 WebSocket 实现异动实时推送,为投资者提供从策略筛选到资产组合管理的全流程决策支持。
— 此摘要由AI分析文章内容生成,仅供参考。

自己开发的系统,纯属娱乐,全程使用openclaw开发调试。涵盖实时行情、智能选股、技术指标分析、七维预警系统、资产组合管理与操盘笔记等功能模块。开源仓库地址:https://github.com/sunclchina/stock-analysis,欢迎高手指正。

《股票分析与投资决策系统》

系统架构

┌──────────────────────────────────────────────────────────┐
│                    前端(React + Ant Design)              │
│  ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │
│  │仪表盘│ │行情  │ │选股  │ │预警  │ │分析  │ │配置  │ │
│  └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │
│                  WebSocket(实时推送)                     │
├──────────────────────────────────────────────────────────┤
│                    FastAPI 后端(Python)                   │
│  ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │
│  │行情  │ │选股  │ │预警  │ │分析  │ │配置  │ │笔记  │ │
│  │API   │ │引擎  │ │引擎  │ │引擎  │ │管理  │ │系统  │ │
│  └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │
│                     SQLite 数据库                         │
├──────────────────────────────────────────────────────────┤
│                   多源数据接入层                            │
│  新浪财经 ← 东方财富 ← AKShare ← Baostock+ ← 其他       │
│  (按模块优先级自动降级:主数据源失效时无缝切换)              │
└──────────────────────────────────────────────────────────┘

设计原则:

  • 前端开发(8080)+ 后端开发(8000)分离;Docker 单端口 8081 部署
  • 多源按模块优先级自动降级
  • 全异步 I/O,行情推送走 WebSocket
  • 缓存分层:内存缓存 → SQLite 磁盘缓存 → 原始 API
  • 无人使用时自动静默(无 WebSocket 连接且 10 分钟无 HTTP 请求则跳过行情轮询)

模块详解

仪表盘

系统首页,聚合关键信息的一站式概览。

  • A股概况 — 沪市、深市、北交所、ETF 数量统计(按代码前缀归类)
  • 决策参考 — 监控池个股量化评分、买卖建议、评分明细(趋势/动量/量价/风控)
  • 实时行情监控 — 监控池股票涨跌分布(上涨/下跌数量)
  • 自选股概览 — 自选股涨跌统计
  • 资产管理 — 总资产、可用资金、仓位、收益统计
  • 系统资源 — CPU、内存使用率、运行时长

实时行情

A股全市场实时行情查询与展示。

  • 行情概览 — 沪深主要指数实时行情(含涨跌幅、成交额)+ 涨跌分布统计
  • 行业TOP10 — 行业板块涨跌排行(自动降级:QQ Finance → akshare)
  • 概念TOP10 — 概念板块涨跌排行(akshare)
  • 个股详情 — 分时图、K线图(支持多周期:日/周/月)、技术指标(MA/MACD/KDJ/RSI)

全球指数/行业(MarketExt)

  • 全球指数 — 主要国际指数(美/欧/亚)、商品/外汇行情
  • 行业排名 — A股行业板块涨幅排名
  • 个股资金流向 — 个股主力资金流入流出排名

智能选股

多策略选股引擎,支持固定规则与指标选股。

① 固定规则选股 内置预定义策略,一键执行:

策略说明
稳健趋势均线多头 + 成交量配合
反转突破底部放量 + 突破关键阻力
短线强势近期涨幅 + 高换手率

筛选结果包含评分(趋势强度、风险评分、财务等级、综合得分)和操作建议。

② 指标选股(自然语言) 通过东方财富选股器,使用自然语言描述筛选条件:

  • MACD金叉连续3年ROE大于15%PE小于20
  • 热门策略可保存/管理,支持模糊搜索

③ 形态选股 技术形态识别筛选(K线形态、量价关系等),支持自定义形态参数。

④ 自定义指标选股 四大维度组合筛选:

维度可配置指标
技术面MA排列(多头/空头/纠缠)、MACD状态、RSI、布林带位置、量比、换手率
基本面ROE、ROE同比增长、资产负债率、PE/PB、毛利率、经营现金流
共振维度资金共振、多周期共振
盘面范围行业选择、成交额区间、市值区间

研究中心

个股研究报告、公司公告、盘前提示、涨停梯队等数据的集中查阅中心。

标签页功能
个股研报券商研究报告摘要
公司公告上市公司公告查阅
行业研究行业研究报告
盘前提示AI 生成盘前市场预测
涨停梯队涨停梯队(连板数统计)、跌停梯队
风险监控ST/负面事件股票监控
快讯公告实时新闻快讯

智能分析

AI 驱动的个股深度分析(需配置 DEEPSEEK_API_KEY)。

  • 个股研报 — 多维度的股票研究报告
  • 股吧/新闻情绪分析 — 自然语言处理舆情数据
  • 技术面综合研判 — K线形态识别、技术指标综合分析
  • 基本面分析 — 财务数据解读、估值分析
  • 智能分析结论 — 综合生成买入/持有/卖出建议

智能预警

七维预警系统,多维度监控持仓/自选股异动。

维度说明示例
价格预警价格突破/跌破关键位跌穿MA20、突破前期高点
涨跌预警单日涨跌幅异常单日涨幅>7%、跌幅>5%
趋势预警趋势形态识别MACD金叉/死叉、均线多头/空头排列
共振预警多维度信号共振技术+资金+事件三重共振
财务预警财务数据异常ROE骤降、资产负债率突变
事件预警负面事件检测减持公告、监管问询、立案调查
风险预警综合风险评估质押强平、债务违约、欺诈识别
  • 监控池管理(添加/移除监控标的)
  • 预警记录列表(按类型/时间/级别筛选)
  • 综合决策矩阵(多维度信号聚合展示,量化评分)
  • WebSocket 实时推送预警

资产组合

投资组合管理与绩效跟踪(功能实现中,后端 API 就绪,前端展示中)。

  • 创建/管理多个投资组合
  • 记录买入/卖出交易
  • 持仓市值、盈亏统计
  • 收益率曲线、绩效指标

操盘笔记

个人交易笔记系统,记录交易思路和复盘内容。

  • 创建/编辑/删除笔记
  • 关联股票代码
  • 标签分类(逗号分隔)
  • 关键词搜索
  • 置顶功能
  • 分页浏览

系统配置

系统的集中配置管理中心。

配置页功能
个人资料修改昵称、密码
自选股管理添加/删除自选股,从通达信导入、从选股结果导入
监控池管理管理预警监控标的
数据源管理查看数据源状态、连接测试、手动切换主力/备用源
偏好设置主题切换(暗色/亮色)、东财选股器标识(qgqp_b_id)、预警声音开关
模板管理管理智能分析报告模板、选股结果模板
系统状态后端运行状态、数据库健康检查
自定义数据源添加第三方数据源(预留)

用户管理

用户管理功能(仅管理员角色可见)。

  • 用户列表与搜索
  • 用户角色管理(普通用户/管理员)
  • 用户启/禁用

数据源系统

系统内置多层数据源,按模块配置独立优先级顺序,自动降级。

数据源架构

外部数据源(网络 API)
  ├── 东方财富 (eastmoney) — 主力行情/基本面/选股器
  ├── 新浪财经 (sina) — 备用行情/全市场代码
  ├── AkShare — 概念板块/资金流/ETF/补充数据
  ├── Baostock — 历史K线/分钟线(本地环境兼容)
  └── 通达信本地 (tdx_local) — 本地缓存文件解析(需配置,Docker 环境禁用)

内部数据缓存
  ├── 内存缓存 — 6小时 TTL,减少重复请求
  └── SQLite 磁盘缓存 — kline_cache 等

模块优先级

每个模块有独立的数据源优先级顺序:

模块优先顺序
市场行情sina → eastmoney → baostock
K线数据baostock → eastmoney → sina
板块涨跌akshare → eastmoney
涨停股池akshare → eastmoney
北向资金akshare
盘前数据eastmoney → sina
智能选股池tdx_local → sina → eastmoney
预警行情eastmoney → sina → tdx_local
选股基本面akshare
股票名称查询eastmoney → sina → tdx_local

主数据源连续失败自动切换至下一优先级源,主源恢复后自动切回。


开发环境启动

前提条件

组件最低版本
Python3.10+
Node.js18+

1. 配置环境变量

# 从模板创建(项目根目录)
cp .env.example .env

.env 唯一配置文件位于项目根目录,后端自动从根目录读取。

2. 启动后端

cd dev-team\backend-dev\stock-analysis-backend
pip install -r requirements.txt
python -m uvicorn backend.main:app --host 0.0.0.0 --port 8000 --reload

3. 启动前端(开发模式)

cd dev-team\frontend-dev\stock-analysis-frontend
npm install
npx vite --port 8080 --host

访问 http://localhost:8080

4. 一键启动(开发环境)

# 后端 + 前端同时启动
.\dev-team\devops\start-all.ps1

环境配置(部署前必读)

⚠️ 必须配置的项

优先级配置项说明不配的后果获取方式
🔴 必须JWT_SECRETJWT 签名密钥Token 可被伪造,安全风险python -c "import secrets; print(secrets.token_hex(32))" 生成
🟡 推荐DEEPSEEK_API_KEYDeepSeek AI 密钥AI 智能分析不可用,核心功能不受影响DeepSeek 开放平台
🟡 推荐DEFAULT_ADMIN_PASSWORD管理员密码默认弱密码,安全风险自行设置

编辑项目根目录下的 .env 文件完成配置,编辑后重启服务生效。

其他配置项

配置项默认值说明
BACKEND_PORT8081后端端口(Docker 默认 8081,开发环境可覆盖为 8000)
PRIMARY_DATA_SOURCEeastmoney主力数据源
FALLBACK_DATA_SOURCEsina备用数据源
TDX_ENABLEDfalse是否启用通达信本地数据源(Docker 环境默认关闭)
CORS_ORIGINS["http://localhost:8000"]跨域白名单(开发前端 8080 时需改为 8080)
LOG_LEVELINFO日志级别(可选 DEBUG/INFO/WARNING/ERROR)

Docker 构建与部署

构建镜像

# 从仓库根目录构建
docker build -t stock-analysis -f Dockerfile .

# 或使用 docker-compose
docker compose up -d

运行容器

docker run -d --name stock-analysis \
  -p 8081:8081 \
  -v /path/to/.env:/app/.env \
  -v /path/to/data:/app/data \
  stock-analysis

访问 http://localhost:8081

端口说明:Docker 版本使用 8081 端口(避开 8080 常见端口冲突)。 开发环境:前端 8080 + 后端 8000 分离运行。

数据卷挂载

# 持久化数据(数据库、缓存、笔记等)
-v /host/data/path:/app/data

# 配置文件
-v /host/path/.env:/app/.env

未挂载数据卷时,数据存储在容器临时文件系统中,容器删除后丢失。