90
OCDF Technical Specification OCDF Version 3.0 Document Version 3.0.22 29-10-2009 Effective from 30-11-2009

OCDF Technical Specification - Euronext

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: OCDF Technical Specification - Euronext

OCDF Technical Specification

OCDF Version 3.0 Document Version 3.0.22

29-10-2009

Effective from 30-11-2009

Page 2: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 2 of 90

(this page intentionally left blank for two-sided printing)

Page 3: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 3 of 90

Table Of Contents

1. Introduction ................................................................................................ 14

1.1 Purpose and background information ............................................................................................ 14

1.2 Scope of this document .................................................................................................................. 14

1.3 Definitions, abbreviations and acronyms ....................................................................................... 14

1.4 References ...................................................................................................................................... 15

1.5 Contact information ....................................................................................................................... 15

1.6 Calendar and core hours ................................................................................................................. 15

2. Overview .................................................................................................... 16

3. Communication .......................................................................................... 17

3.1 Network and transport layers ......................................................................................................... 17

3.2 Connection information ................................................................................................................. 18

4. Session control ........................................................................................... 20

4.1 Messages ........................................................................................................................................ 20

4.2 Message scenario ........................................................................................................................... 23

4.3 FC state diagram ............................................................................................................................ 25

4.4 FC states and message processing .................................................................................................. 26

4.5 Possible client-side failover mechanisms ....................................................................................... 28

5. Presentation and encoding of data ............................................................... 30

5.1 Transaction meta-format ................................................................................................................ 30

5.2 Special characters ........................................................................................................................... 30

5.3 Transaction head ............................................................................................................................ 30

5.4 Transaction body ............................................................................................................................ 31

5.5 Unknown field tags ........................................................................................................................ 31

5.6 Null field values ............................................................................................................................. 31

5.7 Field value types ............................................................................................................................ 32

5.8 Filtering of information .................................................................................................................. 32

5.9 Fields and NULL values ................................................................................................................ 32

5.10 Handling of new/unknown fields and transactions ........................................................................ 33

6. Application layer ........................................................................................ 34

6.1 The security data model ................................................................................................................. 35

6.2 Description of entity sets ................................................................................................................ 36

6.3 Security identification .................................................................................................................... 38

6.4 The orderbook ................................................................................................................................ 39

6.5 Initiating data transfer commands .................................................................................................. 43

6.6 FC requests – “commands” ............................................................................................................ 43

6.7 FS responses – “transactions” ........................................................................................................ 44

7. Other issues ................................................................................................ 47

7.1 Availability..................................................................................................................................... 47

7.2 Change policy ................................................................................................................................ 47

7.3 Information roles ............................................................................................................................ 47

8. Appendix .................................................................................................... 48

8.1 Transactions and fields – subscription categories .......................................................................... 48

8.2 Real time transactions .................................................................................................................... 49

8.3 Basic data transactions (batch) ....................................................................................................... 54

8.4 Fields and the transactions they occur in ....................................................................................... 62

Page 4: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 4 of 90

8.5 Field descriptions ........................................................................................................................... 72

8.6 Constant values for specific fields ................................................................................................. 80

Page 5: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 5 of 90

List of Figures

Figure 1 – Network connections for OCDF ........................................................................................... 17

Figure 2 – Suggested high-level design for OCDF client ...................................................................... 19

Figure 3 – Example of the load during a day, measured in bytes per second. ....................................... 19

Figure 4 – Typical message exchange scenario feed client – feed server .............................................. 23

Figure 5 – State diagram for client ......................................................................................................... 25

Figure 6 – The “Security” data model .................................................................................................... 35

Figure 7 – Relationship between security, order book and quotation detail. ......................................... 38

List of Tables Table 1 – Document history ................................................................................................................... 13

Table 2 – Definitions, abbreviations and acronyms ............................................................................... 14

Table 3 – Message descriptions .............................................................................................................. 22

Table 4 – States ...................................................................................................................................... 26

Table 5 – Message handling common in all states. ................................................................................ 26

Table 6 – Message handling in AWAIT_CONNECT_ACK state ......................................................... 27

Table 7 – Message handling in AWAIT_LOGON_ACK state .............................................................. 27

Table 8 – Message handling in AWAIT_CMD_START_ACK state .................................................... 27

Table 9 – Message handling in AWAIT_CMD_END state ................................................................... 28

Table 10 – Message handling in AWAIT_LOGOFF_ACK state .......................................................... 28

Table 11 – Security Change transaction (shown only with fields relevant to the order book “Update” method) .......................................................................................................................................... 39

Table 12 – Orderbook transaction .......................................................................................................... 40

Tabell 13 – Order transaction (for bonds and equities) .......................................................................... 42

Table 14 – Order Book Flush transaction (notifies deletion of all orders in the given order book) ....... 43

Table 15 – FC request – “commands” .................................................................................................... 43

Table 16 – Feed transaction layout ......................................................................................................... 44

Table 17 – Feed batch transactions ........................................................................................................ 45

Table 18 – Sequencing of FIXED_DATA ............................................................................................. 45

Table 19 – Feed realtime transactions .................................................................................................... 46

Table 20 – Subscription categories ........................................................................................................ 48

Table 21 – Security Change transaction ................................................................................................. 49

Table 22 – Orderbook transaction .......................................................................................................... 50

Table 23 – Order Book Flush transaction .............................................................................................. 51

Table 24 – Order transaction (for bonds and equities) ........................................................................... 51

Table 25 – Security Trade transaction .................................................................................................... 52

Table 26 – External Trade transaction ................................................................................................... 52

Table 27 – News Item transaction .......................................................................................................... 53

Table 28 – Order book State................................................................................................................... 53

Table 29 – Market Event transaction...................................................................................................... 53

Page 6: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 6 of 90

Table 30 – Feed Event transaction ......................................................................................................... 53

Table 31 – Trade Info transaction .......................................................................................................... 53

Table 32 – Batch Order Book transaction .............................................................................................. 54

Table 33 – Quotation Detail transaction ................................................................................................. 55

Table 34 – Equity transaction ................................................................................................................. 55

Table 35 – Bond transaction ................................................................................................................... 56

Table 36 – Derivative transaction .......................................................................................................... 56

Table 37 – Subscription Right transaction ............................................................................................. 57

Table 38 – Share Index transaction ........................................................................................................ 57

Table 39 – Bond Index transaction ......................................................................................................... 58

Table 40 – Share Index Weights transaction .......................................................................................... 58

Table 41 – Bond Index Weights transaction .......................................................................................... 58

Table 42 – Basket transaction ................................................................................................................ 58

Table 43 – Basket Detail transaction ...................................................................................................... 59

Table 44 – Issuers transaction ................................................................................................................ 59

Table 45 – Currency transaction ............................................................................................................ 59

Table 46 – Brokers transaction ............................................................................................................... 59

Table 47 – Markets transaction .............................................................................................................. 59

Table 48 – Fields transaction .................................................................................................................. 60

Table 49 – Transactions transaction ....................................................................................................... 60

Table 50 – Adjustment Factor transaction .............................................................................................. 60

Table 51 – Debt Issuance Program transaction ...................................................................................... 60

Table 52 – ClassificationSector transaction ........................................................................................... 61

Table 53 – Fields and the transactions they occur in .............................................................................. 71

Table 54 – Field descriptions ................................................................................................................. 79

Table 55 – amortizationType constant values ........................................................................................ 80

Table 56 – derivativeType constant values ............................................................................................ 80

Table 57 – secClass constant values ....................................................................................................... 80

Table 58 – currencyQuotation and currencyDenomination constant values .......................................... 81

Table 59 – Orderclass values .................................................................................................................. 81

Table 60 – Message type values ............................................................................................................. 81

Table 61 – Buysell values ...................................................................................................................... 81

Table 62 – liquidityCategory constant values ........................................................................................ 82

Table 63 – secSector constant values ..................................................................................................... 83

Table 64 – equityClass constant values .................................................................................................. 83

Table 65 – listingClass constant values .................................................................................................. 84

Table 66 – listingCategory constant values ............................................................................................ 85

Table 67 – secStatus constant values...................................................................................................... 85

Table 68 – secSubStatus constant values ............................................................................................... 85

Table 69 – marketCode constant values ................................................................................................. 85

Table 70 – marketPricing type constant values ...................................................................................... 86

Table 71 – marketStatus constant values................................................................................................ 86

Page 7: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 7 of 90

Table 72 – marketSubStatus constant values ......................................................................................... 86

Table 73 – tradeType constant values .................................................................................................... 87

Table 74 – tradeCategory constant values .............................................................................................. 88

Table 75 – newsSource constant values ................................................................................................. 88

Table 76 – orderBookOfficial constant values ....................................................................................... 88

Table 77 – orderBookStateCode constant values ................................................................................... 88

Table 78 – newsType / newsTypeEnglish constant values .................................................................... 89

Table 79 – newsLanguage constant values ............................................................................................ 89

Table 80 - programType constant values ............................................................................................... 90

Page 8: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 8 of 90

Document history Ver . Dat e Descr ipt ion

1.0 24.04.1998 OCDF Release 1.0 First official version of documentation.

1.1 12.05.1998 OCDF Release 1.1 Changes in insert/delete in orderbook handling, subscription categories, market status plus several other minor corrections.

1.2 09.10.1998 Improved description of communication, many minor corrections. 1.2.1 19.10.1998 Few minor corrections. 1.2.2 14.12.1998 OCDF Release 1.2

First production version, minor corrections. Description of changes in version 1.2.2 were released as two Change Notifications: N/A 11.05.1999 “Notification of changes in “OCDF Technical Specification” from version 1.2.2 to 2.0“

OCDF Release 1.3

• Contractors in orderbook and trades • Equity Index volumes • News Type OCDF Release 2.0

• New Bonds trading system • BMMF - Bonds Market Maker Feed • MultiCurrency - Trading in multiple currencies

N/A 11.05.1999 See: “Notification of changes in “OCDF Technical Specification” from version 1.2.2 to 2.0“ OCDF Release 1.3

• Contractors in orderbook and trades • Equity Index volumes • News Type OCDF Release 2.0

• New Bonds trading system • BMMF - Bonds Market Maker Feed • MultiCurrency - Trading in multiple currencies

N/A 25.06.1999 OCDF Release 2.1 “Notification of changes in “OCDF Technical Specification ” from version 1.2.2 to 2.0 for MultiCurrency” Detailed description of aspects outlined in above document, regarding trading in multiple currencies at OSE and how this is handled in OCDF.

2.1.1 18.01.2000 Integrated Change Notifications of 11.05.1999 and 25.06.1999 into “OCDF Technical Specification”. 2.2 15.04.2000 OCDF Release 2.2

New trading rules and new version of ASTS introduces following changes in OCDF: • New trade type “U” added, old type “P” removed • URL field added to news message transaction • Dissemination of orderbook in pretrade for equity trading • Field tradeId not described in document, was added • Removed BMMF description, transactions and fields related only to BMMF.

2.2.1 09.05.2000 Added missing desc. of field tradeId(“TId”) also in tables 17&18 2.3 29.09.2000 OCDF Release 2.3

New Morgan Stanley based classification structure for equities and equity indices: • New transaction ClassificationSector(“BCs”) (Section 8.3.21)

classSectorCode(“CSc”), classSectorId(“CSi”), classSectorName(“CSn”) and classSectorParent(“CSp”)

Other changes: • New fields in transaction SubscriptionRights(“BSr”) for Warrants (Section 8.3.6):

exerciseFromDate(“EXf”), exerciseToDate(“EXt”), exercisePrice(“EXp”) • New fields in transaction QuotationDetails(“BQd”) (Section 8.3.2):

secSecondaryListed(“SSl”) – when present (no value), this field flags that a security is secondary listed for the specific marketCode. classSectorId(“CSi”) – gives a link to the the classification sector for the specific marketCode with details in transaction ClassificationSector(“BCs”).

• New constant value in secSector(“Ss”), see Table 63 and listingCategory(“LCg”), see Table 66. (Warrants = 63).

2.3.1 03.11.2000 OCDF Release 2.3.1

• Changed tag for field tag classSectorName CSn in transaction ClassificationSector(“BCs”) from “CSn” to “CSGn” (i.e. default “Global” sector name in English language). Added a localised language field tag “CSLn” - classSectorLocalName (sector name in local language).

2.3.2 03.11.2000 OCDF Release 2.3.2

• Changes in newsType

2.3.3 02.08.2001 OCDF Release 2.3.3

• New constant value in listingClass(“Lc”), see Table 65 (Warrants=19), see also Table 63 (Warrants=63) .

3.0.0 16.01.2002 OCDF Release 3.0 New trading system (SAXESS) for the bonds and equities markets:

Page 9: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 9 of 90

Ver . Dat e Descr ipt ion

• Data model changed (multiple orderbooks per security) New batch transaction BatchOrderBook ( BOb ) introduced.

• Sc-transaction is changed. New transactions order ( o ), OrderBook ( Ob ) and OrderBookFlush ( OBf ) are introduced.

• Currency: NOK is no longer the only possible base currency. New fields in the Currency ( BCu ) transaction (batch): currencyPriceBase ( CUb ) and currencyPriceIn ( CUp ).

• New trade types for equities and bonds, replacing the existing types. • Size of news text- and header changed

• New production servers, IP-addresses changed. 3.0.1 28.08.2003 Constant value 63 ("Warrant") in in listingCategory ("LCg") removed.

Replaced with new constant values (warrant types): 64, 65, 66, 67 and 68, see Table 66 Minor changes and corrections to the documentation:

• Added new, optional fields in the trade ("t") transaction: DTa, ULa, UVWp and UTo • Removed currencies that have been terminated • Added the field Currency Quotation (Cq) in the specification of the Security Change (Sc)

transaction. 3.0.2 18.02.2004 New constant value in field newsType ("Nt"), see Table 78 – newsType / newsTypeEnglish constant

values (new value: "MEGLER/BØRSPOSTENDRINGER ")

Added description of Internet test- and backup site Removed constant value 3 ("Reversed trade") from field tradeCategory ("Tg"). See table Table 74 –

tradeCategory constant values 3.0.3 09.07.2004 New official lists in the equity market (liquidity categories), Information Symbol and English Symbol,

coming into effect as from 04.10.2004: Added 3 new fields in the Quotation Detail (BQd) transaction:

• liquidityCategory (LQCg) (integer field with constant values, see table Table 62 – liquidityCategory constant values)

• infoSymbol (ISy) (boolean flag) • englishSymbol (ESy) (boolean flag)

Added previous bid- and ask values (and dates): 4 new fields in the Quotation Detail (BQd) transaction:

• prevBidAdjusted (PBa) • prevBidDate (PBd) • prevAskAdjusted (PAa) • prevAskDate (PAd)

Changes to subscription categories: • Moved all fields in subscription category 2 (aggregated price information) into subscription category

1 (basic subscription). • Merged subscription category 3 (equtiy fundamental data) and 4 (bond fundamental data) into one

new subscription category: 2 – Fundamental data. • Renamed subscription categories 5, 6 and 8 to 3, 4 and 5 respectively. • Added new subscription category: 6 – Single orders. Removed OBId from the BQd transaction spec. (incorrectly specified, BQd does not contain OBId).

3.0.4 22.09.2004 New constant value in the fields secSector (Ss) and listingCategory (LCg): 43 - "Perpetual hybrid tier 1" See table Table 63 – secSector constant values and Table 66 – listingCategory constant values.

3.0.5 28.01.2005 Added new fields in the Quotation Detail (BQd)- and Brokers (BBr) transactions:

• hastLiquityProvider (HLp) – in Quotation Detail (BQd) transaction. (see table 32) • liquityProvider (Lp) – in Brokers (BBr) transaction. (see table 43)

3.0.6 11.02.2005 New constant values for Exchange Traded Fund (ETF): • secSector (Ss): 70 – “Exchange Traded Fund” (see Table 63 – secSector constant values) • listingClass (Lc): 20 – “Exchange Traded Fund” (see Table 65 – listingClass constant values) • listingCategory (LCg) : 70 – “Exchange Traded Fund” (see Table 66 – listingCategory constant

values)

3.0.7 03.03.2005 New constant values for Market Code • marketCode (Mc): 7 – “Alternative Bond Market” (see table 67 – marketCode constant values) New tag for News Message

Page 10: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 10 of 90

Ver . Dat e Descr ipt ion

• newsLanguage (NLa): (see table 73 newsLanguage constant values). Not mandatory field. New News Source. • newsSource 2 – “Alternative Bond Market” (see table 73 – newsSource constant values)

3.0.8 09.05.2005 New lanunch date of the Alternative Bond Market. 3.0.9 01.10.2005 Change in table 8.5 - Field Descriptions. Text change in tag = <n>Ao and tag = <n>Bo. These tags

regards also other markets than the equity market. New constant value for News Type: • Søknad / Application. (see table 75- newsType constant values)

3.0.10 01.11.2005 28.11.2005

New constant value for News Type: • Derivatmeldinger/ Derivative information. (see table 75- newsType constant values) Defined Core Hours and timeline of when the messages are sent., see section 1.6. Added new fields in the Order Book (Ob) – transaction. Used in the bond market. (See table 12- Orderbook transaction) • bidOrderYield (BOy). • askOrderYield(AOy).

3.0.11 28.11.2005 New constant values for Trade Type (see Table 73 – tradeType constant values): • 63 - Deferred publication 60 minutes • 64 - Deferred publication end of day

3.0.12 18.12.2005 01.03.2006 03.04.2006

Deleted constant values for News Type (Nt): • MEGLER/BØRSPOSTENDRINGER/ Changes in broker or lot size (see Table 75- newsType

constant values) • DIVERSE/ Miscellaneous (see table 75- newsType constant values) • General News/ Miscellaneous (see table 75- newsType constant values) Deleted Security Change Transaction for Security Change (Sc) • corrSeqNo (see table 21- Security Change transaction) New constant values for News Type (Nt) • Petroleum reserver- Petroleum reserves (see table 75- newsType constant values) • Årsoversikt- Annual Information (see table 75- newsType constant values) New constant value for Market Code (Mc) • Market Code Mc31- Nordic Equity Indices (see table 67- Market code constant values)

3.0.13 25.09.2006 Added new optional fields in the trade (t)- transaction. • DateTimeDissimenation (DTd)- (See table 25- Security Trade transaction) • AuctionEquilibriumTrade (AEQt)- (See table 25- Security Trade transaction) Added field in the (Sc)- transaction. (See table 21- Security Change transaction)

• SecuritySubStatus (SSSt) (See table 66- Security Substatus for available values) Deleted constant values for Trade Type Tt. (See table 71- tradeType constant values) • 34 - OX option expiration • 38 - OX future expiration • 41 - OX old trades Added constant values for Trade Type Tt. (See table 71- tradeType constant values) • 67 - Derivative related trade

3.0.14

