Open Market Data Model Reference Guide
Transcription
Open Market Data Model Reference Guide
Open Market Data Model Reference Guide Version 2.1 05 April 2013 OpenMDM Reference Guide © 2013 NYSE Technologies, Inc. © 2013 NYSE Euronext. All rights reserved. No part of this material may be copied, photocopied or duplicated in any form by any means or redistributed without the prior written consent of NYSE Euronext. All third party trademarks are owned by their respective owners. NYSE Euronext and its affiliates do not recommend or make any representation as to possible benefits from any securities or investments, or third-party products or services. Investors should undertake their own due diligence regarding securities and investment practices. This material may contain forward-looking statements regarding NYSE Euronext and its affiliates that are based on the current beliefs and expectations of management, are subject to significant risks and uncertainties, and which may differ from actual results. All data is as of January 17, 2011. NYSE Euronext disclaims any duty to update this information. Contact Information For any questions about this document please contact your technical account manager. Preface Audience This document should be used by anyone developing against, or consuming data from NYSE Technologies products and services. Document Conventions Information Type Example NYSE Technologies product name Feed handler Configuration file content or source code <Parameter> <Name>PublishFullOrderBook</Name> <Value>false</Value> </Parameter> Parameter / property names PublishTopOfBook Parameter / property values in text "true" File names wombat.xml Command-line commands/instruction $ uname –rm Command names setMode Environment variables WOMBAT_PATH User-replaceable text Required: <yourvalue> Optional: [yourvalue] Command-line prompt root@host# Command line output 2.6.9-55.EL x86_64 Keyboard keys [Tab] OpenMDM Reference Guide Document Revision History Release Date Version Description 22 Dec 2011 1.0 Initial release for consultation. 11 Jul 2012 2.0 Release for Phase 2 Equities and Indices: Updated Section 5: OpenMDM Field Structure: Removed the “Optional” Field Presence Flag - Field Conditions have been introduced to indicate the conditions under which the field is present. Updated the data types in Section 5.2: OpenMDM Data Types. Section 6: Event Content: Added Section 6.1: Common Event Fields. Event content tables updated to indicate field presence, conditions and event trigger. Restructured TRADE (Sections 6.2 – 6.4) to reflect different trading models. Replaced Section 6.7: ORDER BOOK DELTA & SNAPSHOT with a detailed section on Order Books (Section 6.6: ORDER BOOK). Added INDEX Event Type content. Field definitions have been updated throughout. Changed references to “Messages” to “Events”. Added Section 7: Normalization Rules. 27 Mar 2013 2.1 Added the following: Section 3: OpenMDM Scope Section 4.3: OpenMDM Releases Section 7.1: Event Lifecycle for Typical Trading Day Table 16: Trade Content Section 7.10: Session Summary Statistics Section 8.1: Trading Model Normalization Rules Section 8.4: Instrument Identification Normalization Rules (Symbology) Section 8.5: Trade Normalization Rules, incorporating Trade Qualifier and Trade Execution Venue normalization rules Section 8.6: Event Type Normalization Rules Added example event output, based on the NYSE Technologies OpenMAMA implementation, for each event type to Section 5: Event Types. Confidential Page 3 05/04/2013 OpenMDM Reference Guide Document Revision History (cont'd) Release Date Version Description 05 Apr 2013 2.1 Restructured original Section 3: Overview Updated the following: Table 1: OpenMDM Events Section 6.2: OpenMDM Data Types Section 6.3: Field Conditions Table 30: Security Status Normalization Rules Section 8.7: Quote Qualifier Normalization Rules Section 8.8: Instrument Type Normalization Rules Removed the field presence flag attribute from tables in Section 7: Event Content. Confidential Page 4 05/04/2013 OpenMDM Reference Guide Table of Contents ........................................................................................................................................................8 1 Background 1.1 About this.................................................................................................................................................................................. Document 8 ........................................................................................................................................................9 2 OpenMDM Key Features ........................................................................................................................................................10 3 OpenMDM Scope ........................................................................................................................................................11 4 OpenMDM Approach 4.1 Exceptions .................................................................................................................................................................................. 11 4.2 Version Control .................................................................................................................................................................................. 11 4.3 OpenMDM Releases .................................................................................................................................................................................. 12 ........................................................................................................................................................13 5 Event Types ........................................................................................................................................................15 6 OpenMDM Field Structure Confidential 6.1 OpenMDM Field Names .................................................................................................................................................................................. 15 6.2 OpenMDM Data Types .................................................................................................................................................................................. 16 6.3 Field Conditions .................................................................................................................................................................................. 17 6.4 Default Field Source .................................................................................................................................................................................. 17 6.5 Event Trigger Flag .................................................................................................................................................................................. 18 6.6 Field Descriptions .................................................................................................................................................................................. 18 Page 5 05/04/2013 OpenMDM Reference Guide ........................................................................................................................................................19 7 Event Content 7.1 Event Lifecycle for Typical Trading Day .................................................................................................................................................................................. 19 7.2 Common.................................................................................................................................................................................. Event Fields 22 7.3 REFERENTIAL .................................................................................................................................................................................. 23 7.4 SECURITY STATUS .................................................................................................................................................................................. 31 7.5 ORDER BOOK .................................................................................................................................................................................. 33 7.6 QUOTE .................................................................................................................................................................................. 40 7.7 AUCTION.................................................................................................................................................................................. 43 7.8 Trade Related Events .................................................................................................................................................................................. 46 7.9 SUMMARY STATISTICS .................................................................................................................................................................................. 73 7.10 SESSION.................................................................................................................................................................................. SUMMARY STATISTICS 75 7.11 INDEX .................................................................................................................................................................................. 83 ........................................................................................................................................................85 8 Normalization Rules Confidential 8.1 Trading Models .................................................................................................................................................................................. 85 8.2 Auction Type Normalization Rules .................................................................................................................................................................................. 89 8.3 Security .................................................................................................................................................................................. Status Normalization Rules 91 8.4 Instrument Identification Normalization Rules (Symbology) .................................................................................................................................................................................. 94 8.5 Trade Normalization Rules .................................................................................................................................................................................. 95 8.6 Event Type Normalization Rules .................................................................................................................................................................................. 97 8.7 Quote Qualifier Normalization Rules .................................................................................................................................................................................. 98 Page 6 05/04/2013 OpenMDM Reference Guide 8.8 Instrument Type Normalization Rules .................................................................................................................................................................................. 101 ........................................................................................................................................................113 9 Glossary Confidential Page 7 05/04/2013 OpenMDM Reference Guide 1 Background All investment institutions, and the majority of departments therein, rely on market data to fuel their business from front to back office, powering trading engines, risk management applications, treasury and compliance reports, to name a few. The evolution of technology, regulation and market activity has increased the complexity of market data. Trading technology is constantly evolving, enabling venues and firms to better compete against the backdrop of increased data volumes, faster execution speeds, and trading across venues and locations. Simultaneously, regulations like MiFID and Dodd Frank have helped to further open markets and encourage competition, while also taking greater steps to protect the industry and its investors with demands for increased transparency. Encouraged by these regulations, liquidity fragmentation continues in today’s trading environment with the establishment of new trading venues, and current markets creating new offerings and competing products. This has a major impact on market data management, as greater volumes of market data are created and delivered by more trading venues using proprietary market data logic. The market data specifications describing this logic use venue-specific terminology, and each venue provides varying degrees of detail in their explanation. The result is that the consumer is forced to make assumptions to bridge any gaps in the specification when translating the data into a format appropriate for their underlying business needs. For instance, market data vendors consuming exactly the same data sets may produce differing views of the data due to the many assumptions they have to make. The end users will then take the vendor view or multiple vendor views and translate that collection of data into their own specific data model, and so the interpretation continues. Therefore, the reality is that trading decisions could be made on the nth interpretation of the originating data. Market data experts within hedge funds, asset managers, banks, brokers, market-makers and data vendors are using their best judgment when examining market data, giving rise to a plethora of opinion and variance on the state of the market. It is widely acknowledged that an educated guess is the only option without an agreed industry-backed standard data model. A standard market data model, which everyone can work to and rely upon, would eradicate many of the challenges relating to the interpretation, consolidation and ultimately the comparison of market data. Our mission, in collaboration with the wider financial community, is to spearhead the creation of an open standard market data model. To date, our dedicated team of market data experts has created the first release of Open Market Data Model (OpenMDM), which is detailed in this document for your review and input. NYSE Technologies' goal is to have OpenMDM become the defacto market data standard, thereby reducing the current complexity, risk and cost associated with market data management. 1.1 About this Document This document defines the approach and application of the OpenMDM. It details the purpose and scope of OpenMDM, and serves as a reference on how the model normalizes market data. Confidential Page 8 05/04/2013 OpenMDM Reference Guide 2 OpenMDM Key Features Standard Market Data Events, with Associated Fields and Data Types The Phase 1 Release of the OpenMDM Reference Guide focused on categorizing the fundamental market events and behaviors, such as quote, order and trade, to enable direct comparison of data resulting from the same event across multiple markets. The Phase 2 releases further classify asset market data events and content. This categorization facilitates and simplifies electronic trading by removing some of the key friction points around integration and consolidation of complex market data offerings. Normalized Key Fields Guidance is provided on the rules to use to normalize individual field content to ensure global consistency. Any venue-specific logic that must be implemented can be covered in the product documentation. Open and Published OpenMDM, although spearheaded by NYSE Technologies, is a community driven initiative which actively welcomes input from all interested parties, including customers, partners and third-party vendors. The goal of OpenMDM is to agree on a standard for market data across the NYX community network, and open this standard for adoption across the industry. Market Data Glossary The Glossary provides a dictionary of market data terms globally. Confidential Page 9 05/04/2013 OpenMDM Reference Guide 3 OpenMDM Scope The OpenMDM can be applied at any point in the market data life cycle, from the Exchange through to the end customer. Once it is applied to the data, then all consuming applications south of the point of application will benefit from the ability to interpret, compare and consolidate the market data in a consistent, standard manner. The following figure illustrates how OpenMDM fits into the market data life cycle, using OpenMAMA and XDP as example implementations. This illustration is abstracted from the messaging protocol and middleware. Figure 1: OpenMDM w ithin the m arket data life cycle Confidential Page 10 05/04/2013 OpenMDM Reference Guide 4 OpenMDM Approach To ensure market data is provided consistently across all offerings, the OpenMDM concentrates on: Events: Producing a standard classification of market data events and associated views. Event data: Defining clearly the data content (fields) associated with an event occurring. Field definitions: Ensuring all fields are clearly defined using universally recognizable market data terms and language. Field data types: Maintaining uniform data types across products for these fields. Field content: Providing transparency on normalized field content, i.e. illustrating and explaining any calculations or logic used. Common language: Providing a supporting glossary of terms that details common language used globally. Note 4.1 The underlying OpenMDM does not mandate the technology, encoding format, or mechanisms by which the data may be distributed by an individual product, for example, publishing data only when it has changed or flagging that multiple updates should be consumed atomically. Those behaviors must be detailed at an individual product level. Exceptions If for any reason an individual product or group of products does not comply with any of the rules defined within the data model, it is recommended that this should be clearly stated within the product-specific documentation. 4.2 Version Control The OpenMDM adheres to the following version numbering scheme: <major no>.<minor no> where: major no – Reflects a change in the identified event or underlying data types. minor no – Reflects a change to existing field attributes (including normalization rules) or new field additions to existing event types. Each individual NYSE Technologies offering will include details of the version of the OpenMDM that it adheres to. This information will be identified in the following locations: A reference in all supporting documentation for the offering, such as the product configuration guide, data mapping specification, or release notes. Where applicable, a run-time log entry in the product logs. Confidential Page 11 05/04/2013 OpenMDM Reference Guide 4.3 OpenMDM Releases The following table details the phased releases of market data content coverage. Note: The order and content of each phase is subject to change. Table 1: OpenMDM Phased Releases Phase 1 Asset Class Events Core content (common to all asset classes) Quote Trade Trade Cancel Trade Correction Order Book* Auction Security Status Referential Phase 2 Equities Indices Phase 3 Phase 4 Derivatives Fixed Income (including Forwards, Futures and Options) Phase 5 Phase 6 FX Additional assets as required Index Trade Statistics Summary Statistics Session Summary Statistics Updates to Trade to reflect Last Sale/Delta models Additional events Additional events as required (e.g. as required (e.g. Sentiment Data) Corporate Action, General Update, News/Mail) Additional core Additional content content as required Tick size table fields Field Content Global field content for each event (i.e. excluding regional, asset class or venue-specific fields) Updated and supplementary core content Equities and Indices fields Dictionary Fundamentals Data Types Updates to data Further updates as Further updates as Further updates as Further updates as types required required required required Enum values Reference Documentation Normalization Rules Normalization Rules updates: Trade qualifier Quote qualifier Further updates as Further updates as Further updates as required required required * Snapshot, Price Level Aggregate, and Order by Order view s. Confidential Page 12 05/04/2013 OpenMDM Reference Guide 5 Event Types The OpenMDM presents a list of event types that are driven by market data events, such as quotes and trades. Each event has clearly defined field content associated with the event. Note Table 2: OpenMDM Events does not contain a finite list of events. New events will be added as required during development of the OpenMDM, and existing events are subject to ongoing maintenance. Table 2: OpenMDM Events Event Type Event Content Overview REFERENTIAL Represents standing data such as symbol, commodity, and exchange information and any pertinent information about the contract terms. Prior trading period closing/settlement prices can also be disseminated in this event type. Typically this represents static data. SECURITY STATUS Data that indicates the current market trading condition of an individual security, for example, if trading in the security is suspended. This identifies phase transitions in the venue’s market model. ORDER BOOK Represents the state of the order book. QUOTE The most current bid or ask prices and quantities at which the instruments can be bought or sold. The bid quote shows the price and quantity at which a current buyer is willing to purchase the instruments, while the ask shows what a current participant is willing to sell the instruments for. TRADE Information that belongs to a transaction that involves the selling and purchasing of a tradable instrument. TRADE CANCEL A transaction that involves cancellation of a previously disseminated Trade. TRADE CORRECTION A transaction that involves correction of information in a previously disseminated Trade. AUCTION Data disseminated during the auction period, i.e. the period of time when there is no automatic execution on an order book. This also includes indicative data and, where relevant, imbalance data sent during the process that matches orders at the end of an auction and determines the final auction price. SUMMARY STATISTICS Non real-time summary statistic information, such as High/Low/Totals. Note: Real-time trade information will be sent in a TRADE event, rather than in the SUMMARY STATISTICS event. See Section 7.8: Trade Related Events for details. Confidential Page 13 05/04/2013 OpenMDM Reference Guide Event Type Event Content Overview SESSION SUMMARY STATISTICS Non real-time session level summary statistics information, applicable if the trading period comprises multiple sessions. CORPORATE ACTION Information on any event that brings material change to a company resulting in changes to the information listed against the instrument. For example, stock splits/dividend/mergers/acquisitions, etc. GENERAL UPDATE Generic data that falls outside of pre-defined events. NEWS/MAIL Data that indicates news activity and/or manual alerting notices from the source via market data dissemination. SESSION TIMETABLE Data that indicates the current trading session timetable of an individual or group of securities. For example, auction periods. SNAPSHOT (REFRESH) Contains all available information on a security, for use in the event of an intraday recovery, or an application that takes periodic data points. INDEX Information related to index valuation. Confidential Page 14 05/04/2013 OpenMDM Reference Guide 6 OpenMDM Field Structure A field is a piece of data with clearly-defined attributes. The OpenMDM has standardized the field attributes, as detailed below: OpenMDM Field Name OpenMDM Data Type Field Conditions Default Field Source Event Trigger Flag Description Status: "Active" or "Deprecated". Maintained at OpenMDM level, but applied at the product level. Only "Active" fields are detailed in the Phase 2 Equities and Indices release. Hence, the column is not present in the Event Content tables. Note 6.1 This is not an exhaustive list of potential field attributes, as some products may have additional information. OpenMDM Field Names Table 3: OpenMDM Field Naming Conventions OpenMDM Field Name Format Description Orig<Field name> Indicates an original field that was later canceled or corrected. Correction<Field name> Indicates a corrected field. Used with trade corrections. Source<Field name> Indicates that the field contains the original data from the source. The naming convention is used to distinguish that there is also an equivalent field that is mapped or calculated, such as a qualifier field, in order to fully normalized the content. <Event Type><Field name> Indicates that the field relates to the timing of an event occurring, for example, for a trade executing on an Exchange the event fields would be TradeDate and TradeTime. Publication<Field name> Indicates that the field relates to the data being published, for example, when the data is published on the market data feed from the Exchange. The convention applies to fields connected with the packing and distribution of the data to the wire, such as the timing and sequence fields. Receive<Field name> Indicates that the field relates to the data being received by the consuming application. The convention applies to fields connected with the receipt and unpacking of the data from the wire. On the receive side, this tends to be timing and sequence fields. Confidential Page 15 05/04/2013 OpenMDM Reference Guide Note 6.2 w<Field name>: Any NYSE Technologies product or offering that is disseminated over MAMA will be maintaining the "w" prefix for all data model field names. See the following document for details: OpenMDM Impact on Data Disseminated over MAMA. OpenMDM Data Types Each OpenMDM field has an associated data type. The table below details each supported OpenMDM data type, along with an OpenMAMA example illustrating how an application can code for the respective data type. Table 4: OpenMDM Field Data Types Default OpenMDM Data Type Description OpenMAMA Example Implementation F64 64 bit floating point decimal - range 1×10-308 to 1×10308 F64 U64 Unsigned 64 bit integer - range 0 to 18,446,744,073,709,551,615 U64 I64 Signed 64 bit integer 9,223,372,036,854,775,807 Bool Boolean - can only be "true" or "false". Used for logical checking. Used for Bool controlling program flow, for example, if "true" {do this} else {do that}. Char A single character (not a string) - any value of the alphabet, a digit, or certain Char other special characters (full ASCII set is permitted) –128 to 127 by default String A group of ASCII characters, words or groups of words, or any random group of String characters, for example, "this is a string". Price A complex data type for representing prices as 64-bit double precision floating MamaPrice point numbers with additional metadata to indicate validity and precision, i.e. a display hint used for formatting. DateTime A complex data type for representing date/time in seconds since 1970-01- MamaDateTime 01T00:00::00 UTC (Unix epoch) and microseconds since the last second, with additional metadata for date/time presence and sub-second precision. The data (NanoTime type may type needs to be able to support conversion into the following format: YYYY-MM- added in future) DDThh:mm:ss (ISO:9601:2004), with additional support for microsecond precision. - range -9,223,372,036,854,775,808 to I64 be Note: The OpenMDM plans to move from microsecond to nanosecond precision Confidential Page 16 05/04/2013 OpenMDM Reference Guide Default OpenMDM Data Type OpenMAMA Example Implementation Description in a future release. 6.3 Message A group of fields. Message Enumeration A U16 representing one value out of an enumeration, i.e., a predefined set of U16 values. (Enum type may be added in future) Bitset32 A U32 representing multiple values out of an enumeration, i.e., a predefined set of U32 values. Restricted to 32 values. (Bitset type may be added in future) <DataType>Vector An array of distinct instances of <DataType>, where <DataType> can be any of the types listed above. U32Vector F64Vector MessageVector Field Conditions Field conditions are predefined rules or criteria used to determine the presence of a field. Field conditions are currently explained descriptively, however programmatic/logical definitions will be provided in future releases. Conditions that can be used to determine the presence of a field include: The presence of another field. The presence of another field with a specific value, for example, InstrumentType with value "Equity". A user defined condition. A field is mandatory if there are no conditions on its presence. A mandatory field is one that should always be available across all products for specified events. The data used to populate mandatory fields is available from the Source, either directly or as a derived value. When the value must be derived from a Source value, the Source should provide guidelines on how to derive the required data. Mandatory fields that cannot be provided by a product or offering should be documented as an OpenMDM exception. 6.4 Default Field Source A field can be populated from an original Source value, via a normalization translation on the Source value, or via a calculation performed by the product. The underlying rule of the OpenMDM is that, if the data is available from the data source and does not require normalization of content in order to be presented in a globally consistent manner, then the Source value is used. The Default Field Source is the preferred content source, maintained at OpenMDM level, but applied at the product level. Confidential Page 17 05/04/2013 OpenMDM Reference Guide The default field source is identified using the following key: Source Value (S): The original source field name is normalized to an OpenMDM field name, but the content of the field is exactly as sent by source. Normalized (N): The field name is normalized to an OpenMDM field name and the source content has been translated to a standard value or format, according to predefined normalization rules. For example, the SourceSecurityStatus value “Trading” is translated to the normalized SecurityStatus value “Normal”; the raw fields ISIN, Currency and MIC are used to normalize symbology into InstrumentID as ISIN. CURRENCY.MIC. Calculated (C): The field name is normalized to an OpenMDM field name, and a predefined calculation is applied to incoming source data. Each field flagged within the OpenMDM as Normalized (N) has supporting information detailed in Section 8: Normalization Rules, which is a master set of rules used to standardize the specific data content. Product-specific information on the exact logic used to adhere to the normalization rule, such as how the source security status information on a specific venue is translated to the standard, should be stated in the product documentation. 6.5 Event Trigger Flag The event trigger flag can be used by consuming applications to determine if the presence of the individual field identifies the occurrence of a specific event. Valid values are: Auto: The presence of the field automatically indicates an event instance Cond: The presence of the field, plus certain specified conditions, indicates an event instance No flag: Indicates that the field should not be used to identify an event. 6.6 Field Descriptions The OpenMDM provides agnostic field descriptions using globally recognizable market data terms and language, with examples where necessary. This is required to ensure content is clearly identifiable. If the data is known by different terms, such as regional terms, all references are included in the description or in the Glossary. Confidential Page 18 05/04/2013 OpenMDM Reference Guide 7 Event Content This section provides an overview of the field content supporting each type of event, and identifies the core fields that should be available in each type of event, irrespective of asset class, region, Exchange or feed source. Example event output, based on the NYSE Technologies OpenMAMA implementation, is provided for each event type to illustrate how the model has been applied in practice. 7.1 Event Lifecycle for Typical Trading Day The following tables summarize the main events and security status transitions that occur on a typical trading day for instruments following the continuous trading model (see Section 8.1: Trading Model Normalization Rules for details on trading models). Table 5: Event Lifecycle Trading Phase Events Description PreOpen Referential Reference data is sent down in preparation for the trading day. Security Status The trading status of each individual instrument is sent down. Order Book Any outstanding orders and associated messages from the previous day are sent to prepare the order book for the current day. Security Status Instruments (subject to their respective trading model) transition into an auction trading status. Order Book Orders are accumulated without execution. Auction Indicative uncrossing information may be published based on Exchange rules for order matching. Quote Indicative quote information may be published based on Exchange rules for order matching. Security Status Instruments (subject to their respective trading model) transition into an auction trading status. Order Book The resulting output of the price determination/matching period is a final auction price. The Exchange set the rules used to determine the price, which is normally the price at which the highest possible turnover will occur. Orders are executed at this price and the order book is updated accordingly. During this period orders cannot be entered, to prevent traders pushing the price in the last few seconds of the auction. Auction/PreOpen (Call) Auction/PreOpen (Uncrossing/Matching) Confidential Page 19 05/04/2013 OpenMDM Reference Guide Trading Phase Main/Core Auction/PreClose (Call) Auction/PreClose (Uncrossing/Matching) Confidential Events Description Auction The resulting output of this period is that the final (firm) auction price is published. Trade Related Events The resulting trades matched at the final auction price are auction trades. Real-time trade statistics are also generated. Summary Statistics A summary view of the trades that occurred as a result of the auction. Usually sent non-realtime. Order Book Orders are accumulated with execution. Quote BBO (Best Bid and Offer) Quotes as a result of the Order Book. Trade Related Events Trades that occur as a result of order matching. Real-time trade statistics are also generated. Summary Statistics A summary view of the trades that have occurred during the trading day. Usually sent non-realtime. Security Status Instruments (subject to their respective trading model) transition into an auction trading status. Order Book Orders are accumulated without execution. Auction Indicative uncrossing information may be published based on Exchange rules for order matching. Quote Indicative quote information may be published based on Exchange rules for order matching. Security Status Instruments (subject to their respective trading model) transition into an auction trading status. Order Book The resulting output of the price determination/matching period is a final auction price. The Exchange set the rules used to determine the price, which is normally the price at which the highest possible turnover will occur. During this period orders cannot be entered, to prevent traders pushing the price in the last few seconds of the auction. Auction The resulting output of the price determination/matching period is a final auction price. Trade Related Events The resulting trades matched at the final auction price are auction trades. Real-time trade statistics are also generated. Page 20 05/04/2013 OpenMDM Reference Guide Trading Phase Closed Events Description Summary Statistics A summary view of the trades that occurred as a result of the auction. Normally non-realtime. Summary Statistics A final view of trading statistics for the trading day, inclusive of closing prices and/or settlement information. Table 6: Security Status Transitions Trading Phase Description Security Status Security Status Qualifier PreOpen PreTrading Maintenance activity on Closed system in preparation for trading day. PreOpen Auction/PreOpen Call Morning auction call period. Auction Orders are accumulated without execution. PreOpen Uncrossing Matching period at the end Uncrossing of the auction where orders are executed. PreOpen Main/Core Continuous Trading Main trading period with Normal automatic execution to orders. None Auction/PreClose Call Evening auction call period Auction - Orders are accumulated without execution. execution. PreClose Uncrossing Indicative uncrossing Uncrossing information may be published based on exchange rules for order matching. PreClose The system is closed. None Closed Confidential Page 21 Closed 05/04/2013 OpenMDM Reference Guide 7.2 Common Event Fields The following table lists fields that are common to all publishing application events, including protocol-related fields. Note The OpenMDM plans to move from maintaining separate Date and Time fields to combined DateTime fields that have nanosecond precision. For example, QuoteDate and QuoteTime would change to having a single combined QuoteDateTime. Table 7: Common Event Fields OpenMDM Field Name OpenMDM Data Field Type Conditions Default Field Source EntitleCode I64 N Entitlements code used for entitlements checking and reporting. EventType Enumeration N Conditional Normalized event type identifier. Refer to the normalization (depends on rules for details. the value of EventType) InstrumentId String N Normalized unique instrument identifier. Refer to the normalization rules for details. PublicationDate DateTime S Date that the event was published by the Source. When the date is not available from the Source it will be generated in the Application. PublicationSeqNo I64 S Sequence number for the event type, typically provided by the Source. PublicationTime DateTime S Time that the event was published by the Source. When the time is not available from the Source it will be generated in the Application, in which case it may not exactly represent the original publication time. ReceiveDate DateTime C Date that the application first received the data from the Source. This is usually when it reads the data from a socket. Confidential Page 22 Event Description Trigger Flag 05/04/2013 OpenMDM Reference Guide 7.3 OpenMDM Field Name OpenMDM Data Field Type Conditions Default Field Source ReceiveTime DateTime C SourceEventType String S Event Description Trigger Flag Time that the Application first received the data from the Source. This is usually when it reads the data from a socket. Conditional Event type identifier, as reported by the Source. (depends on the value of EventType) REFERENTIAL The REFERENTIAL event type includes a number of identifier fields that can be used to uniquely identify a security. Although this appears to be duplicate information, the REFERENTIAL event type includes all the commonly used industry standard identifiers, as both users and consuming applications have specific requirements/preferences on the identifier they use. Table 8: REFERENTIAL Event Fields OpenMDM Name Field OpenMDM Data Type Field Conditions Default Field Source Event Trigger Flag Description AdjustedPreviousClose Price Price S Auto PrevClosePrice adjusted by corporate actions, such as dividends and stock splits on the ex-date. Adjustments are provided by the Source. BloombergBBGID String S Auto Bloomberg Global Identifier: Unique, randomly generated code (‘BBG’ followed by 9 alpha-numeric characters) assigned by Bloomberg for all instruments across all asset classes.See http://bsym.bloomberg.com/sym/ for details. BloombergBSID I64 S Auto Bloomberg Security ID Number with Source: Unique integer identifier assigned by Bloomberg. See http://bsym.bloomberg.com/sym/ for details. BloombergBUID String S Auto Bloomberg Unique Id: Alphanumeric identifier assigned by Bloomberg to all securities. See Confidential Page 23 05/04/2013 OpenMDM Reference Guide http://bsym.bloomberg.com/sym/ for details. CFI String S Auto The CFI (Classification of Financial Instruments) code specified in the ISO-10962 standard. It is made up of six letters that together describe the characteristics of an instrument, including the category, the group, and any special attributes of the group. CircuitBreakerLevel1 Price Limit Thresholds S are in operation on the market. Auto The price at which a Level 1 Circuit Breaker is triggered. CircuitBreakerLevel2 Price Limit Thresholds S are in operation on the market. Auto The price at which a Level 2 Circuit Breaker is triggered. CircuitBreakerLevel3 Price Limit Thresholds S are in operation on the market. Auto The price at which a Level 3 Circuit Breaker is triggered. Country Enumeration N Auto Country code of registration for an instrument, as specified in the ISO 3166-1 alpha-3 standard. Valid values include: GBR USA JPN DEU Currency Enumeration N Auto Code representing the currency in which the instrument is traded, as specified in the ISO 4217 standard. Valid values include: HKD EUR GBP USD CUSIP String Product issued S from the United States or Canada. InstrumentType <>Option or Auto CUSIP code, a nine character alpha-numeric code assigned by the National numbering agency for North America (NNA) that uniquely identifies any North American security. Confidential Page 24 05/04/2013 OpenMDM Reference Guide Future Dividend Price InstrumentType =Equity S Auto The distribution of a company's earnings paid to the shareholders, expressed as an amount per share. Can be issued by a company as an interim dividend or a final dividend. ICB String InstrumentType =Equity S Auto Industry Classification Benchmark (ICB) code. ICB is the joint classification system launched by Dow Jones Indices and the FTSE Group. The system comprises industries, supersectors, sectors and subsectors, in which issuing companies of listed stocks are classified. Example values include: 2000 - Industrials (Industry) 2700 - Industrial Goods & Services (Supersector) 2720 - General Industrials (Sector) 2723 - Containers & Packaging (Subsector) InstrumentName String S Auto Full name of the instrument, for example "Apple Inc.", "Corn Futures". InstrumentSubType Enumeration N Auto Instrument sub-type classification. The sub-type represents the secondary level of the primary instrument type classification. Example values include: 'Corporate Bond' - a sub-type of the instrument type 'Bonds' 'Ordinary Share' - a sub-type of the instrument type 'Equities' InstrumentType Enumeration N Auto Normalized instrument classification. Example values include: 'E' - Equity 'B' - Bond Refer to normalization rules for example types. Isin Confidential String S Page 25 Auto International Securities Identification Number is a code that uniquely identifies an instrument, as defined in the ISO 6166 standard. An ISIN is a 12-character alphanumeric code, generally made up of a two letter country code, a nine character national security identifier 05/04/2013 OpenMDM Reference Guide assigned by the relevant national numbering agency, plus a single check digit. Example values include: US0378331005 (Apple Inc.) GB0001383545 (FTSE 100 Index Future) LotSize U64 InstrumentType <>Index S Auto The standard quantity increment of a transaction for each instrument, expressed in the unit of trade (see UnitOfTrade). The quantity of an order entered by a trading member on the market must be a multiple of the lot size. This number is also called the minimum market tradeable quantity or lot quantity. MarketId String Unique market S identifier<>MIC Auto Primary market identifier as alternative to MIC. MIC String S Auto The market identification code specified according to the ISO-10383 standard. Example values include: XLDN - NYSE Euronext - Euronext London XLON - London Stock Exchange XETR - Xetra Mnemonic String S Auto Tradeable Instrument Display Mnemonic: a ticker symbol, also known as a stock symbol. A unique string of alphanumeric characters that identifies a particular stock on a particular stock market. NominalValue Price S Auto Arbitrary value at which an instrument will be settled. The nominal value is typically the accounting valuation for the instrument. It can be used where a market price has not been established. Where the buying of shares is concerned, if the market price is more than the nominal value, investors consider this difference as a premium on the amount paid for the shares. Where market price is less than the nominal value, the difference is considered a discount. PreviousAskClose Price S Auto The last ask (sell) price offered for an instrument during the previous trading period. PreviousAskCloseDate DateTime S Auto Date associated with the PreviousAskClose. Confidential Page 26 05/04/2013 OpenMDM Reference Guide PreviousBidClose Price S Auto The last bid (buy) price offered for an instrument during the previous trading period. PreviousBidCloseDate DateTime S Auto Date associated with the PreviousBidClose. PreviousCloseDate DateTime S Auto Date associated with the PreviousClosePrice. PreviousClosePrice Price C Auto The last qualifying trade price, as per trade normalization rules, on the previous trading period. This field may be populated from any one of the following: calculated from the ClosePrice field obtained from a secondary source sent by the Source prior to the opening of trading for the current trading period PreviousVolume U64 S Auto Total number of instruments traded during the previous trading period. QuantityNotation String S Auto The nature of the amount expression used for negotiating the instrument on the market, i.e. a single, indivisible amount. Example values include: Share Contract Kilogram Percentage of nominal value ReferencePrice Price S Auto Reference price for the instrument. This may be determined by the exchange in a number of ways, e.g. the mid price between the LimitHigh and LimitLow. The type of reference price is indicated in ReferencePriceType ReferencePriceType Enumeration N Auto Indication of the type of price being represented by ReferencePrice. Example values are: InstrumentType <>Index Custom, e.g. Calculated Session Price Mid Price Yield Basis points Previous Close Price Open Price Last Trade Confidential Page 27 05/04/2013 OpenMDM Reference Guide ReferentialDate DateTime S Auto Date that the event occurred. When the date is not available from the Source it will be generated in the Application. ReferentialTime DateTime S Auto Time that the event occurred. When the time is not available from the Source it will be generated in the Application, in which case it may not exactly represent the time of the original event. SecurityId String N Auto Official code for the security that is used for order entry. This may be equivalent to the codes such as CUSIP and ISIN, depending on SecurityIdSource. SecurityIdType Enumeration N Auto The type of identifier used when placing orders, such as CUSIP, ISIN, and SEDOL. This field can also be used to indicate rules that may need to apply to SecurityId for order entry. SEDOL String Product issued S from the United Kingdom or Ireland Auto Stock Exchange Daily Official List code. A seven character alpha-numeric code assigned by the London Stock Exchange that uniquely identifies any United Kingdom security. It also forms part of the security's ISIN. SharesOutstanding I64 InstrumentType =Equity S Auto The number of shares in an instrument that are held by investors. Includes restricted shares owned by employees and insiders of a company, and also common shares held by the public. Any shares repurchased by a company are not considered as outstanding. SourceInstrumentId String S Auto Identifier for the instrument as reported by the Source. SourceInstrumentSubTy String pe S Auto Instrument sub type classification, as reported by the Source. The sub type represents the secondary level of the primary instrument type classification. SourceInstrumentType String S Auto Instrument type classification, as reported by the Source. TickIncrement Price S Auto Minimum price movement of an instrument. TradingModel Enumeration N Auto Normalized identifier for the type of trading model. A trading model is a set of rules established by an exchange that defines the behaviour of the trading that occurs. Example values are: Confidential Page 28 05/04/2013 OpenMDM Reference Guide Continuous Trading Single Auction Continuous Auction for high quotation volume Closing Price Crossing Refer to normalization rules for details. TradingModelQualifier Enumeration N Auto Second-level classification of the type of trading model. More than one condition can be carried in this field. Examples include: an instrument traded in continuous auction has only one auction an instrument traded in continuous auction has a special auction for subscription rights a liquidity provider participates in continuous trading etc. Example 1: REFERENTIAL Event wEntitleCode | int | * | 51602 wMsgType | int | * | 14 wIssueSymbol | string | * | PLLGLSR00013.PLN.XNCO wSrcDate | date | * | 2012/10/22 wSeqNum | int | * | 3 wSrcTime | time | * | 10:46:31 wLineDate | date | * | 2012/10/22 wLineTime | time | * | 08:49:48 wEventType | string | * | E wDisplayHint | int | * | 0 wPubId | string | * | warsaw wAdjPrevClose | price | * | 4.81 wBloombergBBGID | string | * | BBG0000HS885 wBloombergBSID | int64 | * | 399432473346 wBloombergBUID | string | * | EQ0010080100001000 wCfiCode | string | * | ESXXXX wCountry | string | * | FRA wCurrency | string | * | EUR wCusip | string | * | 023135106 wDividend | price | * | 5000.86 wDescription | string | * | ULRIC DE VARENS Confidential Page 29 05/04/2013 OpenMDM Reference Guide wInstTypeQual | enum | * | Stock wInstrumentType | enum | * | Stock wIsinCode | string | * | DE0005200000 wLotSize | quantity | * | 1 wMarketId | string | * | 25 wMicCode | string | * | XETR wMnemonic | string | * | BEI wNominalValue | price | * | 39.64 wPrevCloseDate | date | * | 2012/03/06 wPrevClosePrice | price | * | 65466.86 wPrevVolume | quantity | * | 3011 wReferentialDate | date | * | 2012/10/22 wReferentialTime | time | * | 06:30:00 wOfficialCode | string | * | FFBXF02E1EB0D4S wOfficialCodeType | enum | * | Local Code wSedol | string | * | 0263494 wSharesOut | int64 | * | 300000 wInstrumentClass | string | * | 100 wInstTypeOrig | string | * | 21 wTickIncrement | price | * | 0.010000 wTradingModel | string | * | 02 wQuantityNotation | int | * | 1 wTickSizeTableId | string | * | 04 wTickSizeBoundary | double_vector | * | wTickSizeValue | double_vector | * | wTickSizeMultiplier | int | * | 100 Confidential 100000 0.01 Page 30 05/04/2013 OpenMDM Reference Guide 7.4 SECURITY STATUS Security status indicates the current market trading condition of a group or individual security, for instance, if trading in the security is halted. Changes in security status also indicate the changes in the trading phase a security goes through. A trading phase defines the trading rules and behavior for that period, for example, whether you can enter orders or not, whether the trading engine is up, whether the security is in auction. Each security follows a trading model (or market model), which outlines the trading phases that a security goes through under normal conditions, as well as indicating when and why a security may move off its normal flow, for instance when there is a volatility auction due to price monitoring. This information is essential for trading, due to the global complexity in trading phases and what it means for trading. The required details are: When the trading system is up When the trading system is in auction (Morning, Closing, Volatility, Extensions, Intraday etc) When the trading system is in continuous trading When a stock / market is halted When the trading system closes This information allows traders to, for instance, identify whether the market is open, whether matching is occurring, and what order types can be entered. With the variety of trading systems in use globally today, the ways in which this information is disseminated varies greatly, using anywhere between 10 and 200 indicators to represent these trading phases. This can be complex to interpret and our ability to represent these values as common and consistent values are a key value add in our data model. Table 9: SECURITY STATUS Event Fields OpenMDM Field Name OpenMDM Data Type Field Conditions CircuitBreakerStatus Char HaltReason Enumeration Default Field Source Event Trigger Flag Description Limit Thresholds S are in operation on the market. Auto The circuit breaker level that has been triggered. N Auto Reason why trading in a particular instrument has halted. Example values include: Not Halted Regulatory - there is a regulatory reason for the Trade Halt Suspended - suspended by surveillance Confidential Page 31 05/04/2013 OpenMDM Reference Guide OpenMDM Field Name OpenMDM Data Type Field Conditions LimitHigh Price LimitLow Price SecurityStatus Event Trigger Flag Description Limit Thresholds S are in operation on the market. Auto The maximum price for which trades are authorized on an instrument. Orders submitted with prices above this level will be rejected. This threshold will typically be set by the Exchange. Limit Thresholds S are in operation on the market. Auto The minimum price for which trades are authorized on an instrument. Orders submitted with prices below this level will be rejected. This threshold will typically be set by the Exchange. Enumeration N Auto Normalized first-level classification of the current Trading Phase. This is the primary indicator of status. Refer to the normalization rules for details. SecurityStatusDate DateTime S Auto Date that the event occurred. When the date is not available from the Source it will be generated in the Application. SecurityStatusGroup U32Vector Update reflects S a change in group membership for instrument. Auto An identifier indicating the group(s) an instrument belongs to with respect to SecurityStatus updates. SecurityStatusQual Enumeration N Auto Normalized second-level classification of the current Trading Phase. This is the secondary indicator, providing a qualification of SecurityStatus. Refer to the normalization rules for details. SecurityStatusTime DateTime S Auto Time that the event occurred. When the time is not available from the Source it will be generated in the Application, in which case it may not exactly represent the time of the original event. SourceSecurityStatus String S Auto Classification of the current Trading Phase, as reported by the Source. Confidential Default Field Source Page 32 05/04/2013 OpenMDM Reference Guide Example 2: SECURITY STATUS Event wEntitleCode | int | * | 51602 wMsgType | int | * | 14 wIssueSymbol | string | * | PLLGLSR00013.PLN.XNCO wSrcDate | date | * | 2012/10/22 wSeqNum | int | * | 3 wSrcTime | time | * | 10:46:31 wLineDate | date | * | 2012/10/22 wLineTime | time | * | 08:49:48 wEventType | string | * | E wDisplayHint | int | * | 0 wPubId | string | * | warsaw wHaltReason | enum | * | Not specified wSecurityStatus | enum | * | Normal wSecurityStatusDate | date | * | 2012/03/06 wGroupSecStatus | string | * | PRETR wSecStatusQual | enum | * | None wSecurityStatusTime | time | * | 09:00:00 wSecurityStatusOrig | string | * | IA 7.5 ORDER BOOK Market data sources may provide order book data in a variety of ways. The approach may vary according to: Level of information Message content Update method This section outlines the different approaches and key concepts, and describes how this data is represented in the OpenMDM. 7.5.1 Level of Information Price levels and entries Order books are typically organized as multiple distinct “price levels” representing the aggregated buy or sell size available at each level. Within each price level there may exist multiple order book “entries”. An order book entry may be an individual limit order or the total size available from an individual market participant, such as a market maker. Some sources do not provide details of individual orders within price levels. Book depth Book depth refers to the number of price levels available in the book. Some sources provide all price levels in each instrument's book, others provide only the top N price levels, where N is typically 5 or 10. Confidential Page 33 05/04/2013 OpenMDM Reference Guide 7.5.2 Message Content Price level attributes Price level messages may include some or all of the following: Total size Number of entries at the price level Price level time stamp Details of individual entries at each price level Order entry attributes Order entry messages may include some or all of the following: Entry ID (order ID or market participant ID) Entry size Entry time stamp 7.5.3 Update Method The order book data may be provided as one of the following: A delta, which represents the change to the order book since the last update. A snapshot, which provides the entire state of the order book. 7.5.4 Order Book Data in OpenMDM The OpenMDM provides the following representations of order book data: Price Level Aggregated: The order book is aggregated by price level. BBO Quote: The calculated Top-of-book (best bid and offer). See the QUOTE event for details. Order By Order: Includes all price levels, and all order entries within price levels. The views available will depend on the level of information from the incoming source. Table 10: Available OpenMDM Order Book Views outlines some of the most common scenarios. Confidential Page 34 05/04/2013 OpenMDM Reference Guide Table 10: Available OpenMDM Order Book Views Data Provided By Source Order Book View Available Order By Order Delta Price Level Aggregated Delta Order By Order Snapshot Price Level Aggregated Snapshot Each Add, Update, Delete Order with Time Yes Calculated using Order By Order data by aggregating and presenting volume at every bid and ask price and determining resulting change. Calculated using Order By Order to present both aggregated price levels and all order entries within those price levels Calculated using Order By Order data by aggregating and presenting volume at every bid and ask price level. Price Level Aggregated Delta changes via Add, Update, Delete with Time No Yes No Calculated using Price Level Aggregated changes. Price Level Aggregated Delta changes via Add, Update, Delete with Position. No Yes No Calculated using Price Level Aggregated changes. Price Level Aggregated Snapshot with Time No Calculated between snapshot. using each difference received No Yes Price Level Aggregated Snapshot with Position No Calculated between snapshot. using each difference received No Yes The OpenMDM Order Book event views for each instrument is a vector of sub messages of aggregated price level information. Each element in the price level vector corresponds to a given price and side, and may also contain a further vector of sub messages that document the orders contributing to that price and side. The high level structure of this part of the data model in shown in Figure 2: OpenMDM order book structure. Confidential Page 35 05/04/2013 OpenMDM Reference Guide Figure 2: OpenMDM order book structure Confidential Page 36 05/04/2013 OpenMDM Reference Guide The Order by Order Entry view provides each individual order entry. In the case of multiple orders at the same price, position is indicated by the timestamp EntryTime. Table 11: ORDER BOOK Event Fields - Order by Order Entry View OpenMDM Field Name OpenMDM Data Type EntryAction Char Field Conditions Default Field Source Event Trigger Flag Description S Auto Code indicating how the order entry should be applied to the order book for the Instrument: 'A' - Add a new order entry 'U' - Update an existing order entry 'D' - Delete an existing order entry EntryId String S Auto Identifier for the order book entry. This should (at a minimum) be unique at the price level. EntryPosition I64 Source market S supports order by position Auto The positional index of the order book entry. EntrySize U64 S Auto Total number of units (see UnitOfTrade) within this order. This value should be a multiple of LotSize. EntryTime DateTime S Auto Time that the event occurred. When the time is not available from the Source it will be generated in the Application, in which case it may not exactly represent the time of the original event. OrderType Enumeration N Auto Indicator representing the type of order that occurred for the order book entry. Example values include: Market Order Limit Order Note: This entry attribute is not currently maintained in the OpenMDM ORDER BOOK - Order by Order Entry view. However, we are examining the ability to do so in the future. Confidential Page 37 05/04/2013 OpenMDM Reference Guide The Price Level Aggregated view provides aggregated price level information, i.e. the aggregate volume at every bid and ask price. Table 12: ORDER BOOK Event Fields - Price Level Aggregated View OpenMDM Name Field OpenMDM Data Type Field Conditions Default Field Source Event Trigger Flag Description PriceLevelAction Char S Auto Code indicating how the price level update should be applied to the order book for the instrument. Valid values are: 'A' - Add a new price level 'U' - Update existing price level 'D' - Delete existing price level PriceLevelEntries MessageVector Entry Information available S Auto Vector containing individual order book entries. PriceLevelNoEntries I64 S Auto Number of order book entries at this Price Level and Side after the update has been applied. PriceLevelPrice Price S Auto Monetary value of one unit of the instrument (see UnitOfTrade) at this price level. PriceLevelSide Char S Auto Side of the order book to which the price level belongs. Valid values are: 'A' - Ask 'B' - Bid PriceLevelTime DateTime S Auto Time that the event occurred. When the time is not available from the Source it will be generated in the Application, in which case it may not exactly represent the time of the original event. PriceLevelVolume U64 S Auto Total quantity (number of instruments) in the order book at this price level and side. Confidential Page 38 05/04/2013 OpenMDM Reference Guide An Order Book Snapshot view presents a structured order book, complete with a vector of aggregated price levels (as detailed in Table 12: ORDER BOOK Event Fields - Price Level Aggregated View) and, if available, a sub message with a vector of price level entries (as detailed in Table 11: ORDER BOOK Event Fields - Order by Order Entry View). Table 13: ORDER BOOK Event Fields - Order Book Snapshot View OpenMDM Field Name OpenMDM Data Type Field Conditions Default Field Source Event Trigger Flag Description BookDate DateTime S Auto Date that the event occurred. When the date is not available from the Source it will be generated in the Application. BookTime DateTime S Auto Time that the event occurred. When the time is not available from the Source it will be generated in the Application, in which case it may not exactly represent the time of the original event. NoPriceLevels I64 S Auto Number of price levels in the order book. PriceLevels MessageVector S Auto Vector of messages containing Price Level Aggregated and, where available, order entry information. Example 3: ORDER BOOK SNAPSHOT Event wEntitleCode | int | * | 51602 wMsgType | int | * | 14 wIssueSymbol | string | * | PLLGLSR00013.PLN.XNCO wSrcDate | date | * | 2012/10/22 wSeqNum | int | * | 3 wSrcTime | time | * | 10:46:31 wLineDate | date | * | 2012/10/22 wLineTime | time | * | 08:49:48 wEventType | string | * | E wDisplayHint | int | * | 0 wPubId | string | * | warsaw wBookDate | date | * | 2012/10/22 wBookTime | time | * | 10:30:00 wNumLevels | int | * | 1 wPriceLevels: { wPlPrice | double | * | 119.81 Confidential Page 39 05/04/2013 OpenMDM Reference Guide wPlAction | char | * | A wPlSide | char | * | B wPlSize | quantity | * | 100 wPlTime | string | * | 10:05:35.943 wPlNumEntries | int | * | 4 wPlEntries: { wEntryAction | char | * | A wEntryId | string | * | 220090623 wEntrySize | quantity | * | 1124 wEntryTime | string | * | 07:24:26 } } 7.6 QUOTE Quotes represent the most current bid or ask prices and quantities at which the instrument can be bought or sold. The bid quote shows the price and quantity at which a current buyer is willing to purchase the instrument at, while the ask quote shows what a current participant is willing to sell the instrument for. Table 14: QUOTE Event Fields OpenMDM Field Name OpenMDM Data Type Field Conditions AskPrice Price NOT BidOnly S one-sided quote Auto Price a seller is willing to accept for an instrument, also known as the offer or sell price. AskSize U64 NOT BidOnly S one-sided quote Auto Total number of units (see UnitOfTrade) that a market participant is offering to sell at the ask price. This value should be a multiple of LotSize. BidPrice Price NOT AskOnly S one-sided quote Auto Price a buyer is willing to pay for an instrument, also known as the buy price. BidSize U64 NOT AskOnly S one-sided quote Auto Total number of units (see UnitOfTrade) that a market participant is willing to buy at the bid price. This value should be a multiple of LotSize. NumAsks I64 BBO Auto Number of orders at the AskPrice for an instrument. Confidential Default Event Description Field Trigger Flag Source Quote C Page 40 05/04/2013 OpenMDM Reference Guide OpenMDM Field Name OpenMDM Data Type Field Conditions Default Event Description Field Trigger Flag Source calculated from the Order Book NumBids I64 BBO Quote C calculated from the Order Book Auto Number of orders at the BidPrice for an instrument. QualBBO Enumeration BBO Quote N calculated from the Order Book OR Source provided BBO indicator Auto Indication of the best bid and offer status for the quote. Valid values are: 'Y' - Best on both sides 'N' - Neither side 'A' - Best Ask 'B' - Best Bid QuoteCount U64 C Auto Cumulative count of Quotes for the current trading period at the time this event occurs. QuoteDate DateTime S Auto Date that the event occurred. When the date is not available from the Source it will be generated in the Application. QuoteQualifier Enumeration N Auto Normalized set of qualifiers for this Quote. Refer to the normalization rules for details. QuoteTime DateTime S Auto Time that the event occurred. When the time is not available from the Source it will be generated in the Application, in which case it may not exactly represent the time of the original event. SourceQuoteQualifier String S Auto Qualifier or qualifiers for the Quote, as reported by the Source. Example 4: QUOTE Event wEntitleCode | int | * | 51602 wMsgType | int | * | 14 wIssueSymbol | string | * | PLLGLSR00013.PLN.XNCO wSrcDate | date | * | 2012/10/22 Confidential Page 41 05/04/2013 OpenMDM Reference Guide wSeqNum | int | * | 3 wSrcTime | time | * | 10:46:31 wLineDate | date | * | 2012/10/22 wLineTime | time | * | 08:49:48 wEventType | string | * | E wDisplayHint | int | * | 0 wPubId | string | * | warsaw wAskPrice | price | * | 1.05 wAskSize | quantity | * | 20 wBidPrice | price | * | 2.08 wBidSize | quantity | * | 34 wNumAsks | int | * | 7 wNumBids | int | * | 7 wQuoteSeqNum | int | * | 31656 wQualBboChar | string | * | Y wQuoteDate | date | * | 2012/12/17 wQuoteQualifier | string | * | Normal wQuoteTime | time | * | 10:01:38 wQuoteCondition | string | * | Normal wAskHigh | price | * | 3.24 wAskLow | price | * | 3.24 wAskTime | time | * | 07:17:35.446 wBidHigh | price | * | 3.47 wBidLow | price | * | 3.47 wBidTime | time | * | 07:17:35.446 wQuoteCount | int | * | 3 Confidential Page 42 05/04/2013 OpenMDM Reference Guide 7.7 AUCTION This event presents data disseminated during, and as a result of, the auction period, i.e. the period of time when there is order accumulation and no automatic execution on an order book. The data includes indicative data sent during the process that matches orders at the end of an auction and determines the final auction price. An Auction event can also carry order imbalances that can result from the auction period. The Auction Phase is designed to ensure a concentration of liquidity and determine price for the next phase. Auctions can take place: Just prior to market open. Just prior to market close. Intraday according to the schedule per the source market model, for instance, every day at 12:00, the third Friday of the month at 10:10. If certain rules of the market model are broken, such as Price Volatility. Call Phase During the call phase, order entry is permitted, but there is no automatic execution on an order book and orders already entered may not be canceled or modified. Indicative Prices During the Auction, the matching engine will normally publish periodic updates of the current price at which the highest possible turnover will occur, and the volume of orders at that price. These values are referred to as the theoretical or indicative price and volume, as they indicate the possible volume and price at auction end. End of Auction/Uncrossing At the end of the Auction there is a price determination/matching period, often referred to as uncrossing. During this period orders cannot be entered, which to prevents traders pushing the price in the last few seconds of the auction. The resulting output of the price determination/ matching period is a final auction price. The Exchange set the rules used to determine the price, which is normally the price at which the highest possible turnover will occur. Once the Auction completes, the order book needs to return to an openable state so that it can transition to the next trading phase. There are a number of tasks the matching engine needs to perform, including executing each of the trades that occurred at the auction price, and clearing out any expired orders. For example, an Opening Auction may last for 15 minutes, plus a random interval of up to 30 seconds. Therefore, if it starts at 07:45:00 the auction will end sometime between 08:00:00 and 08:00:30. When the auction ends, the security should have an opening price as per the indicative matching that has taken place through the auction. The opening price is disseminated and alongside it auction trade(s), and order deletes are published. The book is then in a state to enter the next trading phase, in this case continuous trading. The following auction data needs to be captured and published during this period: Indicative Uncrossing Price and Volume throughout the Auction. The Firm Uncrossing Price and Volume at which the Auction completes. Confidential Page 43 05/04/2013 OpenMDM Reference Guide Imbalance Volume and Side, in the event there is an order imbalance at the end of the Auction. An order imbalance occurs when too many orders are left of a particular type, either buy or sell, at the end of an Auction. Table 15: AUCTION Event Fields OpenMDM Name Field OpenMDM Data Type Field Conditions Default Field Source Event Trigger Flag Description AuctionDate DateTime S Auto Date that the event occurred. When the date is not available from the Source it will be generated in the Application. AuctionTime DateTime S Auto Time that the event occurred. When the time is not available from the Source it will be generated in the Application, in which case it may not exactly represent the time of the original event. AuctionType Enumeration N Auto Indicator representing the type of auction that occurred. Example values include: Closing Auction Opening Auction Volatility Refer to the normalization rules for details. ImbalanceSide Char Imbalance S present as result of Auction Matching. Auto Side of the order book to which an Imbalance applies. Valid values are: 'B' - Buy 'S' - Sell Space - No imbalance ImbalanceVolume U64 Imbalance S present as result of Auction Matching. Auto Total Imbalance quantity. SourceAuctionType String S Auto Indicator representing the type of auction, as reported by the Source. UncrossPrice Price S Auto Price sent during uncrossing for an Instrument. See the Uncross Price Indicator field to determine the type of Confidential Page 44 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Type Field Conditions Default Field Source Event Trigger Flag Description Uncrossing. UncrossPriceIndicator Enumeration N Auto Type of uncrossing price. Valid values are: Indicative (I) - the price at which execution would occur if it immediately uncrossed then moved to open. Firm (F) - the actual price sent to the market following completion of the uncrossing process. UncrossVolume U64 S Auto Volume sent during uncrossing for an Instrument. See the Uncross Price Indicator field to determine the type of Uncrossing. Example 5: AUCTION Event wEntitleCode | int | * | 51602 wMsgType | int | * | 14 wIssueSymbol | string | * | PLLGLSR00013.PLN.XNCO wSrcDate | date | * | 2012/10/22 wSeqNum | int | * | 3 wSrcTime | time | * | 10:46:31 wLineDate | date | * | 2012/10/22 wLineTime | time | * | 08:49:48 wEventType | string | * | E wDisplayHint | int | * | 0 wPubId | string | * | warsaw wAuctionDate | date | * | 2012/10/22 wAuctionTime | time | * | 09:00:00.010 wAuctionType | enum | * | Closing wOrderImbalanceSide | char | * | B wTotalImbalance | quantity | * | 380849 wSourceAuctionType | string | * | Opening wUncrossPrice | price | * | 20 wUncrossPriceInd | enum | * | I wUncrossVolume | quantity | * | 15 Confidential Page 45 05/04/2013 OpenMDM Reference Guide 7.8 Trade Related Events A trade is a transaction that involves the selling and purchasing of an instrument. Trade events are traditionally viewed using two main models: Trade Delta Model: Each raw trade event delta is published. Trade Last Sale Model: Applies a level of normalization to the trade event to distinguish trades that qualify to update Last Sale Price. Trades that do not qualify are published via alternative Irreg* fields, as detailed in Section 7.8.2: Trade Last Sale Model. Traditionally, feed handlers use the Trade Last Sale Model, and Exchange publishers use the Trade Delta Model. The presence of the field LastSaleModel identifies that the Trade Last Sale Model is being used. There are four categories of content related to trades, irrespective of the trade model in use. The following table provides an overview of each of these categories, and identifies the sections that detail the content for each category. Table 16: Trade Content Content Type Time and information Description Typical Source sales Details of a new, corrected or Sent by canceled trade. source Value-add statistics Summary statistics Trading period level Typical Frequency data Per trade Real-time values for totals, highs, Sent by data Per trade lows, changes and averages. source or generated by the application - Overall totals, highs, lows, changes and averages for the current or most recent trading period. Sent by data source or generated by the application Per trade; or Predefined frequency; or End of trading period MDM Trigger Event Further Details TRADE; TRADE CANCEL; TRADE CORRECTION Section 7.8.1: Trade Delta Model Section 7.8.2: Trade Last Sale Model TRADE; TRADE CANCEL; TRADE CORRECTION Section Trade Fields 7.8.3: Statistics If sent separate Section 7.9: from trade Summary Statistics information by the source: SUMMARY STATISTICS If sent per trade by the source: TRADE; Confidential Page 46 05/04/2013 OpenMDM Reference Guide Content Type Description Typical Source Typical Frequency MDM Trigger Event Further Details TRADE CANCEL; TRADE CORRECTION Summary statistics Trading session level - Overall totals, highs, lows, changes and averages for the current or most recent trading session. Sent by data Per trade or at a source or predefined internally frequency or at generated in the end of trading application session If sent separate Section 7.10: from trade Session Summary information by the Statistics source: SESSION SUMMARY STATISTICS If sent per trade by the source: TRADE; TRADE CANCEL; TRADE CORRECTION 7.8.1 Trade Delta Model Table 17: TRADE Event Fields (Trade Delta Model) OpenMDM Name Field OpenMDM Data Type Field Conditions Default Event Description Field Trigger Flag Source SourceTradeQualifier String LastSaleModel S not present Auto Qualifier or qualifiers for the Trade, as reported by the Source. TradeCount U64 LastSaleModel S not present Auto Cumulative count of Trades for the current trading period at the time this event occurs. TradeDate DateTime LastSaleModel S not present Auto Date that the TRADE event occurred. When the date is not available from the Source it will be generated in the Application. Confidential Page 47 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Type Field Conditions Default Event Description Field Trigger Flag Source TradeId String LastSaleModel S not present Auto Unique identifier for the Trade within the current trading period. TradePartId String LastSaleModel S not present Auto Unique identifier of the Market Participant (e.g. Exchange or Market Maker) from which the Trade originated. TradePrice Price LastSaleModel S not present Auto Monetary value of one unit of the instrument (see UnitOfTrade) at the time of the Trade. TradeQualifier Enumeration LastSaleModel N not present Auto Normalized set of qualifiers for the Trade. This field may contain multiple delimited values. Refer to the normalization rules for details. TradeSide Enumeration LastSaleModel N not present Auto Side of the incoming order that created the Trade. Also known as Aggressor Side. Valid values are: 'B' - Buy 'S' - Sell Null - Not provided TradeSize U64 LastSaleModel S not present Auto Number of units (see UnitOfTrade) exchanged in the Trade. This value should be a multiple of LotSize. TradeStatisticsQualifier Bitset32 LastSaleModel N not present Auto Normalized set of values that identify the predefined statistics the Trade event qualifies to update. This field is used when calculating Trade statistics. TradeTick LastSaleModel C not present Auto The direction of movement of the official last trade price, TradePrice, relative to the previous official last price. TradeTick is not published for Irregular Trades, i.e. trades that do not qualify to update the official last price according to Source trade normalization rules. Valid values are: Enumeration " " - No direction is currently known/available. "+" - Up tick. "-" - Down tick. "0+" - Unchanged; previous move was up tick. "0-" - Unchanged; previous move was down tick. Confidential Page 48 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Type Field Conditions Default Event Description Field Trigger Flag Source "NA" - Not applicable. TradeTime DateTime LastSaleModel S not present Auto Time that the event occurred. When the time is not available from the Source it will be generated in the Application, in which case it may not exactly represent the time of the original event. TradeVenueType Enumeration LastSaleModel N not present Auto Type of venue where the Trade took place. Example values include: "OnExchange" - an Auto trade regulated by the Exchange. "OnExchangeOffBook" - trades outside the order book that the counterparties agree to execute on the Exchange, and hence are regulated by Exchange rules. "OffExchange" - Executed away from the Exchange (OTC / Off Market). The Exchange provides the trade reporting facilities. Refer to the normalization rules for details. A Trade Cancel is a transaction that involves cancellation of a trade event. Table 18: TRADE CANCEL Event Fields (Trade Delta Model) OpenMDM Name Field OpenMDM Data Type Field Conditions Default Event Field Trigger Flag Source Description CancelDate DateTime LastSaleModel S not present Auto Date that the event occurred. When the date is not available from the Source it will be generated in the Application. CancelTime DateTime LastSaleModel S not present Auto Time that the event occurred. When the time is not available from the Source it will be generated in the Application, in which case it may not exactly represent the time of the original event. Confidential Page 49 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Type Field Conditions Default Event Field Trigger Flag Source Description OrigTradePartId String LastSaleModel S not present Original value of TradePartId or IrregPartId for the Trade being canceled or corrected. OrigTradePrice Price LastSaleModel S not present Original value of TradePrice or IrregPrice for the Trade being canceled or corrected. OrigTradeStatisticsQual Bitset32 ifier LastSaleModel N not present Original value of TradeStatisticsQualifier for the Trade being canceled or corrected. OrigTradeDate DateTime LastSaleModel S not present Original value of TradeDate for the Trade being canceled or corrected. OrigTradeTime DateTime LastSaleModel S not present Original value of TradeTime for the Trade being canceled or corrected. OrigTradeId String LastSaleModel S not present Original value of TradeId for the Trade being canceled or corrected. OrigTradeQualifier Enumeration LastSaleModel N not present Original value of TradeQualifier for the Trade being canceled or corrected. OrigTradeSize U64 LastSaleModel S not present Original value of TradeSize or IrregSize for the Trade being canceled or corrected. Confidential Page 50 05/04/2013 OpenMDM Reference Guide A Trade Correction is a transaction that involves correction of information related to a trade event. Table 19: TRADE CORRECTION Event Fields (Trade Delta Model) OpenMDM Name Field OpenMDM Data Type Field Conditions Default Event Field Trigger Flag Source Description CorrectionDate DateTime LastSaleModel S not present Auto Date that the event occurred. When the date is not available from the Source it will be generated in the Application. CorrectionTradePartId String LastSaleModel S not present Auto Corrected value of TradePartId or IrregPartId for the Trade being corrected. CorrectionTime DateTime LastSaleModel S not present Auto Corrected value of TradeTime for the Trade being corrected. CorrectionTradeId String LastSaleModel S not present Auto Corrected value of TradeId for the Trade being corrected. CorrectionTradePrice Price LastSaleModel S not present Auto Corrected value of TradePrice for the Trade being corrected. CorrectionTradeQualifie Enumeration r LastSaleModel N not present Auto Corrected value of TradeQualifier for the Trade being corrected. CorrectionTradeSize LastSaleModel S not present Auto Corrected value of TradeSize for the Trade being corrected. U64 CorrectionTradeStatisti Bitset32 csQualifier LastSaleModel N not present Corrected value of TradeStatisticsQualifier for the Trade being corrected. OrigTradeStati sticsQualifier changed as a result of the correction. OrigTradePartId String LastSaleModel S not present Original value of TradePartId or IrregPartId for the Trade being canceled or corrected. OrigTradeDate DateTime LastSaleModel S Original value of TradeDate for the Trade being canceled or Confidential Page 51 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Type Default Event Field Trigger Flag Source Description not present corrected. OrigTradeTime DateTime LastSaleModel S not present Original value of TradeTime for the Trade being canceled or corrected. OrigTradeId String LastSaleModel S not present Original value of TradeId for the Trade being canceled or corrected. OrigTradePrice Price LastSaleModel S not present Original value of TradePrice for the Trade being canceled or corrected. OrigTradeQualifier Enumeration LastSaleModel N not present Original value of TradeQualifier for the Trade being canceled or corrected. OrigTradeSize U64 LastSaleModel S not present Original value of TradeSize or IrregSize for the Trade being canceled or corrected. LastSaleModel N not present Original value of TradeStatisticsQualifier for the Trade being canceled or corrected. OrigTradeStatisticsQua Bitset32 lifier 7.8.2 Field Conditions Trade Last Sale Model Table 20: TRADE Event Fields (Trade Last Sale Model) OpenMDM Name Field OpenMDM Data Type Field Conditions Default Event Field Trigger Source Flag Description IrregDate DateTime LastSaleModel S = 1 AND IsIrregular = 1 Auto Date that the irregular TRADE event occurred. When the date is not available from the Source it will be generated in the Application based on current trading day. IrregPartId String LastSaleModel N = 1 AND IsIrregular = 1 Auto Unique identifier of the market participant, such as an exchange or market maker, contributing to the most recent Irregular Trade. This field is used to persist irregular trade information independently from other types of trades, as required by some offerings. Confidential Page 52 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Type Field Conditions Default Event Field Trigger Source Flag Description IrregPrice Price LastSaleModel S = 1 AND IsIrregular = 1 Auto Execution price of the most recent irregular trade. This field is used to persist irregular trade information independently from other types of trades, as required by some offerings. IrregSize I64 LastSaleModel S = 1 AND IsIrregular = 1 Auto Number of units (see UnitOfTrade) exchanged in the most recent irregular trade. This value should be a multiple of LotSize. This field is used to persist irregular trade information independently from other types of trades, as required by some offerings. IrregTime DateTime LastSaleModel S = 1 AND IsIrregular = 1 Auto Execution time of the most recent irregular trade. This field is used to persist irregular trade information independently from other types of trades, as required by some offerings. IsIrregular Bool LastSaleModel =1 N Auto Flag indicating if the trade type is regular or irregular. Regular trades are those that qualify to update last trade price, whereas irregular trades are trades that do not. LastSaleModel Bool LastSaleModel =1 N SourceTradeQualifier String LastSaleModel =1 S Auto Qualifier or qualifiers for the Trade, as reported by the Source. TradeCount U64 LastSaleModel =1 S Auto Cumulative count of Trades for the current trading period at the time this event occurs. TradeDate DateTime LastSaleModel =1 S Auto Date that the TRADE event occurred. When the date is not available from the Source it will be generated in the Application. TradeId String LastSaleModel =1 S Auto Unique identifier for the Trade within the current trading period. This is typically the unique sequence number of the trade. TradePartId String LastSaleModel S = 1 AND Auto Unique identifier of the Market Participant (e.g. Exchange or Market Maker) from which the Trade originated. Confidential Page 53 Indicates the product is providing data using the Trade Last Sale Model. When present, the value of the field will always be set to "1". 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Type Field Conditions Default Event Field Trigger Source Flag Description IsIrregular = 0 TradePrice Price LastSaleModel S = 1 AND IsIrregular = 0 Auto Monetary value of one unit of the instrument at the time of the Trade. TradeQualifier Enumeration LastSaleModel =1 N Auto Normalized set of qualifiers for the Trade. This field may contain multiple delimited values. Refer to the TradeQualifier normalization rules for details. TradeSide Enumeration LastSaleModel N = 1 AND IsIrregular = 0 Auto Side of the incoming order that created the Trade. Also known as Aggressor Side. Valid values are: 'B' - Buy 'S' - Sell Null - Not provided TradeSize U64 LastSaleModel S = 1 AND IsIrregular = 0 Auto Number of units (see UnitOfTrade) exchanged in the Trade. This value should be a multiple of LotSize. TradeTick Enumeration LastSaleModel C = 1 AND IsIrregular = 0 Auto The direction of movement of the official last trade price, TradePrice, relative to the previous official last price. TradeTick is not published for Irregular Trades, i.e. trades that do not qualify to update the official last price according to Source trade normalization rules. Valid values are: " " - No direction is currently known/available. "+" - Up tick. "-" - Down tick. "0+" - Unchanged; previous move was up tick. "0-" - Unchanged; previous move was down tick. "NA" - Not applicable. TradeTime Confidential DateTime LastSaleModel =1 S Page 54 Auto Time that the event occurred. When the time is not available from the Source it will be generated in the Application, in which case it may not exactly represent the time of the original event. 05/04/2013 OpenMDM Reference Guide OpenMDM Name TradeVenueType Field OpenMDM Data Type Enumeration Field Conditions Default Event Field Trigger Source Flag Description LastSaleModel =1 N Type of venue where the Trade took place. Example values include: Auto "OnExchange" - an Auto trade regulated by the Exchange. "OnExchangeOffBook" - trades outside the order book that the counterparties agree to execute on the Exchange, and hence are regulated by Exchange rules. "OffExchange" - Executed away from the Exchange (OTC / Off Market). The Exchange provides the trade reporting facilities. Refer to the normalization rules for details. Example 6: TRADE Event Sample (Last Sale Model) wEntitleCode | int | * | 51602 wMsgType | int | * | 14 wIssueSymbol | string | * | PLLGLSR00013.PLN.XNCO wSrcDate | date | * | 2012/10/22 wSeqNum | int | * | 3 wSrcTime | time | * | 10:46:31 wLineDate | date | * | 2012/10/22 wLineTime | time | * | 08:49:48 wEventType | string | * | E wDisplayHint | int | * | 0 wPubId | string | * | warsaw wIrregTradeDate | date | * | 2012/12/05 wIrregPartId | string | * | XIST wIrregPrice | price | * | 10.58 wIrregSize | quantity | * | 0 wIrregTime | time | * | 07:15:25 wIsIrregular | bool | * | 0 wLastSaleModel | bool | * | 1 wSaleCondition | string | * | B Confidential Page 55 05/04/2013 OpenMDM Reference Guide wTradeCount | int | * | 378 wTradeDate | date | * | 2012/12/05 wTradeId | string | * | 00081471 wTradePartId | string | * | XIST wTradePrice | price | * | 0.70 wTradeQualifier | string | * | ExchangeAuction wTradeSide | enum | * | Buy wTradeVolume | quantity | * | 15 wTradeTick | enum | * | + wTradeTime | time | * | 08:49:10 wTradeExecVenueEnum | enum | * | OnExchange wMmtMarketMechanism | string | * | 1 wMmtTradingMode | string | * | 2 wMmtTransactionType | string | * | P wMmtPublicationMode | string | * | wTradeSeqNum | int | * | 57033 A Trade Cancel is a transaction that involves cancellation of a trade event. Table 21: TRADE CANCEL Event Fields (Trade Last Sale Model) OpenMDM Name Field OpenMDM Data Type Field Conditions Default Event Field Trigger Source Flag Description CancelDate DateTime LastSaleModel= S 1 Auto Date that the event occurred. When the date is not available from the Source it will be generated in the Application. CancelTime DateTime LastSaleModel= S 1 Auto Time that the event occurred. When the time is not available from the Source it will be generated in the Application, in which case it may not exactly represent the time of the original event. LastSaleModel Bool LastSaleModel= N 1 Indicates the product is providing data using the Trade Last Sale Model. When present, the value of the field will always be set to "1". OrigTradePartId String LastSaleModel= S 1 Original value of TradePartId or IrregPartId for the Trade being canceled or corrected. OrigTradePrice Price LastSaleModel= S Original value of TradePrice or IrregPrice for the Trade Confidential Page 56 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Type Field Conditions Default Event Field Trigger Source Flag Description 1 being canceled or corrected. OrigTradeId String LastSaleModel= S 1 Original value of TradeId for the Trade being canceled or corrected. OrigTradeQualifier Enumeration LastSaleModel= N 1 Original value of TradeQualifier for the Trade being canceled or corrected. OrigTradeSize U64 LastSaleModel= S 1 Original value of TradeSize or IrregSize for the Trade being canceled or corrected. Example 7: TRADE CANCEL Event (Last Sale Model) wEntitleCode | int | * | 51602 wMsgType | int | * | 14 wIssueSymbol | string | * | PLLGLSR00013.PLN.XNCO wSrcDate | date | * | 2012/10/22 wSeqNum | int | * | 3 wSrcTime | time | * | 10:46:31 wLineDate | date | * | 2012/10/22 wLineTime | time | * | 08:49:48 wEventType | string | * | E wDisplayHint | int | * | 0 wPubId | string | * | warsaw wCancelDate | date | * | 2012/12/05 wCancelTime | time | * | 08:49:10 wLastSaleModel | bool | * | 1 wOrigPartId | string | * | XIST wOrigPrice | price | * | 0.70 wOrigTradeId | string | * | 00081471 wOrigQualifier | string | * | ExchangeAuction wOrigSize | quantity | * | 1000000 wOrigMmtMarketMechanism | string | * | 1 wOrigMmtTradingMode | string | * | 2 wOrigMmtTransactionType | string | * | P wOrigMmtPublicationMode | string | * | wOrigSeqNum | int | * | 57033 wTradeSeqNum | int | * | 57033 Confidential Page 57 05/04/2013 OpenMDM Reference Guide A Trade Correction is a transaction that involves correction of information related to a trade event. Table 22: TRADE CORRECTION Event Fields (Trade Last Sale Model) OpenMDM Name Field OpenMDM Data Type Field Conditions Default Event Field Trigger Source Flag Description CorrectionDate DateTime LastSaleModel= S 1 Auto Date that the event occurred. When the date is not available from the Source it will be generated in the Application. CorrectionTradePartId String LastSaleModel= S 1 Auto Corrected value of TradePartId or IrregPartId for the Trade being corrected. CorrectionTime DateTime LastSaleModel= S 1 Auto Corrected value of TradeTime for the Trade being corrected. CorrectionTradeId String LastSaleModel= S 1 Auto Corrected value of TradeId for the Trade being corrected. CorrectionTradePrice Price LastSaleModel= S 1 Auto Corrected value of TradePrice for the Trade being corrected. CorrectionTradeQualifier Enumeration LastSaleModel= N 1 Auto Corrected value of TradeQualifier for the Trade being corrected. CorrectionTradeSize LastSaleModel= S 1 Auto Corrected value of TradeSize for the Trade being corrected. U64 CorrectionTradeStatistic Bitset32 sQualifier LastSaleModel= N 1 OrigTradeStatisti csQualifier changed as a result of the correction. Corrected value of TradeStatisticsQualifier for the Trade being corrected. LastSaleModel Bool LastSaleModel= N 1 Indicates the product is providing data using the Trade Last Sale Model. When present, the value of the field will always be set to "1". OrigTradePartId String LastSaleModel= S Original value of TradePartId or IrregPartId for the Trade Confidential Page 58 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Type Field Conditions Default Event Field Trigger Source Flag Description 1 being canceled or corrected. OrigTradeId String LastSaleModel= S 1 Original value of TradeId for the Trade being canceled or corrected. OrigTradePrice Price Populated from S IrregPrice when LastSaleModel= 1 AND IsIrregular=true Original value of TradePrice or IrregPrice for the Trade being canceled or corrected. OrigTradeQualifier Enumeration LastSaleModel= N 1 Original value of TradeQualifier for the Trade being canceled or corrected. OrigTradeSize U64 Populated from S IrregSize when LastSaleModel= 1 AND IsIrregular=true Original value of TradeSize or IrregSize for the Trade being canceled or corrected. Example 8: TRADE CORRECTION Event (Last Sale Model) wEntitleCode | int | * | 51602 wMsgType | int | * | 14 wIssueSymbol | string | * | PLLGLSR00013.PLN.XNCO wSrcDate | date | * | 2012/10/22 wSeqNum | int | * | 3 wSrcTime | time | * | 10:46:31 wLineDate | date | * | 2012/10/22 wLineTime | time | * | 08:49:48 wEventType | string | * | E wDisplayHint | int | * | 0 wPubId | string | * | warsaw wCorrTradeDate | date | * | 2012/12/05 wCorrPartId | string | * | XIST wCorrTime | time | * | 08:49:10 wCorrTradeId | string | * | 00081471 wCorrPrice | price | * | 0.71 Confidential Page 59 05/04/2013 OpenMDM Reference Guide wCorrQualifier | string | * | ExchangeAuction wCorrSize | quantity | * | 1000000 wLastSaleModel | bool | * | 1 wOrigIsIrregular | bool | * | 0 wOrigPartId | string | * | XIST wOrigTradeId | string | * | 00081471 wOrigPrice | price | * | 0.70 wOrigQualifier | string | * | ExchangeAuction wOrigSize | quantity | * | 1000000 wCorrMmtMarketMechanism | string | * | 1 wCorrMmtTradingMode | string | * | 2 wCorrMmtTransactionType | string | * | P wCorrMmtPublicationMode | string | * | wOrigMmtMarketMechanism | string | * | 1 wOrigMmtTradingMode | string | * | 2 wOrigMmtTransactionType | string | * | P wOrigMmtPublicationMode | string | * | wOrigSeqNum | int | * | 57033 wTradeSeqNum | int | * | 57033 Confidential Page 60 05/04/2013 OpenMDM Reference Guide 7.8.3 Trade Statistics Fields Table 23: Trade Statistics Fields OpenMDM Name BlockCount Field OpenMDM Data Field Type Conditions U64 Default Field Source PerTick Trade S Statistics Required. Price Description Cumulative count of Block Trades for the current trading period at the time this event occurs. A block trade is an order/trade submitted for sale or purchase of a large quantity of instruments, such as 10,000 as defined by the Exchange. This field is used to persist Block Trade information independently from other types of trades, as required by some offerings. Event change qualifies to update Block Trade, i.e. Trade event with Trade Qualifier for Block. BlockPrice Event Trigger Flag PerTick Trade S Statistics Required. Execution price of the most recent Block Trade. This field is used to persist Block Trade information independently from other types of trades, as required by some offerings. Event change qualifies to update BlockPrice, i. e. Trade event which updates Price and Trade Qualifier for Block. BlockSize U64 PerTick Trade S Statistics Required. Event Confidential Number of units (see UnitOfTrade) exchanged in the most recent Block Trade. This field is used to persist Block Trade information independently from other types of trades, as required by some offerings. change Page 61 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Field Type Conditions Default Field Source Event Trigger Flag Description qualifies to update BlockSize, i.e. Trade event which updates Size and Trade Qualifier for Block. BlockTime DateTime PerTick Trade S Statistics Required. Execution time of the most recent Block Trade. This field is used to persist Block Trade information independently from other types of trades, as required by some offerings. Event change qualifies to update BlockPrice or BlockSize. HighPrice Price PerTick Trade C Statistics Required. Highest price paid for an instrument during the current trading period. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. TradeStatistics Qualifier criteria met for HighPrice and highest price during the current trading period. HighTime Confidential DateTime PerTick Trade C Statistics Required. Time at which HighPrice for an instrument is recorded for the current trading period. Page 62 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Field Type Conditions Default Field Source Event Trigger Flag Description TradeStatistics Qualifier criteria met for HighPrice and highest price during the current trading period. LowPrice Price PerTick Trade C Statistics Required. Lowest price paid for an instrument during the current trading period. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. TradeStatistics Qualifier criteria met for LowPrice and lowest price during the current trading period. LowTime DateTime PerTick Trade C Statistics Required. Time at which the LowPrice for an instrument is recorded for the current trading period. This value reflects the time of the first instance of the occurrence of the current LowPrice. TradeStatistics Qualifier criteria met for LowPrice and lowest price during the current trading period. NetChange Confidential Price PerTick Trade C Change in the Instrument Price compared with the Page 63 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Field Type Conditions Default Field Source Statistics Required. Event Trigger Flag Description ClosePrice, including any potential adjustments, or Settlement Price from the previous trading period, where applicable. TradeStatistics Qualifier criteria met for update to TradePrice. OffExchangeHighPrice Price PerTick Trade C Statistics Required. Highest ‘Off Exchange’ price paid for an instrument during the current trading period. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. TradeStatistics Qualifier criteria met for HighPrice and highest price during the current trading period. TradeVenueTy pe=2 or 3 OffExchangeLowPrice Price PerTick Trade C Statistics Required. Lowest ‘Off Exchange’ price paid for an instrument during the current trading period. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. TradeStatistics Qualifier criteria met for LowPrice and lowest price during the current trading Confidential Page 64 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Field Type Conditions Default Field Source Event Trigger Flag Description period. TradeVenueTy pe=2 or 3 OffExchangeNetChang Price e PerTick Trade C Statistics Required. Change in the ’Off Exchange’ Instrument Price compared with the ClosePrice, including any potential adjustments, or Settlement Price from the previous trading period, where applicable. TradeStatistics Qualifier criteria met for update to TradePrice. TradeVenueTy pe=2 or 3 OffExchangePctChang F64 e PerTick Trade C Statistics Required. 'Off Exchange' percentage change in Instrument Price compared with ClosePrice, including any potential adjustments or Settlement Price from the previous trading period where applicable. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. TradeStatistics Qualifier criteria met for update to TradePrice. TradeVenueTy pe=2 or 3 OffExchangeTotalValu F64 e PerTick Trade C Statistics Required. 'Off Exchange' cumulative value of instruments traded for the current trading period at the time this event occurs. Calculated by summing the products of TradePrice and TradeSize for each qualifying trade. This is calculated after all Trades, Trades Cancellations and Trade TradeStatistics Confidential Page 65 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Field Type Conditions Default Field Source Qualifier criteria met for update to TradePrice. Event Trigger Flag Description Corrections have been taken into account, in accordance with the trade normalization rules. TradeVenueTy pe=2 or 3 OffExchangeTotalVolu U64 me PerTick Trade C Statistics Required. 'Off Exchange' cumulative number of instruments traded for the current trading period at the time this event occurs. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. TradeStatistics Qualifier criteria met for update to TotalVolume TradeVenueTy pe=2 or 3 OffExchangeTradePric Price e PerTick Trade C Statistics Required. Monetary value of one unit of the instrument (see UnitOfTrade) at the time of the Trade, where the Trade was classified as ‘Off Exchange’. TradeVenueTy pe=2 or 3 OffExchangeVwap F64 PerTick Trade C Statistics Required. 'Off Exchange' volume-weighted average price of an instrument for the current trading period at the time this event occurs. Equivalent to dividing TotalValue by TotalVolume. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. TotalValue and TotalVolume updated. Confidential Page 66 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Field Type Conditions Default Field Source Event Trigger Flag Description TradeVenueTy pe=2 or 3 OnExchangeHighPrice Price PerTick Trade C Statistics Required. Highest ‘On Exchange’ price paid for an instrument during the current trading period. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. TradeStatistics Qualifier criteria met for HighPrice and highest price during the current trading period. TradeVenueTy pe=1 or 4 OnExchangeLowPrice Price PerTick Trade C Statistics Required. Lowest ‘On Exchange’ price paid for an instrument during the current trading period. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. TradeStatistics Qualifier criteria met for LowPrice and lowest price during the current trading period. TradeVenueTy pe=1 or 4 OnExchangeNetChang Price Confidential PerTick Trade C Change in the ’On Exchange’ Instrument Price compared Page 67 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Field Type Conditions e Default Field Source Statistics Required. Event Trigger Flag Description with the ClosePrice, including any potential adjustments, or Settlement Price from the previous trading period, where applicable. TradeStatistics Qualifier criteria met for update to TradePrice. TradeVenueTy pe=1 or 4 OnExchangePctChang F64 e PerTick Trade C Statistics Required. 'On Exchange' percentage change in Instrument Price compared with ClosePrice, including any potential adjustments or Settlement Price from the previous trading period, where applicable. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. TradeStatistics Qualifier criteria met for update to TradePrice. TradeVenueTy pe=1 or 4 OnExchangeTotalValu F64 e PerTick Trade C Statistics Required. 'On Exchange' cumulative value of instruments traded for the current trading period at the time this event occurs. Calculated by summing the products of TradePrice and TradeSize for each qualifying trade. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. TradeStatistics Qualifier criteria met for update to TradePrice. TradeVenueTy Confidential Page 68 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Field Type Conditions Default Field Source Event Trigger Flag Description pe=1 or 4 OnExchangeTotalVolu U64 me PerTick Trade C Statistics Required. 'On Exchange' cumulative number of instruments traded for the current trading period at the time this event occurs. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. TradeStatistics Qualifier criteria met for update to TotalVolume. TradeVenueTy pe=1 or 4 OnExchangeTradePric Price e PerTick Trade C Statistics Required. Monetary value of one unit of the instrument (see UnitOfTrade) at the time of the Trade, where the Trade was classified as ‘On Exchange’. TradeVenueTy pe=1 or 4 OnExchangeVwap F64 PerTick Trade C Statistics Required. 'On Exchange' volume-weighted average price of an instrument for the current trading period at the time this event occurs. Equivalent to dividing TotalValue by TotalVolume. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. TotalValue and TotalVolume updated. TradeVenueTy pe=1 or 4 PctChange Confidential F64 PerTick Trade C Statistics Required. Percentage change in Instrument Price compared with ClosePrice, including any potential adjustments or Settlement Price from the previous trading period, where applicable. This is calculated after all Trades, Trades Page 69 05/04/2013 OpenMDM Reference Guide OpenMDM Name TotalValue Field OpenMDM Data Field Type Conditions F64 Default Field Source U64 Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. PerTick Trade C Statistics Required. Cumulative value of instruments traded for the current trading period at the time this event occurs. Calculated by summing the products of TradePrice and TradeSize for each qualifying trade. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. PerTick Trade C Statistics Required. Cumulative number of instruments traded for the current trading period at the time this event occurs. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. TradeStatistics Qualifier criteria met for update to TotalVolume. Vwap F64 PerTick Trade C Statistics Required. Volume-weighted average price of an instrument for the currenttrading period at the time this event occurs. Equivalent to dividing TotalValue by TotalVolume. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. TotalValue and TotalVolume updated. Confidential Description TradeStatistics Qualifier criteria met for update to TradePrice. TradeStatistics Qualifier criteria met for update to TradePrice. TotalVolume Event Trigger Flag Page 70 05/04/2013 OpenMDM Reference Guide Example 9: TRADE STATISTICS Event wEntitleCode | int | * | 51602 wMsgType | int | * | 14 wIssueSymbol | string | * | PLLGLSR00013.PLN.XNCO wSrcDate | date | * | 2012/10/22 wSeqNum | int | * | 3 wSrcTime | time | * | 10:46:31 wLineDate | date | * | 2012/10/22 wLineTime | time | * | 08:49:48 wEventType | string | * | E wDisplayHint | int | * | 0 wPubId | string | * | warsaw wBlockCount | int | * | 1 wBlockExecutionPrice | price | * | 60 wBlockExecutionSize | quantity | * | 71300 wBlockExecutionTime | time | * | 10:12:00 wHighPrice | price | * | 0.73 wHighTime | time | * | 09:30:00 wLowPrice | price | * | 0.68 wLowTime | time | * | 11:30:00 wNetChange | price | * | 0.010000 wOffExchangeHighPrice | price | * | 60 wOffExchangeLowPrice | price | * | 30 wOffExchangeNetChange | price | * | -2 wOffExchangePctChange | double | * | -6.25 wOffExchangeTotalValue | double | * | 326200 wOffExchangeTotalVolume | quantity | * | 10200 wOffExchangeTradePrice | price | * | 30 wOffExchangeVwap | double | * | 31.980392 wOnExchangeHighPrice | price | * | 60 wOnExchangeLowPrice | price | * | 30 wOnExchangeNetChange | price | * | -2 wOnExchangePctChange | double | * | -6.25 wOnExchangeTotalValue | double | * | 326200 wOnExchangeTotalVolume | quantity | * | 10200 wOnExchangeTradePrice | price | * | 30 wOnExchangeVwap | double | * | 31.980392 wPctChange | double | * | 1.45 wBlockVolume | quantity | * | 71300 wTotalValue | double | * | 269243.95 wTotalVolume | quantity | * | 381949 Confidential Page 71 05/04/2013 OpenMDM Reference Guide wVwap | double | * | 0.70492121 wLastPrice2 | price | * | 0.72 wLastPrice3 | price | * | 0.73 wLastPrice4 | price | * | 0.74 wLastPrice5 | price | * | 0.75 wLastTime2 | time | * | 11:45:02 wLastTime3 | time | * | 11:45:03 wLastTime4 | time | * | 11:45:04 wLastTime5 | time | * | 11:45:05 wStdDev | Real | * | 1.45 wTickChange | price | * | 0.010000 wTradeUnits | string | * | 2DP Confidential Page 72 05/04/2013 OpenMDM Reference Guide 7.9 SUMMARY STATISTICS A SUMMARY STATISTICS event provides statistical market data information, such as daily high/low, VWAP, or settlement prices. This data is most commonlynon real-time trade statistics, but it can contain data for other events. If the values received are real-time trade statistics, then all the fields in the following table will be published in a Trade-related event - see Section 7.8: Trade Related Events for event content. Table 24: SUMMARY STATISTICS Event Fields OpenMDM Name Field OpenMDM Data Type Field Conditions Default Field Source Event Trigger Flag Description CloseDate DateTime S Date corresponding to a ClosePrice event. Offerings that persist this field will move the CloseDate to the PreviousCloseDate field at the start of the next trading period. ClosePrice Price S Closing price of the instrument for the current trading period. This field is populated when official closing prices are sent by the Source after session close. Offerings that persist this field will move the ClosePrice to the PreviousClosePrice field at the start of the next trading period, and set the ClosePrice field to zero. OpenPrice Price S Price of the first qualifying Trade in the instrument during the current trading period. OpenTime DateTime S Time at which the OpenPrice for an instrument is recorded for the current trading period. SourceHighPrice Price S Auto Highest price paid for an instrument during the current trading period, as reported by the Source. SourceLowPrice Price S Auto Lowest price paid for an instrument during the current trading period, as reported by the Source. SourcePctChange F64 S Auto Percentage change in instrument price compared with ClosePrice, including any potential adjustments or Settlement Price from the previous trading period, as reported by the source. SourceTotalValue F64 S Auto Cumulative value of instruments traded in the current trading period at the time this event occurs, as reported Confidential Page 73 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Type Field Conditions Default Field Source Event Trigger Flag Description by the Source. SourceTotalVolume U64 S Auto Cumulative number of units traded for the current trading period at the time this event occurs, as reported by the Source. SourceTradeCount U64 S Auto Cumulative count of Trades for the current trading period at the time this event occurs, as reported by the Source. SourceVwap F64 S Auto Volume-weighted average price of an instrument for the current trading period at the time this event occurs, as reported by the Source. SummaryDate DateTime S Auto Date that the event occurred, i.e. that the summary was generated. When the date is not available from the Source it will be generated in the Application. SummaryTime DateTime S Auto Time that the event occurred, i.e. that the summary was generated. When the time is not available from the Source it will be generated in the Application, in which case it may not exactly represent the time of the original event. Confidential Page 74 05/04/2013 OpenMDM Reference Guide 7.10 SESSION SUMMARY STATISTICS A number of markets trade over multiple trading sessions, and some consolidated feeds aggregate data covering multiple sessions. Consequently, market data consumers wish to see both the statistics for each session and the aggregated totals. A SESSION SUMMARY STATISTICS event provides session-level statistical market data information, such as session high/low, VWAP, trade count. This data is most commonly sent non real-time, but it may be sent alongside real-time trade statistics, in which case all the fields in the following table will be published in a Trade-related event - see Section 7.8: Trade Related Events. Table 25: SESSION SUMMARY STATISTICS Event Fields OpenMDM Name Field OpenMDM Data Type Field Conditions Default Field Source Event Trigger Flag Description Sess1ClosePrice Price Trading period C comprises multiple sessions. Auto Closing price of the instrument for Session 1 of the current trading period. Sess2ClosePrice Price Trading period C comprises multiple sessions. Auto Closing price of the instrument for Session 2 of the current trading period. Sess3ClosePrice Price Trading period C comprises multiple sessions. Auto Closing price of the instrument for Session 3 of the current trading period. Sess1CloseTime DateTime Trading period C comprises multiple sessions. Auto Time associated with a Sess1ClosePrice event. Sess2CloseTime DateTime Trading period C comprises multiple sessions. Auto Time associated with a Sess2ClosePrice event. Sess3CloseTime DateTime Trading period C comprises Auto Time associated with a Sess3ClosePrice event. Confidential Page 75 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Type Field Conditions Default Field Source Event Trigger Flag Description multiple sessions. Sess1HighPrice Price Trading period C comprises multiple sessions. Auto Highest price paid for an instrument during Session 1 of the current trading period. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. Sess2HighPrice Price Trading period C comprises multiple sessions. Auto Highest price paid for an instrument during Session 2 of the current trading period. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. Sess3HighPrice Price Trading period C comprises multiple sessions. Auto Highest price paid for an instrument during Session 3 of the current trading period. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. Sess1HighTime DateTime Trading period C comprises multiple sessions. Auto Time at which Sess1HighPrice for an instrument is recorded for the current trading period. Sess2HighTime DateTime Trading period C comprises multiple sessions. Auto Time at which Sess2HighPrice for an instrument is recorded for the current trading period. Sess3HighTime DateTime Trading period C comprises multiple sessions. Auto Time at which Sess3HighPrice for an instrument is recorded for the current trading period. Sess1LowPrice Price Trading period C comprises Auto Lowest price paid for an instrument during Session 1 of the current trading period. This is calculated after all Confidential Page 76 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Type Field Conditions Default Field Source Event Trigger Flag multiple sessions. Description Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. Sess2LowPrice Price Trading period C comprises multiple sessions. Auto Lowest price paid for an instrument during Session 2 of the current trading period. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. Sess3LowPrice Price Trading period C comprises multiple sessions. Auto Lowest price paid for an instrument during Session 3 of the current trading period. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. Sess1LowTime DateTime Trading period C comprises multiple sessions. Auto Time at which Sess1LowPrice for an instrument is recorded for the current trading period. Sess2LowTime DateTime Trading period C comprises multiple sessions. Auto Time at which Sess2LowPrice for an instrument is recorded for the current trading period. Sess3LowTime DateTime Trading period C comprises multiple sessions. Auto Time at which Sess3LowPrice for an instrument is recorded for the current trading period. Sess1OpenPrice Price Trading period C comprises multiple sessions. Auto Price of the first qualifying Trade in the instrument during Session 1 of the current trading period. Sess2OpenPrice Price Trading period C comprises Auto Price of the first qualifying Trade in the instrument during Session 2 of the current trading period. Confidential Page 77 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Type Field Conditions Default Field Source Event Trigger Flag Description multiple sessions. Sess3OpenPrice Price Trading period C comprises multiple sessions. Auto Price of the first qualifying Trade in the instrument during Session 3 of the current trading period. Sess1OpenTime DateTime Trading period C comprises multiple sessions. Auto Time at which Sess1OpenPrice for an instrument is recorded for the current trading period. Sess2OpenTime DateTime Trading period C comprises multiple sessions. Auto Time at which Sess2OpenPrice for an instrument is recorded for the current trading period. Sess3OpenTime DateTime Trading period C comprises multiple sessions. Auto Time at which Sess3OpenPrice for an instrument is recorded for the current trading period. Sess1TotalTime DateTime Trading period C comprises multiple sessions. Auto Time associated with a Sess1TotalValue event. Sess2TotalTime DateTime Trading period C comprises multiple sessions. Auto Time associated with a Sess2TotalValue event. Sess3TotalTime DateTime Trading period C comprises multiple sessions. Auto Time associated with a Sess3TotalValue event. Sess1TotalValue F64 Trading Auto Cumulative value of instruments traded for Session 1 of Confidential period C Page 78 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Type Field Conditions Default Field Source Event Trigger Flag comprises multiple sessions. Description the the current trading period at the time this event occurs. Calculated by summing the products of TradePrice and TradeSize for each qualifying trade. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. Sess2TotalValue F64 Trading period C comprises multiple sessions. Auto Cumulative value of instruments traded for Session 2 of the the current trading period at the time this event occurs. Calculated by summing the products of TradePrice and TradeSize for each qualifying trade. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. Sess3TotalValue F64 Trading period C comprises multiple sessions. Auto Cumulative value of instruments traded for Session 3 of the the current trading period at the time this event occurs. Calculated by summing the products of TradePrice and TradeSize for each qualifying trade. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. Sess1TotalVolume U64 Trading period C comprises multiple sessions. Auto Cumulative number of instruments traded for Session 1 of the current trading period at the time this event occurs. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. Sess2TotalVolume U64 Trading period C comprises multiple sessions. Auto Cumulative number of instruments traded for Session 2 of the current trading period at the time this event occurs. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. Sess3TotalVolume U64 Trading period C comprises Auto Cumulative number of instruments traded for Session 3 of the current trading period at the time this event occurs. Confidential Page 79 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Type Field Conditions Default Field Source Event Trigger Flag multiple sessions. Description This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. Sess1TradeCount U64 Trading period C comprises multiple sessions. Auto Cumulative count of Trades for Session 1 of the current trading period at the time this event occurs. Sess2TradeCount U64 Trading period C comprises multiple sessions. Auto Cumulative count of Trades for Session 2 of the current trading period at the time this event occurs. Sess3TradeCount U64 Trading period C comprises multiple sessions. Auto Cumulative count of Trades for Session 3 of the current trading period at the time this event occurs. Sess1Vwap F64 Trading period C comprises multiple sessions. Auto Volume-weighted average price of an instrument for Session 1 of the current trading period at the time this event occurs. Equivalent to dividing TotalValue by TotalVolume. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. Sess2Vwap F64 Trading period C comprises multiple sessions. Auto Volume-weighted average price of an instrument for Session 2 of the current trading period at the time this event occurs. Equivalent to dividing TotalValue by TotalVolume. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into account, in accordance with the trade normalization rules. Sess3Vwap F64 Trading period C comprises multiple sessions. Auto Volume-weighted average price of an instrument for Session 3 of the current trading period at the time this event occurs. Equivalent to dividing TotalValue by TotalVolume. This is calculated after all Trades, Trades Cancellations and Trade Corrections have been taken into Confidential Page 80 05/04/2013 OpenMDM Reference Guide OpenMDM Name Field OpenMDM Data Type Field Conditions Default Field Source Event Trigger Flag Description account, in accordance with the trade normalization rules. Sess1VwapTime DateTime Trading period C comprises multiple sessions. Auto Time associated with a Sess1Vwap event. Sess2VwapTime DateTime Trading period C comprises multiple sessions. Auto Time associated with a Sess2Vwap event. Sess3VwapTime DateTime Trading period C comprises multiple sessions. Auto Time associated with a Sess3Vwap event. Table 26: SESSION SUMMARY STATISTICS Event wEntitleCode | int | * | 51602 wMsgType | int | * | 14 wIssueSymbol | string | * | PLLGLSR00013.PLN.XNCO wSrcDate | date | * | 2012/10/22 wSeqNum | int | * | 3 wSrcTime | time | * | 10:46:31 wLineDate | date | * | 2012/10/22 wLineTime | time | * | 08:49:48 wEventType | string | * | E wDisplayHint | int | * | 0 wPubId | string | * | warsaw wSess1TurnoverTime | time | * | 09:45:02 wSess2TurnoverTime | time | * | 09:45:02 wSess3TurnoverTime | time | * | 09:45:02 wSess1VwapTime | time | * | 09:45:02 wSess2VwapTime | time | * | 09:45:02 wSess3VwapTime | time | * | 09:45:02 wSess1HighPrice | price | * | 0.730000 wSess2HighPrice | price | * | 0.730000 Confidential Page 81 05/04/2013 OpenMDM Reference Guide wSess3HighPrice | price | * | 0.730000 wSess1HighTime | time | * | 10:13:15 wSess2HighTime | time | * | 10:13:15 wSess3HighTime | time | * | 10:13:15 wSess1LowPrice | price | * | 0.680000 wSess2LowPrice | price | * | 0.680000 wSess3LowPrice | price | * | 0.680000 wSess1LowTime | time | * | 09:51:03 wSess2LowTime | time | * | 09:51:03 wSess3LowTime | time | * | 09:51:03 wSess1OpenPrice | price | * | 3.610000 wSess2OpenPrice | price | * | 3.610000 wSess3OpenPrice | price | * | 3.610000 wSess1OpenTime | time | * | 09:45:02 wSess2OpenTime | time | * | 09:45:02 wSess3OpenTime | time | * | 09:45:02 wSess1TotalValue | double | * | 902.5 wSess2TotalValue | double | * | 902.5 wSess3TotalValue | double | * | 902.5 wSess1TotalVolume | quantity | * | 250 wSess2TotalVolume | quantity | * | 250 wSess3TotalVolume | quantity | * | 250 wSess1TradeCount | int | * | 1 wSess2TradeCount | int | * | 1 wSess3TradeCount | int | * | 1 wSess1LastPrice | price | * | 3.610000 wSess2LastPrice | price | * | 3.610000 wSess3LastPrice | price | * | 3.610000 wSess1LastTime | time | * | 09:45:02 wSess2LastTime | time | * | 09:45:02 wSess3LastTime | time | * | 09:45:02 wSess1Vwap | double | * | 3.61 wSess2Vwap | double | * | 3.61 wSess3Vwap | double | * | 3.61 Confidential Page 82 05/04/2013 OpenMDM Reference Guide 7.11 INDEX Table 27: INDEX Event Fields OpenMDM Name Field OpenMDM Data Type Field Conditions Default Field Source Event Trigger Flag Description IndexDate DateTime S Auto Date that the event occurred. When the date is not available from the Source it will be generated in the Application. IndexTime DateTime S Auto Time that the event occurred. When the time is not available from the Source it will be generated in the Application, in which case it may not exactly represent the time of the original event. IndexHigh F64 Valid to update C highest index value of current trading period. Auto Highest value registered for an Index during the current trading period. IndexLow F64 Valid to update C lowest index value of current trading period. Auto Lowest value registered for an Index during the current trading period. IndexPctChange F64 Content has S changed from previous update. Auto Percentage change in Index value compared with the closing value from the previous trading period. IndexValue F64 S Auto The value of the Index at the time of the event. Changes to the IndexValue occur due to a change in Bid/Ask or last sale of an underlying index component. Table 28: INDEX Event wEntitleCode | int | * | 51602 wMsgType | int | * | 14 wIssueSymbol | string | * | PLLGLSR00013.PLN.XNCO wSrcDate | date | * | 2012/10/22 wSeqNum | int | * | 3 Confidential Page 83 05/04/2013 OpenMDM Reference Guide wSrcTime | time | * | 10:46:31 wLineDate | date | * | 2012/10/22 wLineTime | time | * | 08:49:48 wEventType | string | * | E wDisplayHint | int | * | 0 wPubId | string | * | warsaw wIndexDate | date | * | 2012/03/06 wIndexTime | time | * | 17:30:24 wIndexHigh | price | * | 65947.51 wIndexLow | price | * | 65854.63 wIndexPctChange | price | * | 1.8 wIndexValue | price | * | 65466.86 wIndexSeqNum | int | * | 834206 Confidential Page 84 05/04/2013 OpenMDM Reference Guide 8 Normalization Rules 8.1 Trading Models A trading model, also referred to as a market model, is a set of rules established by a trading venue that defines the behavior of the trading that occurs throughout the trading day. A typical trading day has three main phases, as described in the following table. Trading Phase Description Pre-Trading Market participants have the opportunity to request reference data, such as the previous close price, before placing orders, making adjustments or deleting orders in preparation for the main trading phase. A Pre-Opening phase allows for orders to accumulate in the central order book and, where required, expired orders are cleared from the book. An indicative opening price is then determined from the central order book and disclosed to the market before order matching begins. Main Trading Also known as the Open Market, this is the phase during the trading day within which trading activity normally occurs. Market participants can continue to place, modify and delete orders throughout the phase, but the method of how prices are determined will depend upon the continuous or auction trading model adopted, as detailed in the following sections. Post-Trading Trading activity that occurs after the Closing Auction has determined the closing price. This phase is also described as ‘After Hours’ or ‘Special Operations’. Orders can be placed for the next day of trading and trades can be made, but they are restricted by a set price range around the closing price. Any trades made via Over The Counter (OTC) facilities or by firms who execute orders off their own book (Systematic Internalizers) are required to report all manual trading activity in conforming to MIFID regulations. Note 8.1.1 Depending on the Exchange, trading facilities such as Block Trading and Manual Trading may be available during the trading or after the close of any 'Continuous' session that occurs. Continuous Trading Model The continuous trading model involves the immediate execution of new and incoming orders upon receipt from market participants, for matching buy and sell side orders. Trading activity is defined by the market participants involved and the role they can perform, for instance, market makers provide bid and ask quote prices within a predefined spread which essentially shape the market, whereas Specialists/Liquidity Providers act on behalf of small clients to provide liquidity and equilibrium in less liquid markets. Confidential Page 85 05/04/2013 OpenMDM Reference Guide Opening and Closing Auctions are not always essential for price determination in the continuous trading model. Continuous trading model typical trading day: Opening Auction at the end of Pre-Trading phase, which is used to determine the opening price prior to open trading. A period of continuous trading. A Closing Auction at the end of the Main Trading phase, which is used to determine the Closing Price. Exceptions to the above typical daily timetable include: Scheduled intra-day auctions may occur due to, for instance, updates to reference data, or lunch break activity. Unplanned auctions caused by volatility in prices may interrupt continuous trading. Trading may be allowed to continue after the Closing Auction has already occurred. Some trading venues only use an Opening Auction and calculate the Closing Price in the absence of a Closing Auction. 8.1.2 Auction Trading Model Within the auction trading model, one or more back to back auctions are held at pre-defined points in time during the Main Trading phase, therefore continuous trading does not occur. Immediate execution of new and incoming orders in the order book are not allowed. Trading activity is defined by the market participants involved and the role they can perform, for instance, a Specialist/Liquidity Provider can continue to place, modify or delete orders while the order book is frozen just before price determination, market makers cannot. Auctions can occur single or multiple times throughout the main trading phase. Continuous auction trading is used to facilitate price determination in cases where liquidity is limited and there is an absence of market makers. Auction trading model typical trading day: Begins with a Call Phase: Orders are accumulated from market participants and the indicative auction price or the best bid and/or ask limit is displayed. Price determination takes place if the orders are executable. The order with the highest executable volume and lowest surplus determines the auction price. The order book is balanced for new matching activity to begin, also taking into consideration any surplus orders from the Price Determination phase. The above process may be repeated consecutively, or at predefined times throughout the main trading phase. Unplanned auctions caused by volatility within the auction itself may interrupt current auction activity. Confidential Page 86 05/04/2013 OpenMDM Reference Guide 8.1.3 Trading Model Normalization Rules Applies to field: TradingModel The following table provides a list of appropriate values for Trading Model normalization. Table 29: Trading Model Normalization Rules Enum Enumeration Value Definition Typical Trading Schedule 0 Continuous Auction A series of consecutive auctions that take place throughout the main trading phase. The aim of each auction is to match orders and produce a quote price for the security being traded. Once price determination and order book balancing have completed for each auction, a new auction begins and the pattern is repeated throughout the main trading phase. Pre-Trading Continuous Auction Order Accumulation Price Determination Repeat Auction Post Trading The exception is in the form of a single auction model whereby the same auction activity occurs but at a single pre-defined period during the main trading phase. 1 Continuous Auction with Continuous Auction with the participation of a Liquidity Liquidity Provider Provider. A liquidity provider can be a market maker or a specialist. Both intermediaries are responsible for ensuring liquidity to the market. Market Makers have an obligation to buy and sell at a quoted volume within a predefined spread, to guarantee a price. During an auction freeze period, Market makers are hidden from view of the orderbook and have no disclosure to the identities of market participants who entered orders. This protects investors by helping to reduce volatility in the market from potential price fluctuations. Pre-Trading Continuous Auction Order Accumulation Price Determination Repeat Auction Post Trading A Specialist holds expertise in trading a particular security and only when required, will a Specialist (using their own inventory) buy and sell at a quoted volume. Specialists however, differ from Market Makers as during an auction freeze period they have full view of the order book. At this stage, orders can continue to be added, modified or deleted, helping minimize Confidential Page 87 05/04/2013 OpenMDM Reference Guide Enum Enumeration Value Definition Typical Trading Schedule any imbalance of orders and keep the market in equilibrium. 2 Continuous Trading 3 Continuous Trading Liquidity Provider During the main trading phase, new and incoming orders are executed immediately, provided that one or more buy and sell side prices match. Unmatched orders remain in the orderbook until they can be matched and be disclosed to the market. Pre-Trading Opening Auction Order Accumulation Price Determination Continuous Trading Closing Auction Order Accumulation Price Determination Post Trading with Continuous Trading with the participation of a Liquidity Provider. A liquidity provider can be a market maker or a specialist. Both intermediaries are responsible for ensuring liquidity to the market. Pre-Trading Opening Auction Order Accumulation Price Determination Continuous Trading Closing Auction Order Accumulation Price Determination Post Trading Market Makers have an obligation to buy and sell at a quoted volume within a predefined spread, to guarantee a price. During an auction freeze period, Market makers are hidden from view of the orderbook and have no disclosure to the identities of market participants who entered orders. This protects investors by helping to reduce volatility in the market from potential price fluctuations. A Specialist holds expertise in trading a particular security and only when required, will a Specialist (using their own inventory) buy and sell at a quoted volume. Specialists however, differ from Market Makers as during an auction freeze period they have full view of the orderbook. At this stage, orders can continue to be added, modified or deleted, helping minimize any imbalance of orders and keep the market in equilibrium. 4 Confidential Continuous Trading with Continuous trading whereby only an opening auction is Opening Auction only scheduled for price determination. In the absence of a closing auction, the closing price is calculated based on buy and sell prices within a predefined time period prior to the end of the continuous trading session. Page 88 Pre-Trading Opening Auction Order Accumulation Price Determination Continuous Trading 05/04/2013 OpenMDM Reference Guide Enum Enumeration Value Definition Typical Trading Schedule Post Trading 8.2 5 Continuous Trading Trading At Last with For a predefined period of time after the closing auction has occurred, participants have the opportunity to continue entering orders for matching. Any order that executes will be matched against the previously determined closing price. Pre-Trading Opening Auction Order Accumulation Price Determination Continuous Trading Closing Auction Order Accumulation Price Determination Trading At Last Post Trading 6 Continuous Scheduled Auction Trading with In addition to opening and closing auctions which occur at the Intra-day beginning and end of the continuous trading session, single or multiple intra-day auctions may be scheduled. Depending on the trading venue, these may happen for reasons such as a lunch break (Asian markets) or for pricing updates for the security being traded. Pre-Trading Opening Auction Order Accumulation Price Determination Continuous Trading Intraday Auction Order Accumulation Price Determination Continuous Trading Closing Auction Order Accumulation Price Determination Post Trading 7 Trade Reporting Trade reporting only. Trade Reporting Auction Type Normalization Rules Applies to field: AuctionType The purpose of the auction phase is to ensure a concentration of liquidity and determine the price for the next trading phase. The Auction Type defines the type of auction that takes place, based on when it occurs, and whether or not it is scheduled. For example: Opening: Just prior to market open. Closing: Just prior to market close. Confidential Page 89 05/04/2013 OpenMDM Reference Guide Intraday: Intraday according to the schedule per the source market model, for instance every day at 12:00, the third Friday of the month at 10:10. Volatility: If certain rules of the market model are broken, such as Price Volatility. Where auction type data is available, it can be used as an indication of, for example, how volatile a market is, or the conditions of how prices are determined. The following table details the different auction types typical to market models. Table 30: Auction Normalization Rules Enumeration Number Enumeration Value Definition 1 Opening An auction that occurs before the main trading period to determine an opening price and to balance the order book. Often described as PreOpening. 2 Closing An auction that occurs after the main trading period to determine a closing price and to balance the order book. Often described as PreClosing. 3 Resume An unscheduled intra-day auction that occurs as a result of the main trading period being halted/ suspended. Often described as a Halt Auction . 4 Unknown The type of auction that occurs is unknown. 5 Intraday A scheduled intra-day auction, for example, an update to pricing information during the main trading period, such as IPO Auction. This category can also be used for intraday auctions that have not already been explicitly defined by another enumeration. 6 Volatility An unscheduled intra-day auction that occurs as a result of prices having breached the static price range during the main trading period. 7 EDSP A scheduled intra-day auction that occurs during the main trading period to determine the Exchange Delivery Settlement Price, i.e. the price at which contracts are cash settled, or the price for physical delivery of the underlying instrument. Often described as an auction to determine Final Settlement Price for maturing futures contracts or a Futures Close Out Auction. 9 Periodic An intermittent period of uncrossing for those instruments that are continuously in auction. 10 IPO An auction that occurs on the occasion of the initial public offering to open up the initial company stock offering to all types of investors. Confidential Page 90 05/04/2013 OpenMDM Reference Guide 8.3 Security Status Normalization Rules Applies to fields: SecurityStatus, SecurityStatusQual The objective of security status normalization is to normalize the allowable trading behavior and trading phases across data feeds, in order to give a common representation of similar phases. The overall status is indicated using a combination of two fields: SecurityStatus: Normalized first-level classification of the instrument. When an instrument is active for trading this represents the state of the current Trading Phase, otherwise it indicates the non-tradeable state, such as Halted. This is the primary indicator of status. SecurityStatusQual: Normalized second-level classification of the current Trading Phase. This is the secondary indicator, providing a qualification of SecurityStatus. The following additional field is also available to provide more granular information: Halt Reason: The retrospective reason for a change in the above SecurityStatus. The following table details the normalization rules to adhere to in order to standardize security status mappings. Table 31: Security Status Normalization Rules SecurityStatus Quote Entry Order Entry Order Modificat ion Order Cancel Order Executio n None Period of continuous trading at Last fixed Price from the Closing Auction. Order entry, order amendment and order execution permitted provided price at LastPrice; order cancellation permitted. No Yes* Yes* Yes Yes* PriceIndication Period during Trading At Last phase to disseminate the Last Fixed Price from the Closing Auction. Order entry at LastPrice and order cancellation permitted; order execution and order amendment not permitted; no Quote entry, no matching. No Yes * No Yes No Extension period to an auction arising from an Auction Extension imbalance on the book in an auction period, allowing more time to clear market orders or Yes Yes Yes Yes No SecurityStatus Qualifier AtLast Auction Confidential Description Page 91 05/04/2013 OpenMDM Reference Guide SecurityStatus Quote Entry Order Entry Order Modificat ion Order Cancel Order Executio n No No No No No None Scheduled intraday auction with no matching, e.g. Call Auction for instruments traded by Continuous Auction, or instruments with multiple scheduled Auctions. Yes Yes Yes Yes No PreClosing Preclose auction, i.e. a period prior to close of trading where orders accumulate but no execution takes place. Yes Yes Yes Yes No PreOpen Preopen auction, i.e. a period prior to main trading where orders accumulate but no execution takes place. Yes Yes Yes Yes No Resume Unscheduled intraday auction that occurs when an instrument is returning to trading after a Halt or Suspension. Orders accumulate but no execution takes place. Yes Yes Yes Yes No Auction arising from the price moving away Volatility Auction from a static reference price. Orders accumulate but no execution takes place. Yes No Yes Yes No Holiday Closed due to Exchange Holiday. Order system is not open for order entry, modification, cancellation or execution. No No No No No None Closed after End Of Trading. Order system is not open for order entry, modification, cancellation or execution. No No No No No PostTrading Closed but System Open for Off Exchange Trade Reporting only. No No No No No PreOpen Closed prior to Market Open. Order system is not open for order entry, modification or No No No Exchange dependent No SecurityStatus Qualifier Description support a side. Orders accumulate but no execution takes place. Frozen Closed Confidential Freeze has occurred during an Auction. Page 92 05/04/2013 OpenMDM Reference Guide SecurityStatus SecurityStatus Qualifier Description Quote Entry Order Entry Order Modificat ion execution. Some exchanges permit order cancellation. Crossing . Scheduled intraday post auction uncrossing period of execution where no order entry, modification or cancellation is permitted. No No No No Yes PreClosing Pre-closing post auction uncrossing period of execution where no order entry, modification or cancellation is permitted. No No No No Yes PreOpen Pre-open post auction uncrossing period of execution where no order entry, modification or cancellation is permitted. No No No No Yes None Symbol has been marked as deleted. No No No No No None Halt from the Exchange during which order entry is not permitted and no execution takes place. No No No No No Resume Transition out of halt or suspension by the Exchange, during which order entry or execution does not take place but cancellation or modification may be permitted. No No Yes Yes No Suspended Halt from the Exchange during which order entry is permitted and no execution takes place. Yes Yes No No No None Not currently tradable, for example, pre-IPO , delisting. No No No No No Continuous Trading in Volatile Market. Yes Yes Yes Yes Yes None Continuous Trading Phase. Yes Yes Yes Yes Yes None Security Status cannot be determined. Unknown Unknown Unknown Unknown Unknown Inactive Normal Order Executio n None Deleted Halted Order Cancel FastMarket Unknown *Only w here Price = LastPrice Confidential Page 93 05/04/2013 OpenMDM Reference Guide 8.4 Instrument Identification Normalization Rules (Symbology) Applies to field: InstrumentId The objective of symbology normalization is to provide a uniquely identifiable InstrumentID that can be leveraged across market data sources. Without a common symbology, it is difficult to compare or consolidate the activity related to instruments, and to identify when the activity is coming from the same instrument. As upstream sources traditionally have their own unique symbologies, the chosen identifier needs to be constructed using a consistent and practical convention in order to facilitate mapping to alternative symbologies. The normalization rules will ultimately always have an underlying dependency on the type of instrument and the referential identifiers available from the source. The current recommended normalization option for equities is ISIN.CURRENCY.MIC. The following identifiers are also included here as alternative options: ISIN (International Securities Identification Number ) ISIN.CURRENCY MNEMONIC MNEMONIC.CURRENCY UMTF (Uniform MTF common symbology) UMTF.CURRENCY Bloomberg and Thompson Reuters also have their own unique identifiers for symbology, Currently in OpenMDM there are referential fields available to carry this information. Subject to availability and rules of usage by market data sources these may be added as additional options for normalizing InstrumentID in the future. In the event that any of the identifiers are unavailable, the native exchange symbology is used. Confidential Page 94 05/04/2013 OpenMDM Reference Guide 8.5 Trade Normalization Rules 8.5.1 Trade Qualifier Normalization Applies to field: TradeQualifier A number of trade attributes that identify conditions that apply to a trade are flagged from source venues. The TradeQualifier field normalizes these conditions into a single enumerated field. The final enumeration values for this field are still under consideration. However, the current proposal is that OpenMDM should follow the recommendations issued under the MMT Initiative (see http://www.fese.eu/en/?inc=page&id=79), a recognised industry standard for describing financial transactions. The MMT categories that Trade Qualifier values will be based on are: MMT Market Mechanism MMT Trading Mode MMT Transaction Type MMT Publication Mode While the MMT classification currently focuses on European Equities, it is capable of being applied globally and across multiple asset classes. Any trade conditions that cannot be aligned to MMT, due to regulatory reasons, asset classes distinctions or simply conditions that cannot be aligned, will be accommodated and documented accordingly. It is also proposed that the above MMT categories are normalized into a single enumerated Trade Qualifier field to provide the following benefits: Easier access to the information by consolidation into a single field. Minimized impact from future changes, i.e. a new field does not have to be added every time a new trade condition identifier type or value is introduced. Instead, if the MMT classification is extended in the future, an additional level, or value within a level, can be added to the enumeration values to facilitate it. Flexibility in catering for any exceptions that may fall out of the MMT classification today, through the addition of additional enumerated values in Trade Qualifier. The following examples illustrate what the resulting Trade Qualifier enumeration could represent. Example 10: Trade Qualifier ‘a’ MmtMarketMechanism - Central Limit Order Book MmtTradingMode - Scheduled Opening Auction MmtTransactionType - Plain Vanilla Trade, No Negotiated Trade, No Crossing Trade, New Trade, No Benchmark Trade, No Ex/Cum Dividend Confidential Page 95 05/04/2013 OpenMDM Reference Guide Trade MmtPublicationMode - Immediate Publication Example 11: Trade Qualifier ‘b’ MmtMarketMechanism - Central Limit Order Book MmtTradingMode - Continuous Trading MmtTransactionType - Plain Vanilla Trade, No Negotiated Trade, No Crossing Trade, New Trade, No Benchmark Trade, No Ex/Cum Dividend Trade MmtPublicationMode - Immediate Publication The final enumeration list has not yet been produced, as the priority is to ensure the proposed approach is satisfactory before publicising. 8.5.2 Trade Execution Venue Normalization Applies to field: TradeVenueType Products that disseminate trade information also typically provide common information regarding the terms and conditions applied to the trade, the trade venue, the mechanism by which the trade occurred, and the timing of the trade publication. The identification of the trading mode (Execution Venue) under which a trade was executed has become a key requirement for the purpose of trade reporting, as a result of industry regulations such as MiFID (Markets in Financial Instruments Directive). The execution venue is dependent on the location of execution and location of reporting for the trade. The valid normalization options for Trade Execution Venue are listed in the following table. Table 32: TradeVenueType Normalization Rules Enum Enumeration Value Execution of Trade Reporting of Trade 0 Unknown Undefined Undefined 1 OnExchange Automatically generated by the Exchange’s trading system as a result Automatic reporting, under the of automatic execution on the order book rules or regulations of the market through which the trade is being reported. 2 OnExchangeOffBoo Executed outside the order book but where the k agree to trade under the rules of the market. 3 OffExchange Confidential buyer and seller Manually reported to the exchange under the rules or regulations of the market through which the trade is being reported. Executed away from the exchange. This category includes OTC trades, Manually reported outside of the Page 96 05/04/2013 OpenMDM Reference Guide Enum 8.6 Enumeration Value Execution of Trade Reporting of Trade but excludes trades executed by Systematic Internalisers. rules or regulations of the market or trade aggregation service through which the trade is being reported. 4 SystemInternaliser Trades executed away from the Exchange by a Systematic Internaliser, Manually reported outside of the which is a firm that executes orders from its clients, against its own rules or regulations of the market book or against orders from other clients. or trade aggregation service through which the trade is being reported. 5 OnExchangeDarkBo Automatically generated by the Exchange’s trading system as a result ok of automatic execution on the dark order book. Orders and their attributes are not displayed and prices are derived from an external reference price. Automatic reporting, under the rules or regulations of the market through which the trade is being reported. Event Type Normalization Rules See Table 2: OpenMDM Events for a list of the EventType values for event normalization. Confidential Page 97 05/04/2013 OpenMDM Reference Guide 8.7 Quote Qualifier Normalization Rules Applies to field: QuoteQualifier Quotes represent the most current bid or ask prices and quantities at which a traded instrument can be bought or sold. The market data sent for a quote may contain the following: The bid (also referred to as buy) price - the current price at which a market participant is willing to purchase a unit of the instrument. The ask (also referred to as offer or sell) price - the current price at which a market participant is willing to sell a unit of the instrument. The bid and ask size - the quantity of the instrument (the total number of units) that a market participant is willing to trade at the quoted price. A quote qualifier - a condition provided by the market data source that applies to the quote. Quote qualifiers can be used to indicate conditions such as the type of quote, the status of the market participant submitting the quote, or the current state of trading on the instrument. One or more qualifiers may be provided with each Quote event, and they can apply to different elements of the quote. For example: ‘Slow on Ask Side’: the qualifier applies only to the Ask side of the quote. ‘Slow on both Ask and Bid’: the qualifier applies to both sides of the quote. ‘Crossed’: the qualifier applies to the instrument. Market participants use this information to inform their trading decisions. This guide details the conditions or qualifiers that can be assigned to a quote, and describes different approaches to how this data may be structured. Note The approach to Quote Qualifier normalization is currently under review and the subject of a separate discussion document. The review will include consideration on the use of separate qualifiers for the ‘Ask’ and ‘Bid’ sides of a quote. The following table lists the values and associated definitions for a single QuoteQualifier field. Confidential Page 98 05/04/2013 OpenMDM Reference Guide Table 33: Quote Qualifier Normalization Rules Quote Qualifier Description Closing The final Quote for an instrument at the end of a trading period. Crossed The bid-ask spread for the instrument is negative, i.e. the best bid price exceeds the best ask price (within the market or, more commonly, across markets). Empty The Quote contains no price or size information. This may represent a cancellation or reset of previous quotes by the Market Maker. Fast The Quote is issued when the instrument is in fast trading mode. This indicates a period of very active trading, typically lasting for a short duration, quotations will be entered on a 'best effort' basis and information provided may be late and not reflect current prices. LiquidityProviderAsk The Ask Quote has been received from a specialist Market Participant, or designated Market Maker. LiquidityProviderBid The Bid Quote has been received from a specialist Market Participant, or designated Market Maker. For exchange traded instruments, only one member firm can be designated as specialist whereas there can be multiple Market Makers in the OTC market. LockedMarket This indicates that the bid and ask price for the instrument are identical, within the market or across markets. This typically occurs in very competitive markets, and for only brief periods. As orders are executed, the bid-ask spread will increase again and the Market will unlock. Market The Quote is based on a Market Order. MktAsk The Ask side of the Quote is based on a Market Order. MktBid The Bid side of the Quote is based on a Market Order. NonFirm The price and quantity of the Quote are not guaranteed by the submitting Market Participant. Normal Regular Quote. No special condition. OneSided One sided. Only one side of the Quote is valid. The other side is a Market Order or is empty. Opening Opening quote. Rotation The Quote is flagged to remain active through the opening trading rotation subsequent to a market closure for any reason. Open rotation orders that are not filled during the initial rotation automatically expire. SlowOnAskSide The instrument is in slow or manual mode on the Ask side, i.e. automatic execution is suspended on this side. This means that the instrument is not protected by Reg NMS and can be Traded Through. Traded Through quotes do not need to be posted to other NMS exchanges and can be executed at a price that may be inferior to quoted prices at other exchanges. Confidential Page 99 05/04/2013 OpenMDM Reference Guide Quote Qualifier Description SlowOnBidSide The instrument is in slow or manual mode on the Bid side, i.e. automatic execution is suspended on this side. This means that the instrument is not protected by Reg NMS and can be Traded Through. SlowQtLrpOrGapQuoteBidSide The Quote is a Manual or Slow Quote on the Bid side due to a Liquidity Replenishment Point (LRP) or Gap Quote. While in this mode, auto-execution is not eligible, the quote is considered Slow on the Bid side and it can be traded through per Regulation NMS. SlowQtLrpOrGapQuoteOfferSide The Quote is a Manual or Slow Quote on the Ask side due to a Liquidity Replenishment Point (LRP) or Gap Quote. While in this mode, auto-execution is not eligible, the quote is considered Slow on the Ask side and it can be traded through per Regulation NMS. Unknown Unknown or unspecified condition. UnsolAsk The Ask Quote has been submitted based on an unsolicited order from a customer and is not necessarily a Market Maker's own quotation reflecting a price based on market conditions or current information about the company being quoted. The Quote should be removed from the system once the customer order is executed. UnsolBid The Bid Quote has been submitted based on an unsolicited order from a customer and is not necessarily a Market Maker's own quotation reflecting a price based on market conditions or current information about the company being quoted. The Quote should be removed from the system once the customer order is executed. Confidential Page 100 05/04/2013 OpenMDM Reference Guide 8.8 Instrument Type Normalization Rules Applies to fields: InstrumentType, InstrumentSubType This section introduces a consistent system for classifying instruments. Currently, there is no accepted universal standard for allocating the different asset classes into instrument types, and it is common for the same instrument or asset to have different names in the marketplace. This guide proposes a standard for Instrument Types and Instrument Sub Types. Instrument Type Instrument type is the primary level of instrument classification used in OpenMDM and defines the asset class to which the product belongs, such as ‘Warrant’, ‘Bond’ or ‘Equity’. It is common for a source to publish fields such as 'Security Type' or 'Instrument Type' containing values that can be normalized to one of the given InstrumentType values. Alternatively, the classification may be determined by the data content in the published source message, for instance, where the data is specifically related to stocks or indices. Instrument Sub-Type A further level of classification is provided in OpenMDM to accommodate cases where either a source specifically publishes an instrument ‘subtype’, or if this can be derived from the data. Generally there is a clear link between instrument type and sub-type. For instrument sub-types that are less easily categorized, the classification is made according to how the instrument is actually traded. For example, an instrument categorized as sub-type ‘Bond Warrant’, which is traded as a bond with a warrant attached, is categorized as InstrumentType ‘Bond’ rather than ‘Warrant’. Note For many of the instrument sub-types, a further level of granularity may be available from source and these should be appropriately categorized to the most appropriate InstrumentSubType, for example, ‘Gilt Warrant’, ‘Government Bond Warrant’ and ‘Bond Cum-Warrant’ are all tradeable instruments that can be considered as sub-type ‘Bond Warrant’. The following tables list the values and associated definitions for Instrument Types and Instrument Sub-Types. Table 34: Instrument Type Normalization Rules Instrument Type Description Bond A debt instrument, used to finance a number of activities and projects undertaken by governments, municipalities and corporations, where money is borrowed from investors at a fixed interest rate with the proviso of paying back the principal borrowed in a defined period of time. During the lifetime of the bond regular interest payments are made to the lender known as coupons, until maturity. Confidential Page 101 05/04/2013 OpenMDM Reference Guide Instrument Type Description Collective Investment Vehicle An entity that allows investors to pool their money and invest the pooled funds, rather than buying securities directly as individuals. Also known as investment funds, managed funds, or simply funds. CIVs can be closed-end (a fixed number of units are issued) or open-end (no restrictions on the number of units available for trading). They may be formed under company law (corporate), by legal trust or by state legislation. Equity A security, also known as a stock, or share that denotes ownership of a corporation and constitutes a right of claim on the company's earnings and assets. Exchange Traded Product A specific type of investment instrument that is traded on an exchange and whose value is derived from an underlying such as a stock, index, commodity or managed fund. Forward A non-standardized derivative contract traded OTC where the holder agrees to buy or sell a financial instrument (cash settled) or a physical commodity (physical delivery) on a set future date at a set price. Future A standardized derivative contract traded On Exchange where the holder agrees to buy or sell a financial instrument (cash settled) or a physical commodity (physical delivery) on a set future date at a set price. FX FX (or Forex) is defined as the conversion of one country's currency into that of another. In a typical foreign exchange transaction, a party purchases some quantity of one currency by paying some quantity of another currency. Index Indices are a way of measuring certain sectors of the stock market. They are referenced by news and financial firms and can be used as benchmarks measuring portfolio and fund performance. Examples include, FTSE Index, DJIA and the Hnag Seng. Miscellaneous Other assets, e.g. Real Estate, Insurance Policies Money market A market for financial instruments related to short-term borrowing and lending. Money Market Instruments typically have maturities of 13 months or less. Option A derivative contract that gives the buyer the right, but not the obligation, to buy (call) or sell (put) the underlying asset at a specific price (the exercise or strike price), on a specific date (the expiry or exercise date). Options can be traded OTC or On Exchange. Swap A derivative contract in which counterparties exchange the cash flows (e.g. liabilities or interest payments) of one party's financial instrument for those of the other party's financial instrument. Swap contracts are typically traded OTC but may also be traded On Exchange. Warrant A security that allows the holder the right to purchase a pre-determined number of shares for a given price at a given time. Similar to a call option but is issued by a private party (rather than a public options exchange and always relate to new shares of stock. Confidential Page 102 05/04/2013 OpenMDM Reference Guide Table 35: Instrument Sub-Type Normalization Rules Instrument Type Instrument Sub-Type Instrument Sub-Type Description Bond Other Instrument Sub-Type is unknown or does not fit into sub-type normalization values for this instrument type. Bond Agency Bond A bond issued by a government-sponsored agency. These agencies are private entities and therefore the bonds are not fully guaranteed in the same way as government or municipal bonds. Bond Bond Warrant A bond, usually discounted, with a warrant attached that allows the owner to acquire shares of the company that issued the original warrant at a specified price and time. It is similar to convertible debt, but when exercised, ownership of the bond is retained rather than converted to stock. Examples of a Bond Warrant include: - Bond Cum-warrant - Bond Ex-warrant - Gilt Warrant Bond Bulldog Bond A bond denominated in sterling, issued in London by a company that is not British. Bond Bunny Bond A bond offering investors an option to use coupon payments into other bonds with the same coupon and maturity. Bond Church Bond A bond issued only by religious organizations and only used to fund church property. Church Bonds cannot be used to generate revenues. Bond Convertible Bond A bond which, at the discretion of the bondholder, can be converted into a predetermined amount of stock in the issuing company at certain times during its life. Examples of a Convertible Bond include: - Convertible bond (Reverse) - Convertible bond (Subordinated) - Convertible bond-Cum warrant - Convertible bond-Ex warrant - Convertible Debenture Bond Confidential Corporate Bond A bond issued by a corporation and sold to investors in order to raise funds Page 103 05/04/2013 OpenMDM Reference Guide Instrument Type Instrument Sub-Type Instrument Sub-Type Description to expand its business. Uses the credit worthiness of the corporation as its collateral. Examples of a Corporate Bond include: - Retail Bond - Subordinated bond Bond Debenture A bond or debt instrument that is not secured against an asset or any type of collateral, but by the creditworthiness and reputation of the issuer. Bond Equity linked Bond A bond that is linked to the performance of the stock market by either a single stock, a group of stock or an index, such as the FTSE. Bond Exchange Traded Note A bond issued by a bank which is linked to the performance of a market index or strategy and does not comprise an actual underlying asset like a stock or index fund. No period coupon payments are distributed and no principal protections exists. Examples include commodity, currency, emerging market and strategy ETNs. Bond Government Bond Bonds issued and guaranteed by a government, usually to cover state spending and denominated in the currency of the issuing country. Bond Indemnity Bond A bond that covers a loss for the buyer if there is a failure to perform to the standards agreed between the two parties (buyer and seller). Bond Indexed Bond A bond on which coupon payments are based on a certain price index e.g. Consumer Price Index and can be adjusted to guarantee the bond holder a known real rate of return. Bond Medium Term Note A type of bond. A medium term debt security (with maturity terms typically 3-10 years) that can comprise a series of separate bond issues under umbrella documentation. Bond Mortgage Bond A bond that is backed by either a single mortgage, or a collection of mortgages. Mortgage Bonds are rated by an officially recognized credit agency and pay regular payments similar to coupons. Bond Multi Coupon Bond A bond that allows redemption on pre-negotiated dates in the future, usually agreed at the time of issue. The flexibility acquired on this bond means that the coupon will be higher than the current market rate. Bond Municipal Bond A bond issued to finance the capital expenditure of a state, municipality or Confidential Page 104 05/04/2013 OpenMDM Reference Guide Instrument Type Instrument Sub-Type Instrument Sub-Type Description county, exempt from both federal and local taxes. Bond Participating Bond A bond which pays the owner dividends and interest. As these are the debt of the issuing corporation, the bondholder is entitled to a portion of the company earnings as well as the coupon. Often issued by companies that are financially weak, since the extra incentive will attract investors. Examples of Participating Bonds include: - Participating bond-Cum-warrant - Participating bond-Ex-warrant Bond Perpetual Bond A bond that is non-redeemable with no maturity that pays a steady stream of interest in perpetuity. Bond Primary Bond A bond sold through the Primary Market. The Primary Market is where bonds are traded from the issuer directly to the investors through authorized dealers. Bond Reverse Bond A bond, also known as Reverse Convertible Note, that is a short term, coupon bearing investment with payout at maturity, based on the underlying stock's performance. Bond Secondary Bond A bond sold through the Secondary Market. The Secondary Market is where investors buy and sell bonds from other investors, rather than buying from the issuing entity itself. Bond Step Coupon Bond A bond that pays a primary coupon rate in the first period, then a higher coupon for the subsequent periods until maturity. Bond Strip A bond which has been broken into its individual components. The components are known as strips and comprise the principal strip which confers the right to receive the full face value of the bond on maturity and other strips which confer the right to receive coupon payments throughout the life of the bond. Bond Structured Bond A bond that allows the general terms of the issue, maturity, repayment and coupon rates to be defined on a more flexible basis that suits the individual investor. Collective Investment Vehicle Other Instrument Sub-Type is unknown or does not fit into sub-type normalization values for this instrument type. Confidential Page 105 05/04/2013 OpenMDM Reference Guide Instrument Type Instrument Sub-Type Instrument Sub-Type Description Collective Investment Vehicle Closed-End Fund A CIV Instrument. A US-specific closed-end fund with a corporate structure. Collective Investment Vehicle Exchange Traded Fund A CIV Instrument. An exchange traded fund that trades much the same as a stock on an exchange, but shadows an underlying index or bond close to its net asset value over the course of the trading session. Collective Investment Vehicle Investment Trust A CIV Instrument. A UK-specific closed-end fund with a corporate structure. Collective Investment Vehicle Mutual Fund A CIV Instrument. A North America-specific open-end fund with a corporate or trust structure. Collective Investment Vehicle REIT A CIV Instrument. A closed-end fund that invests in real estate. Example of REITs include: - Equity REIT - Hybrid REIT - Mortgage REIT Collective Investment Vehicle SICAV A CIV Instrument. A European-specific open-end fund with a corporate structure. Collective Investment Vehicle Sovereign Investment Fund A CIV Instrument. A fund that is created or controlled by a government. Collective Investment Vehicle Unit Investment Trust A CIV Instrument. A US-specific open-end fund with a trust structure. Collective Investment Vehicle Unit Trust A CIV Instrument. A UK-specific open-end fund with a trust structure. Equity Other Instrument Sub-Type is unknown or does not fit into sub-type normalization values for this instrument type. Equity Common Share Also known as an Ordinary share. An equity that is not a preferred share and has no set dividend amount. This type of share represents shared ownership in a company and allows the holder a voting representation proportionate to the units owned. Equity Convertible Share An equity that can be converted into another asset class or share class. Equity Deferred Share An equity issued to company founders that retains their receipt of dividends until all other classes of shareholders have received theirs. Such shares have no rights to assets of a company undergoing bankruptcy proceedings until all common and preferred shareholders are paid. However these Confidential Page 106 05/04/2013 OpenMDM Reference Guide Instrument Type Instrument Sub-Type Instrument Sub-Type Description shares allow the founders to receive all the remaining profit, no matter how much. Equity Depository Receipt An equity issued by a bank representing ownership of stock of a foreign company held by the bank in trust. Equity Fully Paid Share An equity whose full nominal value has been received by the issuing company and therefore no more money is required from the shareholders. Equity Instalment receipt An equity in which the buyer has not paid the full value of the investment in advance. Once a primary payment for the receipt is paid, the difference must be paid in instalments. The buyer still receives dividends and has voting rights during this repayment period. Equity International Equity An equity representing ownership interest in an International company. Equity Legended Share An equity that has restrictions regarding the transfer of the stock, usually standard among privately held corporations. Equity Partially Paid Letter An equity whose full nominal value has not been received by the issuing company, who may make a 'call' for the outstanding amount. Equity Participating share An equity that is a type of Preferred Share. Participating share holders receive the standard Preferred Share dividend plus an additional dividend based on a specified condition. If the company goes into liquidation, participating shares entitle the holder to the purchasing price of the equity plus a pro-rata share of remaining proceeds that common shareholders receive. Equity Preferred Share An equity that entitles the holder to dividends before common share holders are paid. If the company goes into liquidation, preferred shares entitle the owners to be paid first from assets realized. The dividend payable is fixed and these shareholders typically have no voting rights. Also known as preference shares. Equity Redeemable Share An equity that is a type of Preferred Share that allows the issuing company the right to redeem. Redeemable shares may or may not have a specific redemption date or dates. Exchange Traded Product Other Instrument Sub-Type is unknown or does not fit into sub-type normalization values for this instrument type. Forward Other Instrument Sub-Type is unknown or does not fit into sub-type normalization Confidential Page 107 05/04/2013 OpenMDM Reference Guide Instrument Type Instrument Sub-Type Instrument Sub-Type Description values for this instrument type. Forward Bond Forward A forward contract based on a bond. Forward Commodity Forward A forward contract based on a commodity. Forward Currency Forward A forward contract based on a specified amount of a given currency. Forward Equity Forward A forward contract based on a specified number of equity shares. Forward FRA Forward Rate Agreement - a forward contract in which the counterparties agree on an interest rate to be paid, at a specified settlement date, on a notional amount of principal of a specified maturity, that is never exchanged. FRAs are settled by net cash payments typically at maturity of the contract. Future Other Instrument Sub-Type is unknown or does not fit into sub-type normalization values for this instrument type. Future Bond Future A futures contract based on a bond. Future Commodity Future A futures contract based on a commodity. Future Currency Future A futures contract based on a specified amount of a given currency. Future Equity Future A futures contract based on a specified number of equity shares. Future Exchange Contract Future Index Future A futures contract based on a portfolio of stocks characterized by an index. No stocks change hands as index futures are cash settled. Future Interest Rate Future A futures contract based on an interest bearing asset. Future Swapnote Future A futures contract based on a notional bond contract referenced to the swap market. FX Other Instrument Sub-Type is unknown or does not fit into sub-type normalization values for this instrument type. FX Spot In relation to FX, this is the exchange rate at which a currency pair can be traded, at the current time ('on the spot'). Spot rate differs from the forward rate in that it has been priced today as opposed to a set time in the future. Index Other Instrument Sub-Type is unknown or does not fit into sub-type normalization Confidential Traded Derivative A Futures or Options Contract transacted on an organized futures exchange. Page 108 05/04/2013 OpenMDM Reference Guide Instrument Type Instrument Sub-Type Instrument Sub-Type Description values for this instrument type. Miscellaneous Other Instrument Sub-Type is unknown or does not fit into sub-type normalization values for this instrument type. Miscellaneous Contract For Difference (CFD) A contract in which the settlement is made through a cash payment rather than the delivery of the underlying physical commodity or security. Miscellaneous Stapled Unit A structured product that consists of two or more parts that are contractually bound to form a single salable unit. The resulting hybrid is influenced by all constituents, but is treated as one unit at all times. Money market Other Instrument Sub-Type is unknown or does not fit into sub-type normalization values for this instrument type. Money market Bank Note A money market instrument. A Bank Note is a promissory note issued by a bank and payable on demand to the bearer. Money market Cash Note A money market instrument. A Cash Note is a promissory note similar to a Bank Note. Commonly used for large purchase transactions such as real estate, two parties will agree a payment schedule whereby the seller receives monthly payments at cash value once the transaction has occurred. Money market Certificate of Deposit A money market instrument. A Certificate of Deposit, or CD, is a short term (one month to five years) certificate allowing the owner to receive interest. A CD has a maturity, a fixed interest rate and can be issued in any denomination. It is generally issued by a commercial bank and is insured by the FDIC. Money market Commercial Paper A money market instrument. A Commercial Paper is a type of short term, unsecured corporate bond, used mainly to finance interim obligations, accounts receivable and inventory. Example of Commercial Paper includes; - Zero Coupon Commercial Paper Money market Confidential Municipal Notes A money market instrument. A Municipal Note is a short term debt instrument issued by a local government entity to cover capital expenditure. Returns are often exempt from federal, state and local income taxes. Page 109 05/04/2013 OpenMDM Reference Guide Instrument Type Instrument Sub-Type Instrument Sub-Type Description Money market Repo A money market instrument. A repo or repurchase agreement Is the sale of securities with an agreement for the seller to buy them back at a later date, often the next day. The difference between the original sale price and the repurchase price represents the interest. Money market Treasury Bill A money market instrument. A Treasury Bill is a government security that matures in one year or less. They are zero-coupon bonds that are sold at a discount of the par value to create a positive yield to maturity. Option Other Instrument Sub-Type is unknown or does not fit into sub-type normalization values for this instrument type. Option Bond Option An option contract based on a bond. Option Commodity Option An option contract based on a commodity. Option Currency Option An option contract based on a specified amount of a given currency. Option Equity Option An option contract based on a specified number of equity shares. Option Index Option An option contract based on a portfolio of stocks characterized by an index. No stocks change hands as index options are cash settled. Option Interest Rate Option An option contract based on an interest bearing asset. Option Right An option contract allowing the holder to aquire new shares issued by the company at a set price (usually at a lower cost than market price). This type of security is typically only valid for a short period of time, after which it will expire. Option Swapnote Option An option contract based on a notional bond contract referenced to the swap market. Swap Other Instrument Sub-Type is unknown or does not fit into sub-type normalization values for this instrument type. Swap Commodity Swap A swap contract based on the swap of a market price for a commodity with a fixed price over a specified period. Swap Credit Default Swap A swap in which the buyer makes payments to the seller up until the maturity date of a financial contract with a third party. In return, the seller agrees to compensate the buyer in the event of a loan default or other credit event. Also known as a credit derivative contract. Confidential Page 110 05/04/2013 OpenMDM Reference Guide Instrument Type Instrument Sub-Type Instrument Sub-Type Description Swap Currency Swap A swap contract based on the swap of principal and interest payments on a loan in one currency for a loan in another currency. Swap Interest Rate Swap A swap contract based on the swap of interest bearing assets - from a fixed rate to a floating rate, from a floating rate to a fixed rate or from one floating rate to another. Warrant Other Instrument Sub-Type is unknown or does not fit into sub-type normalization values for this instrument type. Warrant Barrier Warrant A warrant with an additional pre set barrier that usually causes the the warrant to expire once the barrier level is contravened. Also known as a turbo, capped or knock out warrant. Examples of a Barrier Warrant include: - Knock Out Warrant - Turbo Warrants - Capped Warrant Warrant Basket Warrant A warrant that has an underlying over a group of securities, within a certain subdivision of the market. Warrant Call A type of warrant allowing the investor the right to buy the underlying asset at a specific price and time. Warrant Commodity Warrant A warrant, similar to a normal warrant but instead of stock, it has an underlying commodity which may actually (if exercised) require delivery or storage. Warrant Compound Warrant A warrant also known as a secondary warrant or a warrant on a warrant Warrant Covered Warrant A warrant, very similar to a normal warrant but allows the investor to buy or sell a variety of underlying financial products, differing exercise prices and they are only issued by financial institutions. Warrant Currency Warrant A warrant that allows the holder to buy/sell the underlying currency, for a specific rate at a specific time instead of the more common stock. Warrant Discount Warrant A warrant that allows investors to buy/sell the underlying asset at discounted cost, but has potential profit limited. Warrant Dividend Warrant A warrant paid to investors instead of a dividend. Confidential Page 111 05/04/2013 OpenMDM Reference Guide Instrument Type Instrument Sub-Type Instrument Sub-Type Description Warrant Exotic Warrant A warrant that has complicated and irregular exercise terms, the complete contrast of a normal warrant. Warrant Index Warrant A warrant where instead of the underlying being a single stock it is an index. Warrant Instalment Warrant A warrant with an initial part payment and delayed final payment that allows you access to shares at a greatly reduced price, whilst still being able to receive the benefits of share ownership. Warrant Minis Warrant A warrant which is a low maintenance, highly leveraged, share tracking security that minimizes the need for expiries and rollovers. Warrant Protected Warrant A warrant, essentially an amalgamation of index and single stock warrants, give the holder a guaranteed return. Warrant Put A warrant allowing the investor the right to sell the underlying asset at a specific price and time. Warrant Rolling Warrant A warrant that allows the holder to maintain the correct level of gearing as per the disclosure document from the time of issue. Like the ordinary instalment warrant, but the holder has chosen to roll from one instalment series to the next. Warrant Self Funding A warrant which unlike an ordinary warrant allows the holder to keep the dividends (from the underlying share) and use them to reduce the balance of the self funding warrant itself. Confidential Page 112 05/04/2013 OpenMDM Reference Guide 9 Glossary Term Definition Application An application that processes market data, e.g. feed handler. Best Bid and Offer The lowest ask and highest bid available at a given time. Block Trade An order/trade submitted for sale or purchase of a large quantity of instruments, for example, 10,000 as defined by the Exchange. Common Shares A share in the profits of a company that pays dividends, and normally gives the owner voting rights at shareholder meetings. If the company also issues preferred shares, then common shareholders are not paid their dividends until the dividends for preferred shareholders are paid. Also referred to as ‘voting shares’ or ‘ordinary shares’. Conditional field A field that should be available for the specified event, but whose presence is dependent on validation of predefined criteria, such as: The presence of another field The presence of another field with a specific value, for example, InstrumentType with value "Equity". A user defined condition Event An event is generally driven by a direct market event. Each detailed event type includes a list of associated fields that consistently represent the key output of the event. Exchange A place where financial instruments can be bought and sold. It may be physical or electronic. Ex-date The ex-dividend date: "the first date following the declaration of a dividend on which the buyer of a stock is not entitled to receive the next dividend payment." (Source: "Investment Income and Expenses", Publication 550, Internal Revenue Service, Jan 17, 2012, Page 21) Final Dividend A portion of a company's profit paid to common and preferred shareholders after the final annual financial statements. Imbalance An excess of orders of a particular type, either buy or sell, for a specific instrument at the end of an Auction, making it impossible to match the buyers' and sellers' orders. Instrument A tradable asset of any kind that represents financial value. Also referred to as a security. Instrument classes include Equities, Derivatives, Fixed Income, and Foreign Exchange. Interim Dividend A portion of a company's profit paid as a declared dividend to common and preferred shareholders before annual earnings are released. Normally paid when the company's interim financial statements are released. Irregular Trade A trade that is not considered in calculating last trade price. Confidential Page 113 05/04/2013 OpenMDM Reference Guide Term Definition Mandatory field A field defined within OpenMDM that should always be available across all products for specified events. The data is available from the Source, either directly or as a derived value. When the value must be derived from a Source value, the Source should provide guidelines on how to derive the required data. Mandatory fields that cannot be provided by a product or offering should be documented as an OpenMDM exception. Market Maker A company or individual that quotes a buy and sell price for a financial instrument. For exchange traded instruments, only one member firm can be designated as specialist for a given security, whereas there can be multiple Market Makers in the OTC market. Market Participant A party willing to buy/sell in line with market. Market Price The current price at which an instrument can be bought or sold. Normalized Refers to adherence with the OpenMDM standard. Offering The term used to represent any product, service or solution. Open Market (OpenMDM) Data Model A framework for standardizing how market data content is presented through the use of consistent terms, event identification, field content and definitions. Order book entry An order entry is a record of a bid to buy, or an offering to sell, a specific quantity of an instrument at a specific price for a defined period of time, and/or under specified conditions. The Order Book for an instrument comprises current, active order book entries. Price The amount of money expected, required, or given in payment for an instrument. Price Level The aggregated representation of orders containing the same price. For example, if a bid is made at that price level, all the orders on that price level could potentially fulfill that bid. Quote The prices and quantities at which an instrument can be bought or sold. The bid quote shows the price that a buyer is willing to offer for a given quantity, while the ask quote shows the price that a seller is willing to accept for a given quantity. Regular trade Exists as part of an Irregular Trade. Restricted shares Shares in a company that cannot be traded until certain conditions have been met. Source Any market data source, such as an Exchange or an MTF. Time and Sales Detailed, real-time information on individual trades, including trade price movements, and details on the current market state. Trade An instance of a buy/sell transaction. Confidential Page 114 05/04/2013 OpenMDM Reference Guide Term Definition Trading Period A period of time in a financial market from market open to market close, comprising one or more Trading Sessions. Market summary statistics are aggregated over this time period. Traditionally, a Trading Period takes place over a single working day and comprises a single Trading Session. However, in some environments a Trading Period may run for longer than one day and/or over weekends and holidays, and may comprise multiple Trading Sessions. Trading Phase A market typically goes through a number of phases during any Trading Period. The particular market phase determines the trading rules and behavior for that period, for example, whether you can enter orders or not, whether the trading engine is up, whether the security is in auction. Trading Session A period of time in a financial market from session open to session close during which an exchange is open. Each Trading Session may comprise multiple Trading Phases. Interim market summary statistics may be made available at session level if appropriate. Traditionally, a Trading Session takes place over a single working day and equates to a single Trading Period. However in some environments, an exchange may have several Trading Sessions, each lasting from less than one day to several days, during a Trading period. Unit Confidential A single, indivisible amount in a transaction. Page 115 05/04/2013