AI Stock 技术白皮书

AI-Native Intelligent Stock Data Analysis Platform
AI 原生智能股票数据分析平台 — 让 AI 成为你的超级数据分析助手


项目愿景

AI Stock 旨在打造一个 AI 原生的智能股票数据分析平台,将大语言模型的深度推理能力与 A 股全市场数据深度融合,构建从策略创建、条件筛选、回测验证、策略优化到定时执行的 全链路自动化闭环,为用户提供多维度的股票数据分析与筛选能力,辅助投资决策。

核心理念: 策略即代码 → AI 即引擎 → 数据即燃料 → 闭环即进化


项目实例截图

请添加图片描述


系统架构

全局架构图

跨切面基础设施

数据持久层

AI Agent 集群 OpenClaw Gateway :18789

核心微服务集群 Spring Boot 3.x + MyBatis-Plus

认证鉴权层 Spring Security 6

接入网关层

客户端接入层

数据服务域

业务服务域

业务服务域

WebSocket :18789

AOP 切面

AOP 切面

AOP 切面

Spring Actuator

Android App
React Native + Expo SDK 52
Zustand 状态管理 · STOMP WS
EAS OTA 热更新

iOS App
React Native + Expo SDK 52
Zustand 状态管理 · STOMP WS
EAS OTA 热更新

Web Admin
Vue 3 + Element Plus
Pinia 状态管理 · WebSocket

Nginx 反向代理
SSL/TLS 终止 · 负载均衡
Gzip 压缩 · CORS · WebSocket 代理

Rate Limiter
令牌桶算法 1000 req/s
突发 1.5x 容忍

Request Validator
JSR-303 参数校验
XSS 过滤 · SQLi 防注入

JWT Auth Filter
Token 解析 · HMAC-SHA256 签名验证
过期检查 · userId 提取 · 权限校验

Refresh Token Filter
Access Token 过期自动续期
双 Token 刷新 · 滑动窗口