Deleted constant values for Trade Type Tt. (See table 71- tradeType constant values) • DS0 - Trades reported directly to the clearing subsystem • DS3 - Outside the Exchange, different brokers • DS11 - Outside the Exchange, different brokers. After the orderbook is closed • DS12 - Outside Exchange, different brokers, registered by the Exchange. After orderbook is closed • DS13 - Outside the Exchange, one broker. After the orderbook is closed • DS14 - Outside the Exchange, one broker, registered by the Exchange. After orderbook is closed • DS16 - Reversing deal made by the exchange manually • DS17 - Basis Trade • DS18 - Correction of Trade • DS32 - Trade from Bulletin Board • DS33 - Trade from Bulletin Board, standard combo • DS34 - Trade from Bulletin Board, non-standard combo • DS35 - Trade from Bulletin Board, non-standard combo with equity leg • DS128 - Trade created in an Average Price Trade transaction Added constant values for Trade Type Tt. (See table 71- tradeType constant values)

• DS37 – Non-standard combination, electronically

Page 11: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 11 of 90

Ver . Dat e Descr ipt ion

05.03.2007

Deleted field in news message transaction (n). (See table 27- NewsItem) • Nr – newsRef Added fields in news message transaction (n). (See table 27- NewsItem) • CId – compId (issuer). Not mandatory field. • i – isinCode (instrument). Not mandatory field. • OBId – orderBookId (orderbook). Not mandatory field. • NId – newsMessageId. • NTe – newsTypeEnglish. (see table 75- newsType/ newsTypeEnglish constant values)

3.0.15 02.05.2007 01.08.2007

New constant value for Market Code (Mc). (See table 67- Market code constant values) • 4 - Oslo Axess (Oslo Alternative Equities Market) Added constant value for News Source (Ns). (See table 73 – newsSource constant values)

• 3 – Oslo Axess Deleted constant value for Listing Category (LCg). (See table 64- listing Category constant values) • 2 – SMB list equity Added constant values for Listing Category (LCg). (See table 64- listing Category constant values) • 4 – OAX Shares • 6 – OAX Issuance Instruments Added constant values for Security Sector (Ss). (See table 58 – secSector constant values) • 81 – OAX Shares • 83 – OAX Issuance Instruments Added field in trade transaction (t). (See table 25- Security Trade transaction) • UHl – Updates high/low Updated field definition in trade transaction (t). (See table 25- Security Trade transaction) • ULa – Changed definition to “Updates Last/ Open”. Added constant values for Listing Category (LCg). (See table 64- listing Category constant values) • 34 – Covered Bonds Added constant values for Security Sector (Ss). (See table 61 – secSector constant values) • 34 – Covered Bonds

3.0.16 10.07.2007 22.10.2007 * *

Adjustments have been made to the chapters about network and connectivity. Among the changes are site/server description and layout, and recommended bandwidth.

Changed field format.(See table 51- Fields descriptions)

• t – timestamp format changed to YYYYMMDDHHMMSS. This affects all transactions/ messages containing the t- timestamp (Me, Fe, t, Ob, OBf, Sc, n) Added field in the trade transaction (t). (See table 25- Security Trade transaction)

• TPa – tradePriceAdjusted • TQa- tradeQuantityAdjusted New realtime transaction • e – externalTradeReport. (See table 26- External Trade transaction for fields) New constant value for Market Code (Mc). (See table 66- Market code constant values) • 8 – External New constant value for Trade Type (Tt). (See table 70-tradeType constant values) • 6 – Portfolio trade • 70 – Standard OTC/ non-listed trade (specific name to be updated) • 71 – Non- standard OTC/ non.listed trade (specific name to be updated) Deleted constant value for Trade Type (Tt). (See table 70-tradeType constant values) • 2 – Accept match • 4 – Requested call match • 5 – Negotiated auction match • 35 – OX changed market conditions • 37 – OX excluding dividend rights • 39 – OX Loan transactions • 40 – OX Accumulated orders • 42 – OX standard average based • 44 – OX exchange of substitute mortage bonds • 45 – OX basis trade • 63 – Deferred publication 60 minutes

Page 12: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 12 of 90

Ver . Dat e Descr ipt ion

• 64 – Deferred publication end of day New fixed data transaction • BAf –AdjustmentFactor. (See table 48- Adjustment factor transaction for fields) Added field in the external trade transaction (e). (See table 26- External Trade transaction)

• DSn – delSeqNo

3.0.17 01.01.2008

Added new field in NewsItem (“n”) transaction. (See table 26- NewsItem) • NCId – newsCorrectionId (reference to news message to be corrected). Not mandatory field. New constant values in field newsType ("Nt") / newsTypeEnglish (“NTe”). (See Table 78 – newsType /

newsTypeEnglish constant values): • IKKE-INFORMASJONSPLIKTIGE PRESSEMELDINGER - NON-REGULATORY PRESS

RELEASES • FINANSIELL RAPPORTERING - FINANCIAL REPORT • FISJON / FUSJON - DEMERGER / MERGER • KAPITALENDRINGER / UTBYTTEOPPLYSNINGER - SHARE CAPITAL CHANGES / DIVIDEND

INFORMATION Removed constant values in field newsType ("Nt") / newsTypeEnglish (“NTe”). (See Table 78 –

newsType / newsTypeEnglish constant values): • DELÅRSRESULTAT - QUARTERLY RESULT • FIRMAATTEST - CERTIFICATE OF REGISTRATION • FISJON - DEMERGER • FUSJON - MERGER • KAPITALENDRINGER - SHARE CAPITAL CHANGES • MARKEDSKOMMENTAR - MARKET UPDATE • MELDING TIL MEDLEMMENE - MESSAGE TO THE MEMBERS • OMSETNINGSSTATISTIKK - TURNOVER STATISTICS • ORGANISASJONSENDRING - ORGANIZATIONAL CHANGES • PRESENTASJONSMATERIALE - PRESENTATION MATERIAL • SHORT-SALG - SHORT SALES • STYRETS FORSLAG TIL ÅRSREGNSKA - PROPOSED ANNUAL ACCOUNTS • TRYKT ÅRS/DELÅRSRAPPORT - PRINTED ANNUAL/QUARTERLY REPOR • UTBYTTEOPPLYSNINGER - DIVIDEND INFORMATION New constant values in field derivativeType (“Dt”) in the Derivative (“Bd”) transaction (see Table 56 –

derivativeType constant values): • 7 – Binary over options • 8 – Binary under options

3.0.18 01.02.2008

New constant value for Trade Type (Tt). (See Table 73 – tradeType constant values ) • 68 – SI standard OTC • 69 – SI non- standard OTC

3.0.19 02.06.2008 New realtime transaction • OBs – orderBookState. (See Table 28 – Order book State ) New field orderBookStateCode (OBSc), in the OBs transaction and t transaction (See Table 28 – Order book Stateand and Table 25 – Security Trade transaction ) • OBSc – orderBookStateCode. (See Table 77 – orderBookStateCode ) New realtime transaction • Ti – tradeInfo. (See Table 31 – Trade Info transaction Trade Info transaction) New constant value for Trade Type (Tt). (See Table 73– tradeType constant values ) • 72 – Midprice Matching

3.0.20 01.11.2008 Change of data type: • The newsSours (Ns) field in the NewsItem (n) transaction changed from Integer to integerVector Added new field in the NewsItem (n) and Issuers (Bc) transactions: • ISYm – issuerSymbol New constant value in field marketSubStatus (MSs) in the MarketEvent (Me) transaction: • 8 – end of trade participant information Changed field description for derivativeType (“Dt”) in the Derivative (“Bd”) transaction (see Table 56 –

derivativeType constant values): • 7 – Easy options over • 8 – Easy options under

Page 13: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 13 of 90

Ver . Dat e Descr ipt ion

3.0.21 08.01.2009 Added new field programId in Bond (Bb): • PId – programId

(see Table 35 – Bond transaction) New table in Basic data transactions (batch) – debtIssuanceProgram (BDIp)

(see Table 51 – Debt Issuance Program transaction) New constant value in field programType (Pt) in the debtIssuanceProgram(BDIp) transaction

(see Table 80 - programType constant values)

3.0.22 29.10.2009 Replaced trade Types constant values (Tt) for derivatives: • tradeType (Tt)

(see Table 73 – tradeType constant values)

Increased bandwith capacity after server upgrade. See section 3.2.2 Bandwidth issues

Table 1 – Document history

Page 14: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 14 of 90

1. Introduction

1.1 Purpose and background information Oslo Børs (OB) distributes real-time trade information, also called «data feed» from the trading systems at Oslo Børs on a commercial basis. This document provides a technical specification of the data feed from OB. These are the design goals for OCDF: • consolidate information from different trading systems, presenting information within a common

framework • define a protocol framework that is flexible against changes in data content over time • keep “openness” and “readability” in the feed format, using human interpretable ASCII coding of

transactions that are sent over TCP/IP (which should provide an open approach to deliver data to clients on a wide range of platforms)

• reduce transmission and processing overhead by transmitting to a large extent only net change in information content

• provide a reliable and restartable protocol • provide a protocol that supports failover possibilities in case of server-side host, application or

communications failure • provide simple and understandable specification for implementers.

1.2 Scope of this document This is a document aimed at the client-side system developer to provide the necessary information for implementing a client system for receiving information in real-time from the trading systems at OB.

1.3 Definitions, abbreviations and acronyms

CSE Copenhagen Stock Exchange. SAXESS The new trading system for bonds and equities at OB used in NOREX. FC Feed Client. Client side of the communication. FS Feed Server. OB side of the communication. ISIN International Security Identification Number, an internationally accepted ISO standard for

identifying securities. IDEFIX Integration DEFinition for Information Modeling, notation for describing database entity

relations. ABM Alternative Bond Market NOS “Norsk Oppgjørssentral AS” – The Norwegian Futures & Options Clearing House. OCDF Oslo Børs Continuous Data Feed. OB Oslo Børs. OBI Former Oslo Børs Informasjon, merged with Oslo Børs November 2008 and became a part

of Oslo Børs. NOREX NOREX is the name of the strategic alliance between the Nordic stock exchanges. The

NOREX Alliance is unique by being the first stock exchange alliance to implement a joint system for equity trading and harmonise rules and requirements between the exchanges with respect to trading and membership. The Alliance currently consists of the Copenhagen Stock Exchange, Iceland Stock Exchange, Oslo Børs and Stockholmsbörsen.

OBID Order book ID. Unike identification of an order book in NOREX for the stock and bonds market.

VPS “Verdipapirsentralen” – The Norwegian Central Securities Depository.

Table 2 – Definitions, abbreviations and acronyms

Page 15: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 15 of 90

1.4 References

ISO 6616, Standard for defining security numbers using ISIN codes

ISO 8859-1, Standard defining ISO Latin-1 character set

ISO 3166 / S.W.I.F.T. handbook, Standard defining currency codes

Notification of changes in “OCDF Technical Specification” from version 1.2.2 to 2.0, OBI, 11.5.1999

Notification of changes in “OCDF Technical Specification ” from version 1.2.2 to 2.0 for MultiCurrency, OBI, 25.6.1999

Notification of changes in “OCDF Technical Specification ” from version 2.3.3 to 3.0.0 (Introduction of new trading system, SAXESS), OBI, 14.12.2001

1.5 Contact information

Oslo Børs ASA Address: P.O. Box 460, Sentrum

0105 OSLO NORWAY

Telephone: (+47) 22 341 700 (switchboard)

(+47) 22 341 990 (OSE HelpDesk, operational and 1st line support) Fax: (+47) 22 42 68 47 E-Mail: [email protected] (operations)

[email protected] (data content support) Web: The latest released version of this document can be downloaded from Oslo Børs’ website, along with file-based test data. Other information about Oslo Børs (OB) can be found at http://www.oslobors.no. OCDF information: http://www.oslobors.no/ob/md_ocdf OB regulations / trading rules: http://www.oslobors.no/ob/loverogregler?languageID=1

1.6 Calendar and core hours An updated trading calendar can be found at http://www.oslobors.no/ob/intro?languageID=1. Core hours and timeline of when messages are sent are specified in the document “Core Hours and Timeline” found on http://www.oslobors.no/ob/md_ocdf.

Page 16: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 16 of 90

2. Overview

In general, OCDF is aimed at consolidating information from the different trading systems at OB. “Consolidation” means e.g. that all securities traded at different trading systems are identified by ISIN (in the derivative market) and ISIN + order book id (OBID) in the bonds and equities market. “High” or “low” traded value for a share is coded equivalent to the corresponding value for a derivative. We strive to make a common “look and feel” regardless of how the information is generated. Certainly, there will always be differences in available information content between different trading systems, different security types, and between “real securities” and “pseudo-securities” such as indices. The information that can be generalised is being presented within a common framework, and this proves to be an efficient way of distributing data from OB. The data model used in the feed is presented later in this document. A substantial effort has also been made to present the information available on the trading system interfaces (API’s) into a set of information that is easy to interpret and handle. OCDF has a considerable amount of information that is value-added compared to what is presented by the trading systems, mainly in combination with data from Oslo Børs’ historical database. OCDF is PUSH based, as opposed to PULL based (polled). Information is sent to OCDF clients as soon as possible after it enters the server system, without the client system having to ask repeatedly for new data and handle the complexity that such “state” processing might imply. OCDF is subscription based, which in general terms means that the feed client subscribes on whole or part of the information that is available from the server. This makes it possible to differentiate between customer subscriptions, both in content and in possible server-side imposed delay of the information. Clients must order “fixed data” before ordering “real-time” data. The fixed data part of OCDF brings information about the protocol itself with defined transactions and fields in addition to information about available instruments for the trade day. Fixed data can be ordered by the client at any time of the day. The OCDF protocol is designed to be a safe and stable framework for transport, session and presentation of information, in a fashion that allows for a flexible handling of data content on the application level.

OCDF may introduce a different way of sending feed information for many implementers.

Based on our experience, we feel confident that the initial extra cost of adapting to a dynamic

data feed protocol brings huge benefits in the long run. The background for this is experience

with regards to maintenance of the implementation of a fixed and rigid protocol, both on the

client and the server side.

Section 3 describes the communication services that OCDF utilises, i.e. the underlying network and transportation layers.

Section 4 describes the session control mechanisms used to establish and maintain sessions for retrieving data.

Section 5 describes the presentation, or “packaging” of the data content sent from OCDF server.

Section 6 describes the data content, or “payload” of OCDF and the underlying data model. Section 7 describes the operational aspects concerning OCDF.

Page 17: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 17 of 90

3. Communication

The OB Continuous Data Feed is entirely based on the existence of a network supporting TCP/IP for transport of data and a “standard TCP/IP suite” set of functionality available on the client platform.

