FIX Specification for Market Data (FIX BookFeed) Programming Reference. Version 3.3

Similar documents
London Stock Exchange

Commander FIX. Rules of Engagement. Corporates and Markets. 5 Jul 2013 Version 1.5

Moscow Exchange Fix protocol specifications for OTC trades report system (OTC-monitor)

Version Number 1.5 Effective Date 25 May ASX Trade24 Developer s Guide FIX Specifications

Turquoise Equities. TQ401 - Level 2 MITCH UDP Market Data. Issue November 2015

BM&FBOVESPA Electronic Link (BELL) Financial Information exchange (FIX) Rules of Engagement. Derivatives FX

MEFFGate Trading FIX INTERFACE SPECIFICATIONS

Track and Trace. Administration Guide

FIX Protocol One Day Course. By Khader Shaik

LSEHub FIX Network. Technical Guide

FINRA ADDS OTC Reporting Facility Trade Journals

Safeguard Ecommerce Integration / API

MS ACCESS DATABASE DATA TYPES

Sirix Tablet 6.5 User Guide

Please contact IEX Market Operations at or your IEX onboarding contact with any questions.

NASDAQ ITCH to Trade Options

BATS Chi-X Europe FIX Specification

HIPAA ASC X12N Version Inbound 837 Transactions. Companion Document

LMAX Exchange FIX4.4 & API FAQs April 2015

This Annex uses the definitions set out in the Agreement on service of payment cards on the Internet (hereinafter the Agreement).

Portal Administration. Administrator Guide

US Equities/Options Multicast PITCH Specification. Version

MODFLEX MINI GATEWAY ETHERNET USER S GUIDE

I/B/E/S GUIDANCE USER GUIDE A GUIDE TO UNDERSTANDING THE TERMS, LAYOUTS & USE OF I/B/E/S GUIDANCE

RTP / RTCP. Announcements. Today s Lecture. RTP Info RTP (RFC 3550) I. Final Exam study guide online. Signup for project demos

Nordea e-markets FIX - Rules of Engagement

NASDAQ Market Velocity and Forces 2.1

NortechCommander Software Operating Manual MAN R6

QAD Enterprise Applications Standard Edition. Training Guide List/Discount Table Pricing

Security Analytics Engine 1.0. Help Desk User Guide

Data Export Specification for Trade File and Closing Price File in Central Trade Feed Format

Technical documentation

Field Properties Quick Reference

R.2 STRUCTURE OF AN EDIFACT TRANSMISSION

TCP/IP MODULE CA-ETHR-A INSTALLATION MANUAL

S.2.2 CHARACTER SETS AND SERVICE STRING ADVICE: THE UNA SEGMENT

ASCII Interface Version NT1316-ORACLE FCUBSV.UM [January] [2010] Oracle Part Number E

Zoltan Feledy. A Thesis in the Field of Information Technology. Harvard University

CA Nimsoft Monitor. Probe Guide for Cloud Monitoring Gateway. cuegtw v1.0 series

Deltek Touch Time & Expense for Vision 1.3. Release Notes

JUDICIARY ACCOUNT CHARGE SYSTEM PARTICIPATION AGREEMENT

Minimum Acceptable Audit Trail/Data Elements for Order Routing/Front-End Systems

Quick Reference. Administrator Guide

Resource Online User Guide JUNE 2013

BATS Options Exchanges Binary Order Entry Specification

Trading Station II User Guide. To the No Dealing Desk Forex Execution Platform

Plastic Card Claims Automation Specifications Document

FIX Client API Guide

Multi Account Manager

HKEx Orion Market Data Platform MMDH Certification Test Instructions v1.0

mobiletws for ipad Users' Guide September Interactive Brokers LLC. All rights reserved.

Deltek Touch Time & Expense for GovCon. User Guide for Triumph

LONDON STOCK EXCHANGE GROUP

Hedge Hog Trade Rules

User guide Copyright 2014 Internovus Bulgaria. All rights reserved.

InQFlow. Administrator Guide. March 2009 Constellation HomeBuilder Systems, Inc. All right reserved

isend Mail and Shipping Service, Terms and Conditions

Millennium Exchange - Oslo Børs cash equities and fixed income markets. OSLMIT 502 Guide to Application Certification

HP A-IMC Firewall Manager

TRADING RULES. GBE brokers Ltd. (ex. GBE Safepay Transactions Ltd.) TRADING RULES (release 1.3) 2

Bank Independent Bank to Bank Transfer Addendum (Consumers Only)

Microsoft Dynamics GP. SmartList Builder User s Guide With Excel Report Builder

