A7 Analytics Platform - Order Book API
Constructed historical order books for the T7 trading venues of Deutsche Börse Group (Eurex, Xetra) with nanosecond granularity, accessed over REST with bearer-token authentication.
Constructed historical order books for the T7 trading venues of Deutsche Börse Group (Eurex, Xetra) with nanosecond granularity, accessed over REST with bearer-token authentication.
openapi: 3.0.0
info:
title: A7 Analytics Platform - Algo management Algo management API Order book API API
description: 'A7 Analytics Platform for the main T7 trading venues of Deutsche Börse Group and for the MDP feed of CME Group. The platform enables clients to perform pre/at/post trade analysis and to interact with market data and analytics.It provides clients access to the most granular un-normalized/genuine historical order book data (EOBI, MDP) as well as constructed order books, off-the-shelf analytics and allows them to build their own custom analytics utilizing algo functionality, which is a flexible high-performance framework based on historical order book data.<br/><br/> The A7 data can be accessed either via the <a href="https://a7.deutsche-boerse.com/">user interface</a> or via RESTful API.</br></br>
The algo management API provides access to the A7 algos and their results. With the API it is possible to create, update, delete and run algos and to access the results of the algo runs. All available endpoints are described in detail below.<br/><br/>
<b>Security measures:</b></br> In order to prevent unauthorized access to the API an authentication token must be used. A7 utilises the bearer authentication scheme for this purpose. The authentication token must be added to the header of each request message. Depending on the implementation it might be necessary to add the keyword "Bearer" to the token string as a prefix followed by a space.</br></br> A token can be generated at the <a href="https://a7.deutsche-boerse.com/">A7 user interface</a>. After login the user has to click on the user icon in the upper right corner, click on <b>API token generation</b> and finally click on <b>Request API key</b>. The generated token will be displayed directly in the user interface.<br/><br/>
'
contact:
name: Deutsche Börse Data & Analytics
url: https://www.mds.deutsche-boerse.com
email: analytics@deutsche-boerse.com
version: 1.0.2
servers:
- url: /api/v1
description: A7 production environment
security:
- bearerAuth: []
tags:
- name: Order book API
paths:
/ob/{marketId}/{date}/{marketSegmentId}/{securityId}:
get:
tags:
- Order book API
summary: Retrieve order books for T7
description: 'The request delivers either the order book valid at a given time or a list of order books for a given time period.</br> If `limit` is equal to `1`, the response will contain a single order book otherwise the response will contain a list of order books.</br> If `from` query parameter is not provided, the first order book of the day will be returned.
'
operationId: getOrderbookT7
parameters:
- $ref: '#/components/parameters/marketId'
- $ref: '#/components/parameters/date'
- $ref: '#/components/parameters/marketSegmentId'
- $ref: '#/components/parameters/securityId'
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/levels'
- $ref: '#/components/parameters/orderbook'
- $ref: '#/components/parameters/trades'
- $ref: '#/components/parameters/indicatives'
responses:
'200':
description: successful operation
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/T7Orderbook'
- $ref: '#/components/schemas/T7Orderbooks'
- $ref: '#/components/schemas/InternalError'
application/gzip:
schema:
oneOf:
- $ref: '#/components/schemas/T7Orderbook'
- $ref: '#/components/schemas/T7Orderbooks'
- $ref: '#/components/schemas/InternalError'
format: binary
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
/ob/{exchange}/{date}/{asset}/{securityId}:
get:
tags:
- Order book API
summary: Retrieve order books for CME
description: 'The request delivers either the order book valid at a given time or a list of order books for a given time period.</br> If `limit` is equal to `1`, the response will contain a single order book otherwise the response will contain a list of order books.</br> If `from` query parameter is not provided, the first order book of the day will be returned.
'
operationId: getOrderbookCME
parameters:
- $ref: '#/components/parameters/exchange'
- $ref: '#/components/parameters/date'
- $ref: '#/components/parameters/asset'
- $ref: '#/components/parameters/securityId'
- $ref: '#/components/parameters/from'
- $ref: '#/components/parameters/to'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/levels'
- $ref: '#/components/parameters/orderbook'
- $ref: '#/components/parameters/trades'
responses:
'200':
description: successful operation
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/CMEOrderbook'
- $ref: '#/components/schemas/CMEOrderbooks'
- $ref: '#/components/schemas/InternalError'
application/gzip:
schema:
oneOf:
- $ref: '#/components/schemas/CMEOrderbook'
- $ref: '#/components/schemas/CMEOrderbooks'
- $ref: '#/components/schemas/InternalError'
format: binary
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
components:
schemas:
InternalError:
properties:
success:
type: string
example: 'false'
message:
type: string
example: Error message
required:
- success
- message
T7Orderbooks:
type: array
items:
$ref: '#/components/schemas/T7Orderbook'
T7Orderbook:
type: object
properties:
MarketId:
type: string
example: XEUR
MarketSegmentId:
type: integer
example: 3
SecurityId:
type: integer
example: 1552181
Timestamp:
type: string
format: UTCTimestamp
example: 1591599781302474758
prev:
type: string
format: UTCTimestamp
example: 1591599781297766655
next:
type: string
format: UTCTimestamp
example: 1591599781297766665
Buy:
type: array
items:
type: object
properties:
Price:
type: string
example: 179000000
Quantity:
type: string
example: 210000
OrderCount:
type: integer
example: 2
Orders:
type: array
items:
type: object
properties:
TemplateID:
type: integer
example: 13101
MsgSeqNum:
type: integer
example: 3964
TrdRegTSTimeIn:
type: string
format: UTCTimestamp
example: 1591599781297741667
TrdRegTSPrevTimePriority:
type: string
format: UTCTimestamp
example: 1591599727321193695
PrevPrice:
type: string
example: 176000000
PrevDisplayQty:
type: string
example: 100000
TrdRegTSTimePriority:
type: string
format: UTCTimestamp
example: 1591599781297766655
DisplayQty:
type: integer
example: 100000
Sell:
type: array
items:
type: object
properties:
Price:
type: string
example: 246000000
Quantity:
type: string
example: 110000
OrderCount:
type: integer
example: 1
Orders:
type: array
items:
type: object
properties:
TemplateID:
type: integer
example: 13101
MsgSeqNum:
type: integer
example: 3965
TrdRegTSTimeIn:
type: string
format: UTCTimestamp
example: 1591599781297741667
TrdRegTSPrevTimePriority:
type: string
format: UTCTimestamp
example: 1591599727321193695
PrevPrice:
type: string
example: 246000000
PrevDisplayQty:
type: string
example: 100000
TrdRegTSTimePriority:
type: string
format: UTCTimestamp
example: 1591599781297766655
DisplayQty:
type: integer
example: 100000
Trades:
type: array
items:
type: object
properties:
TemplateID:
type: integer
example: 13105
MsgSeqNum:
type: integer
example: 393
Side:
type: string
example: SELL
AlgorithmicTradeIndicator:
type: integer
example: 1
TrdMatchID:
type: integer
example: 1136
Price:
type: string
example: 246000000
TrdRegTSTimePriority:
type: string
format: UTCTimestamp
example: 1591599727321193695
LastQty:
type: string
example: 3500000
LastPx:
type: string
example: 246000000
Indicatives:
type: array
items:
type: object
properties:
TemplateID:
type: integer
example: 13501
MsgSeqNum:
type: integer
example: 393
LastQty:
type: string
example: 3500000
LastPx:
type: string
example: 246000000
ImbalanceQty:
type: string
example: 3500000
ImbalanceSide:
type: string
example: BUY
SecurityTradingStatus:
type: string
example: 7
PotentialSecurityTradingEvent:
type: string
example: 0
required:
- TemplateID
- MsgSeqNum
- LastPx
required:
- MarketId
- MarketSegmentId
- SecurityId
- Timestamp
CMEOrderbooks:
type: array
items:
$ref: '#/components/schemas/CMEOrderbook'
CMEOrderbook:
type: object
properties:
Exchange:
type: string
example: XCEC
Asset:
type: string
example: HG
SecurityId:
type: integer
example: 14334
Timestamp:
type: string
format: UTCTimestamp
example: 1651010868506262487
prev:
type: string
format: UTCTimestamp
example: 1651010610978256347
next:
type: string
format: UTCTimestamp
example: 1651010878790821909
Buy:
type: array
items:
type: object
properties:
Price:
type: string
example: 45505000000000
Quantity:
type: string
example: 2
OrderCount:
type: integer
example: 1
Orders:
type: array
items:
type: object
properties:
OrderID:
type: integer
example: 766951730572
MDOrderPriority:
type: integer
example: 13109289399
MDEntryPx:
type: object
properties:
mantissa:
type: integer
example: 45505000000000
exponent:
type: integer
example: -9
MDDisplayQty:
type: integer
example: 2
SecurityID:
type: integer
example: 14334
MDUpdateAction:
type: string
example: New
MDEntryType:
type: string
example: Bid
Sell:
type: array
items:
type: object
properties:
Price:
type: string
example: 45200000000000
Quantity:
type: string
example: 13
OrderCount:
type: integer
example: 1
Orders:
type: array
items:
type: object
properties:
OrderID:
type: integer
example: 766858203326
MDOrderPriority:
type: integer
example: 13001112903
MDEntryPx:
type: object
properties:
mantissa:
type: integer
example: 45200000000000
exponent:
type: integer
example: -9
MDDisplayQty:
type: integer
example: 13
SecurityID:
type: integer
example: 14334
MDUpdateAction:
type: string
example: New
MDEntryType:
type: string
example: Ask
Trades:
type: array
items:
type: object
required:
- Exchange
- Asset
- SecurityId
- Timestamp
parameters:
marketId:
name: marketId
in: path
description: Market identifier code as specified in ISO 10383.
example: XEUR
required: true
schema:
type: string
limit:
name: limit
in: query
description: Max number of elements in the response (Minimum = 1 / Maximum = 10000).
required: false
schema:
type: integer
default: 1
minimum: 1
maximum: 10000
asset:
name: asset
in: path
description: Unique product identifier or product pool identifier.
example: GE
required: true
schema:
type: string
levels:
name: levels
in: query
description: Define depth of the order book.
required: false
schema:
type: integer
default: 10
minimum: 1
from:
name: from
in: query
description: 'Timestamp of when the order book was valid or starting time of the time interval.<br/> Format: Nanoseconds since 1970 (EOBI TransactTime)
'
example: '1589175000156121100'
required: false
schema:
type: string
default: '0'
to:
name: to
in: query
description: "Ending time of the time interval.<br/> Format: Nanoseconds since 1970 (EOBI TransactTime) \n"
example: '1589175000156121100'
required: false
schema:
type: string
default: '9999999999999999999'
orderbook:
name: orderbook
in: query
description: "Define if orders should be shown or aggregated.</br> Mode options:\n * aggregated = Aggregate orders\n * complete = Display orders\n"
required: false
schema:
type: string
default: aggregated
securityId:
name: securityId
in: path
description: Unique security identifier
example: 27299
required: true
schema:
type: integer
exchange:
name: exchange
in: path
description: Exchange identifier code.
example: XCME
required: true
schema:
type: string
trades:
name: trades
in: query
description: Display trades.
required: false
schema:
type: boolean
default: false
date:
name: date
in: path
description: Trading day in the format YYYYMMDD
example: '20200106'
required: true
schema:
type: string
pattern: ^\d{8}$
indicatives:
name: indicatives
in: query
description: Indicative auction uncrossing.
required: false
schema:
type: boolean
default: false
marketSegmentId:
name: marketSegmentId
in: path
description: Unique product identifier or product pool identifier on T7.
example: '1210'
required: true
schema:
type: integer
securitySchemes:
bearerAuth:
type: http
scheme: bearer