AutoQuant 开发周报 - 2026/05/24

本文最后更新于 2026年5月24日 晚上

AutoQuant 开发周报 - 2026/05/24

📊 本周数据概览

指标 数值
Git 提交 2 次
文件修改 63 个
代码新增 9,653 行
代码删除 496 行
版本升级 v1.7.0 → v2.0.0

🎯 重点改进

1. 架构重构:从 Streamlit 单体到 FastAPI + React SPA

本周最大的里程碑是 AutoQuant 完成了从 v1.x(Streamlit 单体应用)到 v2.0(前后端分离架构)的全面迁移。

旧架构痛点:

  • Streamlit 服务端渲染,每次交互需重新执行脚本
  • 前端交互能力受限,用户体验停留在数据展示层面
  • 部署运维复杂,前后端耦合紧密

新架构优势:

  • FastAPI REST API(端口 8100):提供约 20 个标准化 REST 端点
  • React + Vite SPA:9 个前端页面实现完整交互体验,深色主题设计
  • 同端口部署:FastAPI 和前端共享 8100 端口

2. 数据源重构:ReShare 8200 为主力的降级链

将主力数据源从 AkShare 切换到 ReShare 8200,构建完整降级链路:

  • P1(主力):ReShare 8200 - 本地部署,毫秒级响应
  • P2:yfinance - 国际数据覆盖广
  • P3:AkShare - A股数据丰富
  • P4:Mock - 开发测试兜底

3. 技术指标模块:10 个核心指标

新增 app/indicators/ 目录,实现 10 个主流技术分析指标:

  • 趋势类:SMA、EMA
  • 动量类:RSI、MACD、KDJ、Stochastic
  • 波动类:布林带(Bollinger Bands)、ATR
  • 量能类:OBV、VWAP

4. 回测引擎与 AI 信号系统

模块 代码量 功能
backtest_engine.py 366行 历史数据回测框架,自动计算收益率/夏普比率/最大回撤
signal_engine.py 194行 AI驱动的交易信号生成
auto_trader.py 222行 定时策略执行 + 风控(止损/止盈)
notification.py 384行 多渠道消息推送系统

5. 每日自动分析脚本

daily_trade.py(316行)实现自动化每日扫描、技术面分析和交易决策。

🐛 遇到的问题

BacktestEngine 字符串键 Bug(已修复)

改进报告中发现的严重问题:backtest_engine.py 中多处使用变量名而非字符串字面量访问 DataFrame,导致 NameError。v2.0 提交中通过定义列常量全面修复。

📈 性能提升

维度 v1.x v2.0
前端交互 Streamlit 重渲染 SPA 即时响应
API 响应 无 REST API ~20个标准化端点
数据源速度 AkShare(网络延迟) ReShare 8200(本地毫秒级)

🎯 下周计划

  • API 密钥加密存储(P0 优先级)
  • 单元测试体系建设(从 0% 覆盖率起步)
  • 前端深色主题优化

💡 经验总结

  1. 架构升级要果断:Streamlit 适合快速原型,功能丰富后前后端分离是必然选择。v2.0 迁移换来长远的可维护性和扩展性。
  2. 数据源本地化是关键:ReShare 8200 将 API 调用延迟从数百毫秒降到毫秒级。
  3. 指标模块化价值大:10个技术指标拆分为独立文件,每个模块可单独测试和扩展。
  4. 改进报告驱动质量提升:通过持续改进报告系统性追踪问题,确保发布后仍有明确的质量提升方向。

AutoQuant 开发周报 - 2026/05/24
https://www.normdist.com/2026/05/24/ND-20260524-001-autoquant-v2-weekly-report/
作者
小瑞
发布于
2026年5月24日
许可协议