Back to Aurora Lab

AURORA LAB / PUBLIC EXPERIMENT 001

Order changes state.

Three synthetic messages demonstrate why receive time cannot automatically replace source sequence.

Experiment workspace

Source sequence is the order assigned by the data source; receive time is when a consumer observes the message. This example uses one sequence scope; SET overwrites the remaining quantity for order-A. Real feeds must be interpreted according to their own specifications.

SequenceSource time (ms)Receive time (ms)OperationQuantity
110001100SET order-A10
210011103SET order-A4
310021101SET order-A7
Remaining quantity—
Events replayed0 / 3

Choose an order, then run the example or step through it.

Replay trace

    Why do the results differ?

    Message 2 arrives after message 3. Receive-order replay applies the older update last, overwriting the newer state and ending at 4. Replay in the source sequence specified by this example ends at 7. This conclusion depends on the stated event semantics; it is not a universal rule for all market-data protocols.

    Download the Python example

    Python 3 · Standard library only · MIT licence

    Synthetic data only. No live prices, trading signals or account connections.

    Search website

      Arrows to select · Enter to open · Esc to closeCtrl / ⌘ K

      BROWSER SETTINGS

      Privacy & display

      These choices apply to this website and browser. You can revisit them from the footer.

      Necessary settings

      Remembers this choice on this device.

      Always on

      Advertising and audience analytics are not installed. Refusing optional storage does not prevent reading or contacting us.

      Cookie & storage details