NautilusTrader
ConceptsEvents
These docs track the unreleased nightly build and may change without notice. Switch to the latest stable docs.

OrderDenied

OrderDenied represents an order having been denied by the Nautilus system. The ExecutionEngine applies it to the order, updates the Cache, and publishes it on the MessageBus. It fires when an otherwise valid order cannot be submitted, for example due to a risk limit or an unsupported feature.

Transition: INITIALIZED -> DENIED. Handler: on_order_denied.

Fields

Beyond the common order event fields, OrderDenied carries:

FieldPython typeRequired/defaultDescription
reasonstrRequiredThe order denied reason.

On this event, venue_order_id and account_id are both None, reconciliation is always False, and ts_event equals ts_init.

Example

Reading the event in a strategy handler:

def on_order_denied(self, event: OrderDenied) -> None:
    self.log.warning(f"Order {event.client_order_id} denied: {event.reason}")
  • Events - Event categories, dispatch, and the common order event fields.
  • Execution - Risk checks and order denied reasons.
  • Orders - Order types and the state machine.

On this page