3.1 Network and transport layers The TCP/IP network connection required for communication with OCDF system will be delivered through a network called “VPNett”. VPNett was established by initiative from the four central actors in the Norwegian securities market – Oslo Børs, VPS, OBI (merged with Oslo Børs) and NOS. VPNett is now operated and supported by BaneTele (http://www.banetele.no/english.4.3b0aebbf10728a69f49800030.html). The “VPNett” network aims to deliver a high quality of service (QoS) level to participants in a market that is totally dependent on network services that are fast, efficient and providing high availability. Connecting to VPNett for a customer is typically done by installing a router (or two to get achieve redundancy) at the customer site, which is connected to VPNett over a Frame Relay link . Once this router is installed, permanent virtual connections (PVC’s) can be defined to OB and/or other parties connected to VPNett. OCDF can also be accessed through a normal internet line. However; Oslo Børs does not quarantee for uptime, delays and the same level of support as with the leased line connection. This is illustrated by the following Figure:

Figure 1 – Network connections for OCDF

Page 18: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 18 of 90

3.2 Connection information OCDF is implemented using standard BSD sockets (also known as “reliable sockets”). The BSD sockets programming interface is an open and widely used interface available on a wide range of platforms. It utilises the built-in features of the TCP transport protocol and provides an open, robust, simple and reliable means of transporting data.

3.2.1 Sites, networks and IP addresses

Oslo Børs has located its servers on two physical sites, both with connection possibilities for both VPNett clients and vendors connecting through an internet line. • Production site:

Consists of two VPNett servers (a main server and a hot standby backup server)+ and an internet server with synchronized data from the main server.

• Backup / test / development / disaster recovery site:

Hot backup for VPNett clients and vendors connecting through an internet line. Sequence numbers from the production site are preserved, making it possible to retransmit from the last seq.no. received from the production site, i.e, internet connectivity can also work as a hot standby site for VPNett clients.

This offers improved redundancy, and a possibility to fail over to another server if the OCDF server fails or a network problem occurs. The server set-up provided by OB offers to the customer a means to achieve a “no single point of failure” client solution as well as simpler solutions. OCDF is available on TCP port 9400 on OB’s hosts. IP addresses will be specified by OB on demand.

3.2.2 Bandwidth issues

A 2 Mbit line per OCDF client will give good performance for most client systems. A such bandwidth would reduce update latency in peak transmission periods such as when market opens or during a client restart. The maximum throughput of OCDF is considerably higher than what is seen during a normal trading day. This implies that in a restart scenario, the customer would need even more bandwidth to minimalize latency. It should be noted that TCP/session layer overhead may reduce actual bandwidth used for OCDF data transmission up to 30-50%. This should in leave appr. 1500 kbps bandwidth on application level with a 2 mbit line. The largest bottleneck in normal operation with regards to bandwidth usage is usually when the equity market opens and pretrade orders are matched, and during the equity market closing auction. Statistics per October 2009 show that OCDF generates a moving average application-level of 300-400 kbps with peak periods up to 1600 - 2800 kbps during a “normal trade day”. These peaks rarely lasts more than 1-3 seconds. On the client side, the utilisation of the network connection should be carefully monitored over time, so that network access line bandwidth can be upgraded to meet the specific requirements of the client application. It is important that the client developer designs the client system so that as little information as possible needs to be downloaded to the client when restarting. Storage of fixed data on disk as well as received real-time transaction data should be used in conjunction with robust restart logic to avoid need for complete download when restarting. Based on experience, it is a good design pattern to separate communication and content processing on the client side. Communication and content processing should preferably be running as two separate processes or threads communicating through a memory buffer, preferably on a server with more than one CPU.

Page 19: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 19 of 90

The following figure illustrates this:

COMM. &SESSION

DECODE &PROCESS

MEMORYBUFFER

PERSISTENTSTORAGE

Figure 2 – Suggested high-level design for OCDF client

Figure 3 – Example of the load during a day, measured in bytes per second.

OCDF Kbit/sec

0

200

400

600

800

1000

1200

1400

1600

08:3

9:41

09:0

6:48

09:2

2:15

09:3

7:59

09:5

3:44

10:0

9:12

10:2

4:36

10:4

1:05

10:5

6:58

11:1

3:19

11:3

0:13

11:4

7:40

12:0

4:11

12:2

1:26

12:3

8:01

12:5

4:40

13:1

1:20

13:2

7:48

13:4

4:49

14:0

1:06

14:1

7:32

14:3

3:58

14:5

0:01

15:0

5:14

15:2

0:56

15:3

6:11

15:5

1:22

16:0

6:24

16:2

1:33

16:4

8:23

17:2

0:52

Kbit/sec

100 per. Bev. Gjsnitt. (Kbit/sec)Moving average over last 100 messages (Kbit/sec)

Page 20: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 20 of 90

4. Session control

Session control is in this context the process of a client system (FC) establishing a connection to the server system (FS) and both parts maintaining this connection for delivering data to the FC application. This relates to the “session layer” of the OSI reference model.

4.1 Messages All session control messages exchanged between FS and FC start with S_. Other messages exchanged are data messages or s.c. transactions, with presentation layer described in section 5 and application layer described in section 6. Transactions should only be seen from FS during command processing mode, and shall be one of the transaction tags initially defined in this document in section 6.7 on page 44. This information will be updated and is intended for download by the FC. Internally generated «messages» within FS or FC are in this documentation indicated and given names starting with I_, but these are NOT exchanged between FS and FC. The following table lists the session control messages passed between FC and FS: Message Parameters1 FS2

���� FC3

Description

S_ACK [ ; infoText ] � � Positive acknowledge to a request, sent both ways.

S_ABORT ; status [ ; infoText ] � � Abort message that unconditionally will cause the session to be stopped in any state, even while in command processing mode. This message can be sent both ways. Defined status codes are: -1 Undefined error -2 Operator initiated shutdown -3 Internal error -4 Time-out -5 Error count exceeded

1 Optional parameters are listed in brackets, others are mandatory. N/A implies no parameters.

2 Messages sent from FS to FC

3 Messages sent from FC to FS

Page 21: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 21 of 90

Message Parameters1 FS2 ����

FC3

Description

S_CMD_END_REQ ; status [ ; infoText ] � Command end request message sent from FS to FC. Acknowledge is required from FC. Status is an integer code with processing status for the command: 0 OK -1 No data -2 Illegal (request)command -3 Illegal (restart)parameter -4 Illegal parameters -5 Not a tradeday -6 Configuration file can not be

read -7 Other error Can also include an informational text message.

S_CMD_START_REQ

; command [ ; args ] � Command start request message, sent from FC to FS. If the command can be started, a S_ACK is sent as reply to the message, otherwise a S_NAK is returned.

S_CONNECT_REQ [ ; infoText ] � Connection request from FC to FS.

S_ENQ_REQ ; seqNo [ ; infoText ] � Enquiry request message or «aliveness poll», sent from FS to FC with regular time intervals. FC shall immediately respond with a S_ENQ_ACK message, returning the sequence number received in S_ENQ_REQ from FS.

S_ENQ_ACK ; seqNo [ ; infoText ] � Enquiry acknowledge message sent from FC as response to a S_ENQ_REQ. The sequence number (integer between 1 and 99) in the S_ENQ_REQ message should be returned in the S_ENQ_ACK message.

S_LOGOFF_REQ [ ; infoText ] � Logoff message, sent from FC to FS. Shall in any case be responded to with a S_ACK from the FS.

S_LOGON_REQ ; userId ; password � Logon request message, sent from FC to FS. User ID and password is sent as plain text parameters, to be checked against FS system’s password validation mechanisms. Response should be S_ACK if logon is accepted, S_NAK otherwise.

Page 22: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 22 of 90

Message Parameters1 FS2 ����

FC3

Description

S_NAK ; status [ ; infoText ] � � Negative acknowledge to a request, sent both ways. Status codes that can be returned are: -1 Undefined error -2 Invalid logon

(userID/password) -3 Invalid FC host address -4 Internal FS error, cannot

execute command. -5 Unexpected message

in current state

I_ERROR N/A Internal (FS) error «message»: Too many errors flagged during communication with FC. FS shall respond with S_ABORT. The error limit should be configurable, with a suggested default value of 3.

I_TIMEOUT N/A Internal (FS) time-out «message»: Too long time has passed without response from FC. FS shall respond with S_ABORT. The time-out value should be configurable in the range 1s to 300s, with a suggested default value of 30s. Different timeout values may be configured for different states.

Table 3 – Message descriptions

[ ; infoText ] fields are optional text fields, and may contain useful text information for determining error cause in both FS and FC. This could e.g. be process identification, state information, and expected behaviour when error detected and so on. Examples and actual text from FS presented here may be altered without further notice.

Page 23: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 23 of 90

4.2 Message scenario The following figure describes a normal session between FS and FC.

FS FCS_CONNECT_REQ

S_ACK

S_LOGON_REQ

S_ACK

S_CMD_START_REQ

S_ACK

<transaction data>

S_ENQ_REQ

S_ENQ_ACK

<transaction data>

S_CMD_END_REQ

S_ACK

<transaction data>

Await Connection Req

Await Logon Req

Await Command Start

Await Command End Ack

Await Connect Ack

Await Logon Ack

Await Command Ack

S_LOGOFF_REQ

S_ACKAwait Logon ReqAwait Logoff Ack

(Client has no more commands to

be started, and decides to stop...)

Await Command EndAwait Command End

Initialising

<transaction data>

<transaction data>

(FC answers S_ENQ_REQwith S_ENQ_ACK)

(FS wants to poll FC aliveness and sends a

S_ENQ_REQ, but continues to send data)

(FC starts processing incomingtransaction data...)

Figure 4 – Typical message exchange scenario feed client – feed server

A typical FC processing sequence will be like this: 1. Initial processing 2. Connect 3. Logon 4. Get transaction definitions using command TRANSACTIONS_DEF 5. Get field definitions using command FIELDS_DEF 6. Get instrument definitions using command FIXED_DATA 7. Get real-time data using command REALTIME from GSN 0 8. If REALTIME session interrupted, continue from last GSN received 9. Finish processing when S_CMD_END_REQ returns with OK status code

Page 24: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 24 of 90

Below is a more detailed example of how the message exchange might occur:

Example:

From FC to FS (Out from FC)

From FS to FC (In to FC)

(FC initiates a session by opening a soctet connection to FS, which starts a FS process)

S_CONNECT_REQ FC initiates connection

S_ACK;pid=29978 state=AWAIT_CONNECTI... FS acknowledges connection

S_LOGON_REQ;FEEDUSER;secret FC logs on S_ACK; AWAIT_COMMAND_START FS acknowledges logon S_CMD_START_REQ;TRANSACTIONS_DEF FC asks for transaction definitions

S_ACK;AWAIT_COMMAND_END

Bt;;nNewsItem;Tagn;DsOfficial news;CMdREALTIME FS sends transaction

Bt;;nBondIndex;TagBBi;DsBond index data;CMdFIXED_DATA ... S_CMD_END_REQ;0;pid=29978 state=AWAIT_... FS indicates end of data

S_ACK FC acknowledges end of data

S_CMD_START_REQ;FIELDS_DEF FC asks for field definitions

S_ACK Bf;;nearningsPrShare;TagEPs;FtFloat;Vf19980708;Vt20020502;DsEarnings

per share. Given in the same currency as currencyQuotation ...

S_CMD_END_REQ;0;pid=29978 state=AWAIT_... FS indicates end of data S_ACK FC acknowledges end of data

S_CMD_START_REQ;FIXED_DATA FC asks for instrument definitions

S_ACK

Bd;;iNO0007057396;Id19980619;Sc3;SnBEB fwd des 1998;sBEB8X;Tb;Cs100;Dt6;Ed19981217;IuNO0003102113 ...

S_CMD_END_REQ;0;pid=29978 state=AWAIT_... FS indicates end of data

S_ACK FC acknowledges end of data

S_CMD_START_REQ;REALTIME;1 FC asks for realtime data from seqNo 0 S_ACK

Sc;1;t083544;iNO120004522;1a125.75;1Va5000;1Ao2 ...

S_ENQ_REQ;65 FS checks that client is alive S_ENQ_ACK;65 FC answers that it is alive and well

Me;54322;t142231;Mc1;Ms1

...

S_CMD_END_REQ;0;pid=29978 state=AWAIT_... FS indicates end of data S_ACK FC acknowledges end of data S_LOGOFF_REQ FC is finished, no more commands FS closes down connection

(Finished real-time processing, FC closes socke, FS process terminates)

Page 25: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 25 of 90

4.3 FC state diagram The session control as seen from the FC side described as a state machine:

INIT

AWAIT_COMMAND_END

AWAIT_CONNECT_ACK

AWAIT_COMMAND_ACK

AWAIT_LOGON_ACK

I_INIT

S_ACK

S_ACK

S_ACK

S_NAKI_TIMEOUT

S_NAKI_TIMEOUT

S_NAKI_TIMEOUT

S_ENQ_REQ

S_CMD_END_REQ(and more commands)

S_CMD_END_REQ(and no more commands)

AWAIT_LOGOFF_ACK

FINISHED

S_ACKTIMEOUT

Initial processing.Initiate connection towards FS bysending S_CONNECT_REQ andstart waiting for S_ACK from FS.

Wait for S_ACK from FS or timeout.When S_ACK arrives, sendS_LOGON_REQ, start waiting foracknowledge.

Wait for S_ACK from FS or timeout.When S_ACK arrives, sendS_COMMAND_REQ and start waitingfor acknowledge.

If an indication of an error condition occurs,either by timeout, reception of S_NAK orS_ABORT, FC shall disconnect and do areconnection attempt, either to same FS orto backup FS.

When a S_ENQ_REQ message isreceived, FC shall replyimmediately with a S_ENQ_ACKreturning the sequence numberreceived from FS.

FC receives data messages untilS_CMD_END_REQ is received withstatus of processing sent as statuscode. Either a new command should bestarted or a logoff should be initiated.

Wait for S_ACK from FS ortimeout.

Finished processing.

Wait for S_ACK from FS or timeout.When S_ACK arrives, start waiting forcommand end.

<data>

S_ABORT(received in any state)

Figure 5 – State diagram for client

Page 26: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 26 of 90

FC states are: FC State Description

INIT Initial processing state. Initialise the FC system, attempt to open socket connection to FS and send S_CONNECT_REQ to FS.

AWAIT_CONNECT_ACK Await connection acknowledge – S_ACK. Send S_LOGON_REQ with username and password when received.

AWAIT_LOGON_ACK Await logon acknowledge – S_ACK. Send first command (of several scheduled) when received.

AWAIT_COMMAND_ACK

Await command acknowledge – S_ACK. Start waiting for transaction data when received.

AWAIT_COMMAND_END

Await command end request – S_CMD_END_REQ. Receive and process transactions until S_CMD_END_REQ is received. If S_ENQ_REQ received, these should be responded to with S_ENQ_ACK immediately.

AWAIT_LOGOFF_ACK Await logoff acknowledge – S_ACK. When received, finish processing.

FINISHED Finished processing state. Perform any postprocessing on data received.

Table 4 – States

4.4 FC states and message processing

4.4.1 Common message processing for all states

The following messages / events should be handled equally for all states. If special handling is required, this is described specially.

Message FC action

S_ABORT FS has for some reason (indicated by the status code) decided to abort the connection. FC shall respond by closing the socket connection to FS, close the socket connection, attempt opening again and change state to AWAIT_CONNECTION_ACK, waiting for a response from FS.

I_TIMEOUT No valid response has been received from FS within a predefined amount of time. The elapsed time before a timeout is generated may differ from state to state, but should be configurable. Perform same action as when receiving S_ABORT.

<ANY UNDEFINED> FC shall discard the message, increment an internal error counter. If the internal error counter exceeds a configured number of errors, the same action as for S_ABORT should be performed.

Table 5 – Message handling common in all states.

4.4.2 State INIT

The FC is initialising in this state. After reading configuration files, initialising output files and databases and so on, a socket connection is established to FS, and a S_CONNECT_REQ message is sent, before state AWAIT_CONNECT_ACK is entered.

Page 27: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 27 of 90

4.4.3 State AWAIT_CONNECT_ACK

The FC has opened a connection to FS, has sent a connection request message to FS and is in this state waiting for an connection acknowledge from FS or a timeout. Message FC action

S_ACK FS has accepted the connection attempt from FC. FC shall send a S_LOGON_REQ to FS and enter AWAIT_LOGON_ACK state.

Table 6 – Message handling in AWAIT_CONNECT_ACK state

4.4.4 State AWAIT_LOGON_ACK

FC has established a connection, and has sent a logon request to FS. FC is waiting for FS to acknowledge the logon request or a timeout. Message FC action

S_ACK FC has successfully logged on and should send a S_CMD_START_REQ message to FS. This could either be the typical start-up sequence of first downloading protocol definitions, thereafter instrument definitions, before starting real-time update, or it could be a restart of real-time update.

Table 7 – Message handling in AWAIT_LOGON_ACK state

4.4.5 State AWAIT_COMMAND_ ACK

FC has issued a command to FS, and is waiting for FS to return an acknowledge on the command or a timeout. Message FC action

S_ACK FS has accepted and initiated command sent by FC, and will process the command until it is terminated either by the FS (with S_CMD_END_REQ), or FC (by aborting the command by sending S_ABORT).

S_NAK FS could not start the command from FC. This is an internal FS error, indicated by the status code returned with the S_NAK message.

Table 8 – Message handling in AWAIT_CMD_START_ACK state

4.4.6 State AWAIT_CMD_END

FC is receiving data from the FS, and proceeds until FS signals there is no more data to be transmitted or for the FS or FC to abort the data transfer due to an error. Message FS action

S_CMD_END Command processing has ended in FS. The status of the processing is sent as parameter (see . FC shall respond by sending S_ACK to FS. If FC has further commands to be processed, a S_CMD_START_REQ should be send, and current state should be changed to AWAIT_CMD_START_ACK. If FC processing is finished, a FC should send a S_LOGOFF_REQ and change state to AWAIT_LOGOFF_ACK.

S_ENQ_REQ FS has sent a probe to FC to see that it is alive and well. FC shall respond immediately by sending a S_ENQ_ACK, and returning the same sequence number as received in the S_ENQ_REQ.

<data> Any application layer data (transactions) is messages not beginning with «S_», and should be processed by the FC application. Valid or known

Page 28: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 28 of 90

Message FS action

transactions are defined by the transaction definitions, available as a command. Others should be discarded (after reporting to the FC operator).

<ANY UNDEFINED> This applies to any messages not handled above, i.e. unknown messages starting with «S_». FC shall discard the message, increment an internal error counter. If internal error counter exceeds a configured number of errors, the session should be aborted with S_ABORT, and a retry attempt could be made.

Table 9 – Message handling in AWAIT_CMD_END state

4.4.7 State AWAIT_LOGOFF_ACK

FC has logged off, and is waiting for an acknowledge from FS or a timeout. Message FS action

S_ACK FC has logged off FS in an orderly manner, and should disconnect and finish processing.

Table 10 – Message handling in AWAIT_LOGOFF_ACK state

4.5 Possible client-side failover mechanisms Support for failover is designed into the FS, in a way that two FS hosts should be available during normal operating conditions, and strong measures are taken to ensure the same sequencing of transactions across the FS hosts. Failure can occur on several levels: • communication / network • server and service availability • application content

A retry / failover policy will have to be implemented in FC, e.g.: • retry connection to server #1, - if no response, wait period >= 1sec • retry connection to server #2, - if no response, wait period >= 1sec • over again

A time period between retries has to be implemented, but depends on the actual case, especially when retrying towards the same OCDF server. A random waiting period between retries should be chosen, in order to avoid resource trashing in the OCDF server. This should be a configurable parameter, ranging from minimum 1s to 300s. Failover such as the simple mechanism described above has to be implemented in the FC, and can be done based on decisions made upon several criteria. In the following sections, we try to describe some failover mechanisms.

4.5.1 Service and/or Network failure

The first and most reliable level to detect failure will based on the client experiencing any errors during establishing or maintaining a communications channel (TCP socket connection) to the server host. When communication cannot be established to the main server host after a limited number of retries, an attempt should be made to establish communication with the backup host. Always close the connection on the client side before reconnecting.

4.5.2 Session protocol messages

The session protocol will probe the client with enquiry messages S_ENQ_REQ that can be used as a session layer heartbeat that can be used for failover. This is basic functionality within the server, decoupled from transmission of data content. This is a low-level indication of the “ticking” of the server-side communications process but indicates nothing about the trading system activity.

Page 29: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 29 of 90

4.5.3 Server application failure

Reception of application level data may be an indication on healthy system activity, but can only be used within the “open” state of the marketplaces in a reliable way. On the application level, there is a possibility to monitor the occurrence of e.g. index value transmissions. Filtering of information duplicates may remove transmission e.g. successive of identical index values, so that this may prove unreliable.

Page 30: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 30 of 90

5. Presentation and encoding of data

This chapter describes the presentation or the “packaging” of the application layer information content, and relates to the “presentation layer” of the OSI reference model.

5.1 Transaction meta-format A meta-format description of the transactions from the OCDF server:

{Trans} = {Head} + {Body} + <TD>

{Head} = {TransType} + <SC> + {TransSeqNo}

{Body} = {Field1}[ + {Field2}...{Fieldn}]

{Fieldn} = <SC> + {Tagp} [ + {Valuep}]

Special characters are:

<TD> = {transactionDelimiterChar}[<CR>+]4<LF> = [ASCII (13)+] ASCII(10)]

<SC> = {separatorChar}’;’ = ASCII (59)

<AC> = {arraySeparatorChar}’,’ = ASCII (44)

<EC> = {escapeChar}’\’ = ASCII (92)

[] – optional items are in brackets

{} – item names are in braces Ταβλε 70Ταβλε 70Ταβλε 70Ταβλε 70 - special characters

5.2 Special characters The following special characters are used: TdtransactionDelimiterChar Transaction delimiter character used to separate transactions.

ASCII (10) = <LF> (Line Feed). An additional Carriage Return ASCII (13) = <CR> (<CR><LF>) will also be interpreted as a TD.

ScseparatorChar Separator character that is used to separate fields and also used in the head to separate the head elements. ASCII (59) = ‘;’.

AcarraySeparatorChar Array value separator character used to separate array values. ASCII (44) = ‘,’.

EcescapeChar Escape character. Used in strings to escape special character so that they are interpreted as ASCII characters rather than characters with a special handling during decoding of the transaction. ASCII (92) = ‘\’.

5.3 Transaction head The transaction Head consist of a TransType and a TransSeqNo: TransType Transaction type, a string that describes the type of data in the transaction. TransSeqNo Transaction sequence number, a sequence number that identifies the transaction

uniquely even across different sessions. It will typically be used by the client to restart communication from a defined point. The sequence number starts at 1 for the first transaction each day. The transactions have increasing numbers, but may

4 <CR> is optional

Page 31: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 31 of 90

increase by more than 1 from one transaction to another depending on the client’s configuration. Only transactions received after ordering REALTIME data (see chapter 6.6 on page 43) will have a transaction sequence number. For all other transactions, this field will be empty.

5.4 Transaction body The transaction Body consist of one or more Fields that consist of a Tag and a Value: Tag Field name or identifier. The tag is encoded and delimited this way:

The tag characters are always in set [A..Z, a..z,0..9]. The length of the tag is arbitrary, but the last character is always a lower-case character in the set [a..z]. If the first character of the tag is in set [a..z], this means that the tag has a length of 1 character, if in set [A..Z,0..9], it means that the tag has a length of more than 1 characters. Tags that start with a digit [0..9] indicates that the field context belong in an array (see chapter 5.9 on page 32).

Value Field value. The field value will be one of the defined value types, and is implicitly determined by the tag and its specification. The value can be omitted for a field, and in that case the value implicitly is will be NULL (see chapter 5.9 on page 32) for the field.

5.5 Unknown field tags If the client parser detects unknown field-tags, these should be discarded, allowing for introduction of new fields on the server side.

5.6 Null field values A field does always contain a tag, but not necessarily have a value corresponding to the tag. If the tag’s existence is carrying sufficient information, the value may be omitted. This should be interpreted as the field has a NULL value (which is void and undefined) as opposed to a value of 0.0 (which is valid and defined). See also chapter 5.9 on page 32.

Page 32: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 32 of 90

5.7 Field value types Char[n] ccc fixed number of ASCII characters in set of [A..Z,a..z,0..9]

AlphaChar is ASCII subset [A..Z, a..z] NumChar is ASCII subset [0..9] Number of characters is given in braces.

String(n) sss String of characters in a set defined by ISO Latin-1 character set (ISO8859-1). Embedded special characters will be escaped with escapeChar (i.e. embedded escapeChar, separatorChar, arraySeparatorChar and

delimiterChar characters). An indication on maximum length may be given in parenthesis. It should be noted that this value can be changed on short notice.

Date yyyymmdd Year yyyy[0000-], month mm[01-12], date dd[01-31] Always encoded as 8 NumChar

Time hh[mm[ss [...]]] Time – hour hh[0-23], minute mm[0-59], second ss[0-59] etc. – Encoded as 2,4,6 or >6 digits NumChar. 12 => 12:00:00 (2 digits is hour) 1234 => 12:34:00 (4 digits is hour and minute) 123456 => 12:34:56 (6 digits is hour, minute and second) 123456789 => 12:34:56.789 (>6 digits is including sec. Fractions)

Integer [-]n Signed or unsigned integral number5. Float [-]n[.n] Signed floating-point number6. Decimal point and decimals may be omitted. IntVec i1,i2,..in Vector of arbitrary length containing Int values, separated by

arraySeparatorChar. FloatVec f1,f2,..fn Vector of arbitrary length containing Float values, separated by

arraySeparatorChar. StringVec s1,s2,..sn Vector of arbitrary length containing String values, separated by

arraySeparatorChar.

None N/A No value associated with the field. The presence of the field itself carries sufficient information.

5.8 Filtering of information

5.8.1 Information content

Filtering will be set up individually for each OCDF user. The filter specification will be retrieved from the user configuration, which specifies what information is to be sent to FC. See chapter 8.1 on page 48 for subscription categories.

5.8.2 Delayed Information

Delay of information is a configurable option for each OCDF user. Delay will be specified in seconds. Transactions will be withheld from dissemination until the configured delay period is reached.

5.9 Fields and NULL values Field values should on the client side be initialised to a distinct NULL (i.e. “not defined”) value at the start of the trade-day and set when a non-NULL value when actual values are received from the OCDF server. A field consisting of a tag without a corresponding value shall be interpreted as NULL value. Fields that are defined for a transaction but not disseminated from the OCDF server, should be handled as unchanged.

5All integer values can be represented as an integral number, unless otherwise specifically noted.

6 All float values may have up to 14 significant digits

Page 33: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 33 of 90

EXAMPLE: Aggregate value “bidPrice” with tag “b”, will not be applicable until actual bids are present. Initially the client must assume its value to be NULL, or “not present”. If the server should disseminate data for this value, it would be represented as [;1b]. When a bid price is present in the trading system, it will be represented as e.g. [;1b120.5]. If all bids are removed, the field again will have a NULL representation as [;1b].

5.10 Handling of new/unknown fields and transactions

5.10.1 How to handle new fields

New fields can be added on short notice. The client side should be implemented in a way that allows for reception of unknown fields. A rigid and fixed formatting is avoided in this protocol in order to make the protocol specification and implementation stable over time, while the data content may be changing over time. On the server side, there is functionality and a per client configuration for filtering fields. The client should not experience unknown fields. New fields will be presented with notification as described in chapter 7.2 on page 47. Each field will also be accompanied with an implementation date and also a termination date for the field’s appearance in OCDF. When ordering FIELDS_DEF (see chapter 6.6 on page 43) the client will receive transactions presenting all fields available along with their tag, values, type, first production date, termination date and description.

5.10.2 Terminated / obsolete fields

Fields may become obsolete due to changes in the underlying trading systems. This calls for the need to be able to terminate fields. As with the introduction of new fields, this will be notified prior to the change, by setting a termination date for the field. This termination date is part of the field definitions when ordering FIELDS_DEF (see chapter 6.6 on page 43).

5.10.3 Sequencing of fields

The client implementation should in general not depend on fields occurring in a specific sequence within a transaction. However, information identifying a security (or other objects that the information applies to) will be provided before the «content». When referencing data in an array position (i.e. a field tag starting with a digit), the array position will be presented before referencing any other fields connected to this position. I.e. the level for an orderbook insertion will be presented before any price information for that level. The field newsLength will also be presented before the field newsMsg. All fields concerning order-book references must be handled in the same sequence they are presented in a transaction.

5.10.4 How to handle new/unknown transaction types

Unknown transactions should be treated the same way by the client as with new fields, i.e. no messages exchanged between the client and the server. The client may internally raise a warning or an error message to the operator at the client system. Introduction of new transactions will be by nature less frequent than the introduction of new data fields. However, the client implementation should allow for the occurrence of new transaction types without crashing. Transactions will be filtered on the server side, so that the client should not experience unknown transactions.

Page 34: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 34 of 90

6. Application layer

This section describes the application requests and replies and the organisation of the data content presented to the client application in OCDF. The application requests available to the OCDF client are divided into two categories – batch and real-time. The batch type of transmission is typically used to distribute information extracted from the database. Examples are fixed security information, security groups, index weighting, aggregates for previous tradeday, historic high/low values, protocol definitions of available transaction and field definitions. Real-time information will be forwarded directly from the trading systems or possibly also any value-added real-time updated information.

Page 35: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 35 of 90

6.1 The security data model The security data model describes the underlying structure at the primary key level for the securities contained in OCDF. A presentation of this model may enhance the reader’s understanding of what is referred to as a consolidated common framework and may serve as a reference model for the FC designer/developer. All instruments contained in the feed will fit into this model and fully comply with for example uniqueness criteria implicitly defined in this model.

Figure 6 – The “Security” data model

feed_adj_fact

isinmkt_id

char(12)integer

<fk><fk>

feed_basket

mkt_idisin

integerchar(12)

<pk,fk><pk,fk>

feed_basket_detail

mkt_id_securityisin_securitymkt_id_basketisin_basket

integerchar(12)integerchar(12)

<pk,fk1><pk,fk1><pk,fk2><pk,fk2>

feed_bidx_weights

bidx_mkt_idbidx_isinbond_mkt_idbond_isincurrency_quotation

integerchar(12)integerchar(12)char(3)

<pk,fk2><pk,fk2><pk,fk1><pk,fk1><pk,fk1>

feed_bond

mkt_idisincomp_id

integerchar(12)integer

<pk,fk1><pk,fk1><fk2>

feed_bond_index

mkt_idisin

integerchar(12)

<pk,fk><pk,fk>

feed_class_sector

class_sector_idis_subsector_of

integerinteger

<pk><fk>

feed_currency

mkt_idisin

integerchar(12)

<pk,fk><pk,fk>

feed_derivative

mkt_idisin

integerchar(12)

<pk,fk><pk,fk>

feed_equity

mkt_idisincomp_id

integerchar(12)integer

<pk,fk2><pk,fk2><fk1>

feed_exer_period

mkt_idisinfm_date

integerchar(12)date

<pk,fk><pk,fk><pk>

feed_order_book

order_book_idisincurrency_quotationmkt_idts_submarket_id

integerchar(12)char(3)integerinteger

<pk><pk,fk2><fk2><fk2><fk1>

feed_quotatio_dtl

isinmkt_idcurrency_quotationclass_sector_id

char(12)integerchar(3)integer

<pk,fk2><pk,fk2><pk><fk1>

feed_security

mkt_idisin

integerchar(12)

<pk,fk><pk>

feed_share_index

mkt_idisin

integerchar(12)

<pk,fk><pk,fk>

feed_sidx_weights

sidx_mkt_idsidx_isineqty_mkt_ideqty_isincurrency_quotation

integerchar(12)integerchar(12)char(3)

<pk,fk2><pk,fk2><pk,fk1><pk,fk1><pk,fk1>

feed_subscr_right

mkt_idisincomp_idsubscr_on_isinsubscr_on_mkt_id

integerchar(12)integerchar(12)integer

<pk,fk2><pk,fk2><fk1><fk3><fk3>

feed_var_coup_dts

mkt_idisincoup_date

integerchar(12)date

<pk,fk><pk,fk><pk>

feed_market_place

mkt_id integer <pk>

feed_issuer

comp_id integer <pk>

Page 36: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 36 of 90

6.2 Description of entity sets7

6.2.1 feed_basket

This security is actually a basket of several securities. This type of security typically appears as an underlying security in derivatives markets in conjunction with corporate action such as demergers. In this model, derivatives may have only one underlying security at any point of time. Thus, there is a need for this collection class of security.

6.2.2 feed_basket_detail

Description of the basket details. This entity set withholds the individual weightings of the feed_basket´s members.

6.2.3 feed_bidx_weights

Entity set that contains weight and price information for the individual bond index members.

6.2.4 feed_bond

Fundamental data related to security of type bond. Bond is in this context a broad definition, and is based on interest bearing securities as well as other instruments categorised as bonds.

6.2.5 feed_bond_index

Fundamental data related to a bond index. Bond indices are defined as non-tradable securities. The contents of this entity set plus the related information from feed_bidx_weights is necessary to be able to calculate a bond index.

6.2.6 feed_currency

Fundamental data related to currency.

6.2.7 feed_derivative

One entity set containing all types of derivatives. More specific typing is defined as attributes of this entity set. There is no limitation to which type the underlying security is categorised.

6.2.8 feed_equity

This entity set contains fundamental information on equity securities, such as equity class, number of shares.

6.2.9 feed_issuer

Issuer is actually a company. One company may appear as issuer for both equities and bonds.

6.2.10 feed_market_place

Equities, bonds and derivatives markets are the ones defined.

6.2.11 feed_order_book

This entity set holds the mapping between the OBID, ISIN, quotation currency and market Id (only used in the bonds- and equity markets).

6.2.12 feed_quotation_dtl

Contains details concerning quotation and aggregates. This is information like high and low values, turnover volume, return figures, date of notation, last notation date, currency in which the security is priced and the like. 7 The terms “entity set” and “entity” used in this section correspond to what is also know as “class” and “object” respectively.

Page 37: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 37 of 90

6.2.13 feed_security

Entity set defining the common attributes and keys shared by all security sub-entity sets. This is typically information like ISIN code, market id, symbol and name of security. The combination of ISIN and market id is used as unique security identifier.

6.2.14 feed_sidx_weights

This entity set contains weight and price information for the individual share index members.

6.2.15 feed_share_index

Fundamental data related to a share index. Share indices are defined as non-tradable securities in that they are not tradable. The contents of this entity set plus the related information from feed_sidx_weights is necessary to be able to calculate a share index.

6.2.16 feed_subscr_right

Definition of a subscription right. The fundamentals very much look the same as for derivatives so an argument could be made to include subscription rights as a derivatives type instead and reduce the number of security classes. However, tradition calls for an individual definition of this class of security. There is no limitation to which type of security this subscription right is based on.

6.2.17 feed_var_coup_dates

Relationship for bonds with variable coupon dates. This table will contain all coupon dates for a bond if the coupon dates are not fixed.

6.2.18 feed_class_sector

Morgan Stanley-based classification sectors used at OB. The classification sectors are ordered in a tree-type structure, where the value in the classSectorParent field gives the parent node for a classification sector.

6.2.19 feed_adjustment_factor

The adjustment factors are used to adjust price and volume of trades with deferred publication, when there’s been an adjustment (eg due to a split, rights issue etc) on the security between trading date and publication date.

Page 38: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 38 of 90

6.3 Security identification

6.3.1 Bonds- and equities markets

In the SAXESS trading system, a security may be traded in several orderbooks. Each orderbook will generate a set of prices. A security may also be traded at several exchanges (markets). Thus, a price set will be uniquely identified by its ISIN code, market ID and order book ID. Aggregates should be assigned to the quotation detail entity, as shown in figure 6:

Security

NOK EUR

OBID 1 OBID 3OBID 2 OBID 5OBID 4

Quotation detail entities.Holding aggregates andquotation details.

Order books in EURThe official EUR orderbook (OBID 4)updates the price related aggregatesfor the EUR quotation detail entity.

Official! Not official

Order books in NOKThe official NOK orderbook (OBID 1)updates the price related aggregatesfor the NOK quotation detail entity.

Official! Not official Not official

Entity on security level (an equity, bond,derivative etc.)Holding data specific to the security itself,independent of order book or quotationcurrency. (Name, ticker, maturity date,number of shares etc...)

Order book entities.Holding order book lines(levels in the orderbook),single orders and trades.

Figure 7 – Relationship between security, order book and quotation detail. In the bond market, a security may be traded in several orderbooks with the same quotation currency. Only one of these order books will be official during a trading day.

• Only the official orderbook will update the price related aggregates like high/low values, last value and open value.

• All order books will update the volume related aggregates, like total turnover volume, total turnover value and volume weighted average price.

The Security Change(Sc) transaction is the carrier of all real time aggregate information. When distributing aggregates, the Sc transaction will be distributed with market code, ISIN code and quotation currency. In order to achieve correct aggregate values, the client should assign all aggregates distributed in the Sc transaction to the Quotation Detail entity that corresponds to the present ISIN code, market code and quotation currency.

6.3.2 Derivatives market

Derivatives are identified by ISIN code and market code. A security of derivative type will only have one order book and one Quotation Detail entity assigned to it. As the Click trading system treats the derivative and its order book as one single entity, no order book entity will be distributed on a derivative. Transactions on a derivative (like Security Change(Sc) and Trade(t)) will be distributed without order book ID. Thus, all information distributed on a derivative must be directly assigned to the Security/Derivative entity or its Quotation Detail entity.

Page 39: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 39 of 90

6.3.3 Currencies, Indices and Baskets

Similar to derivatives, “pseudo-securities” like currencies, indices and baskets are identified by market code and ISIN code. That is, no order book entities are distributed on these security types. OB will strive for registering currencies with official, international approved ISIN codes where such are available. If OB does not succeed to obtain an international approved ISIN code within reasonable time, a dummy ISIN code will be assigned.

6.4 The orderbook The orderbook is conceptually a list of orders for brokers that wants to buy or sell securities. The orders are sorted from “best” to “worst” price, meaning “best” bid price is highest value and “best” ask price is lowest value. The term “orderbook level” is used for describing one or more orders with a specific price, and with the “level” indicating how many “better” prices are present.

6.4.1 The 5-level “update” scheme:

The “Update” scheme is used roughly as an array of positions, where price, volume and other data for the orderbook level is overwritten in an update . This means that an orderbook level exists when a bid or ask price exists (has a non-NULL value) bid(“<n>b”) and ask(“<n>a”) and does not exist when the price for a level is updated with a NULL price. The “update” method is simple to use, but has limitations when handling many levels, making it necessary to update all lower levels when top level is deleted. This method is distributed in the Security Change (Sc) transaction (shown only with the relevant fields): Security Change (Sc)

Field Name Field Tag Subscription Category

ask <n>a 1 bid <n>b 1 isinCode i 1 marketCode Mc 1 orderBookId OBId 1 volumeAsk <n>Va 1 volumeBid <n>Vb 1

Table 11 – Security Change transaction (shown only with fields relevant to the order book

“Update” method)

Example for marketCode 1-2 (equities and bonds): The volume is not a part of the Sc transaction for the equities and bonds markets. Sc;2939;iNO0010001944;Mc1;OBId1003;1a10.25

Sc;2986;iNO0010001944;Mc1;OBId1003;1a8.5;2a10.25

Sc;3022;iNO0010001944;Mc1;OBId1003;1a;2a

Description: When starting, no levels are present. In seqNo #2939, the ask side of orderbook is established with

level 1, with a price of 10.25. In #2986 a better sell(ask) order has been entered, and the previous

best ask price is “moved”to level 2 and a new value is updated on level 1. In #3022, both levels are

NULL’ed, indicated that the orders are no longer present, either matched in a trade or withdrawn

from the trading system.

Page 40: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 40 of 90

Example for marketCode 3 (derivatives): The order book ID is not a part of the Sc transaction for the derivative market. Sc;3939;iNO0010001944;Mc3;1a10.25;1Va20

Sc;3986;iNO0010001944;Mc3;1a8.5;1Va10;2a10.25;2Va20

Sc;4022;iNO0010001944;Mc3;1a;2a

Description: When starting, no levels are present. In seqNo #3939, the ask side of orderbook is established with

level 1, with a price of 10.25. In #3986 a better sell(ask) order has been entered, and the previous

best ask price is “moved”to level 2 and a new value is updated on level 1. In #4022, both levels are

NULL’ed, indicated that the orders are no longer present, either matched in a trade or withdrawn

from the trading system.

6.4.2 The N-level “Insert/Delete” scheme:

The “Insert/Delete” scheme used with the Ob transaction is used for marketCode 1 and 2 (equity- and bond markets). This is implemented roughly as a list of elements, where elements can be inserted or elements can be deleted from any place in the list. This means that a new orderbook level is inserted by the fields orderBookBidInsert(“<n>OBBi”) and orderBookAskInsert(“<n>OBAi”). An existing orderbook level is deleted by the fields orderBookBidDelete(“<n>OBBd”) and orderBookAskDelete(“<n>OBAd”). The “Insert/Delete” method is efficient when there is a lot of changes in the highest levels, and there are many levels present in the orderbook. This method is distributed in the Order Book ( Ob ) transaction: Order Book ( Ob )

Field Name Field Tag Subscription Category

ask <n>a 1 askOrders <n>Ao 1 bid <n>b 1 bidOrders <n>Bo 1 isinCode i 1 marketCode Mc 1 orderBookAskDelete <n>OBAd 1 orderBookAskInsert <n>OBAi 1 orderBookBidDelete <n>OBBd 1 orderBookBidInsert <n>OBBi 1 orderBookContractorAsk <n>OBCa 5 orderBookContractorBid <n>OBCb 5 orderBookId OBId 1 timestamp t 1 volumeAsk <n>Va 1 volumeBid <n>Vb 1 bidOrderYield <n>BOy 1 askOrderYield <n>AOy 1

Table 12 – Orderbook transaction

Example:

Ob;1183;iNO0003002008;Mc1;OBId1033;1OBAi;1a28.7;1Va10000;1Ao1

Page 41: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 41 of 90

Ob;1184;iNO0003002008;Mc1;OBId1033;2OBAi;2a29;2Va2600;2Ao3

Ob;1185;iNO0003002008;Mc1;OBId1033;3OBAi;3a29.2;3Va6000;3Ao2

Ob;1186;iNO0003002008;Mc1;OBId1033;4OBAi;4a29.3;4Va2000;4Ao1

Ob;1187;iNO0003002008;Mc1;OBId1033;5OBAi;5a29.5;5Va40600;5Ao2

Ob;1188;iNO0003002008;Mc1;OBId1033;6OBAi;6a29.9;6Va13000;6Ao2

Ob;1189;iNO0003002008;Mc1;OBId1033;7OBAi;7a30;7Va46000;7Ao5

Ob;1190;iNO0003002008;Mc1;OBId1033;8OBAi;8a30.5;8Va3000;8Ao1

Ob;1191;iNO0003002008;Mc1;OBId1033;9OBAi;9a31;9Va13400;9Ao3

Ob;1192;iNO0003002008;Mc1;OBId1033;10OBAi;10a31.5;10Va12600;10Ao2

Ob;1193;iNO0003002008;Mc1;OBId1033;11OBAi;11a32;11Va22400;11Ao3

Ob;1194;iNO0003002008;Mc1;OBId1033;12OBAi;12a32.5;12Va3400;12Ao1

Ob;1195;iNO0003002008;Mc1;OBId1033;13OBAi;13a33;13Va20000;13Ao3

Ob;1196;iNO0003002008;Mc1;OBId1033;14OBAi;14a34;14Va4000;14Ao1

Ob;1197;iNO0003002008;Mc1;OBId1033;15OBAi;15a36;15Va8000;15Ao1

Ob;1972;iNO0003002008;Mc1;OBId1033;2OBAi;2a28.9;2Va12000;2Ao1

Ob;2855;iNO0003002008;Mc1;OBId1033;10OBAi;10a30.7;10Va17000;10Ao1

Ob;2868;iNO0003002008;Mc1;OBId1033;7OBAi;7a29.6;7Va3000;7Ao1

Ob;2917;iNO0003002008;Mc1;OBId1033;8OBAi;8a29.8;8Va1400;8Ao1

Ob;3213;iNO0003002008;Mc1;OBId1033;1OBAi;1a28.6;1Va15000;1Ao1

Ob;3214;iNO0003002008;Mc1;OBId1033;20OBAd

Description: Extract of orderbook updates on a security from the start of the day. After opening match,

transactions up to sequence number #1197 inserts 15 new levels for the orderbook. Thereafter:

#1972 insert new level 2 (any existing level 2 will become level 3)

#2855 insert new level 10

#2868 insert new level 7

#2917 insert new level 8

#3213 insert new level 1

#3214 delete level 20 (any existing level 21 will become level 20)

Example including bidOrderYield and askOrderYield: Ob;1197;iNO000100467;Mc2;OBId1033;1OBAi;1a105.26;1Va8000;1Ao2;1AOy2.56

Ob;1972;iNO000100467;Mc2;OBId1033;2OBAi;2a105;36;Va12000;2Ao1;1AOy2.54

Ob;2855;iNO000100467;Mc2;OBId1033;3OBAi;3a105.41;10Va17000;3Ao3;1AOy2.49

Ob;2868;iNO000100467;Mc2;OBId1033;7OBBi;1b105.23;1Vb3000;1Bo3;1BOy2.57

Ob;2917;iNO000100467;Mc2;OBId1033;8OBBi;2b105.17;8Vb1400;8Bo1;1BOy2.59

Ob;3213;iNO000100467;Mc2;OBId1033;1OBBi;3b105.12;1Vb15000;1Bo2;1BOy2.62

Page 42: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 42 of 90

6.4.3 The Order ( o ) transaction (optional!)

The Single Order Insert ( o ) transaction is introduced as an optional “straight through” transaction. The intention of this transaction is to show the orders in a way similar to how they are distributed from the SAXESS trading system, allowing the feed customer to follow each specific order. Order ( o )

Field Name Field Tag Subscription Category

buysell 3) Obs 1 isinCode i 1 marketCode Mc 1 messageType 1) Mt 1 orderIdParent 4) OPId 1 orderBookId OBId 1 orderClass 2) Ocl 1 orderContractor 6) Oc 5 orderId (priority,timestamp) 5) Oid 1 orderPrice (price) Op 1 orderQuantity (volume) Oq 1 orderYield 7) Oy 1

