pub enum Phase {
Observation,
Decision,
RiskEvaluation {
passed: bool,
},
Submission {
order: OrderId,
},
Acknowledgment {
order: OrderId,
},
AcknowledgmentUnobserved {
order: OrderId,
},
Fill {
order: OrderId,
},
Reconciliation {
order: OrderId,
},
}Expand description
One stage of the trading lifecycle.
The intended order is observation, decision, risk evaluation, submission, acknowledgment, fill, reconciliation. The first three are per-subject; the last four are per-order and also carry the subject, so a drifting subject mid-order is detectable.
Variants§
Observation
Market state was read for this subject.
Decision
A trading intent was formed for this subject.
RiskEvaluation
The pre-trade risk check ran for this subject. Only passed = true
authorizes a later submission, and only for this subject.
Submission
An order was sent to the venue.
Acknowledgment
The venue acknowledged the order.
AcknowledgmentUnobserved
The submission was sent and its acknowledgment was not observed, so
the write’s outcome is unknown: the venue may have committed it. This is
a recorded fact about the trace, not an inference from elapsed time —
the kernel has no clock, and silence of any duration is not evidence.
It advances no stage; a later Phase::Acknowledgment for the same
order resolves it.
Fill
The order filled, in whole or in part.
Reconciliation
The fill was reconciled against the position book.