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