A7 Analytics Platform - Auction Simulation API

Simulate Xetra auctions against historical order book data on the A7 Analytics Platform.

OpenAPI Specification

deutsche-boerse-auctions-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: A7 Analytics Platform - Algo management Algo management API Auctions 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: Auctions
paths:
  /auction/{exchange}/{date}/{marketSegmentID}/{securityID}/:
    get:
      tags:
      - Auctions
      summary: retrieves list of auction types
      description: The request delivers all available auction types for the selected security that is identified by market, trading day, market segment ID and security ID.
      operationId: getAuctions
      parameters:
      - $ref: '#/components/parameters/exchange'
      - $ref: '#/components/parameters/date'
      - $ref: '#/components/parameters/marketSegmentID'
      - $ref: '#/components/parameters/securityID'
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                description: array of auction types
                type: array
                items:
                  $ref: '#/components/schemas/auctionType'
                example:
                - opening
                - intraday
                - closing
            application/gzip:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/auctionType'
                format: binary
                example:
                - opening
                - intraday
                - closing
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        403:
          $ref: '#/components/responses/403'
        404:
          $ref: '#/components/responses/404'
  /auction/{exchange}/{date}/{symbol}/:
    get:
      tags:
      - Auctions
      summary: retrieves list of auction types
      description: The request delivers all available auction types for the selected security that is identified by market, trading day and trading symbol.
      operationId: getAuctionsBySymbol
      parameters:
      - $ref: '#/components/parameters/exchange'
      - $ref: '#/components/parameters/date'
      - $ref: '#/components/parameters/symbol'
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                description: array of auction types
                type: array
                items:
                  $ref: '#/components/schemas/auctionType'
                example:
                - opening
                - intraday
                - closing
            application/gzip:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/auctionType'
                format: binary
                example:
                - opening
                - intraday
                - closing
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        403:
          $ref: '#/components/responses/403'
        404:
          $ref: '#/components/responses/404'
  /auction/{exchange}/{date}/{marketSegmentID}/{securityID}/{auctionType}:
    get:
      tags:
      - Auctions
      summary: retrieves auction's historical data and optionally simulated outcome of an auction
      description: The request delivers historical data for the selected auction that is identified by market, trading day, market segment ID and security ID, and optionally a simulated outcome of an auction, if complete information of an additional order (side {side}, limit price {px}, quantity {qty}) and optionally order priority {prio} and is provided.
      operationId: getAuction
      parameters:
      - $ref: '#/components/parameters/exchange'
      - $ref: '#/components/parameters/date'
      - $ref: '#/components/parameters/marketSegmentID'
      - $ref: '#/components/parameters/securityID'
      - $ref: '#/components/parameters/auctionType'
      - $ref: '#/components/parameters/side'
      - $ref: '#/components/parameters/px'
      - $ref: '#/components/parameters/prio'
      - $ref: '#/components/parameters/qty'
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/auction'
            application/gzip:
              schema:
                $ref: '#/components/schemas/auction'
                format: binary
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        403:
          $ref: '#/components/responses/403'
        404:
          $ref: '#/components/responses/404'
  /auction/{exchange}/{date}/{symbol}/{auctionType}:
    get:
      tags:
      - Auctions
      summary: retrieves auction's historical data and optionally simulated outcome of an auction
      description: The request delivers historical data for the selected auction that is identified by market, trading day and trading symbol, and optionally a simulated outcome of an auction, if complete information of an additional order (side {side}, limit price {px}, quantity {qty}) and optionally order priority {prio} and is provided.
      operationId: getAuctionBySymbol
      parameters:
      - $ref: '#/components/parameters/exchange'
      - $ref: '#/components/parameters/date'
      - $ref: '#/components/parameters/symbol'
      - $ref: '#/components/parameters/auctionType'
      - $ref: '#/components/parameters/side'
      - $ref: '#/components/parameters/px'
      - $ref: '#/components/parameters/prio'
      - $ref: '#/components/parameters/qty'
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/auction'
            application/gzip:
              schema:
                $ref: '#/components/schemas/auction'
                format: binary
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        403:
          $ref: '#/components/responses/403'
        404:
          $ref: '#/components/responses/404'
