oslo børs tm derivatives feed...mifid ii / mifir requirements as outlined by rts2 - delegated...

14
Oslo Børs TM Derivatives Feed Issue 1.0 21 December 2017

Upload: others

Post on 26-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oslo Børs TM Derivatives Feed...MiFID II / MiFIR requirements as outlined by RTS2 - Delegated Regulation on Transparency Requirement for Non-Equity, article 7, 1 (p. 13). OBTDF is

Oslo Børs TM Derivatives Feed

Issue 1.0 21 December 2017

Page 2: Oslo Børs TM Derivatives Feed...MiFID II / MiFIR requirements as outlined by RTS2 - Delegated Regulation on Transparency Requirement for Non-Equity, article 7, 1 (p. 13). OBTDF is

Oslo Børs | TM Derivatives Feed 2

Disclaimer

This document has been prepared on the basis of the best information available. Oslo Børs has taken

reasonable efforts to ensure that the information in this publication is correct at the time of publication, but

shall not be liable for decisions made in reliance on it. Oslo Børs will seek to provide notice to customers of

changes being made to this document, but this notice cannot be guaranteed. Therefore, please note that this

publication may be updated at any time. The information contained is therefore for guidance only. This

document does not form part of the contractual documentation between the Oslo Børs and its customers.

Page 3: Oslo Børs TM Derivatives Feed...MiFID II / MiFIR requirements as outlined by RTS2 - Delegated Regulation on Transparency Requirement for Non-Equity, article 7, 1 (p. 13). OBTDF is

Oslo Børs | TM Derivatives Feed 3

Change log

This document can be updated at any time, and has been through the following iterations:

Issue Date Description

1.0 December 21, 2017 Initial version

Page 4: Oslo Børs TM Derivatives Feed...MiFID II / MiFIR requirements as outlined by RTS2 - Delegated Regulation on Transparency Requirement for Non-Equity, article 7, 1 (p. 13). OBTDF is

Oslo Børs | TM Derivatives Feed 4

Content 1. Introduction .................................................................................................................................................... 5

1.1 Security .................................................................................................................................................. 5

1.2 Connection details ................................................................................................................................. 5

1.2.1 IP addresses ....................................................................................................................................... 6

1.2.2 Accounts ............................................................................................................................................ 6

1.3 Support, calendar and core hours ......................................................................................................... 6

2. Data format .................................................................................................................................................... 7

2.1 JSON Schema ......................................................................................................................................... 7

2.1.1 Feed Data .......................................................................................................................................... 7

2.1.2 Transaction Details ............................................................................................................................ 7

3. Operations ...................................................................................................................................................... 9

3.1 Request a list of today’s transactions’ details ....................................................................................... 9

3.1.1 Endpoint description: ........................................................................................................................ 9

3.1.2 Available parameters: ....................................................................................................................... 9

3.1.3 Possible response codes: ................................................................................................................. 10

3.1.4 Example request: ............................................................................................................................. 10

3.1.5 Example response: .......................................................................................................................... 11

3.2 Request a list of transactions’ details for a given date ........................................................................ 12

3.2.1 Endpoint description: ...................................................................................................................... 12

3.2.2 Available parameters: ..................................................................................................................... 12

3.2.3 Possible response codes: ................................................................................................................. 12

3.2.4 Example request: ............................................................................................................................. 12

3.2.5 Example response: .......................................................................................................................... 13

4. Examples ...................................................................................................................................................... 14

4.1 Example 1 – List today’s transactions’ details from sequence number 17 .......................................... 14

4.2 Example 2 – List details of transactions from December 14th 2017 .................................................... 14

4.3 Example 3 – List details of transactions from December 14th 2017 from sequence number 9 ........... 14

Page 5: Oslo Børs TM Derivatives Feed...MiFID II / MiFIR requirements as outlined by RTS2 - Delegated Regulation on Transparency Requirement for Non-Equity, article 7, 1 (p. 13). OBTDF is

Oslo Børs | TM Derivatives Feed 5

1. Introduction The Oslo Børs TM Derivatives Feed (OBTDF) is a gateway which publishes transaction details in order to fulfill

MiFID II / MiFIR requirements as outlined by RTS2 - Delegated Regulation on Transparency Requirement for

Non-Equity, article 7, § 1 (p. 13).

OBTDF is accessible through the application-level protocol Hypertext Transfer Protocol (HTTP/1.1). Please refer

to the HTTP specification for details1.

The Basic HTTP Authentication Scheme is used2 to authenticate with the service. Each request made to the

service must contain a HTTP Basic authorization header.

