


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)
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)
-
trans_state包含所有交易。 -
trade_info_state包含所有交易信息
🕹️ 示例:
python market_simulation/examples/run_simulation.py

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