components:
  parameters:
    securityID:
      name: securityID
      in: path
      description: unique security identifier
      required: true
      schema:
        $ref: '#/components/schemas/securityID'
    auctionType:
      name: auctionType
      in: path
      description: auction type
      required: true
      schema:
        $ref: '#/components/schemas/auctionType'
    date:
      name: date
      in: path
      required: true
      description: trading day in the format YYYYMMDD
      schema:
        $ref: '#/components/schemas/date'
    marketSegmentID:
      name: marketSegmentID
      in: path
      description: unique market segment identifier
      required: true
      schema:
        $ref: '#/components/schemas/marketSegmentID'
    symbol:
      name: symbol
      in: path
      description: unique trading symbol identifier
      required: true
      schema:
        $ref: '#/components/schemas/symbol'
    exchange:
      name: exchange
      in: path
      description: exhange identifier code
      required: true
      schema:
        $ref: '#/components/schemas/exchange'
    prio:
      name: prio
      in: query
      description: order priority (default 0)
      required: false
      schema:
        type: array
        items:
          $ref: '#/components/schemas/timestamp'
      style: form
      explode: true
    side:
      name: side
      in: query
      description: side of an order
      required: false
      schema:
        type: array
        items:
          $ref: '#/components/schemas/side'
      style: form
      explode: true
    qty:
      name: qty
      in: query
      description: quantity of an order
      required: false
      schema:
        type: array
        items:
          $ref: '#/components/schemas/qty'
      style: form
      explode: true
    px:
      name: px
      in: query
      description: limit price of an order, a null value corresponds to a market order
      required: false
      schema:
        type: array
        items:
          oneOf:
          - $ref: '#/components/schemas/px'
          - $ref: '#/components/schemas/null_string'
      style: form
      explode: true
  schemas:
    symbol:
      description: trading symbol
      type: string
      example: DB1
    auction:
      description: auction's historical data and optionally simulated outcome of an auction
      type: object
      properties:
        Exchange:
          $ref: '#/components/schemas/exchange'
        Date:
          $ref: '#/components/schemas/date'
        MarketSegmentID:
          $ref: '#/components/schemas/marketSegmentID'
        SecurityID:
          $ref: '#/components/schemas/securityID'
        AuctionType:
          $ref: '#/components/schemas/auctionType'
        AuctionStartTimestamp:
          $ref: '#/components/schemas/timestamp'
        AuctionEndTimestamp:
          $ref: '#/components/schemas/timestamp'
        AuctionReferencePrice:
          $ref: '#/components/schemas/px'
        UncrossingPrice:
          oneOf:
          - $ref: '#/components/schemas/px'
          - $ref: '#/components/schemas/null_string'
        MatchedVolume:
          $ref: '#/components/schemas/qty'
        SimulatedUncrossingPrice:
          $ref: '#/components/schemas/px'
        SimulatedMatchedVolume:
          $ref: '#/components/schemas/qty'
        SimulatedOrders:
          description: simulated orders
          type: array
          items:
            type: object
            properties:
              Side:
                $ref: '#/components/schemas/side'
              Px:
                oneOf:
                - $ref: '#/components/schemas/px'
                - $ref: '#/components/schemas/null_string'
              Prio:
                $ref: '#/components/schemas/timestamp'
              Qty:
                $ref: '#/components/schemas/qty'
              TradedQty:
                $ref: '#/components/schemas/qty'
            required:
            - Side
            - Px
            - Prio
            - Qty
            - TradedQty
      required:
      - Exchange
      - Date
      - MarketSegmentID
      - SecurityID
      - AuctionType
      - AuctionStartTimestamp
      - AuctionEndTimestamp
      - AuctionReferencePrice
      - UncrossingPrice
      - MatchedVolume
    securityID:
      description: security ID
      type: integer
      format: int64
      minimum: -9223372036854775808
      maximum: 9223372036854775807
      example: 2504978
    marketSegmentID:
      description: market segment ID
      type: integer
      format: int32
      example: 52885
    null_string:
      description: a null string that corresponds to a market order
      type: string
      enum:
      - 'null'
      example: 'null'
    side:
      description: side of an order
      type: string
      enum:
      - bid
      - ask
      example: bid
    date:
      description: date representation
      type: integer
      format: int32
      example: 20230111
    exchange:
      description: exchange mic
      type: string
      minLength: 4
      maxLength: 4
      example: XETR
    timestamp:
      description: timestamp as number of nanoseconds since Unix epoch
      type: integer
      format: int64
      minimum: 0
      maximum: 18446744073709551615
      default: 0
      example: 1652962104095620563
    qty:
      description: quantity of an order
      type: integer
      format: int64
      minimum: -9223372036854775808
      maximum: 9223372036854775807
      example: 125
    px:
      description: limit price of an order
      type: number
      format: double
      example: 178.25
    auctionType:
      description: auction type
      type: string
      enum:
      - opening
      - intraday
      - closing
      example: opening
  responses:
    '401':
      description: authorization failed
      content:
        text/plain:
          schema:
            type: string
          example: specific error message
    '403':
      description: access denied
      content:
        text/plain:
          schema:
            type: string
          example: specific error message
    '404':
      description: not found
    '400':
      description: bad request
      content:
        text/plain:
          schema:
            type: string
          example: specific error message
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer