TwinMarket
多智能体金融仿真框架,斩获 NeurIPS/ICLR 最佳论文奖
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
多智能体金融仿真框架,斩获 NeurIPS/ICLR 最佳论文奖
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2025年4月,一个来自深圳港中文大学和南京大学的研究团队,在 ICLR 2025 金融 AI 研讨会上捧走了最佳论文奖。他们的获奖研究名为 TwinMarket——一个用大语言模型(LLM)模拟股票市场多主体行为的开源框架。同年9月,该成果又收到了 NeurIPS 2025 的录用通知。一年时间,一篇论文从获奖到顶会,技术影响力可见一斑。
很多人对"AI炒股"的第一反应是:找个神经网络预测股价,然后自动下单。这条路走了十几年,效果始终差强人意——因为市场不仅仅是数字的博弈,更是人的博弈。投资者的情绪波动、从众心理(信息级联)、处置效应(亏损时死拿、盈利时早卖)——这些行为金融学中描述的非理性因素,在传统规则化的模拟器里几乎无法复现。
TwinMarket 正是从这个痛点切入。它的核心思路是:不靠规则预设交易行为,而是给每个模拟交易者灌入一个"AI大脑"(LLM),让它像真人一样根据新闻、公告、社交信息、技术指标做出个性化决策。1000个AI交易者,1000种不同性格,叠加社交网络互动——当这些微观决策汇聚在一起,市场泡沫、崩盘、反弹等涌现现象就自然冒出来了。
TwinMarket 的设计分为两个层面。
微观层:BDI认知框架驱动的个体模拟。 项目基于 Belief-Desire-Intention(信念-欲望-意图)架构,每个模拟交易者(Agent)维护一套动态更新的市场认知体系。当某只股票出现连续涨停,Agent 的"信念"会记录这一现象,"欲望"会驱动它寻找相关信息(论坛帖子、新闻公告),最终形成"买入/卖出/观望"的行为意图。整个决策链路通过 LLM 完成,输出的不再是冷冰冰的数字,而是一段段具备逻辑连贯性的决策理由。
宏观层:订单撮合引擎与市场基础设施。 项目的 trader/matching_engine.py 实现了一个完整的限价订单撮合系统,支持价格优先、时间优先的撮合规则,结合真实A股市场历史数据(通过 data/ 目录注入),还原了从开盘集合竞价到盘中连续交易的全流程。

TwinMarket 双层架构:微观 BDI Agent 与宏观市场模拟的协同
真实市场中,投资者的决策严重受社交影响——股吧、论坛、微信群都是信息传播的主战场。TwinMarket 专门实现了 util/ForumDB 和社交图谱模块(基于 NetworkX),模拟论坛发帖、点赞、用户关注等行为。Agent 会在论坛中发表看法,也会阅读和参考他人的观点,从而形成社交影响力传导。
这意味着 TwinMarket 模拟的不只是"一个人在电脑上炒股",而是"一个真实存在于社交网络中的投资者社区在集体博弈"。
传统 Agent-Based Market Simulation 受限于计算成本,模拟规模通常只有几十到上百个 Agent。TwinMarket 通过多线程并发(concurrent.futures.ThreadPoolExecutor)、异步文件 I/O(aiofiles)、SQLite 数据库持久化等工程优化,实现了1000+ Agent 的并发运行。论文中的实验显示,即便规模扩大,系统依然能稳定复现市场中的 stylized facts(如收益率分布的厚尾特征、波动率聚集等)。

1000 Agent 并发运行下的市场指数演化
克隆项目后,只需两步:
# 1. 配置 API 密钥
cp config/api_example.yaml config/api.yaml
# 编辑 api.yaml,填入 OpenAI API Key 或兼容接口(如 SiliconFlow)
# 2. 一键启动模拟
bash script/run.sh
核心依赖通过 requirements.txt 管理,主要包括:openai(API调用)、pandas(数据处理)、networkx(社交图谱)、faiss-cpu(相似度检索)、matplotlib(可视化)。不需要 GPU,普通开发机即可运行小规模模拟。
TwinMarket 的价值远不止于"跑一个模拟demo"。对于学术研究者,它提供了一个可控、可复现的金融行为实验平台——可以在模拟中注入不同的政策冲击(印花税调整、涨停板规则变化),观察市场的系统性响应。对于量化团队,它可以帮助快速验证交易策略假设——在低风险环境中观察策略在社交影响下的表现。对于监管机构,它或许能成为市场风险预警系统的数字孪生。
目前已有其他研究团队基于 TwinMarket 开展后续研究,如研究多智能体系统中涌现极端事件(IEEE 会议论文)的团队。
诚然,TwinMarket 也有其局限性。首先,模拟质量高度依赖 LLM 的推理能力——当模型产生幻觉或前后不一致的决策理由时,市场模拟的可信度会受损。其次,目前版本主要面向A股市场,其他市场的制度规则(如 T+0、熔断机制)需要额外适配。再者,1000个 Agent 的模拟成本并不低——每个 Agent 每天的交易决策都可能触发一次 LLM API 调用,按 GPT-4o 的定价推算,一次完整模拟的 token 消耗可能相当可观。
此外,项目本身没有提供 Docker 容器化,对 API 环境有一定要求,首次部署存在一定的环境配置门槛。
TwinMarket 是一项将 LLM 与计算社会科学深度融合的创新实践。它不只是"让AI来炒股",而是用AI来理解股市中人的行为。从 BDI 认知架构到订单撮合引擎,从论坛社交模拟到行为金融建模,这个项目为金融市场的计算实验提供了一个前所未有的工具箱。如果你对金融AI、市场仿真或多智能体系统感兴趣,TwinMarket 值得花一个下午认真研读其论文与代码。