JavaScript Object Notation (JSON)3 is used as data-interchange formats between OBTDF and clients of the

service.

All operations on OBTDF are done via the HTTP API, no GUI is available to browse or submit mappings.

1.1 Security

To ensure safe transportation of transaction details and authentication information, the OBTDF will require

users of the service to connect using a secure data channel.

OBTDF requires data to be transmitted over HTTPS (HTTP over TLS). The Transport Layer Security (TLS)

Protocol4 ensures that the connection between OBTDF and the client is private. Unencrypted connections will

be denied.

Received client identifiers will be encrypted using Public Key Infrastructure (PKI) before they are stored in our

systems.

1.2 Connection details

The OBTDF is available over a TCP/IP connection through the Internet. The client IP addresses must be added to

our IP whitelist before access is granted to the service.

Oslo Børs offers a test environment enabling clients to test their connections and applications before

connecting to the production service.

Authentication and IP whitelisting is required for both environments. Please use the enablement form on our

website when requesting access to the service.

1 https://tools.ietf.org/html/rfc7230 2 https://tools.ietf.org/html/rfc7617 3 http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf 4 https://tools.ietf.org/html/rfc5246

Page 6: Oslo Børs TM Derivatives Feed...MiFID II / MiFIR requirements as outlined by RTS2 - Delegated Regulation on Transparency Requirement for Non-Equity, article 7, 1 (p. 13). OBTDF is

Oslo Børs | TM Derivatives Feed 6

1.2.1 IP addresses

Environment Hostname TCP Port

Production obtdf.api.oslobors.no 443 (HTTPS)

Test obtdf-test.api.oslobors.no 443 (HTTPS)

1.2.2 Accounts

In addition to IP whitelisting, clients must also supply credentials with each request to the service.

We only support system accounts, personal accounts are not supported. Credentials can be obtained from our

technical support.

1.3 Support, calendar and core hours

OBTDF will be running continuously. All maintenance requiring downtime will be communicated to the users electronically. Oslo Børs provides a manned technical services desk in the hours specified below, excluding exchange holidays, unless advised otherwise.

Personnel and queries covered Hours (CET) Telephone E-mail

Technical support and

operational issues.

07:00-21:00 +47 22 34 19 90 [email protected]

Enablement 07:00-16:00 +47 22 34 19 90 [email protected]

Product and commercial issues 08:00-18:00 +47 22 34 19 11 [email protected]

Page 7: Oslo Børs TM Derivatives Feed...MiFID II / MiFIR requirements as outlined by RTS2 - Delegated Regulation on Transparency Requirement for Non-Equity, article 7, 1 (p. 13). OBTDF is

Oslo Børs | TM Derivatives Feed 7

2. Data format The OBTDF service supports only JSON data format.

2.1 JSON Schema

OBTDF defines one JSON schema. The following table contains information about valid values and data types.

The “Name” column refers to the key in the key-value pairs of the object. “Data type” refers to the JSON basic

data type used for the value. All numbers are positive integers without decimals.

2.1.1 Feed Data

Name Data type Description Values

responseDescription String Description of the response

based on the URL provided by a

client

List of all today's trades List of today's trades starting from sequence number seqno List of all trades on date List of trades on date starting from sequence number seqno List of trades on invalid date date

requestTime String Date and time when request has

been received

ISO-8601 formatted datetime

responseTime String Date and time when response

has been sent

ISO-8601 formatted datetime

status String Status of the request OK if gateway successfully

processed the request

FAILED if gateway cannot process

the request successfully

numberOfTransactions Number Number of transactions within

this response

0 and above

transactionDetails List List of transaction details See section 2.1.2

2.1.2 Transaction Details

JSON object representing a Transaction.

Name Data type Description Values

sequenceNo Number Sequence number of this transaction

within the requested date

1 and above,

continuously

incrementing by 1

transactionIdentificationCode Number Unique identification code for this and

only this transaction

tradingDateAndTime String Date and time when the transaction was

executed

ISO 8601

datetime

Page 8: Oslo Børs TM Derivatives Feed...MiFID II / MiFIR requirements as outlined by RTS2 - Delegated Regulation on Transparency Requirement for Non-Equity, article 7, 1 (p. 13). OBTDF is

Oslo Børs | TM Derivatives Feed 8

instrumentIdentificationCodeType String Code type used to identify the financial

instrument

ISIN or OTHR

instrumentIdentificationCode String Unique code used to identify the

financial instrument.

- When field

instrumentIdentificationCodeType is ISIN

then the value of this field is the

instruments ISIN identification code.

- When field

instrumentIdentificationCodeType is

OTHR then the value of this field is the

same as the instrument field below

