Atlas Alpha
不回答问题,它发现问题。
一个自主金融研究系统,持续监控市场异常——价格与基本面背离、资金流向异动、投资假设冲突——并在人类提出第一个问题之前,主动发起结构化调查。
这不是聊天机器人。这是面向股票研究的异常检测与调查引擎。
| 传统金融 AI | Atlas |
|---|---|
| "帮我分析一下这只股票" | "我发现宁德时代与行业出现 -4.8% 背离,这里有 5 个假设" |
| LLM 包办一切 | LLM 负责推理;Python 负责计算;规则负责检测 |
| 黑盒置信度 | 可审计的投资假设树 + 证据链 |
| 没有时间纪律 | 严格的 Point-in-Time 时点隔离 |
| 单轮问答 | 多步骤自主调查链路 |
# 1. 克隆
git clone https://github.com/你的用户名/atlas-alpha.git
cd atlas-alpha
# 2. 安装依赖
pip install -e .
# 3. 设置 OpenAI API Key
export OPENAI_API_KEY="sk-..."
# 4. 运行演示(使用真实行情数据 + 模拟异常)
python demo.py你会看到:
- 背离引擎 用统计方法检测异常(Z-score,零 LLM 参与)
- 调查 Agent 生成 5 个竞争假设
- 审查 Agent 主动攻击结论
- 假设引擎 将冲击映射到现有投资观点
- 人工审批门 在修改正式观点前暂停等待确认
Atlas 刻意不是"前端 + Agent + 数据库"的简单三层,而是 6 层:
┌─────────────────────────────────────────┐
│ Atlas Web(开发中) │
│ 市场雷达 | 异常调查 | 假设地图 | Agent运维 │
├─────────────────────────────────────────┤
│ Agent 编排层 │
│ 调度器 → 调查 Agent → 审查 Agent │
├─────────────────────────────────────────┤
│ 智能引擎(确定性计算) │
│ 市场状态 | 背离检测 | 资金行为 │
│ 投资假设 | 情景推演 | 组合风险 │
├─────────────────────────────────────────┤
│ 技能库 │
│ 技术分析 | 资金流向 | 事件研究 | 估值 │
├─────────────────────────────────────────┤
│ 工具层(MCP 兼容) │
│ 行情数据 | 财务数据库 | 搜索 │
├─────────────────────────────────────────┤
│ 数据层 │
│ 价格 | 财务 | 公告 | 新闻 | 资金流向 │
└─────────────────────────────────────────┘
核心设计原则:LLM 不做数学。
MACD、Z-score、波动率、相关性、DCF——全部由确定性 Python 计算。LLM 只负责:理解上下文、提出解释、组织证据、判断哪些值得深入调查。
用纯统计模型检测 6 类市场异常,零 LLM 幻觉:
- 个股 vs 行业背离
- 个股 vs 大盘背离
- 价格 vs 盈利预期背离
- 价格 vs 基本面背离
- 价格 vs 资金流向背离
- 当前状态 vs 历史分布背离
每个信号携带 severity、z_score 和原始 metrics——完全可审计。
一只股票不是一篇研报,而是一棵被监控的投资假设树:
宁德时代
├── H1: 欧洲销量保持两位数增长(置信度:78)
├── H2: 海外毛利率保持 >20%(置信度:81)
├── H3: 储能成为第二增长曲线(置信度:72)
└── H4: 市占率保持稳定(置信度:84)
每个节点包含:支持证据、反对证据、关键变量、推翻条件。Agent 知道今天的新信息该影响哪个判断。
收到背离信号后,提出 5 个竞争假设,将证据映射到每个假设。使用结构化输出(JSON mode)保证可靠性。
刻意攻击调查报告,检查:
- 数字错误
- 证据冲突
- 时间泄漏(使用了未来信息)
- 确认偏误
判断异常是否值得调查,规划步骤,在假设置信度变化时路由到人工审批。
每条证据携带 4 个时间戳:
{
"source": "公司公告",
"published_at": "2025-01-15T09:00:00Z",
"available_at": "2025-01-15T09:30:00Z",
"retrieved_at": "2025-01-15T10:00:00Z",
"content_hash": "sha256:..."
}回测严格执行:evidence.available_at <= simulation_date。这是金融 AI 最常见的失败模式——不小心用了未来信息——的根本防御。
两处必须人工确认:
- 修改正式盈利假设(如 2027E 欧洲增速从 15% 下调到 8%)
- 改变投资观点(如"看多"→"中性")
AI 提出建议,人类做出决定。这是 B 端产品逻辑,不是玩具逻辑。
- 背离引擎(6 类异常,统计方法)
- 假设树与置信度追踪
- 调查 Agent(5 假设生成)
- 审查 Agent(对抗性验证)
- Point-in-Time 证据层
- 示例数据 + 演示脚本
- Web UI(市场雷达 + 异常调查页)
- 实时行情接入(MCP 协议)
- 组合引擎(假设暴露分析)
- 情景实验室(敏感性建模)
| 层级 | 技术 |
|---|---|
| 引擎 | Python, pandas, numpy, scipy |
| Agent | OpenAI API(JSON mode, 结构化输出) |
| 模型 | Pydantic(严格 Schema 校验) |
| 数据 | yfinance(演示), MCP 兼容架构 |
| 测试 | pytest |
刻意轻量。 没有 Kafka,没有 Spark,没有微服务。研究演示项目应该 60 秒内克隆并运行。
MIT
Atlas V1 核心命题: 系统不替代研究员。它持续观察基本面、预期、价格和资金流向之间的关系——主动发现哪里开始不对劲,自主产生研究问题、验证解释,并将变化传导到投资观点和组合风险。