Execution
The execution concept owns order-manager intent rows and timestamped execution facts for orders, order status events, and trades.
Scope
Execution answers these questions:
- Which manager or strategy emitted an order?
- Which account or asset is targeted?
- Which order events and trades were observed?
Primary Modules
msm.data_nodes.execution: DataNodes for orders, order events, and trades.msm.models.execution: SQLAlchemy models forOrderManagerTable.msm.api.execution: typed row API forOrderManager.msm.repositories.executionandmsm.services.execution: MetaTable operation builders and service helpers for order-manager intent records.
Key Contracts
Execution DataNodes use explicit time indexes for each event family:
order_timefor orders.event_timefor order status events.trade_timefor trades.
Their storage MetaTable identifiers use the same CamelCase style as domain
MetaTables plus a TS suffix: OrdersTS, OrderEventsTS, and TradesTS.
There are no separate row-oriented Order, OrderStatusEvent, Trade, or
OrderTargetQuantity MetaTables; those facts are storage-first, matching the
account-holdings pattern.
Execution records should preserve enough raw platform or broker payload in JSON
fields for audit, but normalized identifiers should still be present for joins.
Core execution does not carry a VirtualFundTable foreign key. Virtual-fund
execution workflows should be added in msm_portfolios as extensions when
needed.
Use class-owned lifecycle methods only for order-manager intent:
import datetime as dt
from msm.api.execution import OrderManager
manager = OrderManager.create_batch(
unique_identifier="rebalance-2026-05-26",
target_account_uid="00000000-0000-0000-0000-000000000000",
target_time=dt.datetime.now(dt.UTC),
status="created",
)
Publish observed orders, order events, and trades through their DataNodes:
Orders, OrderEvents, and Trades.
Extension Notes
Add new execution storage shapes in msm.data_nodes.execution. Add new
registry or manager metadata in msm.models.execution, then expose it through
repository and service functions.