Tabell 13 – Order transaction (for bonds and equities)

1) I-insert, U-update, D-delete order. 2) Order Class:

‘B’ = Block lot ‘R’ = Round lot ‘O’ = Odd lot ‘I’ = Internally generated ‘N’ = Non matchable orders. Used for bulletin board orders. ‘S’ = Non matchable orders. Used for orders that are handled by the specialist.

3) B-Buy, S-Sell order. 4) OrderIdParent is the timestamp to the order to delete or update. 5) Timestamp when the order was inserted 6) The owner of the order. 7) Yield price used in bonds market.

NB! Singel orders are not public information. For questions on this matter, please contact OBI.

6.4.4 Order book flush

In SAXESS, the orders will be visible in the “call interaction” period. The call interaction period is the last 15 minutes of the pretrade period. When the market changes substatus from pretrade to normal trading, all orders are removed, then redistributed and matched in the opening match. In order to save capacity and bandwidth, OCDF distributes only one message for each orderbook, notifying that all orders in the given orderbook should be deleted:

Page 43: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 43 of 90

Order Book Flush ( OBf )

Field Name Field Tag Subscription Category

isinCode i 1 marketCode Mc 1 orderBookId OBId 1

Table 14 – Order Book Flush transaction (notifies deletion of all orders in the given order book)

