关于 Tradememory Protocol
Tradememory Protocol 是面向 AI 交易 Agent 的本地优先记忆与风控 MCP 服务,可记录和检索交易、分析行为并生成可验证的审计链。它也可通过代理在订单到达 Alpaca 前按自定义策略评估或拒绝订单。
主要功能
- 01记录并按结果检索交易记忆
- 02分析行为模式与策略变化
- 03交易前风险检查与计划管理
- 04订单代理按策略放行或拒绝
- 05哈希链与 Merkle 根审计
适用场景
- 01为交易 Agent 提供历史亏损参考
- 02在订单送达经纪商前执行风控规则
- 03导出并验证交易决策记录
MCP 相关
MCP 服务向客户端提供交易记录、回忆、行为分析、风险检查、计划和审计等工具。可选代理连接经纪商的 MCP 服务,在转发订单前实施策略检查。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
20收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| symbol | any | 否 | 按交易品种筛选。省略时返回所有交易品种。 |
| strategy_name | any | 否 | 按策略名称筛选。省略时返回所有策略。 |
详细介绍
TradeMemory 记住了代价。 它是一款开源、本地优先的 AI 交易 Agent 记忆与制动工具:它导入你的成交记录,找出你自己的交易历史中亏损的地方,在下一笔订单下达前把那些亏损交易展示给你的 Agent,并且可以拒绝违反你所设规则的订单,阻止其到达经纪商。
如今,经纪商允许 AI Agent 通过 MCP 交易,但设有不同的防护措施:Webull 和 tastytrade 限制交易规模或购买力,Interactive Brokers 只允许 Agent 为你起草订单,由你提交,而 Robinhood 和 Public 则没有设定你能对外部 Agent 施加的限制(StockBrokers,2026-09-30)。这些限制都是固定数值。它们都不会参考你过去交易的实际结果。
从自己的历史记录开始
pip install tradememory-protocol
# Hyperliquid: public fills, no key needed
tradememory sync hyperliquid --address 0xYourAddress
# Alpaca: read-only calls with your own keys, kept in a local file
tradememory sync alpaca --env-file ~/.secrets/alpaca.env
每笔已平仓交易只会存入记忆一次;再次运行时只会存储新交易。随后,它会打印出你的交易历史中亏损的地方。以下是格式示例,数字仅供说明:
After 2 losses in a row (20 trades):
5 of them (25%) were 1.5x your usual size or more.
All 20 won 60% and made -$1,500.
The 5 sized-up trades won 20% and made -$1,700.
Median hold: winners 1.5h, losers 9.0h.
这些是对你自己过往交易的描述性统计,并非针对下一笔交易的建议。Hyperliquid 的 API 只提供某个地址的近期成交记录,而非完整历史,因此越早同步,保留的历史记录就越多。其他交易平台:MT5 和 Binance 现货同步脚本位于 scripts/,任何 Agent 都可以通过 remember_trade 记录交易。
下一笔订单之前
recall_memories(order="losses_first") 会将所有亏损交易排在其他交易之前;在类似条件下,亏损越大的交易越靠前,并附带交易规模和盈亏。除了该交易品种最近的交易外,它还会搜索该品种近期亏损的交易,避免较早的亏损记录被挤出。服务会告知已连接的 Agent 在提出交易前调用它。默认排序会将结果较好的交易排在前面(按 R 倍数排序,前提是有记录),并确保列表中至少有 20% 的亏损交易。
连接你的 Agent
pip install tradememory-protocol
添加到 Claude Desktop(claude_desktop_config.json):
{
"mcpServers": {
"tradememory": {
"command": "uvx",
"args": ["tradememory-protocol"]
}
}
}
然后告诉 Claude:“记录我的 AAPL 多头交易,买入价为 $195——财报超预期、机构买入、信心很高。”
Claude Code / Cursor / Docker
# Claude Code
claude mcp add tradememory -- uvx tradememory-protocol
# From source
git clone https://github.com/mnemox-ai/tradememory-protocol.git
cd tradememory-protocol && pip install -e . && python -m tradememory
# Docker
docker compose up -d
完整指南:快速入门(交易者路线 + 开发者路线)
在经纪商前加一道刹车(预览)
proxy 扩展会在你的 Agent 与经纪商的 MCP 服务(目前支持 Alpaca)之间运行 TradeMemory。除下单工具外,所有工具都会原样转发;下单工具则会先由你掌控的 Mnemox Control 根据策略进行评估,再发送给经纪商。每次评估,无论允许还是拒绝,都会记录下来并串联到审计日志中。获准的订单会附带类似市场条件下的亏损交易记录;之后运行 tradememory sync alpaca,即可补充每笔转发交易的结果;如果入场订单包含止损,则结果还会以 R 值记录。你现有的 Agent 无需改动,只需更改 MCP 配置中的一行。
pip install "tradememory-protocol[proxy]" # Python 3.12+
tradememory proxy init --account-id <your Alpaca account id> --symbols AAPL,MSFT
tradememory proxy doctor --env-file ~/.secrets/alpaca-paper.env # checks the live tool names and the account id
tradememory proxy config # prints the MCP client entry that replaces the direct Alpaca one
默认拒绝:不在你列表中的标的、超过名义金额或持仓限额的订单、不带括号止损的入场单、达到每日亏损限额或回撤限额后提交的任何新订单、取消未平仓头寸保护性止损的操作、任何尚未经过刹车分类的工具,以及运行 tradememory proxy halt FULL_HALT 期间的所有操作。永不拦截:平仓。达到或超过 approval_notional 的订单会等待 tradememory proxy approve <intent_id> --terms <fingerprint>;该命令只会批准你查看过的确切条款。Agent 会使用相同的 client_order_id 和相同的条款重试,代理最多只会转发一次。evaluate_order 会返回相同的决策,但不会下单,可用于预检查,也可用于其他框架中的建议层。如果刹车无法评估某项操作(例如行情报价源中断、资产未知,或订单类型不在策略涵盖范围内),就会拒绝,而不是直接转发。
状态:已针对 Alpaca MCP 服务的有状态模拟实现端到端测试(tests/proxy/);并于 2026-10-01 使用真实 Alpaca 模拟账户运行:拒绝三次(标的未列入清单、入场单未设置止损、名义金额超过限额),允许一个到达经纪商的 1 股括号订单,并对一个使用相同 client_order_id 的重试从记录中作出响应,未重复下单。期权、订单替换、限价止损和移动止损订单会被拒绝,而不会进行评估。你的经纪商密钥只会发送给代理启动的经纪商进程;TradeMemory 不会存储这些密钥。
包含真实输出的操作指南:docs/recipes/alpaca-brake.md。
三种使用方式
| 美国股票交易者 | 外汇 EA 系统 | 审计记录(示例) | |
|---|---|---|---|
| 市场 | 股票(AAPL、TSLA、……) | XAUUSD(黄金) | 多资产 |
| 方式 | 每笔交易前的飞行前检查清单 | 从 MT5 自动同步 | 带哈希链的决策记录 |
| 用户 | 一位独立用户(2026 年 3 月) | 维护者自己的 MT5 账户 | 示例,并非客户 |
| 详情 | 了解详情 | 了解详情 | 了解详情 |
工作原理
- 回忆 — 交易前,根据结果质量、情境相似度、时效性、信心和情绪状态加权检索过往交易(OWM 框架)
- 记录 — 交易后,只需调用一次
remember_trade,即可写入五个记忆层:情景、语义、程序、情感和交易记录 - 反思 — 每日/每周/每月复盘可发现行为偏移、策略衰减和交易失误
- 审计 — 每项决策在创建时都会进行 SHA-256 哈希,并与前一项串联。可随时导出以供审查
MCP 工具
| 类别 | 工具 | 描述 |
|---|---|---|
| 记忆 | remember_trade · recall_memories | 记录和回忆交易,并根据结果加权评分 |
| 状态 | get_agent_state · get_behavioral_analysis | 信心、回撤、连胜连败、行为模式 |
| 规划 | create_trading_plan · check_active_plans | 带条件触发器的前瞻性计划 |
| 风险 | check_trade_legitimacy | 5 因素交易前门槛检查(全部通过 / 降低规模 / 跳过) |
| 审计 | export_audit_trail · verify_audit_hash | SHA-256 篡改检测 + 批量导出 |
全部 20 个 MCP 工具 + REST API
| 类别 | 工具 |
|---|---|
| 核心记忆 | get_strategy_performance · get_trade_reflection |
| OWM 认知 | remember_trade · recall_memories · get_behavioral_analysis · get_agent_state · create_trading_plan · check_active_plans |
| 风险与治理 | check_trade_legitimacy · validate_strategy · compute_dqs |
| 进化 | evolution_fetch_market_data · evolution_discover_patterns · evolution_run_backtest · evolution_evolve_strategy · evolution_get_log |
| 审计 | export_audit_trail · verify_audit_hash · verify_audit_chain · get_daily_root |
REST API: 提供 35+ 个端点,涵盖交易记录、复盘、风险、MT5 同步、OWM、进化和审计。完整参考 →
获取连接帮助
正在让 Agent 连接经纪商运行,或想同步并读取交易历史?提交 brake-integration 问题,或预约 30 分钟。免费提供设置帮助,后续开发内容由使用者决定。
审计追踪
Agent 做出的每项交易决策——包括不交易的决策——都会记录为交易决策记录(TDR)。每条记录的 SHA-256 内容哈希都会链接到一份向前链接的审计账本;每个 UTC 日期都会生成一个 Merkle 根进行汇总,且该根会跨日期链接。篡改任何历史记录都会导致其后的所有链接失效。
要求留存决策记录的规则约束的是投资公司,而非零售用户。根据《欧盟 AI 法案》,附件 III 中的高风险日志记录义务已推迟至 2027 年 12 月 2 日;ESMA 于 2026 年 2 月发布的算法交易监管简报指出,目前基于 AI 的算法交易不属于高风险范围。下表展示了 TradeMemory 的哪些功能对应这些法规文本,以便在它们适用于你时参考。这并非合规声明。
| 法规 | 要求 | TradeMemory 覆盖情况 |
|---|---|---|
| MiFID II 第 17 条 | 记录每项算法交易决策因素 | 完整决策链:条件、筛选器、指标、执行 |
| 欧盟 AI 法案第 14 条 | 对高风险 AI 系统进行人工监督 | 每项决策均提供可解释的推理 + 记忆上下文 |
| 欧盟 AI 法案第 12 条 | 在系统整个生命周期内自动生成防篡改日志 | 链接的 SHA-256 链 + 每日 Merkle 根(RFC 3161 TSA 锚定,自 0.5.3 起默认开启) |
# Verify a single record hasn't been tampered with
verify_audit_hash(trade_id="MT5-7047640363")
# → {"verified": true, "chain_entry": {"sequence_num": 42, ...}}
# Walk the entire chain (or a slice) end-to-end
verify_audit_chain(from_seq=1, to_seq=None)
# → {"verified": true, "checked_count": 1284, "first_break_at": null}
# Daily Merkle root — single 32-byte anchor over every TDR for that day
get_daily_root(date="2026-05-14")
# → {"verified": true, "root_hash": "a05544...", "record_count": 18}
# Bulk export
GET /audit/export?strategy=VolBreakout&start=2026-03-01&format=jsonl
自 0.5.3 起,每日根默认由 RFC 3161 机构进行时间戳认证。尚未实现:使用私钥为记录签名、锚定到公共日志、证明没有遗漏任何内容。请参阅 LIMITATIONS.md。
安全性
- 记忆服务(默认)。 绝不下单,也不会索取经纪商密钥。仅在本地 SQLite 文件中记录和检索数据。
- 同步。
tradememory sync hyperliquid无需密钥即可读取公开数据。tradememory sync alpaca使用你计算机上文件中的密钥发起只读调用。同步的交易会保留在你的本地数据库中。 - 制动器(
proxyextra)。 将你的策略允许的订单转发到经纪商的 MCP 服务。经纪商密钥仅会传递给代理启动的经纪商进程;TradeMemory 从不存储这些密钥。 - 出站调用。 对每日审计根进行 RFC 3161 时间戳签名,使用不含交易数据的 32 字节哈希(默认开启;设置
TRADEMEMORY_TSA=off可关闭)。tradememory sync会调用你指定的交易场所。Agent 调用进化工具时,这些工具会读取公开的 Binance 市场数据(api.binance.com);只有设置了ANTHROPIC_API_KEY,进化功能才会调用 Anthropic API。Replay 默认调用 DeepSeek(也可调用 Anthropic),且仅在设置了相应提供商的密钥时才会调用。如果你安装了sentence-transformers以进行混合检索,首次使用时会从 Hugging Face 下载其模型。scripts/中的 MT5 和 Binance 同步脚本会从你的环境中读取凭据;只有设置了DISCORD_WEBHOOK_URL,MT5 脚本才会将交易摘要(交易品种、价格、盈亏)发送到 Discord webhook。 - 可检测篡改,但不能防止篡改。 每条记录都会经过哈希处理并与前一条记录链接,同时生成每日 Merkle 根。更改记录会破坏链条;但能够重写整个数据库的人可以重新构建链条。
研究状态
TradeMemory 的 OWM 框架以认知科学(Tulving 1972)和强化学习(Schaul 等,2015)为基础。目前状态:
- OWM 五因子评分: 已实现并经过测试(参见 CI 徽章)
- 统计验证: 已实现 DSR、MBL(Bailey-de Prado 2014)
- 审计跟踪: SHA-256 防篡改 TDR
- 进化引擎: 处于研究阶段(策略生成功能可用,统计门槛的通过率仍在优化)
- 混合检索: 当前启用仅使用 OWM 的模式;配置嵌入后可使用向量融合
- 实证验证: 正在进行(n=14 笔交易;统计显著性的目标为 n>=100;在 n=14 时,置信区间过宽,无法得出任何结论——参见 validation/final_verdict.md)
文档
| 文档 | 描述 |
|---|---|
| 入门指南 | 安装 → 首笔交易 → 交易前检查清单 |
| 用例 | 3 个使用场景,每个场景均标注为第一方或独立来源 |
| API 参考 | 所有 REST 端点 |
| OWM 框架 | Outcome-Weighted Memory 理论 |
| 架构 | 系统设计与分层 |
| 教程 | 详细操作指南 |
| MT5 设置 | MetaTrader 5 集成 |
| 研究日志 | 进化实验与数据 |
| 失败分类 | 11 种交易 AI 失败模式 |
| 中文版 | 繁体中文 |
贡献
MIT,详见 LICENSE。可选的 proxy extra 会安装 Mnemox Control,其引擎仅采用 AGPL-3.0(可获取商业许可证);TradeMemory 本身仍采用 MIT 许可证。仅供教育和研究用途。非财务建议。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。