oslo børs tm derivatives feed...mifid ii / mifir requirements as outlined by rts2 - delegated...
Post on 26-Aug-2020
2 Views
Preview:
TRANSCRIPT
Oslo Børs TM Derivatives Feed
Issue 1.0 21 December 2017
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.
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
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
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
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 technicalsupport@oslobors.no
Enablement 07:00-16:00 +47 22 34 19 90 enablement@oslobors.no
Product and commercial issues 08:00-18:00 +47 22 34 19 11 ma@oslobors.no
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
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
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
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
...
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": ""
}
]
}
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
...
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": ""
}
]
}
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'
top related