❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- 功能:支持市场趋势预测、风险检测、市场影响分析和交易策略训练。
- 技术:基于因果变换器和自回归变换器,结合订单序列和批次序列建模。
- 应用:适用于交易策略优化、风险管理、市场影响分析和监管合规。
正文(附运行示例)
MarS 是什么
MarS(Market Simulation)是微软亚洲研究院推出的金融市场模拟预测引擎,基于生成型基础模型 LMM(Large Market Model)模拟金融市场中的订单流和市场动态。MarS 能够创建现实、互动和可控的市场环境,用于训练交易策略、风险管理、市场影响分析和预测等金融应用,而无需承担实际的财务风险。
通过模拟,MarS 支持用户在无风险的环境中测试和优化金融策略,同时为金融研究和教育提供强大的工具。无论是交易者、分析师还是监管机构,都可以通过 MarS 深入理解市场动态,提升决策能力。
MarS 的主要功能
- 市场趋势预测:基于最近的订单和限价订单簿(LOB)生成后续订单,模拟未来的市场轨迹,实现精确的市场趋势预测。
- 风险检测:模拟多种未来市场轨迹,识别潜在风险,例如轨迹方差的突然下降可能预示着重大事件的发生,提供早期预警和增强风险管理。
- 市场影响分析:回答各种“如果”问题,提供现实模拟环境,评估大订单的市场影响,识别潜在改进点,深入理解市场动态。
- 交易策略训练:作为强化学习代理的理想环境,支持开发和完善无实际金融风险的交易策略。
MarS 的技术原理
- 订单序列建模:使用因果变换器对订单序列进行编码,确保每个订单在更广泛的市场活动中的上下文得以保留。
- 订单批次序列建模:应用自回归变换器对订单批次序列进行建模,捕捉市场在聚合时间间隔内的结构化模式。
- 集成模型:结合订单序列和订单批次序列建模,平衡细粒度控制和广泛市场动态,实现改进的市场建模和生成。
- 细粒度信号生成接口:将自然语言或通用配置中的模糊描述映射到细粒度的控制信号序列,确保模拟遵循现实市场模式。
- 模拟清算所:在预训练 LMM 后,生成真实订单流,匹配生成和交互订单,提供后续订单生成所需的信息。
如何运行 MarS
要运行 MarS,首先需要安装必要的依赖项。确保你使用的是 Python 3.8 或 3.9 版本。
安装依赖项
pip install -e .[dev]
运行示例
以下是一个使用噪声代理(Noise Agent)进行市场模拟的示例:
agent = NoiseAgent(
symbol="AAPL",
init_price=100000,
interval_seconds=1,
start_time="2023-09-01 09:00:00",
end_time="2023-09-01 17:00:00",
)
env = Env(exchange, description="Noise agent simulation")
env.register_agent(agent)
env.push_events(create_exchange_events(config))
for observation in env.env():
action = observation.agent.get_action(observation)
env.step(action)
你可以通过运行以下命令来运行完整的市场模拟示例:
python market_simulation/examples/run_simulation.py
运行后,你可以看到由噪声代理生成的价格轨迹,如下图所示:
请注意,此示例展示了使用 MarS 模拟市场的方法。为了进行更现实的市场模拟,建议使用 MarS 内置的 LMM 模型。
资源
- 项目官网:https://microsoft.github.io/MarS/
- GitHub 仓库:https://github.com/microsoft/MarS/
- arXiv 技术论文:https://arxiv.org/pdf/2409.07486
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