instrument String Full name of the instrument

venueOfExecution String MIC code for the trading venue XOSC, XOFF or

SINT

price Number Traded price of the transaction

priceNotation String Indication as to whether the price and

the strike price is expressed in monetary

value, in percentage or in yield

MONE

priceCurrency String Currency in which the price is expressed ISO 4217 currency

codes

quantity Number The number of units of the financial

instrument, or the number of derivative

contracts in the transaction

contractSize Number Number of units of the underlying

instrument represented by a single

derivative contract

notionalAmount Number Notional amount = price * quantity *

contractSize

notionalCurrency String Same as priceCurrency ISO 4217 currency

codes

publicationDateAndTime String Same as tradingDateAndTime ISO 8601

datetime

transactionToBeCleared String Code to identify whether the transaction

will be cleared

true or false

transactionFlags String A comma separated list of transaction

flags:

NPFT = Non Price Forming

BENC = Benchmark

ACTX = Agency Cross

TPAC = Package

CANC = Cancelled

NPFT, BENC,

ACTX, TPAC

and/or CANC

Page 9: Oslo Børs TM Derivatives Feed...MiFID II / MiFIR requirements as outlined by RTS2 - Delegated Regulation on Transparency Requirement for Non-Equity, article 7, 1 (p. 13). OBTDF is

Oslo Børs | TM Derivatives Feed 9

3. Operations

There are only two permitted operations on OBTDF gateway:

- Request a list of today’s transactions’ details, explained in detail in section 3.1

- Request a list of transaction details for a given date, explained in detail in section 3.2

OBTDF gateway returns JSON formatted data. The operations accept query parameters for optional

parameters, mandatory parameters are included in the URL path. Please refer to the specific operations for

examples of path and query parameter usage.

The hostname of the service is not defined in this document, please refer to section 1.2 for connection details.

Example URLs omit the protocol and domain name parts for brevity.

Full URL:

https://<host>/obtdf/v1/trades

Protocol and domain omitted:

/obtdf/v1/trades

To authenticate with the service an authorization header must be supplied with each request. The header is

created using the standard procedure described by the Basic HTTP Authentication Scheme RFC5.

3.1 Request a list of today’s transactions’ details

This operation will return a list of all today’s transactions’ details up to time of request. The operation responds

with a Feed Data object containing an array of Transaction Details objects. The optional parameter seqno can

be used to limit the number of Transaction Details objects returned in the response.

3.1.1 Endpoint description:

Path /obtdf/v1/trades

Method GET

Content-Type application/json

Request-body N/A

Response-body Feed Data object containing an array of Transaction Details objects

3.1.2 Available parameters:

Name Located in Required Data type Description

seqno Query No Integer Limit the list of Transaction Details objects to

including and above the given sequence number.

5 https://tools.ietf.org/html/rfc7617

Page 10: Oslo Børs TM Derivatives Feed...MiFID II / MiFIR requirements as outlined by RTS2 - Delegated Regulation on Transparency Requirement for Non-Equity, article 7, 1 (p. 13). OBTDF is

Oslo Børs | TM Derivatives Feed 10

3.1.3 Possible response codes:

Code Description

200 OK, the response was generated successfully

401 Unauthorized, invalid basic authorization

500 Application error

3.1.4 Example request:

GET /obtdf/v1/trades HTTP/1.1

...

Page 11: Oslo Børs TM Derivatives Feed...MiFID II / MiFIR requirements as outlined by RTS2 - Delegated Regulation on Transparency Requirement for Non-Equity, article 7, 1 (p. 13). OBTDF is

Oslo Børs | TM Derivatives Feed 11

3.1.5 Example response:

HTTP/1.1 200 OK

{

"responseDescription": "List of all today's trades.",

"requestTime": "2017-12-18T17:04:13.055",

"responseTime": "2017-12-18T17:04:13.118",

"status": "OK",

"numberOfTransactions": 2,

"transactionDetails": [

{

"sequenceNo": 1,

"transactionIdentificationCode": 22706,

"tradingDateAndTime": null,

"instrumentIdentificationCodeType": "ISIN",

"instrumentIdentificationCode": "NOOB80004LA4",

"instrument": "REC817MNODIV",

"venueOfExecution": "XOSC",

"price": 1.1858,

"priceNotation": "MONE",

"priceCurrency": "NOK",

"quantity": 3000,

"contractSize": 100,

"notionalAmount": 355740,

"notionalCurrency": "NOK",

"publicationDateAndTime": null,

"transactionToBeCleared": true,

"transactionFlags": "CANC"

},

{

"sequenceNo": 2,

"transactionIdentificationCode": 22707,

"tradingDateAndTime": "2017-12-18T16:54:51.89",

"instrumentIdentificationCodeType": "ISIN",

"instrumentIdentificationCode": "NOOB80004LA4",

"instrument": "REC817MNODIV",

"venueOfExecution": "XOSC",

"price": 1.1858,

"priceNotation": "MONE",

"priceCurrency": "NOK",

"quantity": 3000,

"contractSize": 100,

"notionalAmount": 355740,

"notionalCurrency": "NOK",

"publicationDateAndTime": "2017-12-18T16:54:51.89",

"transactionToBeCleared": true,

"transactionFlags": ""

}

]

}