The Order Book Flush ( Obf ) transaction is also used when an order book has been halted, and then is released. If there are orders left in the orderbook after the halting period, these are redistributed after the order book flush message.

6.5 Initiating data transfer commands When the OCDF client has logged in, a data transfer can be initiated.

6.5.1 Batch sessions

The batch requests are sent from FC to FS, and the coding of the data content returned from FS to FC in response («transactions») is based on the same framework as with real-time information. These data are retrieved by FS from files generated from the database, filtered according to the user profile and the resulting data stream is sent to the FC. The batch type of transmission is typically used to distribute information extracted from the database. Examples are fixed security information, security groups, index weighting, aggregates for previous tradeday, historic high/low values, protocol definitions of available transaction and field definitions and so on.

6.5.2 Real-time sessions

There is only one command for ordering real-time information available to each OCDF user. This command has also a restart option. A configuration that defines the filtering of information to be sent from the FS to the FC will be maintained individually for each user, based on the customer’s subscription and requirements. A customer can have several users in his subscription with varying contents. When the FC has logged in, a data transfer session can be initiated with the S_CMD_START_REQ message. In such a session, transactions containing “payload” data are transferred from the FS to the FC.

6.6 FC requests – “commands” The following table is a list of the available commands that can be initiated from the FC in the S_CMD_START_REQ message: Command Paramete

r Description

FIELDS_DEF N/A Send field definitions.

FIXED_DATA N/A Send security fixed information. See 6.7.3 for sequence

TRANSACTIONS_DEF N/A Send transaction definitions.

REALTIME [ ; seqNo ] Send trade system information from start of trading day. If optional value seqNo is given and > 0, this implies a restart with transmission from the given sequence number.

Table 15 – FC request – “commands”

Example:

Page 44: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 44 of 90

S_CMD_START_REQ;FIELDS_DEF

(or)

S_CMD_START_REQ;REALTIME;10234

6.7 FS responses – “transactions”

6.7.1 Transaction layout

Item Type Range Description

TransType String Transaction type identification, i.e. TransTag, is always the first value.

TransSeqNo Integer > 0 Transaction Global Sequence Number (GSN) is always the second value. GSN is only used for realtime data, i.e. empty for batch data.

<body> N/A One or more fields, see chapter 5.1 on page 30.

<TD> N/A [ <CR> + ] <LF>

Transaction delimiter character sequence.

Table 16 – Feed transaction layout

Example:

Sc;17;iNO0000000070;Mc1;CqNOK;h2676.78;l2676.78;La2676.78;VWp2676.78;t061659<LF>

6.7.2 Batch transaction types and tags

The transaction type is coded using a Tag, that may be of variable length. A lowercase character marks the last character of the tag. Name Tag Description Batch command

Adjustment factors BAf Aggregated adjustment factors with their corresponding dates. Should be used in correspondence with trades with deferred publication.

FIXED_DATA

BatchOrderBook BOb Basic order book data. Holds the mapping between the Order book ID (OBID), ISIN code, quotation currency and market code.

FIXED_DATA

Basket BBa Basket of securities FIXED_DATA

BasketDetail BBAd Basket details FIXED_DATA

Bond Bb Bond data FIXED_DATA

BondIndex BBi Bond index data FIXED_DATA

BondIndexWeights BBIw Weighting for bond index FIXED_DATA

ClassificationSector BCs Classification sectors, names and parent for each sector so that the tree structure can be built.

FIXED_DATA

Currency BCu Currency FIXED_DATA

Derivative Bd Derivative FIXED_DATA

Equity Be Equity FIXED_DATA

Page 45: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 45 of 90

Name Tag Description Batch command

Fields Bf Available fields in the feed (see Table 54 on page 79)

FIELDS_DEF

Issuers Bc Companies issuing securities FIXED_DATA

QuotationDetail BQd Quotation detail FIXED_DATA

ShareIndex BSi Share index data FIXED_DATA

ShareIndexWeights BSIw Weighting for share index FIXED_DATA

SubscrRight BSr Subscription rights FIXED_DATA

Transactions Bt Available transactions in the feed (see chapter 6.7.2 on page 44 and chapter 6.7.4 on page 45)

TRANSACTIONS_DEF

BatchBrokers BBr Broker codes and names FIXED_DATA

Table 17 – Feed batch transactions

6.7.3 FIXED_DATA transactions

When ordering FIXED_DATA the transactions are distributed in the following order:

Transaction name

Transaction tag

ClassificationSector BCs

Issuers Bc

Equity Be

ShareIndex BSi

ShareIndexWeights BSIw

Derivative Bd

SubscriptionRight BSr

Bond Bb

BondIndex BBi

BondIndexWeights BBIw

Currency BCu

BatchOrderBook BOb

Basket BBa

BasketDetail BBAd

QuotationDetail BQd

Brokers BBr

Adjustment factors BAf

Table 18 – Sequencing of FIXED_DATA

6.7.4 REALTIME transaction types and tags

The transaction type is coded using a Tag, that may be of variable length. A lowercase character marks the last character of the tag. Name Tag Description

Feed System Event Fe Feed system events for operational use in the feed system

Page 46: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 46 of 90

Name Tag Description

MarketEvent Me Marketplace related events, such as opening and closing

NewsItem n Official news messages distributed from the trading systems

SecurityChange Sc Security related events, such as suspension and activation, order book changes, aggregated values etc. Corrections and deletions will also be reported in this transaction.

Order o “Straight through” orders. Orders that do not have any meta information such as price level etc. This transaction is sent only for the equities and the bonds market.

OrderBook Ob Order book changes for equities market and bonds market. This Ob transactions replace the Sc transaction for orders for the bonds and equities market. The Sc transaction for bonds and equities is changed to only send the 5 best price levels without volume and participants.

OrderBookFlush OBf Delete all orders in order book.

SecurityTrade t Last trade price, size and trade type etc. Reported for individual trades. Any resulting aggregated high, low and volume for a security are also reported.

External Trade e Includes trades (and cancellation of trades) reportet on securities not listed on Oslo Bors

OrderBookState OBs Shows order book state

TradeInfo Ti Shows buyer and seller for a trade with post trade anonymity

Table 19 – Feed realtime transactions

Page 47: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 47 of 90

7. Other issues

7.1 Availability OCDF will be available for clients from 01.00 to 23:50 CET each trade-day.

7.2 Change policy

7.2.1 Releases

Changes will be categorised into major or minor categories by using the following terms: • A “major change” is typically caused by major changes in the trading system(s) at the stock

exchange or a change in the database. Discontinuation of transactions is normally defined as a major change.

• A change in underlying functionality, trading rules and so on can be categorised both as major or minor change. An evaluation will be done to categorise the change properly as a major or minor change, based on the assumed implications of the change in the client system.

• A “minor change” is typically based on minor changes and fixes in the feed system or the trading system. Introduction of new fields or discontinuation of fields in existing transactions is normally categorised as minor changes. Field changes are indicated by the data available in field definitions (FIELDS_DEF of fixed data) available on a daily updated basis. Introduction of new transactions is also normally defined as a minor change.

Changes will be notified according to the change notification policy outlined below:

7.2.2 Notification policy

• Major changes – three months • Minor changes – one month • Bugfixes – as soon as possible if critical and coordinated with major/minor releases where

appropriate.

7.3 Information roles OCDF customers are strongly encouraged to register contact information with OB using “roles” rather than contact persons. Names, telephone and fax number, postal address and E-mail addresses are necessary for the following roles: Managers – managers that are handling subscription fees, functionality in large, and that are to receive information on management level concerning OCDF. Developers/maintainers – personnel that implement OCDF client system(s) and that are to receive information about implementation/specification changes. Operators – operational personnel that need to be informed about necessary configuration changes, day-to-day issues, production problems and so on. This applies to network administration and surveillance functions.

Page 48: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 48 of 90

8. Appendix

This chapter describes all fields and which transactions they may occur in. • Table 53 on page 71 shows a mapping matrix for transactions and fields. • Table 54 on page 79 shows all available fields. ISIN code and Market code, in combination with either Order book ID or Quotation currency, are used as the external unique key for a security. In the bond- and equity markets, all transactions related to a specific security will be identified by its market code and ISIN code, in combination with either order book ID or quotation currency. In the derivative market, all transactions related to a specific security will be identified by its market code and ISIN code. A field tag may be of variable length, and a lowercase alphaChar character marks the last character.

8.1 Transactions and fields – subscription categories All available transactions, and the fields which might occur in the specific transaction.

The transaction layout shows the “broad” definition. A feed customer may subscribe to a subset of these transactions. This is defined by a set of feed subscription categories outlined below. The subscription categories are used to differentiate pricing, where 1 is standard and higher levels are subject to additional cost. The fields are in one of the following categories: Subscription categories

Category Description

1 Basic feed data (default subscription) 2 Fundamental data for equities and bonds (e.g. equity yield, dividends, number of

shares, fixed and variable coupon data, var. interest, return on equity). 3 Share index details (composition, weights) 4 Bond index details (composition, weights) 5 Contractor information (i.e. broker firm ID’s in the orderbook) 6 Single orders (the order (o) transaction. Available only for equities and bonds)

Table 20 – Subscription categories

Category 5 (contractor information) and 6 (single orders) are normally not public information. For questions on this matter, please contact OB.

Page 49: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 49 of 90

8.2 Real time transactions Fields in bold are used for identification of an entity. These fields are listed in the top of the table.

8.2.1 Security Change ( Sc )

Field Name Field Tag Subscription Category

marketCode Mc 1

isinCode i 1

qurrencyQuotation Cq 1

orderBookId OBId 1

ask <n>a 1 bid <n>b 1 delSeqNo DSn 1 fixingPrice Fp 1 high h 1 last La 1 lifeHighAdjusted LHa 1 lifeHighDate LHd 1 lifeLowAdjusted LLa 1 lifeLowDate LLd 1 low l 1 monthHighAdjusted MHa 1 monthHighDate MHd 1 monthLowAdjusted MLa 1 monthLowDate MLd 1 open o 1 openInt Oi 1 secStatus SSt 1 secSubSatus SSSt settlementPrice SMp 1 timestamp t 1 tradeId TId 1 turnoverVal TUVa 1 turnoverVol TUVo 1 volumeAsk <n>Va 1 volumeBid <n>Vb 1 volumeWghtAvgPrice VWp 1 yearHighAdjusted YHa 1 yearHighDate YHd 1 yearLowAdjusted YLa 1 yearLowDate YLd 1

Table 21 – Security Change transaction

The Sc transaction is a very generic transaction type with several possible functions: • Order book level updates:

In the derivative market (market code 3), the Sc transaction is the only method for updating the order book levels. This method is provided for the equities- and bonds markets (market code 1 and 2) as well, as a very simple 5-level update without volumes, number of orders or contractors. See more about order book update methods in the section 6.4 The order book. Example:

Sc;650;iNO0010132079;Mc3;CqNOK;1Vb50;2b12.75;2Vb20;3b12.0;3Vb10;4b11.5;4Vb100

Page 50: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 50 of 90

• Aggregate updates: Aggregated values, such as Last, Total turnover volume and Volume weighted average price, are distributed in the Sc transaction. Example (aggregates for equity):

Sc;260;OBId15071;iSE0000245409;Mc1;CqNOK;La50.0;t133535;TUVo100;TUVa5000.0;VWp50

.0;h50.0;l50.0;YLa50.0;YLd20020404;MHa50.0;MHd20020404;MLa50.0;MLd20020404

Example (index value):

Sc;524;iNO0007035335;Mc1;La143.13;CqNOK;t152115

• Security status:

Trading vs. Suspended (matching halt) Example:

Sc;417;OBId15128;iNO0003078800;Mc1;CqNOK;SSt2;SSSt2;t150441

• Deletion of transactions (only used for deletion of trades):

Example:

Sc;207;iNO0001004683;Mc2;OBId15733;DSn202

8.2.2 Order Book ( Ob )

Field Name Field Tag Subscription Category

marketCode Mc 1

isinCode i 1

orderBookId OBId 1

ask <n>a 1 askOrders <n>Ao 1 bid <n>b 1 bidOrders <n>Bo 1 orderBookAskDelete <n>OBAd 1 orderBookAskInsert <n>OBAi 1 orderBookBidDelete <n>OBBd 1 orderBookBidInsert <n>OBBi 1 orderBookContractorAsk <n>OBCa 5 orderBookContractorBid <n>OBCb 5 timestamp t 1 volumeAsk <n>Va 1 volumeBid <n>Vb 1 bidOrderYield <n>BOy 1 askOrderYield <n>AOy 1

Table 22 – Orderbook transaction

Example:

Ob;317;OBId15128;iNO0003078800;Mc1;7OBAi;7a168.0;7Va7000;t150324

(See more examples in the order book description section, 6.4 The order book)

Page 51: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 51 of 90

8.2.3 Order Book Flush ( OBf )

Field Name Field Tag Subscription Category

marketCode Mc 1

IsinCode i 1

orderBookId OBId 1

timestamp t 1

Table 23 – Order Book Flush transaction

Example:

OBf;357;OBId15128;iNO0003078800;Mc1

8.2.4 Order ( o )

NB! Singel orders are not public information. For questions on this matter, please contact OB.

Field Name Field Tag Subscription Category

marketCode Mc 6

isinCode i 6

orderBookId OBId 6

buysell 3) OBs 6 messageType 1) Mt 6 order parent Id 4) OPId 6 orderClass 2) OCl 6 orderContractor 6) Oc 6 51rdered (priority,timestamp) 5) OId 6 orderPrice (price) Op 6 orderQuantity (volume) Oq 6 orderYield 7) Oy 6

Table 24 – Order transaction (for bonds and equities)

1) I-insert, U-update, D-delete order. 2) Order Class: ‘B’ = Block lot ‘R’ = Round lot ‘O’ = Odd lot ‘I’ = Internally generated ‘N’ = Non matchable orders. Used for bulletin board orders. ‘S’ = Non matchable orders. Used for orders that are handled by the specialist. 3) B-Buy, S-Sell order. 4) Order parent Id is the timestamp to the order to delete or update. 5) Timestamp when the order was inserted 6) The owner of the order. 7) Yield price used in bonds market.

8.2.5 Security Trade ( t )

Field Name Field Tag Subscription Category

Page 52: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 52 of 90

Field Name Field Tag Subscription Category

