com.apama.mlom
Event OrderUpdate


A snapshot of the entire state of the order.

This gives the complete state of the order. These may be sent at the service's discretion, but it should report information including acknowledgements as soon as possible, once sufficient information about the state of the order has been received to fill this event in a consistent manner.

Note that the update event will indicate the values of price, quantity, etc. that are actually active in the market. These will not necessarily be the same as the submitted values. For example, the market may apply rounding or quantisation rules to the submitted price and quantity.

As noted above, a service may choose not to send OrderUpdate events.
Member summary
 stringorderId

As given in the NewMultiLegOrder event.
 stringserviceId

As given in the NewMultiLegOrder event.
 stringsymbol

As given in the NewMultiLegOrder event, unless the market has modified it.
 floatprice

The requested price active in the market for this order. This is only changed if an amendment has been accepted by the market. Does not necessarily reflect the actual price traded.
 stringside

The side active in the market for this order.
 stringtype

The type of order active in the market for this leg.
 floatquantity

Total amount of the order, including any already traded (either as a fill of the current order or previous orders if the service monitor manages chained orders).
 floatlastPrice

The price of the last execution on this order.
 floatavgPrice

The volume-weighted average price across all executions on this order. undefined if qtyExecuted is 0.
 floatqtyExecuted

The total quantity executed on this order.
 floatqtyRemaining

The quantity remaining for this order. Typically, but not necessarily, qtyRemaining = quantity - qtyExecuted.
 integernumLegs

The number of legs associated with this order.
 integerlegsInMarket

The number of legs with inMarket = true.
 integerlegsVisible

The number of legs with isVisible = true.
 integerlegsModifiable

The number of legs with modifiable = true.
 integerlegsCancelled

The number of legs with cancelled = true.
 integerlegsOrderChangeRejected

The number of legs with orderChangeRejected = true.
 integerlegsExternallyModified

The number of legs with externallyModified = true.
 integerlegsUnknownState

The number of legs with unknownState = true.
 integerlegsCorrected

The number of legs with corrected = true.
 integerlegsFinal

The number of legs with final = true.
 integerlegsSettled

The number of legs with settled = true. If legsSettled = numLegs there will be no more updates for this order of any of its legs.
 stringmarketOrderId

The order identifier supplied by the market, typically unique across the market - may be required if another system is to control the order.
 stringstatus

A free-form string describing what has happened to the order - may contain an error message (e.g. "User is not allowed to place orders").
 dictionary<string, string>extraParams

Extra parameters that do not map into any of the above.
 
Member detail

avgPrice

float avgPrice
The volume-weighted average price across all executions on this order. undefined if qtyExecuted is 0.

extraParams

dictionary<string, string> extraParams
Extra parameters that do not map into any of the above.

Convention is that keys are in TitleCase, e.g. "StopPrice", "Account", etc. although other conventions may apply, particularly where extraParams keys are mapped directly to identifiers used by the underlying exchange.

lastPrice

float lastPrice
The price of the last execution on this order.

legsCancelled

integer legsCancelled
The number of legs with cancelled = true.

legsCorrected

integer legsCorrected
The number of legs with corrected = true.

legsExternallyModified

integer legsExternallyModified
The number of legs with externallyModified = true.

legsFinal

integer legsFinal
The number of legs with final = true.

legsInMarket

integer legsInMarket
The number of legs with inMarket = true.

legsModifiable

integer legsModifiable
The number of legs with modifiable = true.

legsOrderChangeRejected

integer legsOrderChangeRejected
The number of legs with orderChangeRejected = true.

legsSettled

integer legsSettled
The number of legs with settled = true. If legsSettled = numLegs there will be no more updates for this order of any of its legs.

legsUnknownState

integer legsUnknownState
The number of legs with unknownState = true.

legsVisible

integer legsVisible
The number of legs with isVisible = true.

marketOrderId

string marketOrderId
The order identifier supplied by the market, typically unique across the market - may be required if another system is to control the order.

numLegs

integer numLegs
The number of legs associated with this order.

orderId

string orderId
As given in the NewMultiLegOrder event.

price

float price
The requested price active in the market for this order. This is only changed if an amendment has been accepted by the market. Does not necessarily reflect the actual price traded.

qtyExecuted

float qtyExecuted
The total quantity executed on this order.

qtyRemaining

float qtyRemaining
The quantity remaining for this order. Typically, but not necessarily, qtyRemaining = quantity - qtyExecuted.

quantity

float quantity
Total amount of the order, including any already traded (either as a fill of the current order or previous orders if the service monitor manages chained orders).

serviceId

string serviceId
As given in the NewMultiLegOrder event.

side

string side
The side active in the market for this order.

status

string status
A free-form string describing what has happened to the order - may contain an error message (e.g. "User is not allowed to place orders").

symbol

string symbol
As given in the NewMultiLegOrder event, unless the market has modified it.

type

string type
The type of order active in the market for this leg.