PaperAgent 02月02日
微软开源大模型MarS:直接模拟了整个金融市场
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

MarS是一款由大型市场模型驱动的金融市场模拟引擎,它利用生成式基础模型来模拟现实、互动且可控的订单。该引擎的核心目标是评估大型市场模型在金融市场中的规模法则,验证MarS的真实性,平衡可控生成与市场影响,并展示其潜在应用。MarS主要由环境、状态和代理三个核心组件构成,其中环境提供类似Gym的接口,状态存储交易信息并自动更新,而代理则负责生成交易指令。通过这些组件的协同工作,MarS能够模拟各种市场场景,并为金融研究和应用提供有力工具。

🌍 MarS引擎的核心组件包括环境(Env)、状态(States)和代理(Agent)。Env提供类似Gym的接口,用于模拟市场环境;States存储交易信息并自动更新,供Agent使用;Agent则负责生成交易指令。

🔄 状态(States)是Agent可用的信息,随着每条交易信息自动更新,包括订单、交易和订单簿快照。状态在Agent的生命周期内共享,并支持延迟状态的零拷贝机制。例如,TransState包含了所有交易信息,而trade_info_state则包含了所有交易信息。

🕹️ MarS引擎通过噪声Agent进行市场模拟,展示了如何使用该引擎生成价格轨迹。通过运行`run_simulation.py`,可以看到由噪声Agent匹配订单生成的价格轨迹。

🔗 MarS的论文链接是 https://arxiv.org/abs/2409.07486,该文章详细介绍了MarS的架构、工作原理及其在金融市场中的应用。

2025-02-01 16:08 云南

MarS是一款由大型市场模型(LMM)驱动的尖端金融市场模拟引擎,该模型是一种生成式基础模型。MarS满足了生成现实、互动且可控的订单的需求。本文的主要目标是评估LMM在金融市场中的规模法则,评估MarS的真实性,平衡可控生成与市场影响,并展示MarS的潜在应用。

以下是MarS模拟引擎的核心组件、工作流程和潜在应用的高级概述图:

MarS整体框架:

? 环境(Env) 

Env是一个类似Gym的接口。

以下是使用Env和噪声Agent生成订单的示例:

    agent = NoiseAgent(    symbol=symbol,    init_price=100000,    interval_seconds=1,    start_time=start_time,    end_time=end_time,)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)

    ? 状态(States) 

    状态是可供Agent使用的信息,会随着每条交易信息自动更新,包括订单、交易和订单簿快照,具体定义在trade_info.py中。

    状态在Agent的生命周期内被共享,并且在支持延迟状态的环境中也采用零拷贝机制。

    创建新状态非常简单。以下是一个包含所有交易的状态创建示例:


      class TransState(State): def __init__(self) -> None: super().__init__() self.transactons: List[Transaction] = []
      def on_trading(self, trade_info: TradeInfo): super().on_trading(trade_info) self.transactons.extend(trade_info.transactions)
      def on_open(self, cancel_transactions: List[Transaction], lob_snapshot: LobSnapshot, match_trans: Optional[Transaction] = None): super().on_open(cancel_transactions=cancel_transactions, lob_snapshot=lob_snapshot, match_trans=match_trans) self.transactons.extend(cancel_transactions) if match_trans: self.transactons.append(match_trans)
      def on_close(self, close_orderbook: Orderbook, lob_snapshot: LobSnapshot, match_trans: Optional[Transaction] = None): super().on_close(match_trans=match_trans, close_orderbook=close_orderbook, lob_snapshot=lob_snapshot) if match_trans: self.transactons.append(match_trans)

      一旦定义并使用exchange.register_state(state)注册了新状态,它将在Agent被唤醒时可用。

      到目前为止,已经定义了以下状态:

        trans_state 包含所有交易。

        trade_info_state 包含所有交易信息

      ?️ 示例:

      使用噪声Agent运行模拟,可以运行run_simulation.py以获取完整的示例,进行带有噪声Agent的市场模拟。

      python market_simulation/examples/run_simulation.py

      可以看到由噪声Agent匹配订单生成的价格轨迹如下:

      https://github.com/microsoft/MarS/MarS: a Financial Market Simulation Engine Powered by Generative Foundation Modelhttps://arxiv.org/abs/2409.07486

      推荐阅读


      欢迎关注我的公众号“PaperAgent”,每天一篇大模型(LLM)文章来锻炼我们的思维,简单的例子,不简单的方法,提升自己。

      阅读原文

      跳转微信打开

      Fish AI Reader

      Fish AI Reader

      AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

      FishAI

      FishAI

      鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

      联系邮箱 441953276@qq.com

      相关标签

      MarS 金融市场模拟 大型市场模型 生成式模型 AI
      相关文章