Anonymous Filter
/api/auth/** 白名单放行
/actuator/** 监控放行

认证鉴权服务
邮箱注册 · BCrypt 加密
JWT 签发 · 验证码校验
防暴力破解 5次锁定

筛选引擎服务
71字段条件解析器
39个语义化函数
AI 四维分析 · 涨跌跟踪

策略管理服务
5种类型自动推断
condition_expr 生成
四步推理链设计

回测执行服务
ThreadPool 异步执行
实时进度 WS 推送
多维度统计聚合

调度中心服务
Cron 动态增删改
4种任务类型
交易日历过滤 · 执行日志

聊天消息服务
BotConfig 路由
STOMP WS 实时推送
筛选结果智能渲染

统计分析服务
命中率/收益率/盈亏比
策略对比 · 涨跌分布
收益趋势曲线

通知推送服务
筛选完成提醒
策略优化通知
复盘报告推送

数据源服务
腾讯财经行情采集
东财资金流向
技术指标计算 · 数据校验

AI 网关服务
OpenClaw Gateway 对接
多用户会话管理
Skill 调度 · 超时降级

文件管理服务
筛选数据 JSON 存储
策略解析结果归档
按日期 /data/YYYY-MM-DD/

多租户会话管理器
会话标识: agent:agentId:user_userId
上下文隔离 · 独立历史 · 独立路由
TTL 自动清理 · 会话恢复

Skill 路由引擎
意图识别 → 置信度评估 → Skill 分发
Selector / Creator / Optimizer / Search
低置信度 → 通用对话

DeepSeek V3 推理引擎
128K 超长上下文窗口
DeepThink 深度推理 · CoT 链式思考
Function Calling 工具调用 · JSON 结构化输出

MySQL 8.0
22 张业务表
user/auth/strategy/selection
backtest/schedule/chat/notify
quote/tech/money/north/bot_config

Redis 7.x
验证码缓存 60s TTL
用户会话状态 · 统计缓存 30min
接口限流计数 · 滑动窗口

文件存储系统
筛选数据 JSON · 策略解析结果
回测批次数据 · 按日期归档
自动清理策略

Python 3.11+ 数据引擎
腾讯财经 API 行情采集
pandas/numpy 技术指标计算
数据校验 · 异常重试 · 降级策略

统一日志 Logback
按模块分文件 · 异步写入

全局异常 Handler
Result 统一响应包装
BusinessException / ValidationException

操作审计
关键操作记录 · 不可篡改

健康检查 Actuator
/health · /info · /metrics

环境变量管理
GitHub Secrets 注入
代码零敏感信息 · EAS 环境变量

技术选型矩阵

层级 技术 版本 选型理由 替代方案
移动端 React Native + Expo SDK 52 跨平台一套代码,OTA 热更新无需重装 Flutter
状态管理 Zustand 5.x 轻量级,比 Redux 少 80% 样板代码 Redux Toolkit
后端框架 Spring Boot 3.x 企业级 Java 生态,自动配置 Quarkus
ORM MyBatis-Plus 3.5.x 单表 CRUD 零 SQL,逻辑删除/乐观锁内置 JPA/Hibernate
安全框架 Spring Security 6 + JWT 6.x 无状态认证,2h Token + Refresh 机制 Sa-Token
AI Agent OpenClaw Latest 本地部署 AI Agent 框架,网关模式多用户隔离 LangChain
LLM DeepSeek V3 国产顶级推理模型,128K 上下文,深度推理 GPT-4o
数据库 MySQL 8.0 成熟稳定,JSON 字段,窗口函数,CTE 递归 PostgreSQL
缓存 Redis 7.x 验证码/会话/统计缓存,限流计数 Memcached
CI/CD GitHub Actions - 推送即部署,零运维成本 Jenkins

核心功能详解

一、AI 智能聊天 — 你的专属数据分析助手

核心能力: 自然语言交互 · 多 Bot 切换 · WebSocket 实时通信 · 筛选结果智能渲染 · 每用户独立会话

聊天消息处理流程:

STOMP WebSocket DeepSeek 推理引擎 Skill 路由引擎 OpenClaw Gateway chat_message 表 ChatMessageController 前端 App STOMP WebSocket DeepSeek 推理引擎 Skill 路由引擎 OpenClaw Gateway chat_message 表 ChatMessageController 前端 App alt [正常调用] [超时] [错误重试] alt [普通文本] [筛选结果] [策略JSON] [错误信息] POST /api/chat/message {botId, content} ① JSR-303 参数校验 ② JWT鉴权 → userId ③ BotConfig 查找 (url/token/agentId) ④ 保存用户消息 (role=USER) ⑤ 构建会话标识 agent:{agentId}:user_{userId} ⑥a HTTP POST :18789/api/chat 意图识别 → Skill分发 DeepSeek 推理 (128K/CoT/FC) AI 回复 路由结果 AI 响应 ⑥b 30s超时 → 降级提示 ⑥c 重试 (最多3次, 指数退避) ⑦ 保存AI消息 (role=ASSISTANT) ⑧ STOMP /user/queue/reply 推送 实时消息推送 Markdown 渲染 StockSelectionMessageView 结构化卡片 策略详情视图 错误提示 + 重试按钮

二、AI 筛选引擎 — 从 5000 只股票中多维度筛选

核心能力: 71 字段 + 39 函数条件筛选 · AI 四维分析 · 资金流向推断 · 数据参考信息 · 涨跌幅跟踪

筛选全链路流程:

涨跌跟踪引擎 数据库 DeepSeek AI 条件筛选引擎 Python 数据引擎 触发源 涨跌跟踪引擎 数据库 DeepSeek AI 条件筛选引擎 Python 数据引擎 触发源 alt [数据校验通过] [数据校验失败] loop [每日自动] ① 触发筛选 (手动/定时/AI聊天/优化) 采集腾讯财经日线行情 计算技术指标 (MA/MACD/KDJ/RSI/BOLL) 采集东财资金流向 + 北向/融资 合并写入 JSON 文件 重试采集 → 3次失败 → 降级前日数据 ② condition_expr 筛选 词法→语法→AST→语义→执行 71字段 + 39函数 + AND/OR嵌套 5000+ → 50-100只 (初筛) ③ 四维深度分析 (mx-stock-selector) 技术面: K线/均线/MACD/量价 基本面: PE/PB/市值/行业 资金面: 主力/北向/融资融券 主力意图: 建仓/拉升/洗盘/出货 综合评分 & 排序 (信心度: 高/中/低) 50-100 → 3-5只 (筛选结果) ④ 保存筛选记录 + 生成批次元数据 存储数据参考信息 (参考价位/风险阈值/关注区间/数据权重) ⑤ 更新涨跌幅 (筛选时点=次日开盘, 跟踪时点=后日收盘) 计算历史命中率 (累计/近期)

筛选字段矩阵:

类别 字段 说明
价格指标 close, open, high, low, change_pct, amplitude 实时价格 + 涨跌幅 + 振幅
均线系统 ma5, ma10, ma20, ma60, ma120, ma250 6 条均线支撑/压力判断
技术指标 macd, k, d, j, rsi6, rsi12, boll_upper/mid/lower MACD/KDJ/RSI/布林带
量能指标 volume, amount, turnover, volume_ratio, obv 成交量/额/换手率/量比/OBV
估值指标 pe, pb, ps, total_market_cap, float_market_cap PE/PB/PS/总市值/流通市值
资金指标 main_net_inflow, super_large_net_inflow, north_flow 主力/超大单/北向资金净流入

三、策略引擎 — AI 自动创建筛选策略

核心能力: 自然语言 → 结构化策略 · 策略类型自动识别 · 四步推理链 · 策略复制 · 默认策略

AI 策略创建流程:

策略数据库 DeepSeek 推理引擎 mx-strategy-creator 用户 策略数据库 DeepSeek 推理引擎 mx-strategy-creator 用户 alt [短线/强势] [低估/价值] [金叉/突破] [高增长/业绩] [综合/多维度] alt [JSON 解析成功] [JSON 解析失败] "我想找短线强势股,3天涨幅>5%,换手率>3%,量比>1.5" ① 需求解析 (关键词提取→意图识别→语义理解→参数映射) 类型推断矩阵匹配 动量策略 (涨幅+量比+均线) 价值策略 (PE+PB+股息率) 技术策略 (MACD+KDJ+布林) 成长策略 (营收+净利润增长) 综合策略 (多条件组合) ② 条件生成 (用户需求 + AI补充 → condition_expr) 3天涨幅>5% → change_pct_3d > 5 换手率>3% → turnover > 3 量比>1.5 → volume_ratio > 1.5 AI补充 → close > ma5 AI补充 → macd_hist > 0 AND 组合为 condition_expr ③ 推理链设计 (analysis_prompt) Step1: 技术形态识别 (K线/均线/MACD/量价) Step2: 资金流向分析 (主力/超大单/北向/融资) Step3: 上涨动能评估 (趋势/突破/动能/板块) Step4: 综合判断与数据参考 (关注标的/参考价位/风险阈值/数据权重) 四步推理链 analysis_prompt ④ 结构化输出 (Function Calling → JSON) {name, condition_expr, analysis_prompt, type, target_win_rate} 保存策略到 strategy 表 策略创建成功 重试生成

四、回测系统 — 用历史数据验证策略有效性

核心能力: 历史数据回测 · 异步任务执行 · 实时进度监控 · 多维度统计 · 批次级详情

回测执行引擎流程:

STOMP WebSocket 数据库 DeepSeek AI 条件筛选引擎 数据加载器 异步任务管理器 用户 STOMP WebSocket 数据库 DeepSeek AI 条件筛选引擎 数据加载器 异步任务管理器 用户 alt [数据缺失] alt [AI 超时] [AI 成功] alt [ST股票] [停牌] [涨跌停] [正常] alt [初筛0只] [初筛50-100只] loop [每个交易日 (~250天)] 发起回测 (策略+时间范围+目标命中率) 参数校验 → 创建任务 (PENDING→RUNNING) ThreadPoolExecutor 分配线程 (核心4/最大8) 加载交易日列表 + 行情 + 指标 + 资金数据 降级: 使用前日数据 (标记估算值) 交易日历过滤 (跳过周末/节假日) 执行 condition_expr (71字段+39函数) 记录空批次 DeepSeek 四维分析 (mx-stock-selector) 降级: 仅条件筛选结果 (标记未AI分析) 3-5只筛选结果 计算涨跌 (筛选时点=次日开盘, 跟踪时点=后日收盘) 标记ST · 谨慎参考 排除 · 不计入统计 特殊计算 · 标记涨跌停 保存批次结果 推送进度 (completed_days/total_days) 统计聚合: 总筛选数/命中率/平均涨幅/最大涨跌/盈亏比/涨跌分布 更新任务状态 RUNNING → COMPLETED 推送回测完成通知 回测报告已生成

五、策略优化闭环 — AI 自动迭代优化筛选条件

核心能力: 每日复盘 · 策略优化 · 迭代机制 · 分析报告

策略优化闭环引擎:

数据库 DeepSeek 推理引擎 mx-strategy-optimizer 策略运行 数据库 DeepSeek 推理引擎 mx-strategy-optimizer 策略运行 alt [命中率 < 50%] [筛选 > 20只] [平均涨幅 < 2%] [最大回撤 > 15%] [板块集中度 > 60%] 继续迭代 → 回到②复盘分析 alt [命中率 ≥ 目标 & 收益达标 & 回撤可控] [差距 < 3%] [未达标] loop [每日收盘后] ① 采集表现数据 (涨跌幅/命中率/筛选数/盈亏原因/板块分布/市场环境) ② 每日复盘分析 当日筛选表现总结 + 盈亏分析 盈利股票深度分析 (成功信号/配合因素) 亏损股票深度分析 (失败原因/可避免性) 改进建议 + Markdown复盘报告 存储复盘报告 (strategy_optimization表) ③ 优化决策 (综合表现诊断) 增加AND条件 / 提高阈值 / 增加技术确认 减少OR增加AND / 按信心度取TopN / 增加市值过滤 调整涨跌幅阈值 / 增加趋势确认 / 强化量价配合 风险阈值前置 / 增加回撤控制 / 波动率过滤 行业轮动条件 / 限制单一行业 / 板块强度过滤 ④ 更新 condition_expr + analysis_prompt (存储变更diff) ⑤ 回测验证新条件 ✅ 条件达标 微调参数 (±0.5) → 重新回测

六、定时调度 — 全自动运行,无需人工干预

核心能力: 4 种任务类型 · Cron 可视化编辑 · 动态调度 · 手动执行 · 执行日志 · 跳过非交易日

调度引擎架构:

schedule_log 表 执行监控 策略优化任务 每日复盘任务 行情更新任务 筛选任务 任务路由分发器 交易日历过滤器 Cron 解析器 schedule_log 表 执行监控 策略优化任务 每日复盘任务 行情更新任务 筛选任务 任务路由分发器 交易日历过滤器 Cron 解析器 alt [周末/节假日] [交易日] alt [达标] [未达标] alt [SELECTION 定时筛选] [DATA_UPDATE 行情更新] [DAILY_REVIEW 每日复盘] [STRATEGY_OPTIMIZE 策略优化] alt [连续3次失败] [执行超时 > 5min] [AI调用失败] [数据源异常] 解析 Cron 表达式 (每天/工作日/每周/每月/自定义) 触发时间到达 检查是否交易日 跳过 + 记录日志 路由到对应任务类型 分发筛选任务 获取最新行情数据 执行 condition_expr 筛选 调用 DeepSeek AI 分析 保存筛选结果 + 生成批次 推送筛选完成通知 分发更新任务 腾讯财经API采集日线行情 计算技术指标 (MA/MACD/KDJ/RSI/BOLL) 东方财富采集资金流向 + 北向/融资 数据校验 · 异常重试 · JSON归档 更新完成 分发复盘任务 汇总当日所有筛选结果 计算当日命中率/涨跌幅 AI复盘分析 + 生成Markdown报告 存储复盘报告 推送复盘通知 分发优化任务 分析策略近期表现 诊断问题 (命中率/筛选数/涨幅/回撤) 生成优化方案 + 回测验证 上线新条件 继续迭代 优化完成 记录执行日志 (start_time/end_time/status/result) 告警: 通知管理员 标记异常 + 自动重试 降级使用缓存数据 切换备用数据源

七、数据统计 — 全维度策略表现分析

核心能力: 统计概览 · 策略级统计 · 命中率可视化 · 收益趋势


八、用户认证 — 安全可靠的身份体系

认证鉴权体系架构:

JWT 签发 MySQL Redis 163 SMTP /api/auth 用户 JWT 签发 MySQL Redis 163 SMTP /api/auth 用户 === 注册流程 === alt [验证码正确] [验证码错误] === 登录流程 (密码) === alt [连续5次] [未达上限] alt [密码匹配] [密码不匹配] === 请求鉴权链 === alt [Token有效] [Token过期] POST /register {email, code, password} 发送验证码 (60s冷却) 邮箱收到6位验证码 提交验证码 (5次上限) 校验验证码 密码强度检查 (≥8位) BCrypt 加密存储 (强度因子10) 签发双Token {accessToken: 2h, refreshToken: 7d} 验证失败 (剩余N次) POST /login {username, password} 查询用户 + BCrypt 比对 签发双Token {accessToken, refreshToken} 失败计数+1 账户锁定15分钟 密码错误 (剩余N次) 请求携带 Authorization: Bearer {token} 白名单检查 (/api/auth/** 放行) Token提取 + HMAC-SHA256签名验证 过期检查 userId 提取成功 数据隔离 (userId 强制过滤) Refresh Token 自动续期 返回新Token

OpenClaw AI Agent 详解

Skill 详解

mx-stock-selector — 筛选分析引擎 (v3.1.0)
  • 读取数据引擎准备的股票数据文件
  • 按策略提示词逐只分析
  • 推断资金流向特征:建仓 / 拉升 / 洗盘 / 出货
  • 输出 3-5 只关注标的 + 数据参考信息

分析维度:

维度 分析内容
技术面 K线形态、均线系统、MACD/KDJ/RSI、布林带、量价配合
基本面 PE/PB/PS 估值、市值、行业地位
资金面 主力净流入、超大单动向、北向资金、融资融券
主力意图 建仓信号、拉升前兆、洗盘特征、出货迹象

输出格式:

{
  "stocks": [
    {
      "code": "000001",
      "name": "平安银行",
      "confidence": "高",
      "trend": "上行趋势",
      "reference_price": "5日均线附近",
      "risk_threshold": 12.50,
      "focus_range": 15.20,
      "data_weight": "30%",
      "observation_period": "3-5天"
    }
  ]
}
mx-strategy-creator — 策略自动创建
  • 自然语言需求 → 结构化策略配置
  • 自动推断策略类型(动量/价值/技术/成长/综合)
  • 生成 condition_expr(71 字段 + 39 函数)
  • 生成 analysis_prompt(四步推理链)
mx-strategy-optimizer — 策略自动优化
  • 分析回测/实盘表现数据
  • 根据命中率/收益率/初筛数量制定优化方案
  • 迭代优化 condition_expr 和 analysis_prompt
  • 支持策略优化和每日复盘两种场景

数据引擎

数据源

数据 来源 更新频率
日线行情 腾讯财经 每日收盘后
技术指标 本地计算 行情更新后
市场资金流向 东方财富 每日收盘后
北向资金 东方财富 每日收盘后
融资融券 上交所 每日收盘后

数据量级

记录数(估算) 说明
stock_basic 5,000+ 全 A 股
daily_quote 1,200 万+ 5000 股 × 2500 交易日
technical_indicator 1,200 万+ 与日线行情同步
market_money_flow 2,500+ 每日一条
hsgt_north_flow 2,500+ 每日一条

安全架构

Layer 4: 并发与恢复 Layer 3: 数据安全 Layer 2: 认证鉴权 Layer 1: 传输安全 客户端 Layer 4: 并发与恢复 Layer 3: 数据安全 Layer 2: 认证鉴权 Layer 1: 传输安全 客户端 alt [认证通过] [认证失败] alt [运行时异常] HTTPS 请求 SSL/TLS 加密 · 证书校验 · HSTS 强制 解密后进入认证层 JWT 双Token验证 (2h+7d) BCrypt 密码校验 (强度因子10) 进入数据层 401 Unauthorized 数据隔离 (userId 强制过滤) SQL注入防护 ( XSS防护 (输入过滤+输出编码) 环境变量管理 (代码零敏感信息) 业务操作 乐观锁 @Version (并发安全) 逻辑删除 @TableLogic (数据可恢复) 事务回滚 @Transactional (异常回滚) 降级策略 (AI超时/数据源切换)

安全措施详解:

措施 说明
JWT 双 Token Access Token 2h 过期 + Refresh Token 7天,无状态认证
BCrypt 加密 密码强度因子 10,单次哈希耗时 ~100ms
数据隔离 所有查询强制 userId 过滤,跨用户数据不可见
参数化查询 MyBatis-Plus #{} 占位符,杜绝 SQL 注入
环境变量 所有密钥/密码通过环境变量注入,代码零敏感信息
乐观锁 @Version 注解,并发更新自动重试
逻辑删除 @TableLogic 注解,删除数据可恢复
验证码防刷 60s 发送间隔 + 5次验证上限 + 15分钟锁定

CI/CD 部署架构

生产服务器 SSH 部署 SCP 上传 GitHub Actions GitHub 开发者 生产服务器 SSH 部署 SCP 上传 GitHub Actions GitHub 开发者 alt [健康检查通过] [健康检查失败] 生产服务器运行服务 AI Stock Server :8080 OpenClaw Gateway :18789 MySQL 8.0 :3306 Redis 7.x :6379 Python 数据引擎 :5000 git push master 触发 Pipeline (ai-stock-server/** 变更) Step 1: Checkout 拉取代码 Step 2: JDK 17 环境配置 Step 3: Maven 编译打包 (mvn clean package -DskipTests) Step 4: SCP 上传 JAR 到服务器 上传 ai-stock-server.jar Step 5: SSH 远程部署 注入环境变量 (DB_USER/DB_PASS/JWT_SECRET/...) 停止旧进程 → 启动新进程 Step 6: Health Check :8080 ✅ 部署成功 通知: 部署成功 ❌ 部署失败 通知: 部署失败 + 日志

部署说明:

  • 部署耗时: ~3分钟 (编译2m + 上传30s + 重启30s)
  • 前端OTA: npx eas update --channel preview --message "更新说明" → 用户自动检测更新

项目数据

指标 数值
后端代码量 30,000+ 行 Java
前端代码量 15,000+ 行 TypeScript
API 接口数 80+
数据库表数 22 张
AI Skill 数 4 个
前端页面数 16 个
业务模块数 7 个
公共模块数 4 个
筛选字段数 71 个
语义函数数 39 个

技术团队

武汉市无边界科技

AI Stock 是无边界科技在 AI + 金融数据领域的探索性产品,致力于将大语言模型的推理能力与专业金融数据分析深度融合,打造人人可用的智能股票数据分析平台。


免责声明

重要提示: 本系统为股票数据分析工具,不构成任何形式的证券投资咨询或投资建议。本系统提供的所有筛选结果、数据分析、参考价位等信息仅供学习研究参考,不作为买卖证券的依据。系统中的历史回测数据不代表未来表现,不保证投资收益。使用者应基于自身判断做出投资决策,并自行承担投资风险。股市有风险,投资需谨慎。

根据《中华人民共和国证券法》及相关法规,未经中国证监会批准,任何机构和个人不得从事证券投资咨询业务。本系统不提供证券投资咨询服务。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