Cisco Collaboration with Microsoft Interoperability

.NET Standard DateTime Format Strings

Accessing BlackBerry Data Services Using Wi-Fi Networks

Electronic Signatures

Issue 1. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation

Government of Saskatchewan Executive Council. Oracle Sourcing isupplier User Guide

Aras Corporation Aras Corporation. All rights reserved. Notice of Rights. Notice of Liability

HP IMC Firewall Manager

Market Maker Transaction Data Technical Specification

Business Portal for Microsoft Dynamics GP. Key Performance Indicators Release 10.0

Symantec Virtual Machine Management 7.1 User Guide

Moscow Exchange. Market Data Multicast FIX/FAST Platform

Online Trading System Project Specifications Distributed Objects CSPP 51024

Terms and definitions

Moscow Exchange FAST protocol specifications for derivatives market, indexes, OTC and SKRIN news. Version 1.2.1

Jobs Guide Identity Manager February 10, 2012

Recurring Contract Billing Importer 2013

NASDAQ Global Index Watch (GIW) Secure Web Service 2.0 Access

ONLINE BANKING SERVICE AGREEMENT

Managing Users and Identity Stores

Skills Route Limited. Terms and Conditions of Use

InTime. Contractor Guides

StreamLink 5.0. StreamLink Configuration XML Reference. November 2009 C O N F I D E N T I A L

MTREPORT 4.0. User s Manual

CEF ultra+ Xetra Real-time Analytics Manual

If you contact us orally, we may require that you send us your complaint or question in writing within 10 business days.

Supply Chain Management Use Case Model

Getting Started. A Step-by-Step Guide to Trading Foreign Currencies Using the FX Solutions Global Trading System

Symantec Backup Exec Management Plug-in for VMware User's Guide

4.0. Offline Folder Wizard. User Guide

Transparent Identification of Users

INTRODUCTION... 4 GETTING STARTED... 5

Xline Web App Documentation

ItsMeCheck TOS. Terms of Service ("Terms")

Interworks. Interworks Cloud Platform Installation Guide

BOM Import for Dynamics GP

QuickStart Guide. Concur Expense

Transcription:

FIX Specification for Market Data (FIX BookFeed) Programming Reference Version 3.3

Disclaimer All data concerning Hotspot FX s FIX specification is provided solely for informational purposes to help authorized Hotspot FX clients, prospective clients and technology partners to develop systems to interact with Hotspot FX s marketplace via FIX. This specification is proprietary to Hotspot FX. Hotspot FX reserves the right to withdraw, modify, or replace the specification at any time, without notice. No obligation is made by Hotspot FX regarding the level, scope, or timing of Hotspot FX's implementation of the functions or features discussed in this specification. The specification is "as is" and Hotspot FX makes no warranties, and disclaims all warranties, expressed, implied, or statutory related to the specifications. Hotspot FX, and its affiliated companies, are not liable for any incompleteness or inaccuracies and additionally are not liable for any consequential, incidental, or indirect damages relating to the specifications or their use. It is further agreed that you agree not to copy, reproduce, or permit access to the information about Hotspot FX s FIX specification, including, but not limited to, the information contained in the specification, except to those with a need to know for the purpose noted above Confidential. 2

Document Revisions Version Primary Author(s) Description of Version Date Completed 2.0 HSFX FIX Team Initial Document 8/29/2006 2.1 Update for BookFeed 4/30/2007 2.1.2 Ticker message format update 5/23/2007 3.2 Clarified tags 272 and 273 5/23/2012 3.3 Update for Resend request 7/31/2012 3

1. TABLE OF CONTENTS 1. TABLE OF CONTENTS... 4 2. INTRODUCTION... 4 2.1. UAT and Production Environments 4 2.2. Data types used in all FIX messages 5 2.3. General FIX Message Structure 5 3. FIX Message Types and Message Flow... 7 3.1. Logon from client 7 3.2. Logon Response from Hotspot 8 3.3. Market Data Request from client 8 3.4. Market Data Snapshot from Hotspot 9 3.5. Market Data Snapshot Incremental Refresh 9 3.6. Resend from client 9 2. INTRODUCTION The Hotspot FX ECN is an e-financial marketplace where buyers and sellers worldwide can trade foreign exchange directly and anonymously, gain price improvements, and lower their overall trading costs. The Hotspot FX BookFeed gateway provides an interface to access the Hotspot FX ECN via an industry standard protocol, FIX, which has been adopted by financial institutions around the world. There are two HSFX FIX Gateways that Hotspot FX supports, one for orders and the other the BookFeed for market data. A client who wishes to receive streaming rates as well as routing orders to the Hotspot FX marketplace will need to establish two network connections. This document detail how to consume marketdata via FIX. 2.1. UAT and Production Environments Hotspot FX supports two environments; User Acceptance Testing (UAT) and Production. After network connectivity has been established, the client will receive FIX session and logon information. The following is an example of the information for establishing a FIX session in the UAT environment: Session Information Connection Information Description Example IP address The IP of HotSpot FX s FIX 209.191.250.26 Gateway Port number The Port of HotSpot FX s FIX 8001 Gateway SenderCompID Hotspot FX assigned value used DATA_FIX_<companyid> to identify the firm sending the message TargetCompID Hotspot FX assigned value used HSFX-FIX-BRIDGE to identify the firm receiving the message User ID User ID used for the logon hotspotcollatid 4