marketCode Mc 1

isinCode i 1

orderBookId OBId 1

auctionEquilibriumTrade AEQt 1 dateTimeAgreement DTa 1 dateTimeDissemination DTd 1 orderBookStateCode OBSc 1 oddLot Ol 1 timestamp t 1 tradeCategory Tg 1 tradeContractorBuyer TCb 5 tradeContractorSeller TCs 5 tradedPrice Tp 1 tradedQuantity Tq 1 tradedPriceAdjusted TPa 1 tradedQuantityAdjusted TQa 1 tradeId TId 1 tradeType Tt 1 tradeYield Ty 1 updatesLast/Open ULa 1

updatesHigh/Low UHl 1

updatesTurnover UTo 1

updatesVolumeWghtAvgPrice UVWp 1

Table 25 – Security Trade transaction

8.2.6 External Trade (e)

This message will include trades reportet on securities not listed on Oslo Børs Field Name Field Tag Subscription Category

marketCode Mc 1

instrumentIdentity Ii 1

orderBookId OBId 1

currencyQuotation Cq 1 delSeqNo DSn 1 dateTimeAgreement DTa 1 dateTimeDissemination DTd 1 timestamp t 1 tradedPrice Tp 1 tradedQuantity Tq 1 tradedYield Ty 1 tradeType Tt 1 tradeId TId 1 tradeVenue TVe 1

Table 26 – External Trade transaction

8.2.7 NewsItem ( n )

Field Name Field Tag Subscription Category

newsHeader Nh 1 newsLength Nl 1

Page 53: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 53 of 90

Field Name Field Tag Subscription Category

newsMsg Nm 1 compId CId 1 isinCode i 1 orderBookId OBId 1 issuerSymbol ISYm 1 newsSource Ns 1 newsType Nt 1 newsTypeEnglish NTe 1 newsURL URLn 1 newsMessageId NId 1 timestamp t 1 newsLanguage NLa 1 newsCorrectionId NCId 1

Table 27 – News Item transaction

8.2.8 OrderBookState ( OBs )

Field Name Field Tag Subscription Category

marketCode Mc 1

isinCode i 1

orderBookId OBId 1

orderBookStateCode OBSc 1 timestamp t 1

Table 28 – Order book State

8.2.9 MarketEvent ( Me )

Field Name Field Tag Subscription Category

marketCode Mc 1

marketStatus Ms 1 marketSubStatus MSs 1 timestamp t 1

Table 29 – Market Event transaction

8.2.10 FeedEvent ( Fe )

Field Name Field Tag Subscription Category

description Ds 1 timestamp t 1

Table 30 – Feed Event transaction

8.2.11 TradeInfo ( Ti )

Field Name Field Tag Subscription Category

marketCode Mc 1

isinCode i 1

orderBookId OBId 1

tradeContractorBuyer TCb 5 tradeContractorSeller TCs 5 tradeId TId 5 timestamp t 5

Table 31 – Trade Info transaction

Page 54: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 54 of 90

8.3 Basic data transactions (batch) Fields in Italics are based on the entity set “security” and are therefore common for all sub-entity sets of Security (See figure in section 6.1). These fields that are common for “security” are sorted

separately. Fields are sorted alphabetically on Field Name (not tag).

8.3.1 Batch Order Book ( BOb )

Field Name Field Tag Subscription Category

currencyQuotation Cq 1 isinCode i 1 marketCode Mc 1 orderBookCode OBc 1 orderBookId OBId 1 orderBookOfficial Of 1

Table 32 – Batch Order Book transaction

8.3.2 Quotation Detail ( BQd )

Field Name Field Tag Subscription Category

bondDuration Bd 2 bondYield By 2 bondYieldPrice BYp 2 bondYieldPriceDate BYPd 2 classSectorId CSi 1 currencyQuotation Cq 1 delistingDate DLd 1 equityYield Ey 2 infoSymbol ISy 1 englishSymbol ESy 1 hasLiquidityProvider HLp 1 inversedPriceRanking IPr 1 isinCode i 1 lifeHighAdjusted LHa 1 lifeHighDate LHd 1 lifeLowAdjusted LLa 1 lifeLowDate LLd 1 liquidityCategory LQCg 1 listingDate Ld 1 lotSize Ls 1 marketCode Mc 1 marketPricingType MPt 1 monthHighAdjusted MHa 1 monthHighDate MHd 1 monthLowAdjusted MLa 1 monthLowDate MLd 1 prevAskAdjusted PAa 1 prevAskDate PAd 1 prevBidAdjusted PBa 1 prevBidDate PBd 1 prevCloseAdjusted PCa 1 prevCloseDate PCd 1 ret12mth R12m 1

Page 55: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 55 of 90

Field Name Field Tag Subscription Category

ret48mth R48m 1 retYearToDate RYd 1 secSecondaryListed SSl 1 secSubStatus SSSt 1 secStatus SSt 1 yearHighAdjusted YHa 1 yearHighDate YHd 1 yearLowAdjusted YLa 1 yearLowDate YLd 1 yesterdaysTurnoverVal YTVa 1 yesterdaysTurnoverVol YTVo 1

Table 33 – Quotation Detail transaction

8.3.3 Equity ( Be )

Field Name Field Tag Subscription Category

isinCode i 1 issueDate Id 1 listingCategory LCg 1 listingClass Lc 1 marketCode Mc 1 maturityDate Md 1 secClass Sc 1 secName Sn 1 secSector Ss 1 symbol s 1 tradable Tb 1 adjFact Af 2 adjFactExDate AFd 2 compId CId 1 currencyDenomination Cd 1 equityClass Ec 1 lastDividendAdj LDa 2 lastDividendExDate LDd 2 listedNoOfShares LNs 2 nextDividendAdj Nd 2 nextDividendExDate NDd 2 nomValue Nv 2 outstandingNoOfShares ONs 2 totalNoOfShares TNs 2

Table 34 – Equity transaction

8.3.4 Bond ( Bb )

Field Name Field Tag Subscription Category

isinCode i 1 issueDate Id 1 listingCategory LCg 1 listingClass Lc 1 marketCode Mc 1 maturityDate Md 1 secClass Sc 1

Page 56: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 56 of 90

Field Name Field Tag Subscription Category

secName Sn 1 secSector Ss 1 symbol s 1 tradable Tb 1 amortizationType At 2 callable Cl 2 compId CId 1 convertible Cv 2 couponRate Cr 2 currencyDenomination Cd 1 fixedCouponDates <n>FCd 2 nextCallDate NCd 2 nextCallPrice NCp 2 nextCouponRate NCr 2 nextIRegDate NIRd 2 nextPutDate NPd 2 nextPutPrice NPp 2 nomValue Nv 2 putable p 2 totalValue Tv 2 variableCouponDates <n>VCd 2 variableInterest Vi 2 programId PId

Table 35 – Bond transaction

8.3.5 Derivative ( Bd )

Field Name Field Tag Subscription Category

isinCode i 1 issueDate Id 1 listingCategory LCg 1 listingClass Lc 1 marketCode Mc 1 maturityDate Md 1 secClass Sc 1 secName Sn 1 secSector Ss 1 symbol s 1 tradable Tb 1 contrSize Cs 1 derivativeType Dt 1 expirationDate Ed 1 isinUnderlying Iu 1 strikePrice Sp 1

Table 36 – Derivative transaction

8.3.6 Subscription Right ( BSr )

Field Name Field Tag Subscription Category

isinCode i 1 issueDate Id 1 listingCategory LCg 1

Page 57: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 57 of 90

Field Name Field Tag Subscription Category

listingClass Lc 1 marketCode Mc 1 maturityDate Md 1 secClass Sc 1 secName Sn 1 secSector Ss 1 symbol s 1 tradable Tb 1 compId CId 1 exerciseFromDate EXf 1 exercisePrice EXp 1 exerciseToDate EXt 1 newShareCount NSc 1 oldShareCount OSc 1 subscrOnIsin SOi 1 subscrOnMc SOMc 1

Table 37 – Subscription Right transaction

8.3.7 Share Index ( BSi )

Field Name Field Tag Subscription Category

isinCode i 1 issueDate Id 1 listingCategory LCg 1 listingClass Lc 1 marketCode Mc 1 maturityDate Md 1 secClass Sc 1 secName Sn 1 secSector Ss 1 symbol s 1 tradable Tb 1 indexDivisor IDXd 3 prevCloseFullRes PCFr 3

Table 38 – Share Index transaction

8.3.8 Bond Index ( BBi )

Field Name Field Tag Subscription Category

isinCode i 1 issueDate Id 1 listingCategory LCg 1 listingClass Lc 1 marketCode Mc 1 maturityDate Md 1 secClass Sc 1 secName Sn 1 secSector Ss 1 symbol s 1 tradable Tb 1 indexDivisor IDXd 4 initialDuration IDu 4

Page 58: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 58 of 90

Field Name Field Tag Subscription Category

initialIdxValFullRes IVFr 4 initialYield Iy 4 prevCloseFullRes PCFr 4

Table 39 – Bond Index transaction

8.3.9 Share Index Weights ( BSIw )

Field Name Field Tag Subscription Category

currencyQuotation Cq 3 idxWght Iw 3 IndexSharemarketCode ISMc 3 initialIdxPriceAdj IIPa 3 isinEqty Ie 3 isinShareIdx ISi 3 multiplier m 3 SharemarketCode SMc 3

Table 40 – Share Index Weights transaction

8.3.10 Bond Index Weights ( BBIw )

Field Name Field Tag Subscription Category

accInt Ai 4 bondmarketCode BMc 4 currencyQuotation Cq 4 idxWght Iw 4 IndexBondmarketCode IBMc 4 initialDuration IDu 4 initialIdxPriceAdj IIPa 4 initialYield Iy 4 isinBond Ib 4 isinBondIdx Ibi 4 multiplier m 4

Table 41 – Bond Index Weights transaction

8.3.11 Basket ( BBa )

Field Name Field Tag Subscription Category

isinCode i 1 issueDate Id 1 listingCategory LCg 1 listingClass Lc 1 marketCode Mc 1 maturityDate Md 1 secClass Sc 1 secName Sn 1 secSector Ss 1 symbol s 1 tradable Tb 1

Table 42 – Basket transaction

8.3.12 Basket Detail ( BBAd )

Field Name Field Tag Subscription Category

Page 59: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 59 of 90

Field Name Field Tag Subscription Category

isinBasket IBa 1 isinSecurity Is 1 marketCodeBasket MCb 1 marketCodeSecurity MCs 1 secBasketWght SBw 1

Table 43 – Basket Detail transaction

8.3.13 Issuers ( Bc )

Field Name Field Tag Subscription Category

compId CId 1 compName Cn 1 issuerSymbol ISYm 1 earningsPrShare EPs 2 lastFiscalYearEnd LFYe 2 retOnEqty Re 2

Table 44 – Issuers transaction

8.3.14 Currency ( BCu )

Field Name Field Tag Subscription Category

isinCode i 1 issueDate Id 1 listingCategory LCg 1 listingClass Lc 1 marketCode Mc 1 maturityDate Md 1 secClass Sc 1 secName Sn 1 secSector Ss 1 symbol s 1 tradable Tb 1 currencyPriceBase CUb 1 currencyPriceIn CUp 1 currencyPriceUnit CPu 1

Table 45 – Currency transaction

8.3.15 Brokers ( BBr )

Field Name Field Tag Subscription Category

brokerCode BRc 1 brokerName BRn 1 liquidityProvider Lp 1

Table 46 – Brokers transaction

8.3.16 Markets ( BMd )

Field Name Field Tag Subscription Category

marketCode Mc 1 marketName Mn 1

Table 47 – Markets transaction

Page 60: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 60 of 90

8.3.17 Fields ( Bf )

Field Name Field Tag Subscription Category

description Ds 1 fieldType Ft 1 name n 1 tag TAg 1 validFrom Vf 1 validTo Vt 1

Table 48 – Fields transaction

8.3.18 Transactions ( Bt )

Field Name Field Tag Subscription Category

command CMd 1 description Ds 1 name n 1 tag TAg 1

Table 49 – Transactions transaction

8.3.19 Adjustment factors ( BAf )

Field Name Field Tag Subscription Category

marketCode Mc 1 isinCode i 1 aggregatedAdjustmentDate <n>AAd 1 aggregatedAdjustmentFactor <n>AAf 1

Table 50 – Adjustment Factor transaction

• A security may have a maximum of 3 adjustment factors the last 3 (three) trading days. Each aggregated adjustment factor is accompanied by a corresponding date. Default adjustment factor is 1 (one). The adjustment factor with integer 1 is the newest adjustment factor.

8.3.20 Debt Issuance Program (BDIp)

Field Name Field Tag Subscription Category

programId PId 1 programIssuer <n>PCId 1 programName Pn 1 programType Pt 1 validFrom Vf 1 validTo Vt 1

Table 51 – Debt Issuance Program transaction

8.3.21 ClassificationSector ( BCs )

This transaction distributes the Morgan Stanley-based classification sectors used at OB. The classification sectors are ordered in a tree-type structure, where the value in the classSectorParent field gives the parent node for a classification sector. Field Name Field Tag Subscription Category

classSectorCode CSc 1

Page 61: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 61 of 90

Field Name Field Tag Subscription Category

classSectorId CSi 1 classSectorLocalName CSLn 1 classSectorName CSGn 1 classSectorParent CSp 1

Table 52 – ClassificationSector transaction

Page 62: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 62 of 90

8.4 Fields and the transactions they occur in This table describes the fields and the transactions they occur in. (This table is sorted by Field Names)

Transaction Tags ����

Field Names ����

Field

Tag

Ob

Sc

OB

f

o

t e

OB

s

n

Me

Fe

Ti

BQ

d

Be

Bb

Bd

BS

r

BS

i

BB

i

BS

Iw

BB

Iw

BB

a

BB

Ad

Bc

BC

u

Bf

Bt

BB

r

BM

d

BO

b

BA

f

BC

s

aggregatedAdjustmentDate <n>AAd X

aggregatedAdjustmentFactor <n>AAf X

auctionEquilibriumTrade AEQt X

accInt Ai X

adjFact Af X

adjFactExDate AFd X

amortizationType At X

ask <n>a X X

askOrders <n>Ao X X

askOrderYield <n>AOy X

bid <n>b X X

bidOrders <n>Bo X X

bidOrderYield <n>BOy X

bondDuration Bd X

bondmarketCode BMc X

bondYield By X

bondYieldPrice BYp X

bondYieldPriceDate BYPd X

brokerCode BRc X

brokerName BRn X

buySell OBs X

Page 63: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 63 of 90

Transaction Tags ����

Field Names ����

Field

Tag

Ob

Sc

OB

f

o

t e

OB

s

n

Me

Fe

Ti

BQ

d

Be

Bb

Bd

BS

r

BS

i

BB

i

BS

Iw

BB

Iw

BB

a

BB

Ad

Bc

BC

u

Bf

Bt

BB

r

BM

d

BO

b

BA

f

BC

s

callable Cl X

classSectorCode CSc X

classSectorId CSi X X

ClassSectorLocalName CSLn X

classSectorNameEnglish CSGn X

classSectorParentId CSp X

command CMd X

compId CId X X X X X

compName Cn X

contrSize Cs X

convertible Cv X

corrSeqNo CSn X

couponRate Cr X

currencyBase CUb X

CurrencyDenomination Cd X X

currencyPriceIn CUp X X

currencyPriceUnit CPu X X

currencyQuotation Cq X X X X X X

dateTimeAgreement DTa X X

dateTimeDissemination DTd X X

delistingDate DLd X

delSeqNo DSn X X

derivativeType Dt X

description Ds X X X

Page 64: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 64 of 90

Transaction Tags ����

Field Names ����

Field

Tag

Ob

Sc

OB

f

o

t e

OB

s

n

Me

Fe

Ti

BQ

d

Be

Bb

Bd

BS

r

BS

i

BB

i

BS

Iw

BB

Iw

BB

a

BB

Ad

Bc

BC

u

Bf

Bt

BB

r

BM

d

BO

b

BA

f

BC

s

distributorCode DIc

distributorName DIn

earningsPrShare EPs X

englishSymbol ESy X

equityClass Ec X

equityYield Ey X

exerciseFromDate EXf X

exercisePrice EXp X

exerciseToDate EXt X

expirationDate Ed X

fieldType Ft X

fixedCouponDates <n>FCd X

fixingPrice Fp X

hasLiquidityProvider HLp X

high h X

idxWght Iw X X

indexBondmarketCode IBMc X

indexDivisor IDXd X X

indexSharemarketCode ISMc X

infoSymbol ISy X

initialDuration IDu X X

initialIdxPriceAdj IIPa X X

initialIdxValFullRes IVFr X

initialYield Iy X X

Page 65: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 65 of 90

Transaction Tags ����

Field Names ����

Field

Tag

Ob

Sc

OB

f

o

t e

OB

s

n

Me

Fe

Ti

BQ

d

Be

Bb

Bd

BS

r

BS

i

BB

i

BS

Iw

BB

Iw

BB

a

BB

Ad

Bc

BC

u

Bf

Bt

BB

r

BM

d

BO

b

BA

f

BC

s

instrumentIdentity Ii X

inversedPriceRanking IPr X

isinBasket IBa X

isinBond Ib X

isinBondIdx IBi X

isinCode i X X X X X X X X X X X X X X X X X X X

isinEqty Ie X

isinSecurity Is X

isinShareIdx ISi X

isinUnderlying Iu X

issueDate Id X X X X X X X X

issuerSymbol ISYm X X

last La X

lastDividendAdj LDa X

lastDividendExDate LDd X

lastFiscalYearEnd LFYe X

lifeHighAdjusted LHa X X

lifeHighDate LHd X X

lifeLowAdjusted LLa X X

lifeLowDate LLd X X

liquidityCategory LQCg X

liquidityProvider Lp X

listedNoOfShares LNs X

listingCategory LCg X X X X X X X X

Page 66: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 66 of 90

Transaction Tags ����

Field Names ����

Field

Tag

Ob

Sc

OB

f

o

t e

OB

s

n

Me

Fe

Ti

BQ

d

Be

Bb

Bd

BS

r

BS

i

BB

i

BS

Iw

BB

Iw

BB

a

BB

Ad

Bc

BC

u

Bf

Bt

BB

r

BM

d

BO

b

BA

f

BC

s

listingClass Lc X X X X X X X X

listingDate Ld X

lotSize Ls X

low l X

marketCode Mc X X X X X X X X X X X X X X X X X X X X X

marketCodeBasket MCb X

marketCodeSecurity MCs X

marketName Mn X X

marketPricingType MPt X

marketStatus Ms X

marketSubStatus MSs X

maturityDate Md X X X X X X X X

message type Mt X

monthHighAdjusted MHa X X

monthHighDate MHd X X

monthLowAdjusted MLa X X

monthLowDate MLd X X

multiplier m X X

name n X X

newShareCount NSc X

newsCorrectionId NCId X

newsHeader Nh X

newsMessageId NId X

newsLanguage NLa X

Page 67: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 67 of 90

Transaction Tags ����

Field Names ����

Field

Tag

Ob

Sc

OB

f

o

t e

OB

s

n

Me

Fe

Ti

