Skip to content

betting_combat.trading.traders

The venue side of a live order (Kalshi).

Each adapter only translates. The at-most-once protocol (write-ahead, no re-send, reconcile) lives once, in executors.LiveExecutor.

Classes

KalshiTrader

Kalshi V2 orders: an IOC limit buy of YES or NO at the order’s limit price, keyed by our client_order_id (Kalshi refuses a second order with the same id). A NO buy’s average price is taken from its fills (each fill says which side it is on).

fills

fills(order_id: str, since: dt.datetime) -> list[VenueFill]

find

find(order: OrderRecord, since: dt.datetime) -> VenueAck | None

submit

submit(order: OrderRecord) -> VenueAck