The Lab

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from this space and version 1.1.18

...

Subscription Management

Gliffy Diagram
displayName4.0 Schema_MarketDataRequest_CLOB.01
name4.0 Schema_MarketDataRequest_CLOB.01

...

  • ContractMultiplier - This is aka Lot SIze. whilst there are a few FX venues to allow the client to trade standardised contracts (e.g. LMAX), this is primarily present for trading Futures on venues such as the CME. For most venues, the contract multiplier returned will be 1.0.
  • MinQty - This is the minimum allowed Order size for the Venue. given that the venue may be trading in terms of contracts, the client may safely  assume that this quantity is expressed in ‘nominal’ units (e.g. contracts) and not in total units.

MarketData Messages

Snapshot vs Incremental

...

Updates

Whisperer delivers market data in the form of incremental updates, wherever possible.When a venue message is known to be a snapshot, this is reflected with MDFlags.IsSnapshot = TRUE and uses a single MarketDataIncrementalRefresh message  for all market data updates.

The MDFlags.IsSnapshot flag is used to indicate how the message relates to the previous state:

  • TRUE  - This message must fully replace any book that exist prior.
  • FALSE - This message is to be applied to the local book, which must be retained.

This flag is guaranteed to be set such that the local book is always correct. In particular it should be noted that:

  • On starting the subscription, the local book is regarded as empty. For the the first update the client receives, all MDEntries will specify NoMDEntries[*].MDUpdateAction = New, so the value of MDFlags.IsSnapshot is immaterial in this case and Whisperer may mark the first update as a snapshot, or not, depending on the venue.
  • Snapshots may be delivered at any time in the life of the subscription. This is particularly important for connections to UDP multicast feeds where dropped packets must trigger book/session recovery.

Incremental Processing

When MDFlags.IsSnapshot= FALSE, standard incremental processing is expected. The client must reference each Snapshots always fully replace any book that might exist prior.Standard incremental processing is expected, with clients making direct reference to NoMDEntries[*].MDUpdateAction and applying apply the New/Change/Delete actions action against each associated the associated MDEntryID. It is important essential that the NoMDEntries repeating repeating groups are are processed in the exact order given.

...

Order State Transition Diagram

Gliffy Diagram
displayName4.0 Schema_ESP_OrderState.3
name4.0 Schema_ESP_OrderState.3

Order Submission and Modification

Gliffy Diagram
displayName4.0 Schema_ESP_Order.5
name4.0 Schema_ESP_Order.5

Order Cancellation

Gliffy Diagram
displayName4.0 Schema_OrderCancel.02
name4.0 Schema_OrderCancel.02

...