BQ

d

Be

Bb

Bd

BS

r

BS

i

BB

i

BS

Iw

BB

Iw

BB

a

BB

Ad

Bc

BC

u

Bf

Bt

BB

r

BM

d

BO

b

BA

f

BC

s

newsLength Nl X

newsMsg Nm X

newsSource Ns X

newsType Nt X

newsTypeEnglish NTe X

newsURL URLn X

nextCallDate NCd X

nextCallPrice NCp X

nextCouponRate NCr X

nextDividendAdj Nd X

nextDividendExDate NDd X

nextIRegDate NIRd X

nextPutDate NPd X

nextPutPrice NPp X

nomValue Nv X X

oddLot Ol X

oldShareCount OSc X

open o X

openInt Oi X

orderBookOfficial Of X

orderBookAskDelete <n>OBAd X

orderBookAskInsert <n>OBAi X

orderBookBidDelete <n>OBBd X

orderBookBidInsert <n>OBBi X

Page 68: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 68 of 90

Transaction Tags ����

Field Names ����

Field

Tag

Ob

Sc

OB

f

o

t e

OB

s

n

Me

Fe

Ti

BQ

d

Be

Bb

Bd

BS

r

BS

i

BB

i

BS

Iw

BB

Iw

BB

a

BB

Ad

Bc

BC

u

Bf

Bt

BB

r

BM

d

BO

b

BA

f

BC

s

orderBookCode OBc X

orderBookContractorAsk <n>OBCa X

orderBookContractorBid <n>OBCb X

orderBookId OBId X X X X X X X X X X

orderBookStateCode OBSc X X

orderClass OCl X

orderContractor Oc X

orderId OId X

orderParentId OPId X

orderPrice Op X

orderQuantity Oq X

orderYield Oy X

outstandingNoOfShares ONs X

prevAskAdjusted PAa X

prevAskDate PAd X

prevBidAdjusted PBa X

prevBidDate PBd X

prevCloseAdjusted PCa X

prevCloseDate PCd X

prevCloseFullRes PCFr X X

putable p X

ret12mth R12m X

ret48mth R48m X

retOnEqty Re X

Page 69: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 69 of 90

Transaction Tags ����

Field Names ����

Field

Tag

Ob

Sc

OB

f

o

t e

OB

s

n

Me

Fe

Ti

BQ

d

Be

Bb

Bd

BS

r

BS

i

BB

i

BS

Iw

BB

Iw

BB

a

BB

Ad

Bc

BC

u

Bf

Bt

BB

r

BM

d

BO

b

BA

f

BC

s

retYearToDate RYd X

secBasketWght SBw X

secClass Sc X X X X X X X X

secName Sn X X X X X X X X

secSecondaryListed SSl X

secSector Ss X X X X X X X X

secSubStatus SSSt X

secStatus SSt X X

settlementPrice SMp X

sharemarketCode SMc X

strikePrice Sp X

subscrOnIsin SOi X

subscrOnMc SOMc X

symbol S X X X X X X X X

tag TAg X X

timestamp t X X X X X X X X X X

totalNoOfShares TNs X

totalValue Tv X

tradingVenue TVe X

tradable Tb X X X X X X X X

tradeCategory Tg X

tradeContractorBuyer TCb X X

tradeContractorSeller TCs X X

tradedPrice Tp X X

Page 70: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 70 of 90

Transaction Tags ����

Field Names ����

Field

Tag

Ob

Sc

OB

f

o

t e

OB

s

n

Me

Fe

Ti

BQ

d

Be

Bb

Bd

BS

r

BS

i

BB

i

BS

Iw

BB

Iw

BB

a

BB

Ad

Bc

BC

u

Bf

Bt

BB

r

BM

d

BO

b

BA

f

BC

s

tradedQuantity Tq X X

tradedPriceAdjusted TPa X

tradedQuantityAdjusted TQa X

tradeId TId X X X X

tradeType Tt X X

tradeXRate Tx

tradeYield Ty X X

turnoverVal TUVa X

turnoverVol TUVo X

updatesHigh/Low UHl X

updatesLast/Open ULa X

updatesTurnover UTo X

updatesVolumeWghtAvgPrice UVWp X

validFrom Vf X

validTo Vt X

variableCouponDates <n>VCd X

variableInterest Vi X

volumeAsk <n>Va X X

volumeBid <n>Vb X X

volumeWghtAvgPrice VWp X

yearHighAdjusted YHa X X

yearHighDate YHd X X

yearLowAdjusted YLa X X

yearLowDate YLd X X

Page 71: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 71 of 90

Transaction Tags ����

Field Names ����

Field

Tag

Ob

Sc

OB

f

o

t e

OB

s

n

Me

Fe

Ti

BQ

d

Be

Bb

Bd

BS

r

BS

i

BB

i

BS

Iw

BB

Iw

BB

a

BB

Ad

Bc

BC

u

Bf

Bt

BB

r

BM

d

BO

b

BA

f

BC

s

yesterdaysTurnoverVal YTVa X

yesterdaysTurnoverVol YTVo X

Table 53 – Fields and the transactions they occur in

Page 72: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 72 of 90

8.5 Field descriptions This table contains all available fields in the feed. (Tag may be of variable length. A lowercase character marks the last character. This table is sorted by Field Names.) Field Name Field

Tag Field Type

Val id From

Valid To

Descr ipt ion

accInt Ai Float 19980807 Accrued interest

aggregatedAdjustmentDate <n>AAd Date 20071022 The date of the adjustment of the corresponding <n>Aaf.

aggregatedAdjustmentFactor <n>AAf Date 20071022 Aggregated adjustment factor. <n> is type integer and refers to the corresponding <n> in the Aad field

adjFact Af Float 19980807 Adjustment factor

adjFactExDate AFd Date 19980807 Ex-date for adjustment factor

amortizationType At Integer 19980807 Amortization type for bonds. See table “Amortization type values” for available values

ask <n>a Float 19980807 Ask price. <n> equals ranking of price. E.g. 3a is a value for 3rd best ask price. <n> is type integer. Equity and Bond markets – full orderbook depth updated by insert/delete, derivatives market – five levels updated by “overwrites”.

askOrders <n>Ao Integer 19980807 Number of orders. <n> equals price-level. E.g. 3Ao equals number of orders for 3rd best ask price. <n> is type integer.

askOrderYield <n>AOy Float 20051128 Corresponding ask price given in yield. Used in the bonds market.

auctionEquilibriumTrade AEQt N/A 20060925 Identifies trades resulting from an auction at equilibrium price

Bid <n>b Float 19980807 Bid price. <n> equals ranking of price. E.g. 3b is a value for 3rd best bid price. <n> is type integer. Equity and Bond markets – full orderbook depth updated by insert/delete, derivatives market – five levels fixed.

bidOrders <n>Bo Integer 19980807 Number of orders. <n> equals price-level. E.g. 3Bo equals number of orders for 3rd best bid price. <n> is type integer.

bidOrderYield <n>BOy Float 20051128 Corresponding bid price given in yield. Used in the bonds market.

bondDuration Bd Float 19980807 Weighted average time to maturity. The bonds interest rate sensitivity (absolute value of yield elasticity). Will for the time being only be distributed as batch data

bondsmarketCode BMc Integer 20011030 Market code bond index member.

bondYield By Float 19980807 Yield for bonds. Will for the time being only be distributed as batch data

bondYieldPrice BYp Float 19980807 Price used in calculation of bondYield. Will for the time being only be distributed as batch data

bondYieldPriceDate BYPd Float 19980807 Date for price used in calculation of bondYield. Will for the time being only be distributed as batch data

brokerCode BRc String 19990531 Broker firm id.

brokerName BRn String 19990531 Broker firm name.

buySell OBs String 20011030 Identifies it it’s a buy or sell order.

Callable Cl N/A 19980807 Identifies a bond as callable.

classSectorCode CSc String 20001201 Short name or code for a classification sector.

classSectorId CSi Integer 20001201 Numerical ID for a classification sector.

Page 73: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 73 of 90

Field Name Field Tag

Field Type

Val id From

Valid To

Descr ipt ion

classSectorLocalName CSLn String 20001201 Long name for a classification sector in local language.

classSectorParent CSp String 20001201 Classification sectors are ordered in a tree structure. This field refers to the level above the current classification sector. Set to null if classification sector is on top level.

Command CMd String 19980807 Command issued to receive transaction. Used to group transactions under each available client command

compId CId Integer 19980807 Company identification

compName Cn String 19980807 Company name

contrSize Cs Integer 19980807 Number of underlying security items per contract

convertible Cv N/A 19980807 Identifies convertible bonds

corrSeqNo CSn Integer 19980807 Global sequence number of transaction to be corrected

couponRate Cr Float 19980807 Coupon rate for bonds

currencyDenomination Cd Char[3] 19980807 Currency for nominal value. See table “Currency values” for available values

currencyPriceBase CUb String 20011127 Base currency

currencyPriceIn CUp String 20011127 Currency price

currencyPriceUnit CPu Integer 19980807 Unit size for currency. E.g. NOK=100, GBP=1 etc

currencyQuotation Cq Char[3] 19980807 Currency in which a security is traded. See table “Currency values” for available values

dateTimeAgreement DTa Char[14] 20030117 Date and time of trade agreement. Format: yyyymmddhhmmss

dateTimeDissemination DTd Char[14] 20060925 Date and time of trade dissemination. Format: yyyymmddhhmmss

delistingDate DLd Date 19980807 Delisting date

delSeqNo DSn Integer 19980807 Global sequence number of transaction to be deleted

derivativeType Dt Integer 19980807 Derivative type. See table “Derivative type values” for available values

description Ds String 19980807 Textual description. Used for contents of feed event message, description of field in the fields file or description of transaction in the transactions file.

earningsPrShare EPs Float 19980807 Earnings per share. Given in the same currency as currencyQuotation

englishSymbol ESy N/A 20041004 Flag that identifies whether a company makes information available in 73ieldna (only present if field “infoSymbol” is present)

equityClass Ec Integer 19980807 Equity class. See table “Equity class values” for available values

equityYield Ey Float 19980807 Yield for equity

exerciseFromDate EXf Date 20001201 Exercise from date, or tradable period start.

exercisePrice EXp Float 20001201 Exercise price during tradable period.

exerciseToDate EXt Date 20001201 Exercise to date, or tradable period end.

expirationDate Ed Date 19980807 Expiration date

fieldType Ft String 19980807 Field type

fixedCouponDates <n>FCd mmdd 19980807 Fixed coupon dates for bonds. <n> is number of dates in vector. Presented in descending order

Page 74: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 74 of 90

Field Name Field Tag

Field Type

Val id From

Valid To

Descr ipt ion

fixingPrice Fp Float 19980807 Fixing price for derivative underlyings

hasLiquidityProvider HLp N/A 20050301 Flag that identifies whether a company has an agreement with a Liquidity Provider

high H Float 19980807 Highest traded price today

idxWght Iw Float 19980807 Index weighting for security in index at start of day

indexbondsmarketCode IBMc Integer 20011030 Market code index bonds.

indexDivisor IDXd Float 19980807 Index divisor

indexsharemarketCode ISMc Integer 20011030 Market code index share.

infoSymbol ISy N/A 20041004 Flag that identifies whether a company has achieved the Information Symbol

initialDuration IDu Float 19980807 Calculation of duration on bond index based on initial index price

instrumentIdentity Ii String 20071022 Alphanumeric field identifying the instrument of an external trade report

initialIdxPriceAdj IIPa Float 19980807 Initial index price adjusted. A null value means that the share is discarded from the index calculation due to missing price information.

initialIdxValFullRes IVFr Float 19980807 Initial index value full resolution

initialYield Iy Float 19980807 Calculation of yield based on initial index price

inversedPriceRanking IPr N/A 19980807 Orderbook is ranked in reverse order compared to normal price ranking. E.g. security priced in yield.

isinBasket IBa Char[12] 19980807 IsinCode for basket where basket is a collection of securities used as underlying for derivatives

isinBond Ib Char[12] 19980807 IsinCode for bond

isinBondIdx IBi Char[12] 19980807 IsinCode for bond index

isinCode i Char[12] 19980807 Unique identifier for security

isinEqty Ie Char[12] 19980807 IsinCode for equity

isinSecurity Is Char[12] 19980807 IsinCode for security

isinShareIdx ISi Char[12] 19980807 IsinCode for share index

isinUnderlying Iu Char[12] 19980807 IsinCode for underlying security for a derivative

issueDate Id Date 19980807 Issue date for security

issuerSymbol ISYm String 20081101 Symbol for issuer

last La Float 19980807 Last traded price during the day

lastDividendAdj LDa Float 19980807 Last adjusted dividend for security. Ex-date <= TODAY

lastDividendExDate LDd Date 19980807 Last dividend ex-date for security. Ex-date <= TODAY

lastFiscalYearEnd LFYe Date 19980807 End date for last fiscal year

lifeHighAdjusted LHa Float 19980807 Adjusted highest traded price in a given security’s lifetime. Valid only for equities and indices

lifeHighDate LHd Date 19980807 Date for the adjusted highest traded price in a given security’s lifetime. Valid only for equities and indices

lifeLowAdjusted LLa Float 19980807 Adjusted lowest traded price in a given security’s lifetime. Valid only for equities and indices

Page 75: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 75 of 90

Field Name Field Tag

Field Type

Val id From

Valid To

Descr ipt ion

lifeLowDate LLd Date 19980807 Date for the adjusted lowest traded price in a given security’s lifetime. Valid only for equities and indices

liquidityCategory LQCg Integer 20041004 Liquidity category for a security (equities only). See table “liquidityCategory constant values” for available values

liquidityProvider Lp N/A 20050307 Flag that identifies whether a broker company (member firm) is approved as a Liquidity Provider

listedNoOfShares LNs Float 19980807 Listed number of shares. Number registered at VPS

listingCategory LCg Integer 19980807 Listing category for security. See table “Listing category values” for available values

listingClass Lc Integer 19980807 Listing class for security. See table “Listing class values” for available values

listingDate Ld Date 19980807 Listing date

lotSize Ls Integer 19980807 Lot size

low l Float 19980807 Lowest traded price today

marketCode Mc Integer 19980807 Code identifying market. See table “Market code values” for available values

marketCodeBasket MCb Integer 20020101 Market code for basket where basket is a collection of securities used as underlying for derivatives

marketCodeSecurity MCs Integer 20020101 Market code for security

marketName Mn String 19990531 Name for the marketCode

marketPricingType MPt Integer 19980807 market pricing type. See table “Market pricing type values” for available values

marketStatus Ms Integer 19980807 Market status. See table “Market status values” for available values

marketSubStatus MSs Integer 19980807 Market sub-status. See table “Market sub-status values” for available values

maturityDate Md Date 19980807 Maturity date for security

messageType Mt String 20011030 Identifies if it’s a single order Insert,Delete or Update

monthHighAdjusted MHa Float 19980807 Adjusted highest traded price this month for a given security. Valid only for equities and indices

monthHighDate MHd Date 19980807 Date for the adjusted highest traded price this month for a given security. Valid only for equities and indices

monthLowAdjusted MLa Float 19980807 Adjusted lowest traded price this month for a given security. Valid only for equities and indices

monthLowDate MLd Date 19980807 Date for the adjusted lowest traded price this month for a given security. Valid only for equities and indices

multiplier m Integer 19980807 Multiplier for index members

name n String 19980807 Name of the field or transaction

newShareCount NSc Integer 19980807 Number of new shares for each old share. Used in description of terms for subscription rights

newsCorrectionId NCId Integer 20080102 Reference to a previously distributed news message to be corrected by the current one

newsHeader Nh String 19980807 Header for a news message

newsId NId Integer 20070305 News identification

newsLanguage NLa String 20050606 Specifies the language of the news message. Not mandatory field.

newsLength Nl Integer 19980807 Number of characters in the news message body, including any escape-characters

newsMsg Nm String 19980807 News message

Page 76: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 76 of 90

Field Name Field Tag

Field Type

Val id From

Valid To

Descr ipt ion

newsRef Nr Char[12] 19980807 20070305 Company isin for a news message

newsSource Ns IntegerVector 19980807 News message sources. See table “News source values” for available values

newsType Nt String 19990531 Type of the news (Norwegian Language)

newsTypeEnglish Nte String 20070305 Type of news (English language)

newsURL URLn String 20000501 URL (Uniform Resource Locator) pointing to OB’s website, where the nes message can be looked up

nextCallDate NCd Date 19980807 Next call date ( > TODAY)

nextCallPrice NCp Float 19980807 Next call price

nextCouponRate NCr Float 19980807 Next coupon rate ( > TODAY)

nextDividendAdj Nd Float 19980807 Next adjusted dividend for security. Ex-date > TODAY

nextDividendExDate NDd Date 19980807 Next dividend ex-date for security. Ex-date > TODAY

nextIRegDate NIRd Date 19980807 Next coupon regulation date ( > TODAY)

nextPutDate NPd Date 19980807 Next put date ( > TODAY)

nextPutPrice NPp Float 19980807 Next put price

nomValue Nv Float 19980807 Nominal value

oddLot Ol N/A 19980820 Indentifies an odd lot trade

oldShareCount OSc Integer 19980807 Number of old shares for each new share. Used in description of terms for subscription rights

open o Float 19980807 Opening price today

openInt Oi Integer 19980807 Open interest at the start of this trading day

orderBook ID OBId Integer 20011030 Unique identifier for an order book in equities and bonds markets

orderBookStateCode OBSc Integer 20070401 State of order book

orderBookAskDelete <n>OBAd N/A 19980807 Delete the ask information in the orderbook at level <n>, where n=1 is the best ask price. <n> is type integer.

orderBookAskInsert <n>OBAi N/A 19980807 Insert a new ask at level <n> in the orderbook, where n=1 is the best ask price. <n> is type integer.

orderBookBidDelete <n>OBBd N/A 19980807 Delete the bid information in the orderbook at level <n>, where n=1 is the best bid price. <n> is type integer.

orderBookBidInsert <n>OBBi N/A 19980807 Insert a new bid at level <n> in the orderbook, where n=1 is the best bid price. <n> is type integer.

orderBookCode OBc String 20011030 Order book ticker

orderBookContractorAsk <n>OBCa StringVec 19990531 A vector of char[2] representing the sellers for the orderbook line <n>.

orderBookContractorBid <n>OBCb StringVec 19990531 A vector of char[2] representing the buyers for the orderbook line <n>.

orderBookOfficial Of Integer 20011030 Set to 1 if official orderbook, else 0

orderClass OCl String 20011030 Identifiy orders of type: Oddlot,Roundlot,Block in single orders.

orderContractor Oc String 20011030 Identifies the broker who entered the order.

orderId OId String 20011030 Timestamp from SAXESS, when the order was executed.

Page 77: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 77 of 90

Field Name Field Tag

Field Type

Val id From

Valid To

Descr ipt ion

orderIdParent OPId String 20011030 Timestamp from SAXESS. Identifies the order to delete or update.

orderPrice Op Float 20011030 Price on a single order for bid/ask

orderQuantity Oq Float 20011030 Volume of a single order

orderYield Oy Float 20011030 Corresponding price given in yield. Used in the bonds market

