API Data Mappings
Basic Market Data
Market data messages are normalized to book and trade objects. Nanoconda softwarre builds the book and provides snapshot of top 10 levels in onbook() callback. Trade Statistics (ex. VWAP, OHLC)is included inside trade object.
Basic Security Updates
Any other instrument updates, such as statuses are normalized to security object and a onsecurity() callback will be raised for any real-time security update.
Basic Order Entry Usage
Please refer to Order Entry page for basic usage of the API.
CME
Trading Status
Normalized to secirity::status field
| Exchange Name | Exchange Code | Nanoconda Status |
|---|---|---|
| HALT | 2 | securityStatus::HALT |
| NOT_AVAILATBLE_FOR_TRADING | 18 | securityStatus::HALT |
| CLOSE | 4 | securityStatus::CLOSE |
| READY_TO_TRADE | 17 | securityStatus::OPEN |
| NEW_PRICE_INDICATION | 15 | securityStatus::OPEN |
| PRE_OPEN | 21 | securityStatus::PRE_OPEN |
| PRE_CROSS | 24 | securityStatus::PRE_OPEN |
| CROSS | 25 | securityStatus::PRE_OPEN |
| POST_CLOSE | 26 | securityStatus::POST_CLOSE |
Other statuses are ignored.
Market Data (MDP3)
Messages
| Exchange Message | Nanoconda Callback |
|---|---|
| MDInstrumentDefinitionFuture54 | onsecurity() |
| MDIncrementalRefreshBook46 | onbook(), onbookorder() |
| MDIncrementalRefreshOrderBook47 | onbookorder() |
| MDIncrementalRefreshTradeSummary48 | ontrade(), ontradebust(), onbookorder() |
| MDIncrementalRefreshSessionStatistics51 | ontradestatistics() |
Fields
| Exchange Field | Nanoconda Field | Nanoconda Callback |
|---|---|---|
| HighLimitPrice | security::highLimitBand | onsecurity |
| LowLimitPrice | security::lowLimitBand | onsecurity |
| SettlementPrice | security::settlementPrice | onsecurity |
| ClearedVolume | security::clearedVolume | onsecurity |
| OpenInterest | security::openInterest | onsecurity |
| minPriceIncrement | security::tickSize | onsecurity |
| unitOfMeasureQty | security::multiplier | onsecurity |
| Asset | security::underlyingId | onsecurity |
| OpenPrice | trade::open | ontrade |
| LastPrice | trade::lastPrice | ontrade |
| TradingSessionHighPrice | trade::high | ontrade |
| TradingSessionLowPrice | trade::low | ontrade |
| SessionHighBid | trade::bestbid.price | ontrade |
| SessionLowOffer | trade::bestask.price | ontrade |
| ElectronicVolume | trade::totalVol | ontrade |
| VWAP | trade::vwap | ontrade |
| FixingPrice | trade::vwap | ontrade |
| TransactTime | transactiontime | ontrade / onbook / onbookorder |
| SendingTime | exchangetime | ontrade / onbook / onbookorder |
| MatchEventIndicator | lastEvent | ontrade / onbook / onbookorder |
Order Entry (iLink 3.0)
Outgoing Messages
| Nanoconda API | Exchange Message | Exchange Code | Notes |
|---|---|---|---|
| dmasession::newOrder() | NewOrderSingle | 35=D | iLink 3 New Order - Single |
| dmasession::cancelOrder() | OrderCancelRequest | 35=F | iLink 3 Order Cancel Request |
| dmasession::modifyOrder() | OrderCancelReplaceRequest | 35=G | iLink 3 Order Cancel Replace Request |
| dmasession::cancelAllOrders() | OrderMassActionRequest | 35=CA | iLink 3 Order Mass Action Request |
Incoming Messages
| Exchange Message | Nanoconda Callback | Exchange Code | Notes |
|---|---|---|---|
| BusinessReject | onerror, onorderreject, oncancelreject, onmodifyreject | 35=j | iLink 3 Business Reject |
| ExecutionReportNew | onorderack | 35=8, 39=0 | iLink 3 Execution Report - New Order |
| ExecutionReportCancel | oncancelack | 35=8, 39=4 | iLink 3 Execution Report - Cancel |
| ExecutionReportModify | onmodifyack | 35=8, 39=5 | iLink 3 Execution Report - Modify |
| ExecutionReportReject | onorderreject | 35=8, 39=8 | iLink 3 Execution Report - Reject |
| OrderCancelReject | oncancelreject | 35=9,434=1 | iLink 3 Order Cancel Reject |
| OrderCancelReplaceReject | onmodifyreject | 35=9, 434=2 | iLink 3 Order Cancel Replace Reject |
| parseExecutionReportTradeOutright | onfill | 35=8, 39=1,2 | iLink 3 Execution Report - Trade Outright |
| ExecutionReportTradeAddendumOutright | onfillcorrection | 35=8, 39=H,G | iLink 3 Execution Report - Trade Addendum Outright |
| ExecutionReportElimination | onout | 35=8, 39=C | iLink 3 Execution Report - Elimination |
Fields
| Nanoconda Field | Exchange Field | Notes |
|---|---|---|
| order::orderId | CIOrdID | Automatically Generated by API |
| order::exchangeOrderId | OrderID | |
| order::type = MKT | OrdType = '1' | |
| order::type = LMT | OrdType = '2' | |
| order::type = STP | OrdType = '3' | |
| order::type = SLMT | OrdType = '4' | |
| order::type = FOK | OrdType = '2'; TimeInForce = 3 | |
| order::price | Price | |
| order::triggerPrice | StopPx | |
| order::quantity | OrderQty | |
| order::quantityDisplay | DisplayQty | |
| order::quantityMinimum | MinQty | |
| order::priceLast | LastPx | |
| order::quantityLast | LastQty | |
| order::quantityFilled | CumQty | |
| order::side | Side | 'B' => 1 , 'S' => 2 |
| order::exchangeReason | OrdRejReason, CxlRejReason | |
| error::exchangeCode | BusinessRejectReason |