Skip to main content

Ember REST/WS API Reference

General Concepts

Deltix Trading API is influenced by the FIX Protocol and native APIs of various trading systems that Deltix has previously worked with. It is designed to provide a high-level normalized format suitable to interact with 99% of trading venues.

  • REST API endpoints can be used for order entry operations, as well as for synchronous retrieval of information like list of active orders or order status information.
  • WebSocket API offers bidirectional private WebSocket channels. This API can be used to access full set of Ember operations (order entry and positions).
caution

Ember REST/WS API is not intended for use over Public Internet. Deltix offers an alternative CryptoWebGUI API of CryptoCortex for internet-facing retail API access.

All requests and responses are `application/json`` content type and follow typical HTTP response status codes for success and failure. For example, client can use REST or WebSocket to submit new order using OrderNewRequest:

{
"orderId":"11336866712",
"timestamp":"2020-12-15T17:34:26.839Z",
"side":"BUY",
"quantity":100,
"symbol":"ESZ21",
"orderType":"MARKET",
"destinationId":"CME"
}

For each order request client will receive a series of order events. For example, there following event notifies about a trade:

{
"$type":"OrderTradeReportEvent",
"tradePrice":6543.21,
"tradeQuantity":10,
"orderId":"11337484174",
"correlationOrderId":"11337484174",
"externalOrderId":"EX:SAMPLE:11337484174",
"orderStatus":"COMPLETELY_FILLED",
"eventId":"2",
"side":"BUY",
"quantity":10,
"orderType":"LIMIT",
"limitPrice":6543.21,
"exchangeId":"FILL",
"account":"GOLD",
"cumulativeQuantity":10,
"averagePrice":6543.21,
"remainingQuantity":0,
"displayQuantity":1,
"timeInForce":"DAY",
"sequence":26,
"symbol":"ESZ20",
"instrumentType":"FUTURE",
"timestamp":"2020-12-15T17:44:44.283Z",
"sourceId":"CME",
"destinationId":"JSONCLIENT1"
}

Encryption

note

TLS Encryption is required for production API gateways.

API Keys

Before you can send requests you must create an API key. API key is placed in the HTTP header of each request and to sign request payload.

Request signing

All REST requests must contain the following headers:

HTTP HeaderContent
X-API-KEYPublic API key
X-SIGNATUREThe HMAC-SHA384 signature in HEX encoding

The X-SIGNATURE header is generated by creating a HMAC-SHA384 using secret key and request body, in hex encoding. See example below.

const Axios = require('axios');
const Crypto = require('crypto')

const API_KEY = 'w6AcfksrG7GiEFoN'
const SECRET = '*****************************'

var order = JSON.stringify({
orderId: "11336866712",
timestamp: "2020-12-15T17:34:26.839Z",
side: "BUY",
quantity: 100,
symbol: "ESZ21",
orderType: "MARKET",
destinationId: "CME"
});

var signature = CryptoJS.HmacSHA384(order, SECRET).toString(); // Hex format

Axios.post('http://localhost:8988/api/v1/order/new', order,
{
headers: {
"Content-Type": "application/json",
"X-API-KEY": API_KEY,
"X-SIGNATURE": signature,
}
}
).then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error);
});

Python version:

import requests
import json
import hashlib
import hmac
import datetime
import uuid

API_KEY = 'w6AcfksrG7GiEFoN'
SECRET = '*****************************'

order = json.dumps({
"orderId": uuid.uuid4().hex,
"timestamp": datetime.datetime.utcnow().isoformat(),
"side": "BUY",
"quantity": 100,
"symbol": "ESZ21",
"orderType": "MARKET",
"destinationId": "CME"
});

signature = hmac.new(SECRET.encode('utf-8'), order.encode('utf-8'), hashlib.sha384).hexdigest()

headers = {
"Content-Type": "application/json",
"X-API-KEY": API_KEY,
"X-SIGNATURE": signature,
}

response = requests.post('http://localhost:8988/api/v1/order/new', data = order, headers=headers)

print("Server responded with [%s] %s" % (response.status_code, response.text))

Identity

The API follows ideas of FIX protocol when it comes to identifying orders and requests.

Order Identification

Client Order ID

The client provides an order ID with each request. This textual identifier must be unique in the scope of a single API client.

Each order modification request client provides a new order ID and must specify the original order ID. Once the change is approved, the working order will be identified by the replacement order ID. In case of the replace reject, the order keeps its original identity. Users familiar with the FIX protocol will recognize this approach. For the convenience of handling the large chain of cancellation replaces requests, the API supports Correlation Order ID. This optional attribute matches the ID of the first order in the replacement chain.

Client Order ID uniqueness

It is the responsibility of a client to prevent duplicate Client Order identifiers. Deltix side performs limited checking for duplicates. For each client Deltix keeps track of all active and the N recent inactive orders which will be used for a duplicate check. To prevent accidental re-submission of a large batch of orders Deltix side also checks timestamps of inbound order requests. Requests that are older than 15 seconds are rejected.

External Order ID

Trading Venues may assign their identifiers to the orders, represented as an "external order ID". These identifiers are unique only in the scope of each trading venue (identified by Destination ID and Exchange).

An external order ID is typically reported with order events and may or may not change each time the order is amended using CancelReplaceRequest.

Request Identification

To distinguish repeated attempts to cancel the same order, each CancelRequest is identified by a Request ID. This required identifier is subsequently reported in the ACK / NACK events OrderCancelEvent and OrderCancelRejectEvent cancel events.

Order submission, cancellation, and modification requests are identified by order ID.

Symbology

API uses symbology defined in Deltix Security Metadata. Each client implementation may decide which symbology should be used.

Order Routing

Each order may specify a destination (for example “TWAP” execution algorithm, “CME” trading connector, or “SIMULATOR”). Alternatively, Ember can be configured to route orders automatically.

Limits

Each Ember installation accessible via this API can have different risk limits configured. For example, system may define maximum order sizes, limit position sizes, or throttle request frequency.

Basic Data Types

Text fields

API supports UTF-8 encoding, but all textual fields must use ASCII character set.

Alphanumeric text fields

There is one special type of text fields. For efficiency Ember uses INT64 internally to identify exchanges or order destinations. As result fields EXCHANGE, DESTINATION are limited to 10 characters in ASCII range 0x20..0x5F (punctuation chars, upper case letters, and digits).

Decimal fields

Decimal fields like prices and quantities can be accepted as JSON numbers or as text values in input messages. In some cases textual representation addresses loss of precision and ambiguity with JSON floating-point numbers. In output messages all prices and quantities are represented as JSON numbers.

Custom Attributes

While Deltix has attempted to represent the most common order attributes as JSON message fields, for some advanced cases custom attributes should be used to supply extended order information. Each trading message can carry a list of custom attributes. Each attribute is identified by numeric key and stores the text value. For example, here we provide FIX Parties component block as a list of custom attributes:

"attributes":[
{
"key":453, // NoPartyID=1
"value":"1"
},
{
"key":448, // PartyID
"value":"AAA"
},
{
"key":452, // Party Role
"value":"3" // ‘3’ = Client ID
}
]

HTTP response codes

Successful requests return HTTP status code 200. In case of a problem the following HTTP status codes are used:

Status codeReason
400 Bad requestInvalid request format.
401 UnauthorizedInvalid API Key.
403 ForbiddenYou do not have access to the requested resource.
404 Not foundUnknown API entry point or Order not found.
500 Internal server errorGeneral problem on server side.
503 Service unavailableDownstream service is not available or overloaded.
504 Gateway timeoutServer side operation timed.

REST API: Order Entry

Typically, each order API request is asynchronous. Each request results in one or more response messages communicated via private WebSocket feed. For example, order submission may result in several order event messages: order acknowledgement, order partial fill, and order cancellation. One exception is /api/v1/order/status REST query that synchronously retrieves current order status information into HTTP response.

Submit new order

Order is subject to Risk Checks that are configured in Ember OMS (for example, order and position size checks, or rate limit).

Order types depend on destination, most destinations support MARKET and LIMIT orders.

HTTP REQUESTPOST /api/v1/order/new
Payload (body)OrderNewRequest
Response (WebSocket)One or several of OrderPendingNewEvent, OrderRejectEvent, OrderNewEvent, OrderCancelEvent, OrderTradeReportEvent, etc. according to lifecycle of given order.
PermissionsThis endpoint requires ORDER_ENTRY permission.

Cancel an order

You can request order cancellation immediately after order placement.

HTTP REQUESTPOST /api/v1/order/cancel
Payload (body)OrderCancelRequest.
Response (WebSocket feed)Either OrderCancelEvent (ACK) or OrderCancelRejectEvent (NAK). Some destination may report OrderCancelPendingEvent prior to ACK/NACK.
PermissionsThis endpoint requires ORDER_ENTRY permission.

Modify an order

You can request order modification (also known as Cancel-Replace workflow) immediately after order placement. Each active order may have multiple modification requests pending. Each modification request uses unique order ID and identifies a predecessor order.

Ember follows Cancel-Replace workflows described by the FIX Protocol.

HTTP REQUESTPOST /api/v1/order/replace
Payload (body)OrderReplaceRequest.
Response (WebSocket feed)Either OrderNewEvent (ACK) or OrderReplaceRejectEvent (NAK). Some destination may report OrderReplacePendingEvent prior to ACK/NACK.
PermissionsThis endpoint requires ORDER_ENTRY permission.

Query order state

You can request about order status immediately after order submission. Order may have multiple modification requests pending.

You may use identity of any of the active order modification requests in cancel-replace chain (as well as Correlation Order ID) to query the status.

HTTP REQUESTPOST /api/v1/order/status
Payload (body)OrderStatusRequest.
Response (body)OrderStatusEvent. In case when ember cannot locate order by given ID you will receive 404 error.
PermissionsThis endpoint does not require any permissions.

List active orders

You can request list of active orders.

HTTP REQUESTPOST /api/v1/orders
Payload (body)OrderMassStatusRequest.
Response (body)A series of OrderStatusEvent messages, with the last message flagged as isLast=true. If there are no active orders matching request parameter the response will contain an empty list.
PermissionsThis endpoint does not require any permissions.

Discard an order

In rare special cases order destination is not available or incapable of confirming order cancellation. This request will simply mark order as cancelled in Deltix OMS. It will not send cancel request to order destination (use Cancel request for all normal scenarios).

HTTP REQUESTPOST /api/v1/order/discard
Payload (body)OrderDiscardRequest.
Response (WebSocket feed)Currently this operation does not trigger any response message.
PermissionsThis endpoint requires ORDER_ENTRY permission.

REST API: Positions

List positions

You can request list positions for specific projection.

HTTP REQUESTPOST /api/v1/positions
Payload (body)PositionRequest.
Response (body)A series of PositionReport messages, with the last message flagged as isLast=true.
PermissionsThis endpoint does not require any permissions.

Adjust position

You can adjust size, average cost, and realized P&L of individual position. Size can be adjusted to absolute value or using provided delta.

HTTP REQUESTPOST /api/v1/position/adjust
Payload (body)PositionSnapshot.
Response (body)Currently this operation does not trigger any response message.
PermissionsThis endpoint requires POSITION_ADJUSTMENT permission.

WebSocket API

You can use WebSocket API to receive acknowledgment for requests made via REST API. For example, you may receive OrderNewEvent or OrderRejectEvent in response to OrderNewRequest.

You can also use WebSocket API in bi-directional fashion, without REST API. You can simply send your requests to WebSocket channel. And of course you can listen to WebSocket feed if you simply want to be notified of trading activity that happens on server (e.g. when order come via FIX).

note

Each API key is associated with a specific order source (client or SourceID in Ember terminology). WebSocket client will only receive events for orders of the same source (same client) as API key.

WebSocket API does not require any SUBSCRIBE messages. As soon as you authenticate you will start receiving events from Ember OMS.

Each message sent and received via the Ember's WebSocket channel is encoded in JSON format, format of requests is exactly the same as used by REST API.

Authentication

Before you can send any WebSocket requests you need to authenticate using special message:

FieldDescription
$typeAuthRequest
timestampTimestamp of this request in ISO 8601 format (e.g. 2011-12-19T15:28:46.493Z)
saltUUID of this request
signatureRequest signature is generated by creating a HMAC-SHA384 using secret key and concatenated payload string: API_KEY + '/' + salt + '/' + timestamp.
apiKeyYour public API key

WebSocket Example

const WebSocket = require('ws')
const Crypto = require('crypto')
const { v4: GUID } = require('uuid');

const API_KEY = 'w6AcfksrG7GiEFoN'
const SECRET = '*****************************'

const salt = GUID();
const now = new Date();

const data = API_KEY + '/' + salt + '/' + now.toISOString();
const signature = Crypto.createHmac('sha384', SECRET).update(data).digest('hex');
const auth_request = {
$type: 'AuthRequest',
apiKey: API_KEY,
signature: signature,
salt: salt,
timestamp: now
};

const order = {
$type: 'OrderNewRequest',
orderId: GUID(),
timestamp: now,
side: 'BUY',
quantity: 100,
symbol: 'BTC/USD',
orderType: 'MARKET',
destinationId: 'SIM',
exchangeId: 'FILL'
};

const wss = new WebSocket('ws://localhost:8988/api/v1') // Use wss:// for PROD
wss.on('message', (msg) => console.log(JSON.parse(msg)))
wss.on('open', () => {
wss.send(JSON.stringify(auth_request)); // Step 1: Authenticate
wss.send(JSON.stringify(order)); // Step 2: send order
})

Python:

import time
import json
import hashlib
import hmac
import datetime
import uuid
import websocket

API_KEY = 'w6AcfksrG7GiEFoN'
SECRET = '*****************************'

salt = uuid.uuid4().hex
timestamp = datetime.datetime.utcnow().isoformat()[:-3] + 'Z' # timestamp format workaround

data = API_KEY + '/' + salt + '/' + timestamp
signature = hmac.new(SECRET.encode('utf-8'), data.encode('utf-8'), hashlib.sha384).hexdigest()

auth_request = {
"$type": 'AuthRequest',
"apiKey": API_KEY,
"salt": salt,
"timestamp": timestamp,
"signature": signature
}

order = {
"$type": 'OrderNewRequest',
"orderId": uuid.uuid4().hex,
"timestamp": timestamp,
"side": 'BUY',
"quantity": 100,
"symbol": 'BTCUSD',
"orderType": 'MARKET',
"destinationId": 'SIM',
"exchangeId": 'FILL'
}

ws = websocket.create_connection("ws://localhost:8988/api/v1")
ws.send(json.dumps(auth_request)) # Step 1: Authenticate
result = ws.recv()

if json.loads(result)["success"]:
ws.send(json.dumps(order)) # Step 2: send order
result = ws.recv()
print(result)

ws.close()

Expected format of response to AuthRequest is the following:

{
'$type': 'AuthResponse',
message: 'Authenticated session is established',
success: true,
timestamp: '2021-12-15T00:14:06.705Z'
}

Order requests via Websocket

tip

Field $type should be the first field in any WebSocket request:

{ 
"$type":"OrderNewRequest",
...
}

The value of $type field should correspond to a request name described in Message Types section of this document.

Order events via Websocket

Order events published to WebSocket feed communicate order changes via the following attributes:

AttributeDescription
$typeEvent type. Describe what was the change that triggered this message, similar to ExecType(150) in FIX Protocol. See Order Entry Responses section for a complete list of order events.
statusCurrent order state
cumulativeQuantityOrder quantity that executed so far.
remainingQuantityOrder quantity that remains on the market.

As with trading requests, ember trading events have direct parallel to messages in the FIX Protocol:

  • All events have orderId property. (For most events this attribute comes from FIX tag ClOrdId(11), with exception of CancelPending and Cancelled events that get order Id from tag OrigClOrdId(41)).
  • Events that correspond to replacement request have originalOrderID attribute. (The value attribute corresponds to FIX tag OrigClOrdId(41).)
  • Events that report status of order cancellation request have requestId attribute. (Depending on message type and exec type it comes either from tag 41 or 11).
  • Each order event type represents a different kind of event:
    • FIX ExecutionReport(8) messages with each ExecType(150) value corresponds to some order event type. For example, OrderRejectedEvent corresponds to ExecutionReport with ExecType(150)=8 / Rejected
    • FIX CancelReject(9) messages are represented by OrderCancelRejectEvent and OrderCancelReplaceRejectEvent (depending on value of tag CxlRejResponseTo(434))

Please refer to Volume 4 of FIX 4.4 Specification for additional information.

Message Types

This section defines Ember message types used by REST endpoints as well as WebSocket feed

Order Entry API messages

Requests

OrderNewRequest

Used by API clients submit trading orders to execution venues.

Corresponds to NewOrderSingle(35=D) in FIX Protocol.

FieldDescriptionTypeRequired
accountOrder Trading AccountStringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
clearingAccountOrder Clearing AccountStringN
clearingBrokerClearing Broker (Central Counter Party)
Since version 1.8.
StringN
currencyIdentifies currency used for prices in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
discretionOffsetThe presence of DiscretionOffset on an order indicates that the trader wishes to display one price but will accept trades at another price.
For example a SELL order with limit price 50.00, and discretion offset -0.25 means that the order should be displayed as an offer for 50.00, but will match any bid greater than or equal to 49.75.
Roughly corresponds to FIX tag DiscretionOffset(389).
Since version 1.8.
String
DECIMAL
N
displayQuantityCan be used for iceberg orders.
"MaxShow/DisplaySize" order quantity in fixed-point representation.
String
DECIMAL
N
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
expireTimeOrder Expiration time. Required for TimeInForce.GOOD_TILL_DATE orders. May also be used for DAY order in some cases.String
TIMESTAMP
N
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
N
limitPriceLimit price. Required for LIMIT or LIMIT_STOP orders (and some custom orders).
Negative prices are allowed (e.g. for calendar spreads of FUTURE oil prices).
String
DECIMAL
N
minQuantityOptional attribute supported by some execution venues.
Minimum quantity allowed for execution, in fixed-point representation.
String
DECIMAL
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
orderIdUnique identifier for Order as assigned by (broker, exchange, ECN). Uniqueness must be guaranteed for each order source.
Firms which accept multi-day orders should consider embedding a date within the OrderID field to assure uniqueness across days.
StringY
orderType
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
Y
parentOrderIdIdentifies parent algo-order.StringN
partyDesrcibes business entity involved in this transaction (Counter Party)
Since version 1.8.
StringN
pegDifferencePeg Difference for Pegged order types. Optional - implied value is zero. Amount (signed) added to the price of the peg for a pegged order.String
DECIMAL
N
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
quantityOrder quantity in fixed-point representation.
Order Quantity is required for order entry requests and optional for cancel request.
String
DECIMAL
N
quoteIdIdentifies quote/rate we want to deal with. May be required for some FX trading destinations. Quote ID usually comes from Bid/Ask Quote IDs of market data feed. Corresponds to FIX tag 117.StringN
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
settlementDateSettlement Date of the instrument (value date) in the local timezone of destination execution venue.
Since version 1.8.
String
TIMESTAMP
N
settlementTypeIndicates Order Settlement Period. Note SettlementDate (if present) overrides this value. If both fields are skipped, default settlement type is "regular".
Corresponds to tag SettlType(63) FIX 5.0. Some examples: '0' = SPOT; '1' = T+0,TODAY; '2' = T+1,TOMORROW; 'W2' = two weeks, 'Y1' = one year.
Since version 1.9.
StringN
sideOrder side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
Y
stopPriceOrder stop price. Required for STOP and LIMIT_STOP orders (and some custom orders).
Negative prices are allowed (e.g. for calendar spreads of FUTURE oil prices).
String
DECIMAL
N
symbolIdetifies trading instrument.StringY
timeInForceUsually (but not always) required attribute that specifies how long the order remains in effect
  • DAY
  • GOOD_TILL_CANCEL
  • AT_THE_OPENING
  • IMMEDIATE_OR_CANCEL
  • FILL_OR_KILL
  • GOOD_TILL_CROSSING
  • GOOD_TILL_DATE
  • AT_THE_CLOSE
String
ENUM
Y
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN
userDataUser-defined cookie that will be reported back in order events. For example, order reason. Sometimes custom order attributes are sometimes too heavy.StringN

OrderCancelRequest

Requests the cancellation of all of the remaining quantity of an existing order.

Note that the Order Cancel/Replace Request(35=G) should be used to partially cancel (reduce) an order).

The request will only be accepted if the order can successfully be pulled back from the exchange floor without executing.

Corresponds to OrderCancelRequest(35=F) in FIX Protocol.

FieldDescriptionTypeRequired
accountOrder Trading AccountStringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
clearingAccountOrder Clearing AccountStringN
clearingBrokerClearing Broker (Central Counter Party)
Since version 1.8.
StringN
correlationOrderIdMatches orderId of the first order request in this cancel-replace chain.
API users can skip this field when submitting replace request - OMS will set it automatically before routing request to destination
StringN
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
N
orderIdUnique identifier for Order as assigned by (broker, exchange, ECN). Uniqueness must be guaranteed for each order source.
Firms which accept multi-day orders should consider embedding a date within the OrderID field to assure uniqueness across days.
StringY
orderType
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
Y
partyDesrcibes business entity involved in this transaction (Counter Party)
Since version 1.8.
StringN
quantityOrder quantity in fixed-point representation.
Order Quantity is required for order entry requests and optional for cancel request.
String
DECIMAL
N
reasonCancellation reason.StringN
requestIdCancel Request identifier. Could be used to match Cancel Ack/Reject messages to corresponding Cancel Requests.
Corresponds to tag ClOrdID(11) in context of OrderCancelRequest(35=F) in FIX Protocol.
Cancel Request ID is required for Execution Server.
StringY
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sideOrder side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
Y
symbolIdetifies trading instrument.StringY
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN

OrderReplaceRequest

The order replace request is used to change the parameters of an existing order. Replace request should not be used to cancel remaining quantity of working order. Use CancelOrderRequest for that purpose.

Replacement request must contain all attributes of original order (including attributes that are not modified).

This is also true for order quantity - replacement request should not take into account already filled quantity (if any).

This request is similar to Order Cancel/Replace Request (35=G) in FIX Protocol.

FieldDescriptionTypeRequired
accountOrder Trading AccountStringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
clearingAccountOrder Clearing AccountStringN
clearingBrokerClearing Broker (Central Counter Party)
Since version 1.8.
StringN
correlationOrderIdMatches orderId of the first order request in this cancel-replace chain. This tag can be used instead of OriginalOrderId to identify cancel replace order chain.
API users can skip this field when submitting replace request - OMS will set it automatically before routing request to destination
StringN
currencyIdentifies currency used for prices in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
discretionOffsetThe presence of DiscretionOffset on an order indicates that the trader wishes to display one price but will accept trades at another price.
For example a SELL order with limit price 50.00, and discretion offset -0.25 means that the order should be displayed as an offer for 50.00, but will match any bid greater than or equal to 49.75.
Roughly corresponds to FIX tag DiscretionOffset(389).
Since version 1.8.
String
DECIMAL
N
displayQuantityCan be used for iceberg orders.
"MaxShow/DisplaySize" order quantity in fixed-point representation.
String
DECIMAL
N
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
expireTimeOrder Expiration time. Required for TimeInForce.GOOD_TILL_DATE orders. May also be used for DAY order in some cases.String
TIMESTAMP
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
N
limitPriceLimit price. Required for LIMIT or LIMIT_STOP orders (and some custom orders).
Negative prices are allowed (e.g. for calendar spreads of FUTURE oil prices).
String
DECIMAL
N
minQuantityOptional attribute supported by some execution venues.
Minimum quantity allowed for execution, in fixed-point representation.
String
DECIMAL
N
orderIdUnique identifier for Order as assigned by (broker, exchange, ECN). Uniqueness must be guaranteed for each order source.
Firms which accept multi-day orders should consider embedding a date within the OrderID field to assure uniqueness across days.
StringY
orderType
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
Y
originalOrderIdIdentifier of the previous order (this can be NewOrderRequest or another ReplaceOrderRequest) that this modification request applies to.
Similar to tag OrigClOrdId(41) in FIX OrderCancelReplace message.
StringY
parentOrderIdIdentifies parent algo-order.StringN
partyDesrcibes business entity involved in this transaction (Counter Party)
Since version 1.8.
StringN
pegDifferencePeg Difference for Pegged order types. Optional - implied value is zero. Amount (signed) added to the price of the peg for a pegged order.String
DECIMAL
N
quantityOrder quantity in fixed-point representation.
Order Quantity is required for order entry requests and optional for cancel request.
String
DECIMAL
N
quoteIdIdentifies quote/rate we want to deal with. May be required for some FX trading destinations. Quote ID usually comes from Bid/Ask Quote IDs of market data feed. Corresponds to FIX tag 117.StringN
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sideOrder side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
Y
stopPriceOrder stop price. Required for STOP and LIMIT_STOP orders (and some custom orders).
Negative prices are allowed (e.g. for calendar spreads of FUTURE oil prices).
String
DECIMAL
N
symbolIdetifies trading instrument.StringY
timeInForceUsually (but not always) required attribute that specifies how long the order remains in effect
  • DAY
  • GOOD_TILL_CANCEL
  • AT_THE_OPENING
  • IMMEDIATE_OR_CANCEL
  • FILL_OR_KILL
  • GOOD_TILL_CROSSING
  • GOOD_TILL_DATE
  • AT_THE_CLOSE
String
ENUM
Y
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN
userDataUser-defined cookie that will be reported back in order events. For example, order reason. Sometimes custom order attributes are sometimes too heavy.
Unfortunately we cannot place this common attribute into OrderEntryRequest and avoid journal format breakdown.
WARNING: You cannot replace order's user data if User Data is used in one of risk projections.
Since version 1.8.
StringN

OrderMassCancelRequest

Cancels all orders

FieldDescriptionTypeRequired
accountIf provided limits cancellation to orders that belong to given accountStringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
cancelType
  • ALL - Cancels all active orders
  • SOURCE - Cancels all active orders of given client
String
ENUM
Y
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
exchangeIdIf provided limits cancellation to orders that were sent to given exchangeString
ALPHANUMERIC(10)
N
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
N
reasonCancellation reason.StringN
requestIdCancel Request identifier. Could be used to match Cancel Ack/Reject messages to corresponding Cancel Requests.
Corresponds to tag ClOrdID(11) in context of OrderCancelRequest(35=F) in FIX Protocol.
Cancel Request ID is required for Execution Server.
StringY
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
symbolIdetifies trading instrument.StringY
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderIdIf provided limits cancellation to orders that belong to given traderStringN

OrderMassStatusRequest

Batch version of OrderStatusEvents for all active orders that match given filter (account, trader, exchange)

FieldDescriptionTypeRequired
accountIf provided status request will be only sent for orders that belong to given accountStringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
exchangeIdIf provided status request will be only sent for orders that belong to given exchangeString
ALPHANUMERIC(10)
N
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
N
requestIdOptional identifier of OrderStatusRequest.
Similar to tag OrdStatusReqID(790) in FIX OrderStatusRequest(35=H) message.
Since version 1.8.
StringN
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
symbolIdetifies trading instrument.StringY
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderIdIf provided status request will be only sent for orders that belong to given traderStringN

OrderStatusRequest

Request information about current state of given order.

FieldDescriptionTypeRequired
accountOrder Account (optional)StringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
correlationOrderIdMatches orderId of the first order request in this cancel-replace chain.
API users can skip this field when submitting replace request - OMS will set it automatically before routing request to destination
StringN
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
N
orderIdIdentifies order
Similar to tag ClOrdId(11) in FIX OrderCancelReplace message.
StringY
requestIdOptional identifier of OrderStatusRequest.
Similar to tag OrdStatusReqID(790) in FIX OrderStatusRequest(35=H) message.
Since version 1.8.
StringN
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sideOrder side (optional)
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
N
symbolIdetifies trading instrument.StringY
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderIdOrder owner (optional)StringN

Responses

OrderCancelEvent

Cancel confirmation event: Order has been cancelled or expired. Order reached final state and no longer active.

Corresponds to ExecutionReport(8) with ExecType(150)=Cancelled | Expired.

FieldDescriptionTypeRequired
accountTrading Account.StringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
averagePriceAverage fill price for currently executed shares for chain of orders. Corresponds to FIX tag AvgPx(6).
This field is undefined if and only if cumulative quantity is undefined.
(Since some instruments are executed with negative prices or sometimes even with price equal to zero there
is no way to represent 'undefined' value other than binding this field to Cumulative Quantity).
String
DECIMAL
N
cancelTypeClassifies order cancellation reason.
  • GENERAL - General
  • DONE_FOR_DAY - Done for day
  • EXPIRED - Expired
String
ENUM
N
clearingAccountClearing AccountStringN
clearingBrokerClearing Broker
Since version 1.8.
StringN
correlationOrderIdMatches orderId of the first order request in cancel-replace chain of orders.StringN
cumulativeQuantityCurrently executed number of contracts for chain of orders. Corresponds to FIX tag CumQty(14).String
DECIMAL
N
currencyIdentifies currency used for prices in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
displayQuantity"MaxShow/DisplaySize" order quantity in fixed-point representation. Can be used for iceberg orders. Set to -1 when not defined.String
DECIMAL
N
eventIdIdentifies event in scope of single order or cancel replace chain. This attribute can be used to detect duplicate events (e.g. duplicate fills).StringN
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
expireTimeOrder expiration time (when applicable according to Time In Force)String
TIMESTAMP
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
Y
limitPriceOrder limit price (when applicable according to order type)String
DECIMAL
N
minQuantityMinimum quantity allowed for execution, in fixed-point representation. Optional attribute supported by some execution venues. Set to -1 when not defined.String
DECIMAL
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
orderIdOrder ID. Identifies order described by this event
Similar to tag ClOrdId(11) in FIX ExecutionReport (except for CancelPending/CancelRejected/Cancelled messages that pass order od from tag 41).
StringY
orderStatusDescribes current state of order, if known. Similar to tag OrderStatus(39) in FIX ExecutionReport.
  • PENDING_NEW - Order received by execution venue but not yet active
  • NEW - Order received by execution venue and working (but no fills reported yet)
  • REJECTED - Order has some problems had has been rejected (final state)
  • PENDING_CANCEL - order is pending cancellation (may or may not have any fills)
  • CANCELED - Order is cancelled and no longer working (may or may not have some fills)
  • PENDING_REPLACE
  • REPLACED
  • PARTIALLY_FILLED - Active order that already had some fills (but there is unfilled quantity and order is still working)
  • COMPLETELY_FILLED - Order entirely filled and no longer working
  • EXPIRED
  • SUSPENDED - The order is not eligible for trading. This usually happens as a result of a verbal or otherwise out of band request to suspend the order.
String
ENUM
N
orderTypeOrder Type.
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
N
originalTimestampExchange-provided event time (optional). This is in contrast to .timestamp field which records moment of time when Ember trade connector received this event.
Since version 1.7.
String
TIMESTAMP
N
parentOrderIdIdentifies parent algo-order.StringN
parentSourceIdIdentifies source of parent algo-order.String
ALPHANUMERIC(10)
N
partyDesrcibes business entity involved in this transaction
Since version 1.8.
StringN
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
quantityOrder quantity in fixed-point representation.String
DECIMAL
N
reasonTextual Order cancellation reason.StringN
remainingQuantityQuantity open for further execution. Corresponds to FIX tag LeavesQty(151). Reflects the cumulative result of all versions of an order in cancel-replace chain.
(If the order status is Canceled or Rejected or CompletelyFilled (the order is no longer active)
then LeavesQty (151) could be 0, otherwise LeavesQty (151) = OrderQty (38) - CumQty (14).)
String
DECIMAL
N
requestIdIdentifies Cancel Request that initiated this event.
Will be provided when cancel reject is sent in response for explicit cancel request.
StringN
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sequenceNumberEvent sequence number, if known. Similar to tag MsgSeqNum(34) in FIX ExecutionReport.
Note: behavior of this field depends on event source. For example, some sources maintain monotonously increasing session-wide sequence number,
while others may keep different sequences for different instruments. Sequence numbers are reset periodically (daily or weekly).
Number
INT32
N
sideOrder Side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
N
sourceIdIdentifies message source (e.g. FIX Sender Comp ID or trading connector). For internal orders source identifies source Anvil component (e.g. "TWAP" algo).
Source is used for ID uniqueness.
String
ALPHANUMERIC(10)
Y
stopPriceOrder stop price (when applicable according to order type)String
DECIMAL
N
symbolIdetifies trading instrument.StringY
timeInForceOrder Time-In-Force (TIF) condition
  • DAY
  • GOOD_TILL_CANCEL
  • AT_THE_OPENING
  • IMMEDIATE_OR_CANCEL
  • FILL_OR_KILL
  • GOOD_TILL_CROSSING
  • GOOD_TILL_DATE
  • AT_THE_CLOSE
String
ENUM
N
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN
userDataUser-defined cookie that was specified on order. For example, order reason. Sometimes custom order attributes are sometimes too heavy.StringN

OrderCancelRejectEvent

This event is issued by execution venue when previously issued Cancel request cannot be honored.

Field OrderStatus communicates current state of the order.

Optional Message field may provide rejection reason.

This event corresponds to FIX CancelRejected(9) message with CxlRejResponseTo(434)= reject of cancel request(1).

FieldDescriptionTypeRequired
accountTrading Account.StringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
averagePriceAverage fill price for currently executed shares for chain of orders. Corresponds to FIX tag AvgPx(6).
This field is undefined if and only if cumulative quantity is undefined.
(Since some instruments are executed with negative prices or sometimes even with price equal to zero there
is no way to represent 'undefined' value other than binding this field to Cumulative Quantity).
String
DECIMAL
N
clearingAccountClearing AccountStringN
clearingBrokerClearing Broker
Since version 1.8.
StringN
correlationOrderIdMatches orderId of the first order request in cancel-replace chain of orders.StringN
cumulativeQuantityCurrently executed number of contracts for chain of orders. Corresponds to FIX tag CumQty(14).String
DECIMAL
N
currencyIdentifies currency used for prices in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
deltixRejectCodeDeltix-spec rejection code
Internal OMS uses reject codes in range [0...9999].
Risk Rules use reject codes in range [10000...19999].
Trading Connectors and simulators use reject codes in range [20000...29999].
Number
INT32
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
displayQuantity"MaxShow/DisplaySize" order quantity in fixed-point representation. Can be used for iceberg orders. Set to -1 when not defined.String
DECIMAL
N
eventIdIdentifies event in scope of single order or cancel replace chain. This attribute can be used to detect duplicate events (e.g. duplicate fills).StringN
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
expireTimeOrder expiration time (when applicable according to Time In Force)String
TIMESTAMP
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
Y
limitPriceOrder limit price (when applicable according to order type)String
DECIMAL
N
minQuantityMinimum quantity allowed for execution, in fixed-point representation. Optional attribute supported by some execution venues. Set to -1 when not defined.String
DECIMAL
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
orderIdOrder ID. Identifies order described by this event
Similar to tag ClOrdId(11) in FIX ExecutionReport (except for CancelPending/CancelRejected/Cancelled messages that pass order od from tag 41).
StringY
orderStatusDescribes current state of order, if known. Similar to tag OrderStatus(39) in FIX ExecutionReport.
  • PENDING_NEW - Order received by execution venue but not yet active
  • NEW - Order received by execution venue and working (but no fills reported yet)
  • REJECTED - Order has some problems had has been rejected (final state)
  • PENDING_CANCEL - order is pending cancellation (may or may not have any fills)
  • CANCELED - Order is cancelled and no longer working (may or may not have some fills)
  • PENDING_REPLACE
  • REPLACED
  • PARTIALLY_FILLED - Active order that already had some fills (but there is unfilled quantity and order is still working)
  • COMPLETELY_FILLED - Order entirely filled and no longer working
  • EXPIRED
  • SUSPENDED - The order is not eligible for trading. This usually happens as a result of a verbal or otherwise out of band request to suspend the order.
String
ENUM
N
orderTypeOrder Type.
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
N
originalTimestampExchange-provided event time (optional). This is in contrast to .timestamp field which records moment of time when Ember trade connector received this event.
Since version 1.7.
String
TIMESTAMP
N
parentOrderIdIdentifies parent algo-order.StringN
parentSourceIdIdentifies source of parent algo-order.String
ALPHANUMERIC(10)
N
partyDesrcibes business entity involved in this transaction
Since version 1.8.
StringN
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
quantityOrder quantity in fixed-point representation.String
DECIMAL
N
reasonProvides rejection reason.StringN
remainingQuantityQuantity open for further execution. Corresponds to FIX tag LeavesQty(151). Reflects the cumulative result of all versions of an order in cancel-replace chain.
(If the order status is Canceled or Rejected or CompletelyFilled (the order is no longer active)
then LeavesQty (151) could be 0, otherwise LeavesQty (151) = OrderQty (38) - CumQty (14).)
String
DECIMAL
N
requestIdIdentifies cancel request that has been rejected by this event.StringN
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sequenceNumberEvent sequence number, if known. Similar to tag MsgSeqNum(34) in FIX ExecutionReport.
Note: behavior of this field depends on event source. For example, some sources maintain monotonously increasing session-wide sequence number,
while others may keep different sequences for different instruments. Sequence numbers are reset periodically (daily or weekly).
Number
INT32
N
sideOrder Side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
N
sourceIdIdentifies message source (e.g. FIX Sender Comp ID or trading connector). For internal orders source identifies source Anvil component (e.g. "TWAP" algo).
Source is used for ID uniqueness.
String
ALPHANUMERIC(10)
Y
stopPriceOrder stop price (when applicable according to order type)String
DECIMAL
N
symbolIdetifies trading instrument.StringY
timeInForceOrder Time-In-Force (TIF) condition
  • DAY
  • GOOD_TILL_CANCEL
  • AT_THE_OPENING
  • IMMEDIATE_OR_CANCEL
  • FILL_OR_KILL
  • GOOD_TILL_CROSSING
  • GOOD_TILL_DATE
  • AT_THE_CLOSE
String
ENUM
N
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN
userDataUser-defined cookie that was specified on order. For example, order reason. Sometimes custom order attributes are sometimes too heavy.StringN
vendorRejectCodeVendor-spec rejection codeNumber
INT32
N

OrderNewEvent

This event confirms that order became active on destination execution venue.

Usually this event communicates that order reached destination and is working.

Note: that some execution venues skip this event and may send FILLs immediately.

Corresponds to ExecutionReport(8) with ExecType(150)=New.

FieldDescriptionTypeRequired
accountTrading Account.StringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
averagePriceAverage fill price for currently executed shares for chain of orders. Corresponds to FIX tag AvgPx(6).
This field is undefined if and only if cumulative quantity is undefined.
(Since some instruments are executed with negative prices or sometimes even with price equal to zero there
is no way to represent 'undefined' value other than binding this field to Cumulative Quantity).
String
DECIMAL
N
clearingAccountClearing AccountStringN
clearingBrokerClearing Broker
Since version 1.8.
StringN
correlationOrderIdMatches orderId of the first order request in cancel-replace chain of orders.StringN
cumulativeQuantityCurrently executed number of contracts for chain of orders. Corresponds to FIX tag CumQty(14).String
DECIMAL
N
currencyIdentifies currency used for prices in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
displayQuantity"MaxShow/DisplaySize" order quantity in fixed-point representation. Can be used for iceberg orders. Set to -1 when not defined.String
DECIMAL
N
eventIdIdentifies event in scope of single order or cancel replace chain. This attribute can be used to detect duplicate events (e.g. duplicate fills).StringN
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
expireTimeOrder expiration time (when applicable according to Time In Force)String
TIMESTAMP
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
Y
limitPriceOrder limit price (when applicable according to order type)String
DECIMAL
N
minQuantityMinimum quantity allowed for execution, in fixed-point representation. Optional attribute supported by some execution venues. Set to -1 when not defined.String
DECIMAL
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
orderIdOrder ID. Identifies order described by this event
Similar to tag ClOrdId(11) in FIX ExecutionReport (except for CancelPending/CancelRejected/Cancelled messages that pass order od from tag 41).
StringY
orderStatusDescribes current state of order, if known. Similar to tag OrderStatus(39) in FIX ExecutionReport.
  • PENDING_NEW - Order received by execution venue but not yet active
  • NEW - Order received by execution venue and working (but no fills reported yet)
  • REJECTED - Order has some problems had has been rejected (final state)
  • PENDING_CANCEL - order is pending cancellation (may or may not have any fills)
  • CANCELED - Order is cancelled and no longer working (may or may not have some fills)
  • PENDING_REPLACE
  • REPLACED
  • PARTIALLY_FILLED - Active order that already had some fills (but there is unfilled quantity and order is still working)
  • COMPLETELY_FILLED - Order entirely filled and no longer working
  • EXPIRED
  • SUSPENDED - The order is not eligible for trading. This usually happens as a result of a verbal or otherwise out of band request to suspend the order.
String
ENUM
N
orderTypeOrder Type.
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
N
originalTimestampExchange-provided event time (optional). This is in contrast to .timestamp field which records moment of time when Ember trade connector received this event.
Since version 1.7.
String
TIMESTAMP
N
parentOrderIdIdentifies parent algo-order.StringN
parentSourceIdIdentifies source of parent algo-order.String
ALPHANUMERIC(10)
N
partyDesrcibes business entity involved in this transaction
Since version 1.8.
StringN
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
quantityOrder quantity in fixed-point representation.String
DECIMAL
N
remainingQuantityQuantity open for further execution. Corresponds to FIX tag LeavesQty(151). Reflects the cumulative result of all versions of an order in cancel-replace chain.
(If the order status is Canceled or Rejected or CompletelyFilled (the order is no longer active)
then LeavesQty (151) could be 0, otherwise LeavesQty (151) = OrderQty (38) - CumQty (14).)
String
DECIMAL
N
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sequenceNumberEvent sequence number, if known. Similar to tag MsgSeqNum(34) in FIX ExecutionReport.
Note: behavior of this field depends on event source. For example, some sources maintain monotonously increasing session-wide sequence number,
while others may keep different sequences for different instruments. Sequence numbers are reset periodically (daily or weekly).
Number
INT32
N
sideOrder Side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
N
sourceIdIdentifies message source (e.g. FIX Sender Comp ID or trading connector). For internal orders source identifies source Anvil component (e.g. "TWAP" algo).
Source is used for ID uniqueness.
String
ALPHANUMERIC(10)
Y
stopPriceOrder stop price (when applicable according to order type)String
DECIMAL
N
symbolIdetifies trading instrument.StringY
timeInForceOrder Time-In-Force (TIF) condition
  • DAY
  • GOOD_TILL_CANCEL
  • AT_THE_OPENING
  • IMMEDIATE_OR_CANCEL
  • FILL_OR_KILL
  • GOOD_TILL_CROSSING
  • GOOD_TILL_DATE
  • AT_THE_CLOSE
String
ENUM
N
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN
userDataUser-defined cookie that was specified on order. For example, order reason. Sometimes custom order attributes are sometimes too heavy.StringN

OrderPendingCancelEvent

This event confirms receipt of Cancel request. Does NOT indicate that the order has been cancelled.

Corresponds to ExecutionReport(8) with ExecType(150)=Pending Cancel.

FieldDescriptionTypeRequired
accountTrading Account.StringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
averagePriceAverage fill price for currently executed shares for chain of orders. Corresponds to FIX tag AvgPx(6).
This field is undefined if and only if cumulative quantity is undefined.
(Since some instruments are executed with negative prices or sometimes even with price equal to zero there
is no way to represent 'undefined' value other than binding this field to Cumulative Quantity).
String
DECIMAL
N
clearingAccountClearing AccountStringN
clearingBrokerClearing Broker
Since version 1.8.
StringN
correlationOrderIdMatches orderId of the first order request in cancel-replace chain of orders.StringN
cumulativeQuantityCurrently executed number of contracts for chain of orders. Corresponds to FIX tag CumQty(14).String
DECIMAL
N
currencyIdentifies currency used for prices in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
displayQuantity"MaxShow/DisplaySize" order quantity in fixed-point representation. Can be used for iceberg orders. Set to -1 when not defined.String
DECIMAL
N
eventIdIdentifies event in scope of single order or cancel replace chain. This attribute can be used to detect duplicate events (e.g. duplicate fills).StringN
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
expireTimeOrder expiration time (when applicable according to Time In Force)String
TIMESTAMP
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
Y
limitPriceOrder limit price (when applicable according to order type)String
DECIMAL
N
minQuantityMinimum quantity allowed for execution, in fixed-point representation. Optional attribute supported by some execution venues. Set to -1 when not defined.String
DECIMAL
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
orderIdOrder ID. Identifies order described by this event
Similar to tag ClOrdId(11) in FIX ExecutionReport (except for CancelPending/CancelRejected/Cancelled messages that pass order od from tag 41).
StringY
orderStatusDescribes current state of order, if known. Similar to tag OrderStatus(39) in FIX ExecutionReport.
  • PENDING_NEW - Order received by execution venue but not yet active
  • NEW - Order received by execution venue and working (but no fills reported yet)
  • REJECTED - Order has some problems had has been rejected (final state)
  • PENDING_CANCEL - order is pending cancellation (may or may not have any fills)
  • CANCELED - Order is cancelled and no longer working (may or may not have some fills)
  • PENDING_REPLACE
  • REPLACED
  • PARTIALLY_FILLED - Active order that already had some fills (but there is unfilled quantity and order is still working)
  • COMPLETELY_FILLED - Order entirely filled and no longer working
  • EXPIRED
  • SUSPENDED - The order is not eligible for trading. This usually happens as a result of a verbal or otherwise out of band request to suspend the order.
String
ENUM
N
orderTypeOrder Type.
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
N
originalTimestampExchange-provided event time (optional). This is in contrast to .timestamp field which records moment of time when Ember trade connector received this event.
Since version 1.7.
String
TIMESTAMP
N
parentOrderIdIdentifies parent algo-order.StringN
parentSourceIdIdentifies source of parent algo-order.String
ALPHANUMERIC(10)
N
partyDesrcibes business entity involved in this transaction
Since version 1.8.
StringN
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
quantityOrder quantity in fixed-point representation.String
DECIMAL
N
reasonCancellation reason.StringN
remainingQuantityQuantity open for further execution. Corresponds to FIX tag LeavesQty(151). Reflects the cumulative result of all versions of an order in cancel-replace chain.
(If the order status is Canceled or Rejected or CompletelyFilled (the order is no longer active)
then LeavesQty (151) could be 0, otherwise LeavesQty (151) = OrderQty (38) - CumQty (14).)
String
DECIMAL
N
requestIdIdentifies cancel request that has been rejected by this event. May be skipped in case of unsolicited cancel.StringN
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sequenceNumberEvent sequence number, if known. Similar to tag MsgSeqNum(34) in FIX ExecutionReport.
Note: behavior of this field depends on event source. For example, some sources maintain monotonously increasing session-wide sequence number,
while others may keep different sequences for different instruments. Sequence numbers are reset periodically (daily or weekly).
Number
INT32
N
sideOrder Side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
N
sourceIdIdentifies message source (e.g. FIX Sender Comp ID or trading connector). For internal orders source identifies source Anvil component (e.g. "TWAP" algo).
Source is used for ID uniqueness.
String
ALPHANUMERIC(10)
Y
stopPriceOrder stop price (when applicable according to order type)String
DECIMAL
N
symbolIdetifies trading instrument.StringY
timeInForceOrder Time-In-Force (TIF) condition
  • DAY
  • GOOD_TILL_CANCEL
  • AT_THE_OPENING
  • IMMEDIATE_OR_CANCEL
  • FILL_OR_KILL
  • GOOD_TILL_CROSSING
  • GOOD_TILL_DATE
  • AT_THE_CLOSE
String
ENUM
N
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN
userDataUser-defined cookie that was specified on order. For example, order reason. Sometimes custom order attributes are sometimes too heavy.StringN

OrderPendingNewEvent

This is order ACK event: the order has been received by destination venue (getBroker, getExchange, ECN) but not yet accepted for execution.

Some execution venues skip it (and report OrderNewEvent or even TradeReport as the first event).

Corresponds to ExecutionReport(8) with ExecType(150)=Pending New.

FieldDescriptionTypeRequired
accountTrading Account.StringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
averagePriceAverage fill price for currently executed shares for chain of orders. Corresponds to FIX tag AvgPx(6).
This field is undefined if and only if cumulative quantity is undefined.
(Since some instruments are executed with negative prices or sometimes even with price equal to zero there
is no way to represent 'undefined' value other than binding this field to Cumulative Quantity).
String
DECIMAL
N
clearingAccountClearing AccountStringN
clearingBrokerClearing Broker
Since version 1.8.
StringN
correlationOrderIdMatches orderId of the first order request in cancel-replace chain of orders.StringN
cumulativeQuantityCurrently executed number of contracts for chain of orders. Corresponds to FIX tag CumQty(14).String
DECIMAL
N
currencyIdentifies currency used for prices in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
displayQuantity"MaxShow/DisplaySize" order quantity in fixed-point representation. Can be used for iceberg orders. Set to -1 when not defined.String
DECIMAL
N
eventIdIdentifies event in scope of single order or cancel replace chain. This attribute can be used to detect duplicate events (e.g. duplicate fills).StringN
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
expireTimeOrder expiration time (when applicable according to Time In Force)String
TIMESTAMP
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
Y
limitPriceOrder limit price (when applicable according to order type)String
DECIMAL
N
minQuantityMinimum quantity allowed for execution, in fixed-point representation. Optional attribute supported by some execution venues. Set to -1 when not defined.String
DECIMAL
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
orderIdOrder ID. Identifies order described by this event
Similar to tag ClOrdId(11) in FIX ExecutionReport (except for CancelPending/CancelRejected/Cancelled messages that pass order od from tag 41).
StringY
orderStatusDescribes current state of order, if known. Similar to tag OrderStatus(39) in FIX ExecutionReport.
  • PENDING_NEW - Order received by execution venue but not yet active
  • NEW - Order received by execution venue and working (but no fills reported yet)
  • REJECTED - Order has some problems had has been rejected (final state)
  • PENDING_CANCEL - order is pending cancellation (may or may not have any fills)
  • CANCELED - Order is cancelled and no longer working (may or may not have some fills)
  • PENDING_REPLACE
  • REPLACED
  • PARTIALLY_FILLED - Active order that already had some fills (but there is unfilled quantity and order is still working)
  • COMPLETELY_FILLED - Order entirely filled and no longer working
  • EXPIRED
  • SUSPENDED - The order is not eligible for trading. This usually happens as a result of a verbal or otherwise out of band request to suspend the order.
String
ENUM
N
orderTypeOrder Type.
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
N
originalTimestampExchange-provided event time (optional). This is in contrast to .timestamp field which records moment of time when Ember trade connector received this event.
Since version 1.7.
String
TIMESTAMP
N
parentOrderIdIdentifies parent algo-order.StringN
parentSourceIdIdentifies source of parent algo-order.String
ALPHANUMERIC(10)
N
partyDesrcibes business entity involved in this transaction
Since version 1.8.
StringN
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
quantityOrder quantity in fixed-point representation.String
DECIMAL
N
remainingQuantityQuantity open for further execution. Corresponds to FIX tag LeavesQty(151). Reflects the cumulative result of all versions of an order in cancel-replace chain.
(If the order status is Canceled or Rejected or CompletelyFilled (the order is no longer active)
then LeavesQty (151) could be 0, otherwise LeavesQty (151) = OrderQty (38) - CumQty (14).)
String
DECIMAL
N
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sequenceNumberEvent sequence number, if known. Similar to tag MsgSeqNum(34) in FIX ExecutionReport.
Note: behavior of this field depends on event source. For example, some sources maintain monotonously increasing session-wide sequence number,
while others may keep different sequences for different instruments. Sequence numbers are reset periodically (daily or weekly).
Number
INT32
N
sideOrder Side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
N
sourceIdIdentifies message source (e.g. FIX Sender Comp ID or trading connector). For internal orders source identifies source Anvil component (e.g. "TWAP" algo).
Source is used for ID uniqueness.
String
ALPHANUMERIC(10)
Y
stopPriceOrder stop price (when applicable according to order type)String
DECIMAL
N
symbolIdetifies trading instrument.StringY
timeInForceOrder Time-In-Force (TIF) condition
  • DAY
  • GOOD_TILL_CANCEL
  • AT_THE_OPENING
  • IMMEDIATE_OR_CANCEL
  • FILL_OR_KILL
  • GOOD_TILL_CROSSING
  • GOOD_TILL_DATE
  • AT_THE_CLOSE
String
ENUM
N
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN
userDataUser-defined cookie that was specified on order. For example, order reason. Sometimes custom order attributes are sometimes too heavy.StringN

OrderPendingReplaceEvent

This event confirms receipt of CancelReplace request. Does NOT indicate that the order has been replaced.

Corresponds to ExecutionReport(8) with ExecType(150)=Pending Replace.

FieldDescriptionTypeRequired
accountTrading Account.StringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
averagePriceAverage fill price for currently executed shares for chain of orders. Corresponds to FIX tag AvgPx(6).
This field is undefined if and only if cumulative quantity is undefined.
(Since some instruments are executed with negative prices or sometimes even with price equal to zero there
is no way to represent 'undefined' value other than binding this field to Cumulative Quantity).
String
DECIMAL
N
clearingAccountClearing AccountStringN
clearingBrokerClearing Broker
Since version 1.8.
StringN
correlationOrderIdMatches orderId of the first order request in cancel-replace chain of orders.StringN
cumulativeQuantityCurrently executed number of contracts for chain of orders. Corresponds to FIX tag CumQty(14).String
DECIMAL
N
currencyIdentifies currency used for prices in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
displayQuantity"MaxShow/DisplaySize" order quantity in fixed-point representation. Can be used for iceberg orders. Set to -1 when not defined.String
DECIMAL
N
eventIdIdentifies event in scope of single order or cancel replace chain. This attribute can be used to detect duplicate events (e.g. duplicate fills).StringN
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
expireTimeOrder expiration time (when applicable according to Time In Force)String
TIMESTAMP
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
Y
limitPriceOrder limit price (when applicable according to order type)String
DECIMAL
N
minQuantityMinimum quantity allowed for execution, in fixed-point representation. Optional attribute supported by some execution venues. Set to -1 when not defined.String
DECIMAL
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
orderIdOrder ID. Identifies order described by this event
Similar to tag ClOrdId(11) in FIX ExecutionReport (except for CancelPending/CancelRejected/Cancelled messages that pass order od from tag 41).
StringY
orderStatusDescribes current state of order, if known. Similar to tag OrderStatus(39) in FIX ExecutionReport.
  • PENDING_NEW - Order received by execution venue but not yet active
  • NEW - Order received by execution venue and working (but no fills reported yet)
  • REJECTED - Order has some problems had has been rejected (final state)
  • PENDING_CANCEL - order is pending cancellation (may or may not have any fills)
  • CANCELED - Order is cancelled and no longer working (may or may not have some fills)
  • PENDING_REPLACE
  • REPLACED
  • PARTIALLY_FILLED - Active order that already had some fills (but there is unfilled quantity and order is still working)
  • COMPLETELY_FILLED - Order entirely filled and no longer working
  • EXPIRED
  • SUSPENDED - The order is not eligible for trading. This usually happens as a result of a verbal or otherwise out of band request to suspend the order.
String
ENUM
N
orderTypeOrder Type.
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
N
originalOrderIdIdentifies original order (order that is about to be replaced). Set from FIX Tag OrgClOrdId(41).
Note that ID of replacement order is returned by OrderEvent::OrderId method.
StringY
originalTimestampExchange-provided event time (optional). This is in contrast to .timestamp field which records moment of time when Ember trade connector received this event.
Since version 1.7.
String
TIMESTAMP
N
parentOrderIdIdentifies parent algo-order.StringN
parentSourceIdIdentifies source of parent algo-order.String
ALPHANUMERIC(10)
N
partyDesrcibes business entity involved in this transaction
Since version 1.8.
StringN
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
quantityOrder quantity in fixed-point representation.String
DECIMAL
N
remainingQuantityQuantity open for further execution. Corresponds to FIX tag LeavesQty(151). Reflects the cumulative result of all versions of an order in cancel-replace chain.
(If the order status is Canceled or Rejected or CompletelyFilled (the order is no longer active)
then LeavesQty (151) could be 0, otherwise LeavesQty (151) = OrderQty (38) - CumQty (14).)
String
DECIMAL
N
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sequenceNumberEvent sequence number, if known. Similar to tag MsgSeqNum(34) in FIX ExecutionReport.
Note: behavior of this field depends on event source. For example, some sources maintain monotonously increasing session-wide sequence number,
while others may keep different sequences for different instruments. Sequence numbers are reset periodically (daily or weekly).
Number
INT32
N
sideOrder Side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
N
sourceIdIdentifies message source (e.g. FIX Sender Comp ID or trading connector). For internal orders source identifies source Anvil component (e.g. "TWAP" algo).
Source is used for ID uniqueness.
String
ALPHANUMERIC(10)
Y
stopPriceOrder stop price (when applicable according to order type)String
DECIMAL
N
symbolIdetifies trading instrument.StringY
timeInForceOrder Time-In-Force (TIF) condition
  • DAY
  • GOOD_TILL_CANCEL
  • AT_THE_OPENING
  • IMMEDIATE_OR_CANCEL
  • FILL_OR_KILL
  • GOOD_TILL_CROSSING
  • GOOD_TILL_DATE
  • AT_THE_CLOSE
String
ENUM
N
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN
userDataUser-defined cookie that was specified on order. For example, order reason. Sometimes custom order attributes are sometimes too heavy.StringN

OrderRejectEvent

Order is rejected (no further executions are possible). Order reached final state and no longer active.

This event can be issued in response for NewOrderRequest, but neither for Replace Order Request, nor for Cancel Request.

Corresponds to ExecutionReport(8) with ExecType(150)=Rejected.

FieldDescriptionTypeRequired
accountTrading Account.StringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
averagePriceAverage fill price for currently executed shares for chain of orders. Corresponds to FIX tag AvgPx(6).
This field is undefined if and only if cumulative quantity is undefined.
(Since some instruments are executed with negative prices or sometimes even with price equal to zero there
is no way to represent 'undefined' value other than binding this field to Cumulative Quantity).
String
DECIMAL
N
clearingAccountClearing AccountStringN
clearingBrokerClearing Broker
Since version 1.8.
StringN
correlationOrderIdMatches orderId of the first order request in cancel-replace chain of orders.StringN
cumulativeQuantityCurrently executed number of contracts for chain of orders. Corresponds to FIX tag CumQty(14).String
DECIMAL
N
currencyIdentifies currency used for prices in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
deltixRejectCodeDeltix-spec rejection code. See DeltixRejectCodes.Number
INT32
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
displayQuantity"MaxShow/DisplaySize" order quantity in fixed-point representation. Can be used for iceberg orders. Set to -1 when not defined.String
DECIMAL
N
eventIdIdentifies event in scope of single order or cancel replace chain. This attribute can be used to detect duplicate events (e.g. duplicate fills).StringN
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
expireTimeOrder expiration time (when applicable according to Time In Force)String
TIMESTAMP
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
Y
limitPriceOrder limit price (when applicable according to order type)String
DECIMAL
N
minQuantityMinimum quantity allowed for execution, in fixed-point representation. Optional attribute supported by some execution venues. Set to -1 when not defined.String
DECIMAL
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
orderIdOrder ID. Identifies order described by this event
Similar to tag ClOrdId(11) in FIX ExecutionReport (except for CancelPending/CancelRejected/Cancelled messages that pass order od from tag 41).
StringY
orderStatusDescribes current state of order, if known. Similar to tag OrderStatus(39) in FIX ExecutionReport.
  • PENDING_NEW - Order received by execution venue but not yet active
  • NEW - Order received by execution venue and working (but no fills reported yet)
  • REJECTED - Order has some problems had has been rejected (final state)
  • PENDING_CANCEL - order is pending cancellation (may or may not have any fills)
  • CANCELED - Order is cancelled and no longer working (may or may not have some fills)
  • PENDING_REPLACE
  • REPLACED
  • PARTIALLY_FILLED - Active order that already had some fills (but there is unfilled quantity and order is still working)
  • COMPLETELY_FILLED - Order entirely filled and no longer working
  • EXPIRED
  • SUSPENDED - The order is not eligible for trading. This usually happens as a result of a verbal or otherwise out of band request to suspend the order.
String
ENUM
N
orderTypeOrder Type.
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
N
originalTimestampExchange-provided event time (optional). This is in contrast to .timestamp field which records moment of time when Ember trade connector received this event.
Since version 1.7.
String
TIMESTAMP
N
parentOrderIdIdentifies parent algo-order.StringN
parentSourceIdIdentifies source of parent algo-order.String
ALPHANUMERIC(10)
N
partyDesrcibes business entity involved in this transaction
Since version 1.8.
StringN
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
quantityOrder quantity in fixed-point representation.String
DECIMAL
N
reasonRejection message from execution side.StringN
remainingQuantityQuantity open for further execution. Corresponds to FIX tag LeavesQty(151). Reflects the cumulative result of all versions of an order in cancel-replace chain.
(If the order status is Canceled or Rejected or CompletelyFilled (the order is no longer active)
then LeavesQty (151) could be 0, otherwise LeavesQty (151) = OrderQty (38) - CumQty (14).)
String
DECIMAL
N
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sequenceNumberEvent sequence number, if known. Similar to tag MsgSeqNum(34) in FIX ExecutionReport.
Note: behavior of this field depends on event source. For example, some sources maintain monotonously increasing session-wide sequence number,
while others may keep different sequences for different instruments. Sequence numbers are reset periodically (daily or weekly).
Number
INT32
N
sideOrder Side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
N
sourceIdIdentifies message source (e.g. FIX Sender Comp ID or trading connector). For internal orders source identifies source Anvil component (e.g. "TWAP" algo).
Source is used for ID uniqueness.
String
ALPHANUMERIC(10)
Y
stopPriceOrder stop price (when applicable according to order type)String
DECIMAL
N
symbolIdetifies trading instrument.StringY
timeInForceOrder Time-In-Force (TIF) condition
  • DAY
  • GOOD_TILL_CANCEL
  • AT_THE_OPENING
  • IMMEDIATE_OR_CANCEL
  • FILL_OR_KILL
  • GOOD_TILL_CROSSING
  • GOOD_TILL_DATE
  • AT_THE_CLOSE
String
ENUM
N
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN
userDataUser-defined cookie that was specified on order. For example, order reason. Sometimes custom order attributes are sometimes too heavy.StringN
vendorRejectCodeVendor-spec rejection reason (for example https://www.cmegroup.com/confluence/display/EPICSANDBOX/iLink+Reject+Codes ).
This field must be filled if reject comes from execution venue (vendor) otherwise it will be set to MIN_INTEGER (Integer.MIN_VALUE).
If vendor does not provide reject codes this field will be set to zero.
Number
INT32
N

OrderReplaceEvent

Order has been modified. This is positive ACK event for OrderReplaceRequest.

Corresponds to ExecutionReport(8) with ExecType(150)=Replaced.

FieldDescriptionTypeRequired
accountTrading Account.StringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
averagePriceAverage fill price for currently executed shares for chain of orders. Corresponds to FIX tag AvgPx(6).
This field is undefined if and only if cumulative quantity is undefined.
(Since some instruments are executed with negative prices or sometimes even with price equal to zero there
is no way to represent 'undefined' value other than binding this field to Cumulative Quantity).
String
DECIMAL
N
clearingAccountClearing AccountStringN
clearingBrokerClearing Broker
Since version 1.8.
StringN
correlationOrderIdMatches orderId of the first order request in cancel-replace chain of orders.StringN
cumulativeQuantityCurrently executed number of contracts for chain of orders. Corresponds to FIX tag CumQty(14).String
DECIMAL
N
currencyIdentifies currency used for prices in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
displayQuantity"MaxShow/DisplaySize" order quantity in fixed-point representation. Can be used for iceberg orders. Set to -1 when not defined.String
DECIMAL
N
eventIdIdentifies event in scope of single order or cancel replace chain. This attribute can be used to detect duplicate events (e.g. duplicate fills).StringN
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
expireTimeOrder expiration time (when applicable according to Time In Force)String
TIMESTAMP
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
Y
limitPriceOrder limit price (when applicable according to order type)String
DECIMAL
N
minQuantityMinimum quantity allowed for execution, in fixed-point representation. Optional attribute supported by some execution venues. Set to -1 when not defined.String
DECIMAL
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
orderIdOrder ID. Identifies order described by this event
Similar to tag ClOrdId(11) in FIX ExecutionReport (except for CancelPending/CancelRejected/Cancelled messages that pass order od from tag 41).
StringY
orderStatusDescribes current state of order, if known. Similar to tag OrderStatus(39) in FIX ExecutionReport.
  • PENDING_NEW - Order received by execution venue but not yet active
  • NEW - Order received by execution venue and working (but no fills reported yet)
  • REJECTED - Order has some problems had has been rejected (final state)
  • PENDING_CANCEL - order is pending cancellation (may or may not have any fills)
  • CANCELED - Order is cancelled and no longer working (may or may not have some fills)
  • PENDING_REPLACE
  • REPLACED
  • PARTIALLY_FILLED - Active order that already had some fills (but there is unfilled quantity and order is still working)
  • COMPLETELY_FILLED - Order entirely filled and no longer working
  • EXPIRED
  • SUSPENDED - The order is not eligible for trading. This usually happens as a result of a verbal or otherwise out of band request to suspend the order.
String
ENUM
N
orderTypeOrder Type.
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
N
originalOrderIdIdentifies original order (order that has been replaced). Set from FIX Tag OrgClOrdId(41).StringY
originalTimestampExchange-provided event time (optional). This is in contrast to .timestamp field which records moment of time when Ember trade connector received this event.
Since version 1.7.
String
TIMESTAMP
N
parentOrderIdIdentifies parent algo-order.StringN
parentSourceIdIdentifies source of parent algo-order.String
ALPHANUMERIC(10)
N
partyDesrcibes business entity involved in this transaction
Since version 1.8.
StringN
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
quantityOrder quantity in fixed-point representation.String
DECIMAL
N
remainingQuantityQuantity open for further execution. Corresponds to FIX tag LeavesQty(151). Reflects the cumulative result of all versions of an order in cancel-replace chain.
(If the order status is Canceled or Rejected or CompletelyFilled (the order is no longer active)
then LeavesQty (151) could be 0, otherwise LeavesQty (151) = OrderQty (38) - CumQty (14).)
String
DECIMAL
N
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sequenceNumberEvent sequence number, if known. Similar to tag MsgSeqNum(34) in FIX ExecutionReport.
Note: behavior of this field depends on event source. For example, some sources maintain monotonously increasing session-wide sequence number,
while others may keep different sequences for different instruments. Sequence numbers are reset periodically (daily or weekly).
Number
INT32
N
sideOrder Side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
N
sourceIdIdentifies message source (e.g. FIX Sender Comp ID or trading connector). For internal orders source identifies source Anvil component (e.g. "TWAP" algo).
Source is used for ID uniqueness.
String
ALPHANUMERIC(10)
Y
stopPriceOrder stop price (when applicable according to order type)String
DECIMAL
N
symbolIdetifies trading instrument.StringY
timeInForceOrder Time-In-Force (TIF) condition
  • DAY
  • GOOD_TILL_CANCEL
  • AT_THE_OPENING
  • IMMEDIATE_OR_CANCEL
  • FILL_OR_KILL
  • GOOD_TILL_CROSSING
  • GOOD_TILL_DATE
  • AT_THE_CLOSE
String
ENUM
N
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN
userDataUser-defined cookie that was specified on order. For example, order reason. Sometimes custom order attributes are sometimes too heavy.StringN

OrderReplaceRejectEvent

This event is issued by execution venue when previously issued CancelReplace request cannot be honored.

This is NACK event for OrderReplaceRequest.

Original order may or may not be active as a result of rejected replacement attempt.

Optional fields OrderStatus and RemainingQuantity communicate current state of the original order.

This event corresponds to FIX CancelRejected(9) message with CxlRejResponseTo(434)= reject of cancel-replace request(2).

FieldDescriptionTypeRequired
accountTrading Account.StringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
averagePriceAverage fill price for currently executed shares for chain of orders. Corresponds to FIX tag AvgPx(6).
This field is undefined if and only if cumulative quantity is undefined.
(Since some instruments are executed with negative prices or sometimes even with price equal to zero there
is no way to represent 'undefined' value other than binding this field to Cumulative Quantity).
String
DECIMAL
N
clearingAccountClearing AccountStringN
clearingBrokerClearing Broker
Since version 1.8.
StringN
correlationOrderIdMatches orderId of the first order request in cancel-replace chain of orders.StringN
cumulativeQuantityCurrently executed number of contracts for chain of orders. Corresponds to FIX tag CumQty(14).String
DECIMAL
N
currencyIdentifies currency used for prices in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
deltixRejectCodeDeltix-spec rejection code. See DeltixRejectCodes.Number
INT32
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
displayQuantity"MaxShow/DisplaySize" order quantity in fixed-point representation. Can be used for iceberg orders. Set to -1 when not defined.String
DECIMAL
N
eventIdIdentifies event in scope of single order or cancel replace chain. This attribute can be used to detect duplicate events (e.g. duplicate fills).StringN
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
expireTimeOrder expiration time (when applicable according to Time In Force)String
TIMESTAMP
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
Y
limitPriceOrder limit price (when applicable according to order type)String
DECIMAL
N
minQuantityMinimum quantity allowed for execution, in fixed-point representation. Optional attribute supported by some execution venues. Set to -1 when not defined.String
DECIMAL
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
orderIdOrder ID. Identifies order described by this event
Similar to tag ClOrdId(11) in FIX ExecutionReport (except for CancelPending/CancelRejected/Cancelled messages that pass order od from tag 41).
StringY
orderStatusDescribes current state of order, if known. Similar to tag OrderStatus(39) in FIX ExecutionReport.
  • PENDING_NEW - Order received by execution venue but not yet active
  • NEW - Order received by execution venue and working (but no fills reported yet)
  • REJECTED - Order has some problems had has been rejected (final state)
  • PENDING_CANCEL - order is pending cancellation (may or may not have any fills)
  • CANCELED - Order is cancelled and no longer working (may or may not have some fills)
  • PENDING_REPLACE
  • REPLACED
  • PARTIALLY_FILLED - Active order that already had some fills (but there is unfilled quantity and order is still working)
  • COMPLETELY_FILLED - Order entirely filled and no longer working
  • EXPIRED
  • SUSPENDED - The order is not eligible for trading. This usually happens as a result of a verbal or otherwise out of band request to suspend the order.
String
ENUM
N
orderTypeOrder Type.
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
N
originalOrderIdOrder ID of the original order. Set from FIX Tag OrgClOrdId(41).StringY
originalTimestampExchange-provided event time (optional). This is in contrast to .timestamp field which records moment of time when Ember trade connector received this event.
Since version 1.7.
String
TIMESTAMP
N
parentOrderIdIdentifies parent algo-order.StringN
parentSourceIdIdentifies source of parent algo-order.String
ALPHANUMERIC(10)
N
partyDesrcibes business entity involved in this transaction
Since version 1.8.
StringN
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
quantityOrder quantity in fixed-point representation.String
DECIMAL
N
reasonProvides rejection reason.StringN
remainingQuantityQuantity open for further execution. Corresponds to FIX tag LeavesQty(151). Reflects the cumulative result of all versions of an order in cancel-replace chain.
(If the order status is Canceled or Rejected or CompletelyFilled (the order is no longer active)
then LeavesQty (151) could be 0, otherwise LeavesQty (151) = OrderQty (38) - CumQty (14).)
String
DECIMAL
N
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sequenceNumberEvent sequence number, if known. Similar to tag MsgSeqNum(34) in FIX ExecutionReport.
Note: behavior of this field depends on event source. For example, some sources maintain monotonously increasing session-wide sequence number,
while others may keep different sequences for different instruments. Sequence numbers are reset periodically (daily or weekly).
Number
INT32
N
sideOrder Side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
N
sourceIdIdentifies message source (e.g. FIX Sender Comp ID or trading connector). For internal orders source identifies source Anvil component (e.g. "TWAP" algo).
Source is used for ID uniqueness.
String
ALPHANUMERIC(10)
Y
stopPriceOrder stop price (when applicable according to order type)String
DECIMAL
N
symbolIdetifies trading instrument.StringY
timeInForceOrder Time-In-Force (TIF) condition
  • DAY
  • GOOD_TILL_CANCEL
  • AT_THE_OPENING
  • IMMEDIATE_OR_CANCEL
  • FILL_OR_KILL
  • GOOD_TILL_CROSSING
  • GOOD_TILL_DATE
  • AT_THE_CLOSE
String
ENUM
N
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN
userDataUser-defined cookie that was specified on order. For example, order reason. Sometimes custom order attributes are sometimes too heavy.StringN
vendorRejectCodeVendor-spec rejection reason (for example https://www.cmegroup.com/confluence/display/EPICSANDBOX/iLink+Reject+Codes ).
This field must be filled if reject comes from execution venue (vendor) otherwise it will be set to MIN_INTEGER (Integer.MIN_VALUE).
If vendor does not provide reject codes this field will be set to zero.
Number
INT32
N

OrderRestateEvent

Restated (ExecutionRpt sent unsolicited by client

Somewhat similar to unsolicited OrderStatusEvent. Communicates current status of an order.

Corresponds to ExecutionReport(8) with ExecType(150)=D [Restated].

FieldDescriptionTypeRequired
accountTrading Account.StringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
averagePriceAverage fill price for currently executed shares for chain of orders. Corresponds to FIX tag AvgPx(6).
This field is undefined if and only if cumulative quantity is undefined.
(Since some instruments are executed with negative prices or sometimes even with price equal to zero there
is no way to represent 'undefined' value other than binding this field to Cumulative Quantity).
String
DECIMAL
N
clearingAccountClearing AccountStringN
clearingBrokerClearing Broker
Since version 1.8.
StringN
correlationOrderIdMatches orderId of the first order request in cancel-replace chain of orders.StringN
cumulativeQuantityCurrently executed number of contracts for chain of orders. Corresponds to FIX tag CumQty(14).String
DECIMAL
N
currencyIdentifies currency used for prices in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
displayQuantity"MaxShow/DisplaySize" order quantity in fixed-point representation. Can be used for iceberg orders. Set to -1 when not defined.String
DECIMAL
N
eventIdIdentifies event in scope of single order or cancel replace chain. This attribute can be used to detect duplicate events (e.g. duplicate fills).StringN
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
execRestatementReasonidentify reason for order restatement
  • GT_RENEWAL_RESTATEMENT
  • VERBAL_CHANGE
  • REPRICING_OF_ORDER
  • BROKER_OPTION
  • PARTIAL_DECLINE_OF_ORDER_QTY
  • CANCEL_ON_TRADING_HALT
  • CANCEL_ON_SYSTEM_FAILURE
  • MARKET_OR_EXCHANGE_OPTION
  • CANCELED_NOT_EST
  • WAREHOUSE_RECAP
  • OTHER
String
ENUM
Y
expireTimeOrder expiration time (when applicable according to Time In Force)String
TIMESTAMP
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
Y
limitPriceOrder limit price (when applicable according to order type)String
DECIMAL
N
minQuantityMinimum quantity allowed for execution, in fixed-point representation. Optional attribute supported by some execution venues. Set to -1 when not defined.String
DECIMAL
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
orderIdOrder ID. Identifies order described by this event
Similar to tag ClOrdId(11) in FIX ExecutionReport (except for CancelPending/CancelRejected/Cancelled messages that pass order od from tag 41).
StringY
orderStatusDescribes current state of order, if known. Similar to tag OrderStatus(39) in FIX ExecutionReport.
  • PENDING_NEW - Order received by execution venue but not yet active
  • NEW - Order received by execution venue and working (but no fills reported yet)
  • REJECTED - Order has some problems had has been rejected (final state)
  • PENDING_CANCEL - order is pending cancellation (may or may not have any fills)
  • CANCELED - Order is cancelled and no longer working (may or may not have some fills)
  • PENDING_REPLACE
  • REPLACED
  • PARTIALLY_FILLED - Active order that already had some fills (but there is unfilled quantity and order is still working)
  • COMPLETELY_FILLED - Order entirely filled and no longer working
  • EXPIRED
  • SUSPENDED - The order is not eligible for trading. This usually happens as a result of a verbal or otherwise out of band request to suspend the order.
String
ENUM
N
orderTypeOrder Type.
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
N
originalTimestampExchange-provided event time (optional). This is in contrast to .timestamp field which records moment of time when Ember trade connector received this event.
Since version 1.7.
String
TIMESTAMP
N
parentOrderIdIdentifies parent algo-order.StringN
parentSourceIdIdentifies source of parent algo-order.String
ALPHANUMERIC(10)
N
partyDesrcibes business entity involved in this transaction
Since version 1.8.
StringN
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
quantityOrder quantity in fixed-point representation.String
DECIMAL
N
remainingQuantityQuantity open for further execution. Corresponds to FIX tag LeavesQty(151). Reflects the cumulative result of all versions of an order in cancel-replace chain.
(If the order status is Canceled or Rejected or CompletelyFilled (the order is no longer active)
then LeavesQty (151) could be 0, otherwise LeavesQty (151) = OrderQty (38) - CumQty (14).)
String
DECIMAL
N
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sequenceNumberEvent sequence number, if known. Similar to tag MsgSeqNum(34) in FIX ExecutionReport.
Note: behavior of this field depends on event source. For example, some sources maintain monotonously increasing session-wide sequence number,
while others may keep different sequences for different instruments. Sequence numbers are reset periodically (daily or weekly).
Number
INT32
N
sideOrder Side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
N
sourceIdIdentifies message source (e.g. FIX Sender Comp ID or trading connector). For internal orders source identifies source Anvil component (e.g. "TWAP" algo).
Source is used for ID uniqueness.
String
ALPHANUMERIC(10)
Y
stopPriceOrder stop price (when applicable according to order type)String
DECIMAL
N
symbolIdetifies trading instrument.StringY
timeInForceOrder Time-In-Force (TIF) condition
  • DAY
  • GOOD_TILL_CANCEL
  • AT_THE_OPENING
  • IMMEDIATE_OR_CANCEL
  • FILL_OR_KILL
  • GOOD_TILL_CROSSING
  • GOOD_TILL_DATE
  • AT_THE_CLOSE
String
ENUM
N
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN
userDataUser-defined cookie that was specified on order. For example, order reason. Sometimes custom order attributes are sometimes too heavy.StringN

OrderStatusEvent

Communicates current status of an order. Usually comes in response to Order Status request. Indicates that the event contains no new information, only summary information regarding order status.

Use Order Extractor to retrieve new order parameters.

Corresponds to ExecutionReport(8) with ExecType(150)=Order Status.

FieldDescriptionTypeRequired
accountTrading Account.StringN
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
averagePriceAverage fill price for currently executed shares for chain of orders. Corresponds to FIX tag AvgPx(6).
This field is undefined if and only if cumulative quantity is undefined.
(Since some instruments are executed with negative prices or sometimes even with price equal to zero there
is no way to represent 'undefined' value other than binding this field to Cumulative Quantity).
String
DECIMAL
N
clearingAccountClearing AccountStringN
clearingBrokerClearing Broker
Since version 1.8.
StringN
commissionCurrencyIdentifies currency used for commission in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
Since version 1.7.
String
ALPHANUMERIC(10)
N
correlationOrderIdMatches orderId of the first order request in cancel-replace chain of orders.StringN
cumulativeQuantityCurrently executed number of contracts for chain of orders. Corresponds to FIX tag CumQty(14).String
DECIMAL
N
currencyIdentifies currency used for prices in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
displayQuantity"MaxShow/DisplaySize" order quantity in fixed-point representation. Can be used for iceberg orders. Set to -1 when not defined.String
DECIMAL
N
eventIdIdentifies event in scope of single order or cancel replace chain. This attribute can be used to detect duplicate events (e.g. duplicate fills).StringN
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
expireTimeOrder expiration time (when applicable according to Time In Force)String
TIMESTAMP
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
Y
lastReportCan be used when responding to an Order Mass Status Request to indicate that this is the last Execution Reports which will be returned as a result of the request.
Similar to FIX tag LastRptRequested(912).
BooleanY
limitPriceOrder limit price (when applicable according to order type)String
DECIMAL
N
minQuantityMinimum quantity allowed for execution, in fixed-point representation. Optional attribute supported by some execution venues. Set to -1 when not defined.String
DECIMAL
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
orderIdOrder ID. Identifies order described by this event
Similar to tag ClOrdId(11) in FIX ExecutionReport (except for CancelPending/CancelRejected/Cancelled messages that pass order od from tag 41).
StringY
orderStatusDescribes current state of order, if known. Similar to tag OrderStatus(39) in FIX ExecutionReport.
  • PENDING_NEW - Order received by execution venue but not yet active
  • NEW - Order received by execution venue and working (but no fills reported yet)
  • REJECTED - Order has some problems had has been rejected (final state)
  • PENDING_CANCEL - order is pending cancellation (may or may not have any fills)
  • CANCELED - Order is cancelled and no longer working (may or may not have some fills)
  • PENDING_REPLACE
  • REPLACED
  • PARTIALLY_FILLED - Active order that already had some fills (but there is unfilled quantity and order is still working)
  • COMPLETELY_FILLED - Order entirely filled and no longer working
  • EXPIRED
  • SUSPENDED - The order is not eligible for trading. This usually happens as a result of a verbal or otherwise out of band request to suspend the order.
String
ENUM
N
orderTypeOrder Type.
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
N
orderUnknownThis flag is set when order status request is rejected for unknown order (in this case orderId will point correspond to unknown order ID and status will be set to OrderStatus::REJECTED).BooleanY
originalOrderIdIdentifies original order (order that has been replaced). Set from FIX Tag OrgClOrdId(41).StringN
originalTimestampExchange-provided event time (optional). This is in contrast to .timestamp field which records moment of time when Ember trade connector received this event.
Since version 1.7.
String
TIMESTAMP
N
parentOrderIdIdentifies parent algo-order.StringN
parentSourceIdIdentifies source of parent algo-order.String
ALPHANUMERIC(10)
N
partyDesrcibes business entity involved in this transaction
Since version 1.8.
StringN
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
quantityOrder quantity in fixed-point representation.String
DECIMAL
N
remainingQuantityQuantity open for further execution. Corresponds to FIX tag LeavesQty(151). Reflects the cumulative result of all versions of an order in cancel-replace chain.
(If the order status is Canceled or Rejected or CompletelyFilled (the order is no longer active)
then LeavesQty (151) could be 0, otherwise LeavesQty (151) = OrderQty (38) - CumQty (14).)
String
DECIMAL
N
requestIdOptional identifier of OrderStatusRequest used to trigger this event.
Similar to tag OrdStatusReqID(790) in FIX ExecutionReport(35=8) message.
Since version 1.8.
StringN
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sequenceNumberEvent sequence number, if known. Similar to tag MsgSeqNum(34) in FIX ExecutionReport.
Note: behavior of this field depends on event source. For example, some sources maintain monotonously increasing session-wide sequence number,
while others may keep different sequences for different instruments. Sequence numbers are reset periodically (daily or weekly).
Number
INT32
N
sideOrder Side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
N
sourceIdIdentifies message source (e.g. FIX Sender Comp ID or trading connector). For internal orders source identifies source Anvil component (e.g. "TWAP" algo).
Source is used for ID uniqueness.
String
ALPHANUMERIC(10)
Y
stopPriceOrder stop price (when applicable according to order type)String
DECIMAL
N
symbolIdetifies trading instrument.StringY
timeInForceOrder Time-In-Force (TIF) condition
  • DAY
  • GOOD_TILL_CANCEL
  • AT_THE_OPENING
  • IMMEDIATE_OR_CANCEL
  • FILL_OR_KILL
  • GOOD_TILL_CROSSING
  • GOOD_TILL_DATE
  • AT_THE_CLOSE
String
ENUM
N
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
totalCommission
Since version 1.7.
String
DECIMAL
N
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN
userDataUser-defined cookie that was specified on order. For example, order reason. Sometimes custom order attributes are sometimes too heavy.StringN

OrderTradeCancelEvent

Used to cancel an execution which has been reported in error. 'Trade Bust' of previously reported trade.

Corresponds to ExecutionReport(8) with ExecType(150)=Trade Cancel.

FieldDescriptionTypeRequired
accountTrading Account.StringN
aggressorSideWhen set marks our side of the order as active (aggressor, taker) rather than passive (liquidity maker).
  • ORDER_INITIATOR_IS_PASSIVE - Order Initiator Is Passive (Maker)
  • ORDER_INITIATOR_IS_AGGRESSOR - Order Initiator Is Aggressor (Taker)
String
ENUM
N
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
averagePriceAverage fill price for currently executed shares for chain of orders. Corresponds to FIX tag AvgPx(6).
This field is undefined if and only if cumulative quantity is undefined.
(Since some instruments are executed with negative prices or sometimes even with price equal to zero there
is no way to represent 'undefined' value other than binding this field to Cumulative Quantity).
String
DECIMAL
N
clearingAccountClearing AccountStringN
clearingBrokerClearing Broker
Since version 1.8.
StringN
correlationOrderIdMatches orderId of the first order request in cancel-replace chain of orders.StringN
cumulativeQuantityCurrently executed number of contracts for chain of orders. Corresponds to FIX tag CumQty(14).String
DECIMAL
N
currencyIdentifies currency used for prices in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
displayQuantity"MaxShow/DisplaySize" order quantity in fixed-point representation. Can be used for iceberg orders. Set to -1 when not defined.String
DECIMAL
N
eventIdIdentifies event in scope of single order or cancel replace chain. This attribute can be used to detect duplicate events (e.g. duplicate fills).StringN
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
expireTimeOrder expiration time (when applicable according to Time In Force)String
TIMESTAMP
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
Y
limitPriceOrder limit price (when applicable according to order type)String
DECIMAL
N
minQuantityMinimum quantity allowed for execution, in fixed-point representation. Optional attribute supported by some execution venues. Set to -1 when not defined.String
DECIMAL
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
multiLegReportingTypeIndicates what an Order Event represents (e.g. used with multi-leg securities, such as option strategies, spreads, etc.). If this field is omitted, assume SINGLE_SECURITY type.
  • SINGLE_SECURITY
  • INDIVIDUAL_LEG_SECURITY
  • MULTI_LEG_SECURITY
String
ENUM
N
orderIdOrder ID. Identifies order described by this event
Similar to tag ClOrdId(11) in FIX ExecutionReport (except for CancelPending/CancelRejected/Cancelled messages that pass order od from tag 41).
StringY
orderStatusDescribes current state of order, if known. Similar to tag OrderStatus(39) in FIX ExecutionReport.
  • PENDING_NEW - Order received by execution venue but not yet active
  • NEW - Order received by execution venue and working (but no fills reported yet)
  • REJECTED - Order has some problems had has been rejected (final state)
  • PENDING_CANCEL - order is pending cancellation (may or may not have any fills)
  • CANCELED - Order is cancelled and no longer working (may or may not have some fills)
  • PENDING_REPLACE
  • REPLACED
  • PARTIALLY_FILLED - Active order that already had some fills (but there is unfilled quantity and order is still working)
  • COMPLETELY_FILLED - Order entirely filled and no longer working
  • EXPIRED
  • SUSPENDED - The order is not eligible for trading. This usually happens as a result of a verbal or otherwise out of band request to suspend the order.
String
ENUM
N
orderTypeOrder Type.
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
N
originalTimestampExchange-provided event time (optional). This is in contrast to .timestamp field which records moment of time when Ember trade connector received this event.
Since version 1.7.
String
TIMESTAMP
N
parentOrderIdIdentifies parent algo-order.StringN
parentSourceIdIdentifies source of parent algo-order.String
ALPHANUMERIC(10)
N
partyDesrcibes business entity involved in this transaction
Since version 1.8.
StringN
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
quantityOrder quantity in fixed-point representation.String
DECIMAL
N
referenceEventIdRefers to execution that has been cancelled. Points to previously reported trade event identified by OrderEvent::EventId.
Similar to ExecRefId(19) FIX tag
StringY
remainingQuantityQuantity open for further execution. Corresponds to FIX tag LeavesQty(151). Reflects the cumulative result of all versions of an order in cancel-replace chain.
(If the order status is Canceled or Rejected or CompletelyFilled (the order is no longer active)
then LeavesQty (151) could be 0, otherwise LeavesQty (151) = OrderQty (38) - CumQty (14).)
String
DECIMAL
N
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sequenceNumberEvent sequence number, if known. Similar to tag MsgSeqNum(34) in FIX ExecutionReport.
Note: behavior of this field depends on event source. For example, some sources maintain monotonously increasing session-wide sequence number,
while others may keep different sequences for different instruments. Sequence numbers are reset periodically (daily or weekly).
Number
INT32
N
settlementDateSpecific date of trade settlement (expressed in local time at place of settlement).String
TIMESTAMP
N
sideOrder Side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
N
sourceIdIdentifies message source (e.g. FIX Sender Comp ID or trading connector). For internal orders source identifies source Anvil component (e.g. "TWAP" algo).
Source is used for ID uniqueness.
String
ALPHANUMERIC(10)
Y
stopPriceOrder stop price (when applicable according to order type)String
DECIMAL
N
symbolIdetifies trading instrument.StringY
timeInForceOrder Time-In-Force (TIF) condition
  • DAY
  • GOOD_TILL_CANCEL
  • AT_THE_OPENING
  • IMMEDIATE_OR_CANCEL
  • FILL_OR_KILL
  • GOOD_TILL_CROSSING
  • GOOD_TILL_DATE
  • AT_THE_CLOSE
String
ENUM
N
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
tradeDateIndicates date of trade referenced. Absence of this field indicates current day (expressed in local time at place of trade).String
TIMESTAMP
N
tradePricePrice of this (last) fill. Corresponds to FIX tag LastPx(31).
This field is required.
Note: some trading venues report current AveragePrice instead of last trade price.
Once event is processed by OMS trade price can be calculated.
Negative prices are allowed (e.g. for calendar spreads of FUTURE oil prices).
String
DECIMAL
N
tradeQuantityQuantity (e.g. shares) bought/sold on this (last) fill. Corresponds to FIX tag LastQty(32).
This field is required.
Note: some trading venues report current CumulativeQuantity instead of last trade quantity.
Once event is processed by OMS trade quantity can be calculated.
String
DECIMAL
N
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN
userDataUser-defined cookie that was specified on order. For example, order reason. Sometimes custom order attributes are sometimes too heavy.StringN

OrderTradeCorrectEvent

Correction of previously reported trade. Used to modify an incorrectly reported fill.

Corresponds to ExecutionReport(8) with ExecType(150)=Trade Correction.

FieldDescriptionTypeRequired
accountTrading Account.StringN
aggressorSideWhen set marks our side of the order as active (aggressor, taker) rather than passive (liquidity maker).
  • ORDER_INITIATOR_IS_PASSIVE - Order Initiator Is Passive (Maker)
  • ORDER_INITIATOR_IS_AGGRESSOR - Order Initiator Is Aggressor (Taker)
String
ENUM
N
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
averagePriceAverage fill price for currently executed shares for chain of orders. Corresponds to FIX tag AvgPx(6).
This field is undefined if and only if cumulative quantity is undefined.
(Since some instruments are executed with negative prices or sometimes even with price equal to zero there
is no way to represent 'undefined' value other than binding this field to Cumulative Quantity).
String
DECIMAL
N
clearingAccountClearing AccountStringN
clearingBrokerClearing Broker
Since version 1.8.
StringN
commissionCommission charged by execution venue for this transaction (NULL if unknown)
Since version 1.7.
String
DECIMAL
N
commissionCurrencyIdentifies currency used for commission in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
Since version 1.7.
String
ALPHANUMERIC(10)
N
correlationOrderIdMatches orderId of the first order request in cancel-replace chain of orders.StringN
cumulativeQuantityCurrently executed number of contracts for chain of orders. Corresponds to FIX tag CumQty(14).String
DECIMAL
N
currencyIdentifies currency used for prices in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
displayQuantity"MaxShow/DisplaySize" order quantity in fixed-point representation. Can be used for iceberg orders. Set to -1 when not defined.String
DECIMAL
N
eventIdIdentifies event in scope of single order or cancel replace chain. This attribute can be used to detect duplicate events (e.g. duplicate fills).StringN
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
expireTimeOrder expiration time (when applicable according to Time In Force)String
TIMESTAMP
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
Y
limitPriceOrder limit price (when applicable according to order type)String
DECIMAL
N
minQuantityMinimum quantity allowed for execution, in fixed-point representation. Optional attribute supported by some execution venues. Set to -1 when not defined.String
DECIMAL
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
multiLegReportingTypeIndicates what an Order Event represents (e.g. used with multi-leg securities, such as option strategies, spreads, etc.). If this field is omitted, assume SINGLE_SECURITY type.
  • SINGLE_SECURITY
  • INDIVIDUAL_LEG_SECURITY
  • MULTI_LEG_SECURITY
String
ENUM
N
orderIdOrder ID. Identifies order described by this event
Similar to tag ClOrdId(11) in FIX ExecutionReport (except for CancelPending/CancelRejected/Cancelled messages that pass order od from tag 41).
StringY
orderStatusDescribes current state of order, if known. Similar to tag OrderStatus(39) in FIX ExecutionReport.
  • PENDING_NEW - Order received by execution venue but not yet active
  • NEW - Order received by execution venue and working (but no fills reported yet)
  • REJECTED - Order has some problems had has been rejected (final state)
  • PENDING_CANCEL - order is pending cancellation (may or may not have any fills)
  • CANCELED - Order is cancelled and no longer working (may or may not have some fills)
  • PENDING_REPLACE
  • REPLACED
  • PARTIALLY_FILLED - Active order that already had some fills (but there is unfilled quantity and order is still working)
  • COMPLETELY_FILLED - Order entirely filled and no longer working
  • EXPIRED
  • SUSPENDED - The order is not eligible for trading. This usually happens as a result of a verbal or otherwise out of band request to suspend the order.
String
ENUM
N
orderTypeOrder Type.
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
N
originalTimestampExchange-provided event time (optional). This is in contrast to .timestamp field which records moment of time when Ember trade connector received this event.
Since version 1.7.
String
TIMESTAMP
N
parentOrderIdIdentifies parent algo-order.StringN
parentSourceIdIdentifies source of parent algo-order.String
ALPHANUMERIC(10)
N
partyDesrcibes business entity involved in this transaction
Since version 1.8.
StringN
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
quantityOrder quantity in fixed-point representation.String
DECIMAL
N
referenceEventIdRefers to execution that has been corrected. Points to previously reported trade event identified by OrderEvent::EventId.
Similar to ExecRefId(19) FIX tag
StringY
remainingQuantityQuantity open for further execution. Corresponds to FIX tag LeavesQty(151). Reflects the cumulative result of all versions of an order in cancel-replace chain.
(If the order status is Canceled or Rejected or CompletelyFilled (the order is no longer active)
then LeavesQty (151) could be 0, otherwise LeavesQty (151) = OrderQty (38) - CumQty (14).)
String
DECIMAL
N
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sequenceNumberEvent sequence number, if known. Similar to tag MsgSeqNum(34) in FIX ExecutionReport.
Note: behavior of this field depends on event source. For example, some sources maintain monotonously increasing session-wide sequence number,
while others may keep different sequences for different instruments. Sequence numbers are reset periodically (daily or weekly).
Number
INT32
N
settlementDateSpecific date of trade settlement (expressed in local time at place of settlement).String
TIMESTAMP
N
sideOrder Side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
N
sourceIdIdentifies message source (e.g. FIX Sender Comp ID or trading connector). For internal orders source identifies source Anvil component (e.g. "TWAP" algo).
Source is used for ID uniqueness.
String
ALPHANUMERIC(10)
Y
stopPriceOrder stop price (when applicable according to order type)String
DECIMAL
N
symbolIdetifies trading instrument.StringY
timeInForceOrder Time-In-Force (TIF) condition
  • DAY
  • GOOD_TILL_CANCEL
  • AT_THE_OPENING
  • IMMEDIATE_OR_CANCEL
  • FILL_OR_KILL
  • GOOD_TILL_CROSSING
  • GOOD_TILL_DATE
  • AT_THE_CLOSE
String
ENUM
N
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
tradeDateIndicates date of trade referenced. Absence of this field indicates current day (expressed in local time at place of trade).String
TIMESTAMP
N
tradePricePrice of this (last) fill. Corresponds to FIX tag LastPx(31).
This field is required.
Note: some trading venues report current AveragePrice instead of last trade price.
Once event is processed by OMS trade price can be calculated.
Negative prices are allowed (e.g. for calendar spreads of FUTURE oil prices).
String
DECIMAL
N
tradeQuantityQuantity (e.g. shares) bought/sold on this (last) fill. Corresponds to FIX tag LastQty(32).
This field is required.
Note: some trading venues report current CumulativeQuantity instead of last trade quantity.
Once event is processed by OMS trade quantity can be calculated.
String
DECIMAL
N
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN
userDataUser-defined cookie that was specified on order. For example, order reason. Sometimes custom order attributes are sometimes too heavy.StringN

OrderTradeReportEvent

Reports normal fill (partial fill or complete fill depending on RemainingQty and OrderStatus fields).

Corresponds to ExecutionReport(8) with ExecType(150)=Trade.

FieldDescriptionTypeRequired
accountTrading Account.StringN
aggressorSideWhen set marks our side of the order as active (aggressor, taker) rather than passive (liquidity maker).
  • ORDER_INITIATOR_IS_PASSIVE - Order Initiator Is Passive (Maker)
  • ORDER_INITIATOR_IS_AGGRESSOR - Order Initiator Is Aggressor (Taker)
String
ENUM
N
attributesCustom attributes. Each attribute is a pair of integer key and text value.
We recommend tag numbers of FIX protocol as attribute keys where possible.
Array of
[CustomAttribute]
N
averagePriceAverage fill price for currently executed shares for chain of orders. Corresponds to FIX tag AvgPx(6).
This field is undefined if and only if cumulative quantity is undefined.
(Since some instruments are executed with negative prices or sometimes even with price equal to zero there
is no way to represent 'undefined' value other than binding this field to Cumulative Quantity).
String
DECIMAL
N
clearingAccountClearing AccountStringN
clearingBrokerClearing Broker
Since version 1.8.
StringN
commissionCommission charged by execution venue for this transaction (NULL if unknown). Expressed in monetary units.String
DECIMAL
N
commissionCurrencyIdentifies currency used for commission in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
correlationOrderIdMatches orderId of the first order request in cancel-replace chain of orders.StringN
counterPartyOrderIdStringN
counterPartySourceIdString
ALPHANUMERIC(10)
N
cumulativeQuantityCurrently executed number of contracts for chain of orders. Corresponds to FIX tag CumQty(14).String
DECIMAL
N
currencyIdentifies currency used for prices in alphanumeric encoding. Wherever possible Deltix uses ISO 4217 currency codes.
Crypto currencies use Centralized Security Master codes (for example, Bitcoin is "BTC" rather than "XBT").
String
ALPHANUMERIC(10)
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
displayQuantity"MaxShow/DisplaySize" order quantity in fixed-point representation. Can be used for iceberg orders. Set to -1 when not defined.String
DECIMAL
N
eventIdIdentifies event in scope of single order or cancel replace chain. This attribute can be used to detect duplicate events (e.g. duplicate fills).StringN
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
expireTimeOrder expiration time (when applicable according to Time In Force)String
TIMESTAMP
N
externalOrderIdExternal Order ID assigned to the order by execution venue.
Similar to tag OrderID(37) in FIX ExecutionReport.
StringN
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
Y
limitPriceOrder limit price (when applicable according to order type)String
DECIMAL
N
minQuantityMinimum quantity allowed for execution, in fixed-point representation. Optional attribute supported by some execution venues. Set to -1 when not defined.String
DECIMAL
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
multiLegReportingTypeIndicates what an Order Event represents (e.g. used with multi-leg securities, such as option strategies, spreads, etc.). If this field is omitted, assume SINGLE_SECURITY type.
  • SINGLE_SECURITY
  • INDIVIDUAL_LEG_SECURITY
  • MULTI_LEG_SECURITY
String
ENUM
N
orderIdOrder ID. Identifies order described by this event
Similar to tag ClOrdId(11) in FIX ExecutionReport (except for CancelPending/CancelRejected/Cancelled messages that pass order od from tag 41).
StringY
orderStatusDescribes current state of order, if known. Similar to tag OrderStatus(39) in FIX ExecutionReport.
  • PENDING_NEW - Order received by execution venue but not yet active
  • NEW - Order received by execution venue and working (but no fills reported yet)
  • REJECTED - Order has some problems had has been rejected (final state)
  • PENDING_CANCEL - order is pending cancellation (may or may not have any fills)
  • CANCELED - Order is cancelled and no longer working (may or may not have some fills)
  • PENDING_REPLACE
  • REPLACED
  • PARTIALLY_FILLED - Active order that already had some fills (but there is unfilled quantity and order is still working)
  • COMPLETELY_FILLED - Order entirely filled and no longer working
  • EXPIRED
  • SUSPENDED - The order is not eligible for trading. This usually happens as a result of a verbal or otherwise out of band request to suspend the order.
String
ENUM
N
orderTypeOrder Type.
  • CUSTOM
  • MARKET
  • LIMIT
  • STOP
  • STOP_LIMIT
  • PEG_TO_MARKET
  • PEG_TO_MIDPOINT
  • PEG_TO_PRIMARY
  • MARKET_ON_CLOSE
  • LIMIT_ON_CLOSE
  • LIMIT_OR_BETTER
  • PREVIOUSLY_QUOTED
String
ENUM
N
originalTimestampExchange-provided event time (optional). This is in contrast to .timestamp field which records moment of time when Ember trade connector received this event.
Since version 1.7.
String
TIMESTAMP
N
parentOrderIdIdentifies parent algo-order.StringN
parentSourceIdIdentifies source of parent algo-order.String
ALPHANUMERIC(10)
N
partyDesrcibes business entity involved in this transaction
Since version 1.8.
StringN
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
quantityOrder quantity in fixed-point representation.String
DECIMAL
N
remainingQuantityQuantity open for further execution. Corresponds to FIX tag LeavesQty(151). Reflects the cumulative result of all versions of an order in cancel-replace chain.
(If the order status is Canceled or Rejected or CompletelyFilled (the order is no longer active)
then LeavesQty (151) could be 0, otherwise LeavesQty (151) = OrderQty (38) - CumQty (14).)
String
DECIMAL
N
sequenceMessage sequence number (set by Execution Server OMS for downstream messages)Number
INT64
N
sequenceNumberEvent sequence number, if known. Similar to tag MsgSeqNum(34) in FIX ExecutionReport.
Note: behavior of this field depends on event source. For example, some sources maintain monotonously increasing session-wide sequence number,
while others may keep different sequences for different instruments. Sequence numbers are reset periodically (daily or weekly).
Number
INT32
N
settlementDateSpecific date of trade settlement (expressed in local time at place of settlement).String
TIMESTAMP
N
sideOrder Side.
  • BUY
  • SELL
  • SELL_SHORT
  • SELL_SHORT_EXEMPT
String
ENUM
N
sourceIdIdentifies message source (e.g. FIX Sender Comp ID or trading connector). For internal orders source identifies source Anvil component (e.g. "TWAP" algo).
Source is used for ID uniqueness.
String
ALPHANUMERIC(10)
Y
stopPriceOrder stop price (when applicable according to order type)String
DECIMAL
N
symbolIdetifies trading instrument.StringY
timeInForceOrder Time-In-Force (TIF) condition
  • DAY
  • GOOD_TILL_CANCEL
  • AT_THE_OPENING
  • IMMEDIATE_OR_CANCEL
  • FILL_OR_KILL
  • GOOD_TILL_CROSSING
  • GOOD_TILL_DATE
  • AT_THE_CLOSE
String
ENUM
N
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
tradeDateIndicates date of trade referenced. Absence of this field indicates current day (expressed in local time at place of trade).String
TIMESTAMP
N
tradePricePrice of this (last) fill. Corresponds to FIX tag LastPx(31).
This field is required.
Note: some trading venues report current AveragePrice instead of last trade price.
Once event is processed by OMS trade price can be calculated.
Negative prices are allowed (e.g. for calendar spreads of FUTURE oil prices).
String
DECIMAL
N
tradeQuantityQuantity (e.g. shares) bought/sold on this (last) fill. Corresponds to FIX tag LastQty(32).
This field is required.
Note: some trading venues report current CumulativeQuantity instead of last trade quantity.
Once event is processed by OMS trade quantity can be calculated.
String
DECIMAL
N
traderGroupAssigned by Deltix Trading Node and identifies single group that order's Trader belongs to.
Helps to filter out orders available in order reports.
StringN
traderIdUser who submitted this order (manually or automatically)StringN
userDataUser-defined cookie that was specified on order. For example, order reason. Sometimes custom order attributes are sometimes too heavy.StringN

SessionStatusEvent

Trade connector status event.

FieldDescriptionTypeRequired
descriptionTextual description of connection status event (e.g. "Lost TCP/IP connection")StringN
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
Y
sourceIdIdentifies message source (e.g. FIX Sender Comp ID or trading connector). For internal orders source identifies source Anvil component (e.g. "TWAP" algo).
Source is used for ID uniqueness.
String
ALPHANUMERIC(10)
Y
statusNew status of connector.
  • DISCONNECTED
  • CONNECTED
String
ENUM
Y
symbolIdetifies trading instrument.StringY
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y

Data structures

CustomAttribute

FieldDescriptionTypeRequired
keyAttribute key. In many cases custom attribute keys may correspond to well known tags in FIX protocol.Number
INT32
Y
valueAttribute value. When attribute key is well-known FIX tag, corresponding custom attribute value must follow FIX type of that tag.StringY

Position API messages

Requests

PositionRequest

Can be used to request position in one of configured projections.

Ember will respond to this request with one or many PositionReport messages, with last one flagged as isLast=true.

FieldDescriptionTypeRequired
accountOptional filter that defines Order AccountStringN
clearingBrokerClearing Broker
Since version 1.8.
StringN
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
dstOptional filter that defines Destination that owns this position (not to be confused with source/destination of position messageString
ALPHANUMERIC(10)
N
exchangeIdFinal execution venue (exchange, ECN, etc), usually represented by MIC codeString
ALPHANUMERIC(10)
N
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
partyDesrcibes business entity involved in this transaction
Since version 1.8.
StringN
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
projectionPosition Projection requested (e.g. "Account/Symbol" or "Exchange/Currency" or "").
See ProjectionKey enumeration for a set of supported projections keys.
Note that Ember will only provide information about projections configured for specific deployment.
See Position and Risk documentation for more information.
StringN
requestIdRequest identifier (will be returned back in PositionReport)StringY
srcOptional filter that defines Source that owns this position (not to be confused with source/destination of position messageString
ALPHANUMERIC(10)
N
symbolIdetifies trading instrument.StringY
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
traderGroupOptional filter that defines User who submitted this order (manually or automatically)StringN
traderIdOptional filter that defines User who submitted this order (manually or automatically)StringN
userDataOptional filter that defines User-defined cookie that will be reported back in order events. For example, order reason. Sometimes custom order attributes are sometimes too heavy.StringN

PositionResetRequest

This special message is used to reset all time or daily positions to zero.

See also: PositionSnapshot for more control over position state.

FieldDescriptionTypeRequired
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
N
projectionWARNINIG: Not supported, reserved for the future.
Identifies projection to reset positions in (e.g. "Account/Symbol"). Empty or null string for root level.
StringN
symbolIdetifies trading instrument.StringY
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
isDailyIf true, only daily position will be resetBooleanY

PositionSnapshot

This message is used to adjust position size in given projection path.

This message is also used internally for journal compaction (when historical trades from deep past are replaced with their position footprint).

See also: PositionReset

FieldDescriptionTypeRequired
averageCostWhen this field is set to NULL it will be ignored. However if this field is not NULL but NaN,String
DECIMAL
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
N
lastMarks the last message in a snapshotBooleanY
projectionPathPosition projection path (e.g. "Source[FIXTRADER1]/Account[GOLD]"). Empty for root level.StringY
realizedPnLWhen this field is set to NULL it will be ignored. However if this field is not NULL but NaN,String
DECIMAL
N
relativeWhen this flag is set to true amounts specified in Size, AverageCost, and RealizedPnL will be added to current values.
When this flag is set to false (default) specified amounts will serve as new values for Size, AverageCost, and RealizedPnL.
BooleanY
sizePosition SizeString
DECIMAL
Y
symbolIdetifies trading instrument.StringY
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y

Responses

PositionReport

Reports position entry requested by a PositionRequest. Each request may result in one or several response messages.

The last response message will be flagged as Last=true.

If requested position projection is not found system will return single PositionReport with Found=false flag.

FieldDescriptionTypeRequired
accountAccount that owns this position, when requested projection includes AccountsStringN
averageCostString
DECIMAL
N
destinationIdIdentifies message final destination (trading connector).String
ALPHANUMERIC(10)
N
dstDestination that owns this position, when projection requested includes Destination (not to be confused with source/destination of position messageString
ALPHANUMERIC(10)
N
errorError that may explain why position was not foundStringN
exchangeIdExchange that owns this position, when requested projection includes ExchangeString
ALPHANUMERIC(10)
N
foundSet to true when projection specified in the request is not foundBooleanY
instrumentTypeSecurity type / Asset Class.
  • EQUITY
  • ETF
  • BOND
  • INDEX
  • FX
  • OPTION
  • FUTURE
  • SYNTHETIC
  • CUSTOM
  • CFD
String
ENUM
Y
lastMarks the last message in series of reports associated with given Request IDBooleanY
marketValueString
DECIMAL
N
moduleKeyUsed by QuantOffice orders to identify strategy that placed this order. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
openBuySizeTotal unfilled size of all open BUY orders
Since version 1.8.
String
DECIMAL
N
openSellSizeTotal unfilled size of all open SELL orders
Since version 1.8.
String
DECIMAL
N
portfolioKeyUsed by QuantOffice orders to identify portfolio this order belongs to. Other clients can use this as custom field for order tagging and position tracking.
Since version 1.7.
StringN
projectionProjection (repeats projection value specified on request)StringN
realizedPnLString
DECIMAL
N
requestIdCorrelates response to requestStringY
sizePosition SizeString
DECIMAL
N
sourceIdIdentifies message source (e.g. FIX Sender Comp ID or trading connector). For internal orders source identifies source Anvil component (e.g. "TWAP" algo).
Source is used for ID uniqueness.
String
ALPHANUMERIC(10)
Y
srcSource that owns this position, when requested projection includes Source (not to be confused with source/destination of position messageString
ALPHANUMERIC(10)
N
symbolIdetifies trading instrument.StringY
timestampMessage timestamp (in epoch time). Similar to tag TransactTime(60) in FIX ExecutionReport.String
TIMESTAMP
Y
totalCommission
Since version 1.7.
String
DECIMAL
N
traderTrader that owns this position, when requested projection includes TraderStringN
traderGroupTrader Group that owns this position, when requested projection includes Trader GroupStringN
unrealizedPnLString
DECIMAL
N
userDataCustom tag UserData that owns this position, when requested projection includes User Data (e.g. Identifies QuantOffice Strategy)StringN

Appendix: Market Data

While Ember itself offers OrderEntry/Positions API capabilities clients frequently need access to market data.

Deltix can provide market data via TimeBase (via Java/C++/C#/Python native clients) or via Websocket Data Hub documented below.

WebSocket Data Hub

WebSocket Data hub receives all connections on /websocket/v1. For example: wss://market.myexchange.com/websocket/v1.

Subscription request

Here is an example of subscription request for specific two instruments:

{
"type": "subscribe",
"products": [
"BTC/USD",
"ETH/USD"
],
"channel": "snapshot"
}

Unsubscription request

Here is an example of unsubscription request for specific instrument:

{
"type": "unsubscribe",
"products": [
"ETH/USD"
],
"channel": "snapshot"
}

Response payload (snapshot)

Sample of output message, a stream of these messages will be broadcasted over WebSocket with configured interval and market depth:

{
"type": "snapshot",
"product": "ETH/USD",
"timestamp": "2021-04-23T18:25:43.511000Z",
"asks": [
[4083.60, 0.2305],
[4083.61, 0.6051],
...
],
"bids": [
[4083.44, 1.3200],
[4083.45, 0.1250],
...
]
}

Please refer to Market Data Hub documentation for more information.