Password message. Password used for the logon message hotspot Hotspot s production support staff is responsible for generating a user id and password for the UAT environment. For production, the prime broker or HSFX s Liquidity department will create and distribute these fields directly to the client. Please see Logon message for more details. 2.2. Data types used in all FIX messages Type Format Example Int Integer 99999 Data Raw data with no format or content restrictions. Data fields are always immediately preceded by a length field. Float Numeric digits with optional decimal point and sign character. -2000.00000000000-2000 -2000. Qty Quantity: see float 5000000.00 Price Price: see float 1.56343 Price Offset Price Offset: see float Amt Amount: see float Char Character A Boolean Single Character Y or N String Case Sensitive Alphanumeric characters with no terminating character UTC Date/Time GMT Date/Time: YYYYMMDD-HH:MM:SS 20010101-22:30:00 UTC Date GMT Date: YYYYMMDD 20010101 UTC Time GMT Time: HH:MM:SS 22:30:00 2.3. General FIX Message Structure The Standard Header and Standard Trailer are required on all FIX messages. MsgType (tag #35) is part of the header. Standard Header 8 BeginString FIX.4.2(.X) Protocol Version, 9 BodyLength 99999 Length of Message Body 35 MsgType Accepted Message Types 0 = HeartBeat A - Logon V MarketData request W = Snapshot/Full refresh X Incremental refresh 34 MsgSeqNum Message Sequence Number (Resets to 1 at the start of each trading day) 49 SenderCompID BIGFUND Sender Company ID (MMID of message sender) SMALLFUND HSFX 56 TargetCompID BIGFUND Target Company ID (MMID of message receiver) SMALLFUND HSFX 52 SendingTime GMT Date/Time Message was sent 5

Standard Trailer 10 CheckSum Integer byte count of message length without the CheckSum field 6

3. FIX Message Types and Message Flow The HSFX FIX Gateway Market Data interface accepts the following inbound message types: Logon (MsgType = A ) Market Data Request (MsgType = V ) Heartbeat response to Test Request must echo the value in tag 112(MsgType = 0 ) Reject this message can be sent by the client to report a session level rule violation (MsgType = 3 ) Resend (MsgType = 2 ) Other message types will be ignored; hence, a reject message will not be sent back to the client application. The HSFX FIX Gateway Market Data interface sends the following outbound message types: Logon Response (MsgType = A ) Market Data - Snapshot/Full Refresh (MsgType = W ) Market Data - Incremental Refresh (MsgType = X ) Test Request the response from the client must echo the value of the Test Request ID field (tag 112) (MsgType = 1 ) Reject this message is sent by the FIX Gateway to report a session level rule violation (MsgType = 3 ) Sequence Reset (MsgType = 4 ), as a response to Resend. As of right now, no market data request message is required, once the client establishes a FIX market data connection the client starts to receive a stream of market data snapshot messages. The first message is always a market data incremental snapshot, which contains the list of tradable currency pairs with an associated price precision. Any message type not discussed in subsequent sections conforms to the FIX 4.2 standard. 3.1. Logon from client The logon message must be the first message sent by the client application to initiate a FIX session. Upon receipt of the logon message, HSFX FIX Gateway authenticates the client s session by validating the sender comp ID and username contained in the message. The FIX Gateway responds with a type A message of its own, indicating to the client that the connection has been established. There are two ways to pass the username and password to the HSFX FIX Gateway. By default, HSFX will look for username and password in the RawData field tag 96; if the RawData is not present, the FIX session will use the Username (tag 553) and Password (tag 554) fields to authenticate the FIX session. Either tags 95/96 must be present or tags 553/554. 35 MsgType Char A 553 Username String Hotspot username (or Hotspot collat) 554 Password String Password for id in tag#553 98 EncryptMethod Integer None 108 HeartBtInt Integer Client Hearbeat Interval (In seconds) - clients should use a 30 second Heartbeat Interval. 7

95 RawDataLength Length Length of raw data field 96 RawData Data In the format of username:passowrd Required if fields #553 and #554 are null 3.2. Logon Response from Hotspot 35 MsgType Char A 98 EncryptMethod Integer None 108 HeartBtInt Integer This is the echoed heartbeat interval from the client logon. 3.3. Market Data Request from client A successful Market Data Request returns a Market Data Snapshot message for each requested currency pair, and each contains one or more Market Data Entries. The MDEntryType field (tag 269) in the V message is ignored (subscription to the currency means the client will receive bid/offer/ticker information). The number of currencies in the V message is specified in tag 146. We categorize market data update messages into Book and Ticker. Ticker updates provide only the last traded price with a quantity equal to 0 (for better preservation of anonymity). Book data provides bids and offers with the client requested market depth. Market Depth (tag 264) in the V message is used to request the desired depth of book (0 for full depth of book or an integer indicating the number of requested levels). This setting affects all pairs a client subscribes to. If a client doesn t send any Market Data Request (type V ) messages, then by default they are subscribed to all currency pairs for either the top of the book or the full book, depending on which FIX gateway the client connects to. The very first Market Data Request message from client after logon will automatically unsubscribe the client from all currency pairs, before the requested pairs in this message are processed. Subsequent Market Data Request messages during the same FIX session will enable the client to subscribe to or unsubscribe from the pairs that are specified in these individual messages, with no effect on previous subscriptions. FOREX Conventions Symbol: The foreign exchange Symbol field (tag 55) is defined by the format: "CCY1/CCY2", e.g. GBP/USD, where CCY1 and CCY2 are ISO currency codes. Once the client establishes a FIX market data connection, they start receiving a stream of market data snapshot messages. The first message is always a market data incremental snapshot, which contains the list of tradable currency pairs with an associated price precision. 35 MsgType Char V 262 MDReqIDt String client request Id 263 SubscriptionReqType Char 1 for subscribe, 2 for unsubscribe 264 MarketDepth Integer 0 for full depth, affect all pairs 267 NoMDEntryTypes Integer ignored 269 MDEntryType Char ignored 146 NoRelatedSym Integer Number of currencies in the message. 55 Symbol String This field repeats NoRelatedSym times. One for each pair. 8

3.4. Market Data Snapshot from Hotspot The Market Data Snapshot message is used to provide book and ticker information (in separate W messages) to the client. The MDEntryDate (tag 272) and MDEntryTime (Tag 273) fields specify the transaction time. The TickDirection (tag 274) field indicates whether the trade was a buy or sell ( 0 bought, 2 sold) in a ticker message. The bought or sold status indicates the action of the aggressor in the trade. The NumberOfOrders field (tag 346) indicates the number of orders at each price level in the non ticker messages. Market Book Update 35 MsgType Char W 55 Symbol String Currency pair. 268 NoMDEntries Integer Number of prices in the message. 269 MDEntryType Char This group repeats NoMDEntries times. Tag 269 can only be 270 MDEntryPx Double 0 or 1 for non-ticker market update messages. 271 MDEntrySize Double 346 NumberOfOrders Integer Market Ticker Update 35 MsgType Char W 55 Symbol String Currency pair. 268 NoMDEntries Integer Number of prices in the message. 269 MDEntryType Char This group repeats NoMDEntries times. Tag 269 can only be 270 MDEntryPx Double 2 for ticker market update messages. Tag 271 is always 0.0 271 MDEntrySize Double for ticker messages. Tag 274 is 0 when bought and 2 272 MDEntryDate UTCDate when sold. 273 MDEntryTime UTCTimeOnly MDEntryDate denotes trade date, which is defined as 5pm 274 TickDirection Char previous day to 5pm current calendar day in New York time. MDEntryTime denotes New York time. 3.5. Market Data Snapshot Incremental Refresh This message is sent before sending any W messages to a client after log on. This message contains the list of available currency pairs sent at the beginning of a market data session. 35 MsgType Char X 268 NoMDEntries Integer Number of currencies in the message. 55 Symbol String This group repeats NoMDEntries times. 279 MDUpdateAction Char 5071 TickBandNoDecPlaces Integer TickBandNoDecPlaces is the # of decimal places in the price value. 3.6. Resend from client A Sequence Reset message is sent back as a response to the Resend request. However, no market data will be sent back. 9

123 GapFillFlag Boolean Y 36 NewSeqNo Integer New sequence number 10