Page 12: Oslo Børs TM Derivatives Feed...MiFID II / MiFIR requirements as outlined by RTS2 - Delegated Regulation on Transparency Requirement for Non-Equity, article 7, 1 (p. 13). OBTDF is

Oslo Børs | TM Derivatives Feed 12

3.2 Request a list of transactions’ details for a given date

This operation will return a list of all transactions’ details on a date indicated in the required parameter date.

The operation responds with a Feed Data object containing an array of Transaction Details objects. The

optional parameter seqno can be used to limit the number of Transaction Details objects returned in the

response.

3.2.1 Endpoint description:

Path /obtdf/v1/tradesOnDate

Method GET

Content-Type application/json

Request-body N/A

Response-body Feed Data object containing an array of Transaction Details objects

3.2.2 Available parameters:

Name Located in Required Data type Description

date Query Yes Integer Get the list of Transaction Details objects on this

date. Only allowed format is yyyyMMdd.

seqno Query No Integer Limit the list of Transaction Details objects to

including and above the given sequence number.

3.2.3 Possible response codes:

Code Description

200 OK, the response was generated successfully.

401 Unauthorized, invalid basic authorization.

500 Application error.

3.2.4 Example request:

GET /obtdf/v1/tradesOnDate HTTP/1.1

...

Page 13: Oslo Børs TM Derivatives Feed...MiFID II / MiFIR requirements as outlined by RTS2 - Delegated Regulation on Transparency Requirement for Non-Equity, article 7, 1 (p. 13). OBTDF is

Oslo Børs | TM Derivatives Feed 13

3.2.5 Example response:

HTTP/1.1 200 OK

{

"responseDescription": "List of trades on 20171214 starting from sequence number 9.",

"requestTime": "2017-12-21T17:02:21.024",

"responseTime": "2017-12-21T17:02:21.164",

"status": "OK",

"numberOfTransactions": 1,

"transactionDetails": [

{

"sequenceNo": 9,

"transactionIdentificationCode": 22644,

"tradingDateAndTime": "2017-12-14T16:55:36.747",

"instrumentIdentificationCodeType": "ISIN",

"instrumentIdentificationCode": "NOOB80004KO7",

"instrument": "AUSS721XNODIV",

"venueOfExecution": "XOSC",

"price": 68.3,

"priceNotation": "MONE",

"priceCurrency": "NOK",

"quantity": 50,

"contractSize": 100,

"notionalAmount": 341500,

"notionalCurrency": "NOK",

"publicationDateAndTime": "2017-12-14T16:55:36.747",

"transactionToBeCleared": true,

"transactionFlags": ""

}

]

}

Page 14: Oslo Børs TM Derivatives Feed...MiFID II / MiFIR requirements as outlined by RTS2 - Delegated Regulation on Transparency Requirement for Non-Equity, article 7, 1 (p. 13). OBTDF is

Oslo Børs | TM Derivatives Feed 14

4. Examples Here are some examples that can be used as to test connectivity and basic functionality towards OBTDF. Examples are made using the command-line tool curl on Linux. Replace the account name and password to run examples successfully.

4.1 Example 1 – List today’s transactions’ details from sequence number 17

Running the following command will list the details of today’s transactions starting from sequence number 17 and above.

# curl -i -u account:password \

-d @- 'https://obtdf-test.api.oslobors.no/obtdf/v1/trades?seqno=17'

4.2 Example 2 – List details of transactions from December 14th 2017

Running the following command will list the details of transactions on December 14th 2017

# curl -i -u account:password -d @- \

'https://obtdf-test.api.oslobors.no/obtdf/v1/tradesOnDate?date=20171214'

4.3 Example 3 – List details of transactions from December 14th 2017 from sequence number 9

Running the following command will list the details of transactions on December 14th 2017 from sequence number 9 and above

# curl -i -u account:password -d @- \

'https://obtdf-test.api.oslobors.no/obtdf/v1/tradesOnDate?date=20171214&seqno=9'