outstandingNoOfShares ONs Float 19980807 Outstanding number of shares

prevAskAdjusted PAa Float 20041004 Adjusted price for the last best ask price. Calculated on basis of previous tradeday’s (or earlier) closing ask value

prevAskDate PAd Float 20041004 Date for the last best ask price

prevBidAdjusted PBa Float 20041004 Adjusted price for the last best bid price. Calculated on basis of previous tradeday’s (or earlier) closing bid value

prevBidDate PBd Float 20041004 Date for the last best bid price

prevCloseAdjusted PCa Float 19980807 Adjusted price for last trade on security

prevCloseDate PCd Date 19980807 Date for last trade on security

prevCloseFullRes PCFr Float 19980807 Previous index value close full resolution

programId PId Integer 20081112 Loan Program ID

putable p N/A 19980807 Identifies putable bonds

ret12mth R12m Float 19980807 Total return for the last 12 months

ret48mth R48m Float 19980807 Total return for the last 48 months

retOnEqty Re Float 19980807 Return on equity

retYearToDate RYd Float 19980807 Return from year end to date

secBasketWght SBw Float 19980807 Percentage weight for a security in a basket

secClass Sc Integer 19980807 Security class. See table “Security class values” for available values

secName Sn String 19980807 Security name

secSecondaryListed SSl N/A 20001201 Security is secondary listed at given marketCode if this tag is present

secSector Ss Integer 19980807 Security sector. See table “Security sector values” for available values

secSubStatus SSSt Integer 20060925 Difines type of orderbook halt. See table “Security Substatus” for available values

secStatus SSt Integer 19980807 Security status. See table “Security status values” for available values

settlementPrice SMp Float 19980807 Daily settlement price for futures

sharemarketCode SMc Integer 20011030 Market code share index member.

strikePrice Sp Float 19980807 Strike price

subscrOnIsin SOi String 19980807 Subscription on ISIN

subscrOnMc SOMc Integer 20011030 Subscription on market code.

Symbol s String 19980807 Symbol for security

Page 78: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 78 of 90

Field Name Field Tag

Field Type

Val id From

Valid To

Descr ipt ion

tag TAg String 19980807 Tag for the field/transaction name

timestamp t Char[14] 19980807 Time of processing. Format: yyyymmddhhmmss

totalNoOfShares TNs Float 19980807 Total number of shares for security

totalValue Tv Float 19980807 Total nominal value

tradable Tb None 19980807 Identifies a tradable security

tradeCategory Tg Integer 19980807 Identifies an Official/ Unofficial trade. See table “trade category values” for available values

tradeContractorBuyer TCb String 19990531 Broker firm id for the buyer in a trade

tradeContractorSeller TCa String 19990531 Broker firm id for the seller in a trade

tradedPrice Tp Float 19980807 Traded price

tradePriceAdjusted TPa Float 20071022 Adjusted price. In case of an adjustment factor between trade agreement and publication

tradedQuantity Tq Integer 19980807 Traded quantity (bonds : nominal value traded)

tradeQuantityAdjusted TQa Float 20071022 Adjusted quantity. In case of an adjustment factor between trade agreement and publication

tradeId TId Integer 19990501 Trade id, intra-day unique

tradeType Tt String 19980807 Traded source. See table “Trade type values” for available values

tradeVenue TVe String 20071022 Identifies the trading venue where the transaction was executed, BIC or MIC code

tradeYield Ty float 19990531 Yield of of trade for bonds

turnoverVal TUVa Float 19980807 Turnover value

turnoverVol TUVo Integer 19980807 Turnover volume

validFrom Vf Date 19980807 First official date for the field 78ieldname on the feed

updatesHigh/Low UHl N/A 20070502 Flag that identifies if a trade updates high and low aggregates for the given security

updatesLast/Open ULa N/A 20020527 Flag that identifies if a trade updates last and open aggregates for the given security

updatesTurnover UTo N/A 20020527 Flag that identifies if a trade updates the turnover volume- and value

updatesVolumeWghtAvgPrice UVWp N/A 20020527 Flag that identifies if a trade updates volume weighted average price

validTo Vt Date 19980807 Last official date for the field 78ieldname on the feed

variableCouponDates <n>VCd Date 19980807 Variable coupon dates for bonds. <n> is number of dates in vector. Presented in descending order

variableInterest Vi N/A 19980807 Identifies variable interest bonds

volumeAsk <n>Va Float 19980807 Quantity for ask price. <n> equals ranking of volume. E.g. 3Va equals volume for 3rd best ask price. <n> is type integer. Equity market – full depth, bond market – N/A, derivatives market – five levels

volumeBid <n>Vb Float 19980807 Quantity for bid price. <n> equals ranking of volume. E.g. 3Vb equals volume for 3rd best bid price. <n> is type integer. Equity market – full depth, bond market – N/A, derivatives market – five levels

volumeWghtAvgPrice VWp Float 19980807 Volume weighted average price

yearHighAdjusted YHa Float 19980807 Adjusted highest traded price this year for a given security. Valid only for equities and indices

yearHighDate YHd Date 19980807 Date for the adjusted highest traded price this year for a given security. Valid only for equities and indices

Page 79: OCDF Technical Specification - Euronext

OCDF Technical Specification Date: 29-10-2009

Oslo Børs ASA Page 79 of 90

Field Name Field Tag

Field Type

Val id From

Valid To

Descr ipt ion

yearLowAdjusted YLa Float 19980807 Adjusted lowest price this year. Valid only for equities and indices

yearLowDate YLd Date 19980807 Date for the adjusted lowest traded price this year for a given security. Valid only for equities and indices

yesterdaysTurnoverVal YTVa Float 19980807 Yesterday’s turnover value

yesterdaysTurnoverVol YTVo Integer 19980807 Yesterday’s turnover volume

Table 54 – Field descriptions

Page 80: OCDF Technical Specification - Euronext

OCDF Technical Specification Date 31-07-2008

Oslo Børs ASA Page 80 of 90

8.6 Constant values for specific fields

8.6.1 amortizationType ( At )

Value Description 1 Bullet loan 2 Annuity 3 Serial bond 4 Perpetuity 5 Other/Non standard 6 Zero Coupon Bond 7 Undefined 8 Coupon at maturity 9 Periodic interest pmts

10 Equal installments 11 Matching pmts of principal

and interest 12 Non-matching pmts of

principal and interest 13 Premium bond

Table 55 – amortizationType constant values

8.6.2 derivativeType ( Dt )

Value Description 1 American call 2 American put 3 European call 4 European put 5 Forward 6 Future 7 Easy options over 8 Easy options under

Table 56 – derivativeType constant values

8.6.3 secClass ( Sc )

Value Description

1 Shares 2 Bonds 3 Derivatives 4 Bond Indices 5 Currency 6 Subscription Rights 7 Mutual Funds

10 Share Indices 11 Feed basket

Table 57 – secClass constant values

Page 81: OCDF Technical Specification - Euronext

OCDF Technical Specification Date 31-07-2008

Oslo Børs ASA Page 81 of 90

8.6.4 currencyQuotation ( Cq ) and currencyDenomination ( Cd )

Value Description AUD Australian Dollars CAD Canadian Dollars CHF Swiss Franc DKK Danish Kroner EUR Euro GBP Pound Sterling ISK Icelandic Kroner JPY Japanese Yen NOK Norwegian Kroner SEK Swedish Kroner USD US Dollars

Table 58 – currencyQuotation and currencyDenomination constant values

The external trade transaction (e) can contain any ISO 4217 three character currency code, not limited to those listed in table 56

8.6.5 OrderClass

R Roundlot O Oddlot B Block lot N Non matchable orders

Table 59 – Orderclass values

8.6.6 Message type

I Insert order U Update order D Delete order

Table 60 – Message type values

8.6.7 Buysell

B Buy (bid) S Sell (ask)

Table 61 – Buysell values

8.6.8 liquidityCategory ( LQCg )

Value Name Description 1 OBX Normally including the 25 most-traded shares in accordance with the

rules in force from time to time for the OBX index. 2 OB Match Including all shares with a minimum of 10 trades per day on average

over the previous six-month period, except shares included in the OBX index.

3 OB Standard Including all shares with fewer than 10 trades per day on average over the previous six-month period.

4 OB New Including all shares that have been traded for less than two months at the rebalancing date.

Page 82: OCDF Technical Specification - Euronext

OCDF Technical Specification Date 31-07-2008

Oslo Børs ASA Page 82 of 90

Value Name Description 5 OB EC Including all equity certificates.

Table 62 – liquidityCategory constant values

8.6.9 secSector ( Ss )

Value Description 1 Property 2 Finance 3 Commerce 4 Manufacturing 5 IT, communications 6 Media, publishing 7 Offshore 8 Shipping 9 Transport

10 Other 11 Premium Bonds 12 Government bonds 13 Government guaranteed bonds 14 Local government guaranteed bonds 15 Mortgage institutions 16 Industry bonds 17 Debetures 18 Foreign bonds 19 Convertible bonds 20 Bonds with warrants 21 Treasury bills 22 Bank sertificates 23 Financial sertificates 24 Loan sertificates 25 Credit sertificates 29 Other sertificates 30 Banking bonds 31 Subordinated loan capital 32 Bonds in NOK, foreign borrower 33 Government owned enterprises 34 Covered Bonds 40 Convertible bonds with subscription rights 41 Convertible bonds with conversion obligation 42 Shareindexed bonds 43 Perpetual hybrid tier 1 50 Share options 51 Index options 52 Share forwards 53 Index futures 54 Index forwards 55 Interest rate futures 58 Equity certificates 60 Currency 61 Share index 62 Bond index

Page 83: OCDF Technical Specification - Euronext

OCDF Technical Specification Date 31-07-2008

Oslo Børs ASA Page 83 of 90

Value Description 63 Warrants 70 Exchange Traded Fund (ETF) 81 OAX Shares 82 OAX Equity certificates (not in use) 83 OAX Issuance Instruments

Table 63 – secSector constant values

8.6.10 equityClass ( Ec )

Value Description 1 Ordinary shares 2 A-shares 3 B-shares 4 C-shares 5 D-shares 6 F-shares 7 Free shares 8 Converted shares 9 Converted A-shares

10 Converted B-shares 11 Converted F-shares 12 Converted equity certificate 13 New shares 14 New A-shares 15 New B-shares 16 New free-shares 17 Priority shares 18 Priority A-shares 19 Priority B-shares 20 Prority free-shares 21 Preference shares 22 Preference A-shares 23 Preference B-shares 24 Preference free-shares 25 Employee shares 26 Equity certificate 27 B-free shares 28 Other 29 Exchange Traded Fund

Table 64 – equityClass constant values

8.6.11 listingClass ( Lc )

Value Description 1 Index options 2 Share options 3 Index futures 4 Interest rate future 5 Options on futures 6 Bonds 7 Certificate

Page 84: OCDF Technical Specification - Euronext

OCDF Technical Specification Date 31-07-2008

Oslo Børs ASA Page 84 of 90

Value Description 8 Premium bonds 9 Subscription rights

10 Mutual fund 11 Indices 12 Currency 13 Money market securities 14 Shares 15 Equity certificate 16 Volume 17 Share forwards 18 Index forwards 19 Warrants 20 Exchange Traded Fund (ETF)

Table 65 – listingClass constant values

8.6.12 listingCategory ( LCg )

Value Description 1 OSE Shares 3 OSE Equity certificates 4 OAX Shares 5 OAX Equity certificates (not in use) 6 OAX Issuance Instruments

11 Premium Bonds 12 Government bonds 13 Government guaranteed bonds 14 Local government guaranteed bonds 15 Mortgage institutions 16 Industry bonds 17 Debetures 18 Foreign bonds 19 Convertible bonds 20 Bonds with warrants 21 Treasury bills 22 Bank sertificates 23 Financial sertificates 24 Loan sertificates 25 Credit sertificates 29 Other sertificates 30 Banking bonds 31 Subordinated loan capital 32 Bonds in NOK, foreign borrower 33 Government owned enterprises 34 Covered Bonds 40 Convertible bonds with subscription rights 41 Convertible bonds with conversion obligation 42 Shareindexed bonds 43 Perpetual hybrid tier 1 50 Share options 51 Index options 52 Share forwards

Page 85: OCDF Technical Specification - Euronext

OCDF Technical Specification Date 31-07-2008

Oslo Børs ASA Page 85 of 90

Value Description 53 Index futures 54 Index forwards 55 Interest rate futures 60 Currency 61 Share index 62 Bond index 64 Warrant – American call 65 Warrant – American put 66 Warrant – European call 67 Warrant – European put 68 Index certificate 70 Exchange Traded Fund (ETF)

Table 66 – listingCategory constant values

8.6.13 secStatus ( SSt )

Value Description 1 Trading 2 Suspended8

Table 67 – secStatus constant values

8.6.14 secSubStatus (SSSt)

Value Description 1 Trading 2 Matching Halt 3 Trading Halt 4 Technical Halt

Table 68 – secSubStatus constant values

8.6.15 marketCode ( Mc )

Value Description 1 OB Equities 2 OB Bonds and Bond Derivatives 3 OMNO Derivatives Norway 4 Oslo Axess (Oslo Alternative Equities

Market) 5 NorgesBank Currencies 6 OB Currencies (internal use at OB only) 7 OB Alternative Bond Market 8 External

11 CSE Equities (internal use at OB only) 21 ICEX Equities (internal use at OB only) 22 ICEX Bonds (internal use at OB only) 31 Nordic Equity Indices

Table 69 – marketCode constant values

Page 86: OCDF Technical Specification - Euronext

OCDF Technical Specification Date 31-07-2008

Oslo Børs ASA Page 86 of 90

8.6.16 marketPricingType ( MPt )

Value Description 1 Aggregates 2 Yield 3 Price 4 Price in percentage

Table 70 – marketPricing type constant values

8.6.17 marketStatus ( Ms )

Value Description 1 Open 2 Closed 3 Locked/suspended

Table 71 – marketStatus constant values

8.6.18 marketSubStatus ( MSs )

Value Description 1 Normal trading 2 Pretrading 3 Odd lot matching 4 Postprocessing 5 End of postprocessing 6 End of data transmission 7 Round lot matching 8 End of trade participant information

Table 72 – marketSubStatus constant values

Page 87: OCDF Technical Specification - Euronext

OCDF Technical Specification Date 31-07-2008

Oslo Børs ASA Page 87 of 90

8.6.19 tradeType ( Tt )

Value Description Equities and Bonds

1 Auto match 3 Issuing call match 6 Portfolio trade

32 OX standard 33 OX non standard settlement 36 OX exchange granted trade 43 OX repurchase agreement 46 OX Volume Weighted Average Price 67 Derivative Related Trade 68 SI standard OTC 69 SI non-standard OTC 70 Standard OTC 71 Non-standard OTC 72 Midprice Matching

Derivatives

DSP Strategy Reporting DSL Late Trade DSA As-of-trade DSI Implied trade DS1 Exchange granted 1 (EG1) DS2 Exchange granted 2 (EG2) DSE Actual transaction took place

Table 73 – tradeType constant values

Page 88: OCDF Technical Specification - Euronext

OCDF Technical Specification Date 31-07-2008

Oslo Børs ASA Page 88 of 90

8.6.20 tradeCategory ( Tg )

Value Description 1 Official (affecting e.g. indices, open, high, low, last and official volume aggregates)* 2 Unofficial (only affecting total volume aggregates)*

Table 74 – tradeCategory constant values

* Other rules apply for the derivatives market

8.6.21 newsSource ( Ns )

Value Description 1 Oslo Børs 2 ABM – Alternative Bond Market 3 Oslo Axess

Table 75 – newsSource constant values

8.6.22 orderBookOfficial ( Of )

Value Description 0 unofficial 1 official

Table 76 – orderBookOfficial constant values

8.6.23 orderBookStateCode ( OBSc )

Value Description 1 Closed 2 Pre trading 3 Pre call 4 Call interaction 5 Uncrossing. This state is only used in

trade transactions to indicate that a trade has during an uncross.

6 Continuous trading 7 Terminating 8 Post trading 9 Issuer position modification

11 Extended continuous trading1 12 Extended continuous trading2

Table 77 – orderBookStateCode constant values

Page 89: OCDF Technical Specification - Euronext

OCDF Technical Specification Date 31-07-2008

Oslo Børs ASA Page 89 of 90

8.6.24 newsType ( Nt )/ newsTypeEnglish (NTe)

Nt values NTe values

ANDRE BØRSMELDINGER OTHER ANNOUNCEMENTS AUKSJONSKALENDER KORTE STATSPA AUCTION CALENDAR TREASURY BILL AUKSJONSKALENDER STATSOBLIGASJ AUCTION CALENDAR GOVERMENT BON AVTALER AGREEMENTS BØRSPAUSE MATCHING HALT DERIVATMELDINGER DERIVATIVE NOTICES EKS.DATO EX DATE FINANSIELL KALENDER FINANCIAL CALENDAR FINANSIELL RAPPORTERING FINANCIAL REPORT FISJON / FUSJON DEMERGER / MERGER FLAGGING DISCLOSURE REQUIREMENT GENERALFORSAMLINGSINFO GENERAL MEETING INFORMATION IKKE-INFORMASJONSPLIKTIGE PRESSEMELDINGER NON-REGULATORY PRESS RELEASES INDEKSINFORMASJON INDEX INFORMATION INFORMASJON FRA OSLO BØRS INFORMATION FROM OSLO EXCHANGE INFORMASJONSDOKUMENT INFORMATION DOCUMENT KAPITALENDRINGER / UTBYTTEOPPLYSNINGER

SHARE CAPITAL CHANGES / DIVIDEND INFORMATION

MELDEPLIKTIG HANDEL MANDATORY NOTIFICATION OF TRADE NOTERING AV VERDIPAPIRER LISTING OF SECURITIES NYHETER1 NEWS1 NYHETER2 NEWS2 OBLIGASJONSHENDELSER FIXED INCOME NEWS OPPKJØP ACQUISITIONS PETROLEUM RESERVER PETROLEUM RESERVES PROSPEKT PROSPECTUS RESULTAT KORTE STATSPAPIRER RESULT OF TREASURY BILL AUCTIO RESULTAT STATSOBLIGASJONER RESULT OF GOVERMENT BOND AUCTI RESULTATUTSIKTER EARNINGS GUIDANCE SUSPENSJONER TRADING HALTS SÆRLIG OBSERVASJON SPECIAL OBSERVATION SØKNAD APPLICATION UTLEGGELSE AV STATSOBLIGASJONE ISSUANCE OF GOVERMENT BONDS UTLEGGELSE KORTE STATSPAPIRER ISSUANCE OF TREASURY BILLS ÅRSOVERSIKT ANNUAL INFORMATION

Table 78 – newsType / newsTypeEnglish constant values

8.6.25 newsLanguage ( NLa )

Value Description NO Norwegian EN English

Table 79 – newsLanguage constant values

Page 90: OCDF Technical Specification - Euronext

OCDF Technical Specification Date 31-07-2008

Oslo Børs ASA Page 90 of 90

8.6.26 programType (Pt)

Value Description 1 Commercial papers

2 Structured

3 Covered Bonds

4 Euro Medium Term Notes

Table 80 - programType constant values