Skip to content

Instantly share code, notes, and snippets.

@menjaraz
Created January 15, 2026 05:41
Show Gist options
  • Select an option

  • Save menjaraz/a9c20b4c49053f2dbe2d34f63558b68e to your computer and use it in GitHub Desktop.

Select an option

Save menjaraz/a9c20b4c49053f2dbe2d34f63558b68e to your computer and use it in GitHub Desktop.
"tick-sim" log excerpt
2026-01-15T05:25:52.360670Z  INFO tick_sim: simulation_started command="Press Ctrl+C to stop"
2026-01-15T05:25:52.360882Z  INFO market_maker{config=Config { simulation: SimulationConfig { run_duration_ms: None }, agents: AgentsConfig { market_maker: MarketMakerConfig { center_price: 100.0, initial_levels: 5, initial_quantity: 100, spread: 0.1, tick_size: 0.05, standard_quantity: 100, latency_ms: (1, 5) }, noise_trader: NoiseTraderConfig { submit_interval_ms: 500, quantity_range: (10, 50), aggressive_prices: (99.95, 100.05) } }, market: MarketConfig { price_precision: 2 } } agent_id="market_maker"}: tick_sim::agents: market_maker_started
2026-01-15T05:25:52.360877Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: execution_engine_started
2026-01-15T05:25:52.360904Z  INFO noise_trader{config=Config { simulation: SimulationConfig { run_duration_ms: None }, agents: AgentsConfig { market_maker: MarketMakerConfig { center_price: 100.0, initial_levels: 5, initial_quantity: 100, spread: 0.1, tick_size: 0.05, standard_quantity: 100, latency_ms: (1, 5) }, noise_trader: NoiseTraderConfig { submit_interval_ms: 500, quantity_range: (10, 50), aggressive_prices: (99.95, 100.05) } }, market: MarketConfig { price_precision: 2 } } agent_id="noise_trader"}: tick_sim::agents: noise_trader_started
2026-01-15T05:25:52.366568Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=100.05 quantity=10 aggressor_side=Buy passive_order_id=1001
2026-01-15T05:25:54.367381Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=100.0 quantity=18 aggressor_side=Sell passive_order_id=1000
2026-01-15T05:25:54.877951Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=100.0 quantity=16 aggressor_side=Sell passive_order_id=1000
2026-01-15T05:25:55.372390Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=100.0 quantity=15 aggressor_side=Sell passive_order_id=1000
2026-01-15T05:25:56.873313Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=100.05 quantity=25 aggressor_side=Buy passive_order_id=1001
2026-01-15T05:25:58.363384Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=100.0 quantity=50 aggressor_side=Sell passive_order_id=1000
2026-01-15T05:25:59.366014Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=100.0 quantity=1 aggressor_side=Sell passive_order_id=1000
2026-01-15T05:25:59.366288Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=99.95 quantity=33 aggressor_side=Sell passive_order_id=1002
2026-01-15T05:25:59.866892Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=99.95 quantity=30 aggressor_side=Sell passive_order_id=1002
2026-01-15T05:26:00.366833Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=99.95 quantity=24 aggressor_side=Sell passive_order_id=1002
2026-01-15T05:26:00.865196Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=99.95 quantity=13 aggressor_side=Sell passive_order_id=1002
2026-01-15T05:26:00.865439Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=99.95 quantity=7 aggressor_side=Sell passive_order_id=2002
2026-01-15T05:26:01.369169Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=100.05 quantity=23 aggressor_side=Buy passive_order_id=1001
2026-01-15T05:26:01.870855Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=99.95 quantity=43 aggressor_side=Sell passive_order_id=2002
2026-01-15T05:26:01.871117Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=99.95 quantity=7 aggressor_side=Sell passive_order_id=2003
2026-01-15T05:26:02.370926Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=99.95 quantity=9 aggressor_side=Sell passive_order_id=2003
2026-01-15T05:26:02.371161Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=99.95 quantity=10 aggressor_side=Sell passive_order_id=2008
2026-01-15T05:26:02.873122Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=100.05 quantity=37 aggressor_side=Buy passive_order_id=1001
2026-01-15T05:26:03.864605Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=99.95 quantity=15 aggressor_side=Sell passive_order_id=2008
2026-01-15T05:26:03.865083Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=99.95 quantity=20 aggressor_side=Sell passive_order_id=2011
2026-01-15T05:26:03.865243Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=99.95 quantity=15 aggressor_side=Sell passive_order_id=2022
2026-01-15T05:26:04.862727Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=100.05 quantity=5 aggressor_side=Buy passive_order_id=1001
2026-01-15T05:26:04.863000Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=100.05 quantity=23 aggressor_side=Buy passive_order_id=2001
2026-01-15T05:26:05.363907Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=100.05 quantity=19 aggressor_side=Buy passive_order_id=2001
2026-01-15T05:26:05.364243Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: trade_executed price=100.05 quantity=19 aggressor_side=Buy passive_order_id=2007
2026-01-15T05:26:05.542330Z  INFO tick_sim: shutdown_signal_received signal="Ctrl+C"
2026-01-15T05:26:05.542718Z  INFO tick_sim: cancelling_all_tasks
2026-01-15T05:26:05.543298Z  INFO tick_sim: waiting_for_tasks_to_clean_up
2026-01-15T05:26:05.543486Z  INFO market_maker{config=Config { simulation: SimulationConfig { run_duration_ms: None }, agents: AgentsConfig { market_maker: MarketMakerConfig { center_price: 100.0, initial_levels: 5, initial_quantity: 100, spread: 0.1, tick_size: 0.05, standard_quantity: 100, latency_ms: (1, 5) }, noise_trader: NoiseTraderConfig { submit_interval_ms: 500, quantity_range: (10, 50), aggressive_prices: (99.95, 100.05) } }, market: MarketConfig { price_precision: 2 } } agent_id="market_maker"}: tick_sim::agents: market_maker_shutting_down
2026-01-15T05:26:05.543552Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: cancellation_token_received_at_top-level
2026-01-15T05:26:05.543486Z  INFO noise_trader{config=Config { simulation: SimulationConfig { run_duration_ms: None }, agents: AgentsConfig { market_maker: MarketMakerConfig { center_price: 100.0, initial_levels: 5, initial_quantity: 100, spread: 0.1, tick_size: 0.05, standard_quantity: 100, latency_ms: (1, 5) }, noise_trader: NoiseTraderConfig { submit_interval_ms: 500, quantity_range: (10, 50), aggressive_prices: (99.95, 100.05) } }, market: MarketConfig { price_precision: 2 } } agent_id="noise_trader"}: tick_sim::agents: noise_trader_shutting_down
2026-01-15T05:26:05.543820Z  INFO run{event_rx=Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x1f11d801c40, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 1000 }, bound: 1000 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } engine_id="main"}: tick_sim::engine: execution_engine_finished
2026-01-15T05:26:05.544180Z  INFO tick_sim: simulation_ended
2026-01-15T05:26:05.544311Z  INFO tick_sim: final_order_book_state best_bid=Some(($99.95, 19)) best_ask=Some(($100.05, 93))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment