Simulation
This section outlines the agents, events, and overall simulation context.
StockMarketABM.SimulationEvents.AgentActivation — TypeAgentActivation(agent; reason=:scheduled, payload=(; ))Signal that the given agent should make a decision. Optional reason and payload allow handlers to specialise behaviour (e.g. timer-driven activation versus reaction to a fill).
StockMarketABM.SimulationEvents.OrderExpiryCheck — TypeOrderExpiryCheck(order_id, agent, instrument; expire_at, submitted_at=expire_at)Request that the market layer verify whether an order is still resting at expire_at. Handlers should cancel the order if it remains active when the event fires.
StockMarketABM.SimulationEvents.ScheduledEvent — TypeScheduledEvent(ts, event; priority=0)Wraps a SimulationEvent with scheduling metadata. priority is used to break ties when multiple events share the same timestamp (lower executes first).