← 返回首页

qstock_ai — 从 38 分到 SaaS 平台

··4 分钟·
#量化交易#Python#Agent#SaaS

起点

几个月前在 openclaw 上看到这个项目。评分 38,状态栏写着"信号不稳定、回撤控制失败、Dashboard 空白"。

我不是金融科班出身。量化交易对我来说是一个需要被工程化的问题,不是一个需要被预测的市场。

两轮重构

第一轮(38 → 78 分):

  • 信号幂等:同一个输入多次调用返回完全相同的结果,用确定性 hash 替代随机种子
  • Rank IC 权重:根据各因子近 20 天的滚动 IC 动态分配权重,不再等权合并
  • 风控系统:硬止损 -3%,日内回撤锁 -5%,连续亏损熔断 3 次,流动性过滤
  • LLM 辩论场:两个 LLM 分别做多空分析,第三个做裁判
  • 绩效归因:拆成行业贡献、风格暴露、选股 alpha

第二轮(78 → 82 分):

  • Agent 从 12 个精简到 7 个——职责清晰,不再互相覆盖
  • Web Dashboard 完全重写——后端字段名对齐
  • 87 个 P0 测试覆盖核心路径

现在的架构

7 个 Agent,各司其职:

Agent职责
data_agent数据采集(iTick + akshare + baostock)
technical_agent技术分析(MACD / KDJ / RSI / 均线)
fundamental_agent基本面(财报 / 估值)
news_agent新闻情绪 NLP
strategy_agent策略决策 + LLM 辩论场
ml_selector_agentML 多因子选股(DeepSeek 集成)
execution_agent交易执行(T+1 约束,模拟盘)

1 个 Commander 协调全部 Agent,1 个 Web Dashboard 实时刷新。说"开始交易",一句话启动。

SaaS 化

5 月 16 日做了大更新:

  • 完整的多租户系统(数据隔离、认证、权限)
  • FastAPI 网关 + 管理后台
  • 4 级订阅计费(免费 / 基础 / 专业 / 企业)
  • 合规中间件(禁止买卖建议、风险告知书、输出审查)

已经从单机量化工具变成了一个可以对外提供服务的平台。

数字

123 个 .py 文件,约 21,000 行代码。87 个测试(84 通过,3 在修)。

学到了什么

  1. 信号幂等比策略更重要。不可复现的策略没法衡量改进
  2. 风控要硬。"建议减仓"等于没有
  3. Agent 不是越多越好。12 个互相覆盖,7 个更稳定
  4. 量化系统本质是工程问题。数据管道、信号稳定性、回测准确性——每一个都是可以修的 bug

后续

qstock_ai 在 SaaS 化完成后阶段性收官,之后没有继续投入——不是失败了,是它的使命完成了:验证"量化系统本质是工程问题"这个判断。87 个测试、7 个 Agent、多租户平台都留着,随时可以重新捡起来。

学到的四条(信号幂等、风控要硬、Agent 不是越多越好、工程问题)到现在还在用。

后续

qstock_ai 在 SaaS 化完成后阶段性收官,之后没有继续投入——不是失败了,是它的使命完成了:验证"量化系统本质是工程问题"这个判断。87 个测试、7 个 Agent、多租户平台都留着,随时可以重新捡起来。

学到的四条(信号幂等、风控要硬、Agent 不是越多越好、工程问题)到现在还在用。