小森信息系统总览
一、项目简介
小森信息系统 是一套面向 A 股的反弹策略量化系统,专注于「选股 → ML 评分 → 个股深度分析 → 报告 → 同步」的日常闭环,覆盖 沪市主板 / 科创板 / 深市主板 / 创业板 四个市场。
系统以真实全量行情数据为基础,结合多种机器学习算法与因子组合,对候选标的进行多维度评估,并通过自动化工作流完成每日的选股、分析与报告生成。
在线访问
- 项目网址:https://www.astock.com.cn/
- 每日持仓列表:https://www.astock.com.cn/tracker/positions(当前策略空仓,暂无持仓展示)
- 历史盈利记录:https://www.astock.com.cn/tracker/history
核心原则
- 数据诚实性:所有结论均基于全量真实数据,严禁以抽样代替全量验证。
- 系统边界清晰:各子系统独立运行,跨系统仅做只读引用,避免耦合修改。
二、数据基础
系统使用本地 CSV 格式的 K 线数据作为唯一真相源,涵盖日线与分钟线两类数据,按市场分目录存储。
| 数据类型 | 覆盖市场 | 说明 |
|---|---|---|
| 日线 K 线 | 沪市主板、科创板、深市主板、创业板 | 用于中长期趋势判断与策略回测 |
| 分钟线 K 线 | 沪市主板、科创板、深市主板、创业板 | 用于日内高频特征提取与 ML 评分 |
数据列格式统一为 date, open, high, low, close, volume, amount,支持中英文列名自动识别。代码层通过统一的数据路由模块按股票代码前缀自动分发至对应市场子目录,确保数据加载的一致性与可审计性。
三、子系统一览
系统由多个独立子系统组成,各司其职,协同完成从选股到卖出的完整链路。
| 子系统 | 功能定位 |
|---|---|
| 反弹策略引擎 | 负责策略回测、算法评估与参数优化,输出各市场最优算法配置 |
| 分钟线 ML 分析 | 基于多间隔重采样与多模型集成,对持仓标的进行买入成功率评分 |
| 卖出跟踪系统 | 整合实时行情接口,按四板差异化参数执行四种卖出条件预警 |
| 个股多维分析 | 联合日线与分钟线,对每只持仓股票进行全量算法/因子组合评估 |
| 盘中时段分析 | 统计历史买卖时段胜率,辅助智能盘中提醒 |
| 持仓管理 | JSON 格式持仓增删改查与交易历史记录 |
| 实时行情工具 | 封装通达信行情接口,提供价格查询与网络诊断能力 |
四、系统运行时架构
4.1 架构来源
以下架构信息由 Archify 基于项目代码仓库的真实源码分析生成,每个模块均对应真实存在的源码文件,图与代码之间具备明确映射关系,可解释、可验证。
- 完整交互式架构图(Archify HTML 成品):打开架构图
交互式架构图说明
打开上方链接可查看完整的交互式架构图,支持节点搜索、路线追踪、语义视图、主题切换、缩放平移与演示播放等能力。
4.2 架构总览
4.3 核心组件
| 组件 | 类型 | 职责 | 对应源码 |
|---|---|---|---|
| 浏览器 / 移动端 | 外部 | 界面客户端 | frontend/src/App.vue |
| Vue 3 前端 | 前端 | 界面与路由 | frontend/src/main.ts、frontend/src/App.vue |
| FastAPI 后端 | 后端 | REST API 与应用入口 | app/main.py、app/routers/api_v1.py |
| 数据同步服务 | 后端 | GitHub 拉取 + 本地刷新 | app/services/data_sync_service.py、app/services/github_service.py |
| 价格监控服务 | 后端 | 价格检查 + 告警 | app/services/monitor_service.py、app/services/price_service.py |
| GitHub 数据源 | 外部 | 持仓数据上游 | app/services/github_service.py |
| 本地数据与快照 | 数据库 | 缓存 + 收盘快照 | app/services/cache.py、config.yaml |
| 调度器 / 定时任务 | 后端 | 交易日自动化 | app/services/scheduler_service.py |
4.4 数据流与连接
| 连接 | 方向 | 说明 |
|---|---|---|
| HTTPS | 浏览器 / 移动端 → Vue 3 前端 | 用户访问入口,重点链路 |
| REST API | Vue 3 前端 → FastAPI 后端 | 前端调用后端接口 |
| 同步触发 | FastAPI 后端 → 数据同步服务 | 触发数据同步 |
| 拉取持仓 | 数据同步服务 → GitHub 数据源 | 从上游获取持仓数据 |
| 价格检查 | FastAPI 后端 → 价格监控服务 | 发起价格检查任务 |
| 快照 + 缓存 | 价格监控服务 → 本地数据与快照 | 写入快照与缓存 |
| 心跳 | 调度器 → FastAPI 后端 | 周期性健康探测 |
| 每日重置 | 调度器 → 数据同步服务 | 交易日结束后的数据重置 |
4.5 三大运行视角
用户入口
- 浏览器加载 Vue 前端并调用 API 接口。
- 前端请求以 FastAPI 后端为中心,覆盖持仓、告警与监控。
数据路径
- GitHub 数据源是应用的上游持仓数据源。
- 后端服务刷新本地状态并持久化收盘快照,实现低延迟读取。
运行节奏
- 调度任务将应用与交易日窗口、每日重置行为对齐。
- 同步与监控服务协同工作,保持系统数据新鲜、运行稳健。
架构图包含两个视图:主运行时流程(用户请求流经 Vue 前端、FastAPI 后端、GitHub 同步输入与本地状态快照)与调度与维护(调度驱动的任务让价格检查、GitHub 刷新与本地快照维护与市场节奏对齐)。
五、算法与因子体系
5.1 日线策略算法
日线链路采用多算法融合架构,候选算法包括:
- 动量类(Momentum):基于均线交叉、成交量趋势、多周期动量等特征
- 价量类(PriceVolume):基于量比、OBV 变化率、振幅均值、上涨量占比等特征
- 情绪类(Sentiment):基于下跌天数占比、下影线比例、恢复速率、缺口频率等行为金融信号
融合方式支持单算法、双算法加权、三算法投票等多种组合,最终通过全量回测验证选出各市场最优配置。
5.2 分钟线 ML 模型
分钟线分析系统使用 8 种 ML 模型 进行加权集成:
| 模型类型 | 具体模型 |
|---|---|
| 树模型 | LightGBM、XGBoost、CatBoost、RandomForest、ExtraTrees |
| 线性模型 | Logistic Regression、Ridge Regression |
| SVM | Linear SVC |
通过对 1 分钟原始 K 线进行多间隔重采样(2/3/5/10/15/20/30/60/120 分钟等),生成丰富的时序特征,再由集成模型输出综合评分。
5.3 特征工程
系统构建了多层次特征体系:
- 基础特征:价格、成交量、技术指标、波动率、日内模式、多时间尺度等 6 组
- TA-Lib 标准特征:常用技术分析指标
- 衍生特征:价格形态、成交量异动、波动率结构、趋势强度、动量衰减、统计分布等 7 大类
三类因子(动量 / 价量 / 情绪)分别与多种 ML 算法交叉组合,形成完整的测试矩阵,用于筛选最优因子×算法配对。
5.4 验证方法论
所有策略与参数均经过严格的量化验证:
- 全量数据:覆盖四市场全部上市股票,无任何抽样
- 时序分割:训练集与验证集严格按时间切分,避免未来信息泄露
- 贝叶斯验证:采用 Normal-Normal 共轭后验对关键参数进行 trade-level 显著性检验,设置多档准入阈值确保结论稳健
六、上线时间与稳定性
系统自 2025-12-19 首个版本上线以来,已持续运行约 255 天,经历了 8 个大版本迭代。当前服务器主机连续运行 106 天无重启,后端容器连续运行 32 天零崩溃重启,近 7 天日志 0 条 ERROR。
6.1 版本演进
| 时间 | 版本/事件 |
|---|---|
| 2025-12-19 | v1.1.0 上线(首个版本记录) |
| 2025-12-19 ~ 2025-12-30 | v1.1.1 ~ v1.2.8 快速迭代(指数计算、快照机制、服务器优化) |
| 2026-01-05 ~ 2026-04-30 | v1.3.0 ~ v1.4.0(独立价格刷新、批量竞速、热挂载部署) |
| 2026-05-16 | Nginx 安全升级(漏洞当日修复) |
| 2026-08-31 | 财经资讯源修复(当日) |
6.2 关键稳定性指标
| 指标 | 数值 | 评价 |
|---|---|---|
| 项目上线时长 | 约 255 天 | 长期稳定 |
| 服务器主机连续运行 | 106 天(无重启) | 长期稳定 |
| 后端容器连续运行 | 32 天(0 次崩溃重启) | 稳定 |
| 近 7 天日志 ERROR | 0 条 / 33196 行 | 健康 |
| 服务响应时间 | 后端 1.7ms / 新闻 123ms / 首页 88ms | 良好 |
6.3 稳定性保障机制
- 多级数据降级:行情接口多服务器竞速 → 本地缓存 → 收盘快照,任一环节故障自动降级
- 多日快照持久化:股票 5 日、指数 3 日,休市期间仍有数据可展示
- 双向同步容错:本地优先策略,远端异常不影响已有数据展示
- 缓存自愈:抓取失败自动回退缓存,避免页面白屏
- 容器健康检查:Docker 健康探针 + 自动重启策略,异常退出自动拉起
- 智能增量检查:盘中时段每小时检查远端更新,减少无效请求
6.4 历史故障处理
运行 255 天内记录在案的主要故障均由外部依赖变化引起(如第三方接口调整、安全漏洞修复等),全部当日定位并修复,未造成长时间服务中断。
七、日常工作流
系统提供一键自动化脚本,依次执行选股扫描、持仓 ML 分析、个股深度分析、报告生成与同步,也可通过定时任务在工作日收盘后自动触发。
手动工作流分为 6 步:参数优化 → 全市场选股 → ML 评分过滤 → 时段分析 → 本地导出 → 生成自选股文件,每一步均可独立运行与调试。
八、安全与合规
- 数据安全:生产仓库推送需显式确认,默认仅做本地导出
- 数据诚实性:所有基准测试必须使用全量股票与完整日期区间,资源不足时须上报决策分批执行
- 系统边界:跨系统定制须在调用方内部实现,禁止修改被调用方代码
本文档为小森信息系统的公开介绍,聚焦系统架构、算法体系与验证方法论。具体策略参数与回测结果属于内部研究资料,不在此展示。
