一图看懂AI Market Maker:项目代码结构与模块职责全梳理
【免费下载链接】ai-market-makerAgentic AI Hedge Fund OS (AIMM)项目地址: https://gitcode.com/gh_mirrors/ai/ai-market-maker
AI Market Maker(AIMM)是一个开源的 AI 多智能体交易系统,让一群"AI 交易台"像对冲基金一样协作完成行情扫描、信号合成、组合管理与风控否决。本文带你一图看懂它的代码结构与模块职责,帮你 10 分钟建立完整的项目地图 🗺️。
为什么先读懂 AI Market Maker 的代码结构?
AIMM 的设计目标不是"一个交易机器人",而是一家小型专业交易公司:
- 多个专职 AI Agent(交易台)并行分析市场
- LangGraph 编排层把它们串成完整工作流
- Risk Guard(风控守卫)拥有最终一票否决权
- 量化级纪律:中心化策略配置、买入持有基准、全链路可追溯
理解了"谁负责什么",你就能快速定位任何功能在代码里的位置。
顶层目录结构一览 📁
项目根目录由 Python 核心 + 两个前端 + 配置文档组成,各目录职责如下:
| 目录 / 文件 | 职责 | 关键词 |
|---|---|---|
| src/ | 核心 Python 逻辑:Agent、回测、API、OMS | 大脑 |
| web/ | Next.js 仪表盘(Nexus 控制台、回测、拓扑图) | 展示层 v1 |
| web-v2/ | Vite + React 新版门户 UI | 展示层 v2 |
| config/ | JSON 策略与默认配置(策略、权重、运行设置) | 单一事实源 |
| docs/ | 工作流、配置、策略 schema、各角色人设文档 | 官方文档 |
| openclaw/ | OpenClaw 技能包(SKILL.md + 运行脚本) | 技能封装 |
| tests/ | pytest 测试套件(单元 + E2E) | 质量保障 |
| alembic/ | 数据库迁移脚本 | 数据层 |
| scripts/ | 平台 worker、榜单发布、筛选器等运维脚本 | 工具 |
配置哲学:策略与交易参数放在
config/下的 JSON 文件(如 config/policy.default.json),密钥只放.env,详见 docs/configuration.md。
src/agents/:9+ 个 AI 交易台(核心看点)⭐
这是 AIMM 最有特色的部分。每个 Agent 都是一个"专职研究员",统一遵循 src/agents/base_agent.py 定义的输入 → 处理 → 输出 → 反馈契约:
| Agent 文件 | 角色 | 分析什么 |
|---|---|---|
| market_scan.py | 市场扫描 | 新币、动量、标的池覆盖 |
| monetary_sentinel.py | 宏观哨兵(1.1) | 宏观周期 + 流动性评分 |
| news_narrative_miner.py | 新闻叙事(1.2) | 事件影响 + 叙事新鲜度 |
| pattern_recognition_bot.py | 形态识别(2.1) | 图表几何 + 形态质量 |
| statistical_alpha_engine.py | 统计 Alpha(2.2) | 横截面 z-score 信号 |
| technical_ta_engine.py | 技术分析(2.3) | RSI、MACD、ATR 等 TA-Lib 指标 |
| retail_hype_tracker.py | 散户情绪(3.1) | FOMO 指数 + 背离预警 |
| pro_bias_analyst.py | 机构偏好(3.2) | ETF 流向 + 资金费率 + OI 变化 |
| whale_behavior_analyst.py | 巨鲸行为(4.1) | 砸盘概率 + 筹码集中度(默认关闭) |
| liquidity_order_flow.py | 流动性订单流(4.2) | 滑点风险 + 盘口失衡 |
治理与执行类 Agent 单独放在 src/agents/governance/ 下:
- Policy Orchestrator— 策略编排,可按权重开关各 Agent
- Risk Guard— 硬性风控层,任何交易执行前都可一票否决
- Portfolio Management— 多资产配置与提案生成
每个 Agent 的详细"人设说明书"见 docs/personas/ 下的 15 篇角色文档(如 14_risk_guard.md)。
src/workflow/:LangGraph 编排层如何串联全流程 🕸️
docs/langgraph-workflow.md 定义了完整的状态机,主流程如下:
policy_orchestrator → market_scan → [9 个 Tier-0 Agent 并行] → risk → desk_debate → signal_arbitrator → portfolio_proposal → risk_guard → portfolio_execute → auditdocs/personas/README.md 用一张表总结了各节点职责与默认权重(例如 2.3 技术分析权重 0.30 最高,1.1 宏观仅 0.05)。
src/workflow/ 目录中的关键模块:
| 模块 | 职责 |
|---|---|
| weight_assigner.py | 把 9 个 Agent 的因子信号归一化到 [0,1],加权合成全局得分 |
| weighted_arbitrator.py | 默认仲裁引擎:确定性数学,零 LLM 成本 |
| desk_debate.py | 多空证据线"辩论"环节 |
| routing.py | 条件路由:所有路径都必须汇聚到 Risk Guard |
| execution_intent.py | 从仲裁结果派生交易意图 |
决策阈值(BUY / SELL / HOLD)与对齐门控逻辑详见 docs/weighted-arbitrator.md。
src/backtest/:量化回测引擎 ⏱️
README 强调:单次盈利回测不等于有优势,每个回测自动附带买入持有基准对比、超额收益、完整交易账本与强制风控离场记录。
src/backtest/ 目录结构清晰分层:
| 子模块 / 文件 | 职责 |
|---|---|
| engine.py / driver.py | 回测核心引擎与驱动循环 |
| loaders/ | 数据加载器:CCXT、YFinance、Futu、注册表 |
| engines/perp.py | 永续合约回测引擎 |
| metrics.py / benchmark.py | 绩效指标(Sharpe 等)与买入持有基准 |
| trade_book.py | 交易账本 JSONL 落盘 |
| run_demo.py | 多币种 Demo 回测入口(无需 API key) |
| langgraph_adapter.py | 让回测复用与实盘相同的 LangGraph 工作流 |
运行入口 src/main.py 是整条 LangGraph 工作流的组装点:Agent 注册、状态图构建、路由与执行全部在此编排。
src/api/ 与 web/:API 层与仪表盘 🖥️
README 提到"现代 Web 仪表盘用于遥测与追踪",其实现分两层:
后端— src/api/ 是 FastAPI 路由集合,按领域拆分:
| 路由文件 | 领域 |
|---|---|
| main.py / flow_stream_server.py | 应用入口与 WebSocket 流式推送 |
| backtest_routes.py / signal_routes.py | 回测任务与信号发布 |
| leadpage_routes.py / provider_admin_routes.py | 公开榜单页与 Provider 管理 |
| auth_routes.py / wallet_auth.py | 账号登录与钱包认证 |
| futu 相关路由 | 富途行情/模拟下单(/futu 页面) |
前端— web/ 是 Next.js 仪表盘,核心页面包括:
/console— Nexus 控制台:实时 Agent 思考流、拓扑图、提示词编辑/backtests— 回测结果(资金曲线 + 交易明细)/leaderboard— 榜单与信号/futu— 港股/美股 K 线与模拟盘- web-v2/ 为 Vite 版新门户,含 MIGRATION_TODO.md 记录迁移进度
支撑模块速查表 🔩
| 目录 | 一句话职责 |
|---|---|
| src/oms/ | 订单管理系统(OMS):订单状态机、幂等去重、可选 SQLite 持久化账本 |
| src/adapters/ | 交易所适配器:纸面交易 Nexus、Hyperliquid(dry-run)、Futu |
| src/llm/ | LLM 客户端、结构化输出解析、决策缓存、工具注册表 |
| src/schemas/ | 数据契约:Tier-0 JSON 契约、交易意图、Agent 追踪结构 |
| src/nexus_data/ | Nexus 数据源客户端(新闻、KOL、OI、资金费率) |
| src/tier1/ | Tier-1 信号参数解析与指标目录(组合桥接层) |
| src/tools/ | 通用工具:技术指标计算、情绪分析工具、API 封装 |
| src/memory/ / src/harness/ | 策略记忆与运行记忆 |
| src/telemetry/ / src/flow_log.py | 日志发布与事件流水账本 |
| src/storage/ | 榜单结果本地数据库 |
| src/config/ | 运行时配置加载:策略、运行模式、LLM 模式、OMS 参数 |
三种运行模式:同一套工作流 ⚙️
docs/run-modes.md 说明backtest/paper/live三种模式共用同一 LangGraph 工作流,仅由MODE环境变量切换:
| 模式 | 执行方式 | 安全机制 |
|---|---|---|
backtest | 纯模拟成交 | 无需真实密钥 |
paper(默认) | Binance 测试网或模拟 | 开发测试推荐 |
live | 真实下单 | 双闸门:AI_MARKET_MAKER_ALLOW_LIVE=1才能启动 |
执行层还叠加了多层保险:OMS 幂等键、dry-run 守卫、fail-closed(不支持的路径在启动时直接报错而非下单时出错)。
3 步上手阅读代码的路线 🚀
- 从图开始:读 docs/langgraph-workflow.md + docs/personas/README.md,掌握节点顺序与权重表
- 走一遍主干:打开 src/main.py,跟随 import 顺序看 StateGraph 如何把各节点连起来
- 深入一个交易台:任选 src/agents/ 下的一个 Agent,对照 docs/personas/ 里对应的人设文档,看它如何产出标准 Tier-0 契约
本地获取代码:
git clone https://gitcode.com/gh_mirrors/ai/ai-market-maker cd ai-market-maker && uv sync --extra dev💡 更多资料:docs/weight-assigner.md(权重合成数学细节)、docs/policy-schema.md(策略字段全表)、openclaw/SKILL.md(OpenClaw 技能集成)、PRODUCTION.md(生产部署)。
总结 📌
AI Market Maker 的代码结构可以浓缩为一张"公司组织图":
- 研究员(
src/agents/):9 个专职感知 Agent 并行输出标准化契约 - 决策会(
src/workflow/):加权合成 + 桌面辩论,全部路径必经风控 - 风控官(
Risk Guard):拥有真实的一票否决权 - 交易员(
src/oms/+src/adapters/):多层保险下的订单执行 - 审计室(
src/telemetry/+ 榜单存储):全链路追踪可回放
这种"分层职责 + 硬性风控"的架构,是它区别于普通交易机器人的核心,也是阅读这个项目最值得借鉴的设计思路 ✅
【免费下载链接】ai-market-makerAgentic AI Hedge Fund OS (AIMM)项目地址: https://gitcode.com/gh_mirrors/ai/ai-market-maker
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考