📰 正文
MarS(Market Simulation)是微软研究院开发的一款金融市场模拟引擎,基于一种生成式模型——大型市场模型(Large Market Model, LMM)。
它通过基于真实订单级别的历史金融市场数据训练,可以生成逼真、可控且具有交互性的市场订单序列,帮助研究人员和从业者在虚拟环境中模拟和测试金融市场行为。
MarS可用于多种下游应用,包括市场趋势预测、异常检测系统、市场影响分析以及强化学习环境等。例如,在市场趋势预测中,MarS的模拟显著优于传统的直接预测模型,体现了其对市场动态的深刻理解。
MarS 的主要功能 1.
逼真的市场模拟:MarS能够生成与真实市场相似的订单序列,帮助用户进行市场趋势预测和异常检测。
精细化市场动态建模:
基于交易订单和限价订单簿(LOB),通过订单序列和批次序列建模,再现高分辨率市场动态。
使用真实历史数据进行训练,能够生成逼真的市场轨迹,匹配历史市场的“风格化事实”(如波动聚集和收益无自相关性)。
仿真精确性:
模拟的市场数据在统计特性上与真实市场高度一致,适用于预测和分析
可控的订单生成:用户可以通过注入特定的订单或描述目标场景,控制模拟过程,以分析特定条件下的市场行为。
多样化场景模拟:
能够根据用户定义的条件(如价格波动或交易量变化)生成指定的市场情景。
支持基于模糊描述(如“价格波动”或“低波动性压缩”)生成具体的控制信号。
动态条件支持:
使用历史或实时市场数据作为初始条件,结合用户输入的交易命令和匹配规则,生成未来的市场行为。
生成目标控制:
通过迭代优化,在保持真实市场影响的前提下,实现对目标市场情景的精准控制
交互式平台:提供一个交互式环境,用户可以在其中测试不同的交易策略,观察其市场影响,并训练强化学习代理。
实时交互功能:
用户可以直接与仿真市场交互,提交交易订单,观察市场对交易行为的即时响应。
支持模拟复杂的市场影响,包括一级和二级市场效应。
强化学习支持:
提供一个逼真且可交互的环境,用于训练和优化交易策略。
特别适用于开发强化学习代理,评估交易行为对市场的影响。
多种金融应用场景:
市场趋势预测:
基于订单簿和历史数据,预测未来市场轨迹。
在准确性上优于传统预测方法(如 DeepLOB)。
风险与异常检测:
通过模拟数据与历史模式对比,识别异常市场行为。
在检测市场操纵(如价格操纵)方面表现出色。
情景分析:
提供“假设分析”功能,例如评估大规模交易对市场的影响。
可用于测试和改进现有市场模型。
强化学习环境:
在真实环境中训练强化学习(RL)交易代理,规避金融风险。
展示了订单执行场景下优化交易策略的潜力。
MarS 的技术方法
核心模型:Large Market Model (LMM)
订单序列建模:用因果变换器捕捉交易订单的时序关系,模拟微观市场动态。
订单批次建模:用自回归变换器对时间序列交易批次建模,生成市场宏观行为。
集成模型:结合订单序列与批次模型,兼顾细粒度和整体市场动态。
条件生成
基于用户输入(目标情景、交互订单、历史数据、市场规则)生成未来市场状态。
动态调整条件以平衡目标控制与市场真实感。
扩展与优化
模型扩展:通过增加数据量和模型参数(最大 10 亿)提升性能。
模拟清算系统:实时整合生成订单与用户交互订单,动态更新市场状态。
- Large Market Model (LMM) 架构
LMM 是 MarS 的核心,通过高分辨率和动态控制建模金融市场的行为。
1.1 订单序列建模
使用 因果变换器(Causal Transformer):
将每个交易订单及其对应的限价订单簿(LOB)编码为一个 token。
捕捉交易订单之间的时序关联和市场微观动态。
目标:生成真实的订单序列,反映交易流动性和市场波动。
1.2 订单批次建模
使用 自回归变换器(Auto-regressive Transformer):
对固定时间间隔(如 1 分钟)的交易订单批次建模。
模拟交易行为的时间序列模式,如订单聚集效应。
目标:生成中长期市场行为的趋势和波动特性。
1.3 集成模型
将订单序列模型和订单批次模型结合:
序列模型提供细粒度控制,批次模型捕捉时间序列结构。
功能:确保生成的市场动态既真实细腻又上下文一致。
1.4 信号生成接口
描述到信号的映射:
将用户的模糊描述(如“价格上涨”)转化为可量化的控制信号(如价格幅度和交易量)。
作用:增强 MarS 的灵活性,支持多样化市场情景的动态生成。
- 条件生成
MarS 利用条件生成框架,依据不同输入条件,动态调整生成市场行为的逻辑。
2.1 生成条件
目标情景描述:根据模糊描述(如“波动缩小”)生成目标场景。
用户交互订单:用户实时提交的订单用于动态调整市场行为。
历史数据:以真实市场订单序列为起始点。
交易规则:遵循特定金融市场的撮合机制和限制。
2.2 条件生成过程
通过建模条件概率 p(xi+j+1∣条件)p(x_{i+j+1}|条件)p(xi+j+1∣条件),动态生成未来市场行为。
模拟过程融合历史数据和交互订单,确保行为合理且符合实际市场逻辑。
- 模型扩展与优化
3.1 扩展能力
数据与参数规模:
订单序列模型训练数据达到 320 亿 token,参数量最大 10 亿。
订单批次模型数据量为 100 亿 token,参数量最大 30 亿。
扩展规律:
随着数据量和参数规模增加,生成的市场轨迹更加精准,表现出类似语言模型的扩展性。
3.2 模拟清算系统
将生成订单与用户交互订单实时匹配,更新限价订单簿(LOB)。
每次生成后的市场状态用于指导下一步的订单生成。
3.3 控制与真实感平衡
原则 1:基于现实塑造未来:
每次生成基于最新市场数据和用户输入。
原则 2:从多种可能中选优:
在生成多个可能订单后,选择最符合目标的序列。
- 关键特性
真实:生成的市场数据匹配历史的“风格化事实”(如波动聚集、收益无自相关性)。
可控:灵活支持目标场景模拟,如特定价格波动或交易策略评估。
交互:允许用户实时插入订单,动态观察市场反应。
MarS 实验结果
真实性
验证方法:比较模拟数据与历史数据在“风格化事实”上的匹配度(如波动聚集、收益无自相关性)。
结果:模拟的市场订单序列与真实市场数据高度一致,包括订单分布、价格波动和成交量等。
可控性
验证方法:通过目标条件生成与历史数据相关的市场情景。
结果:用户输入的场景(如高波动性或低流动性)能够有效影响生成的市场行为,符合预期。
交互性
验证方法:通过与 TWAP 交易代理交互,分析订单对市场的影响。
结果:精确反映大额订单的市场冲击,支持实时交互的场景分析。
应用验证:随着数据规模和模型复杂度增加,性能线性提升,适应多种市场环境,在市场趋势预测、异常检测和强化学习环境中表现出色,显著优于传统方法。
市场预测:预测准确率显著优于传统模型(如 DeepLOB)。
异常检测:成功识别市场操纵等异常行为。
情景分析:仿真结果符合市场规律(如平方根定律),适合分析市场冲击。
强化学习:代理策略优化,从负收益提升至正收益(+2~6 BP)。
项目地址:https://mars-lmm.github.io/
GitHub:https://github.com/microsoft/MarS
论文:https://arxiv.org/pdf/2409.07486