Ukrainian Exchange 
FIX Protocol 4.2 
Technical Specifications
Version 1.9 									15.03.2019
Content
1.	Introduction
1.1.	List of Changes
2.	List of Supported Messages
2.1.	Session Level
2.2.	Application Level
3.	Message Structure And General Messages
3.1.	Header
3.2.	Trailer
3.3.	Heart Beat
3.4.	Logon
3.5.	Logout
3.6.	Test Request
3.7.	Resend Request
3.8.	Reject
3.9.	Sequence Reset
4.	Market Data Messages
4.1.	Market Data Request
4.2.	Market Data Request Reject
4.3.	Market Data – Snap Shot / Full Refresh
4.4.	Security Definition Request
4.5.	Security Definition
4.6.	Security Status Request
4.7.	Security Status
5.	Trading Messages
5.1.	New Single Order
5.2.	Order Cancel Request
5.3.	Execution Report
5.4.	Order Cancel Reject
5.5.	Order Status Request

1.	Introduction
This document contains description of messages, blocks and fields of the FIX protocol version 4.2, adapted for use with Ukrainian Exchange.
The description is based on the specification of the FIX (Financial Information Exchange, http://www.fixprotocol.org) version 4.2. It is assumed that the reader is familiar with the basics of this protocol.
Gray items are not implemented at the time of publishing of this specification.
1.1.	 List of Changes
Version	Date	Description	
1.7	05.07.2018	The first public version	
1.8	30.01.2019	New values in 269 field and the tag 20003;
The application level messages are explicitly divided to Market Data (Chapter 4) and Trading Messages (Chapter 5)	
1.9	15.03.2019	New instrument types in 167 field – SHS, BON, FND, ADR, GDR, CMD, MSC	
2.	List of Supported Messages
2.1.	Session Level
Message	Message Type	
Heart Beat	«0»	
Logon	«A»	
Logout	«5»	
Test Request	«1»	
Resend Request	«2»	
Reject	«3»	
Sequence Reset	«4»	

2.2.	Application Level
Message	Message Type	
New Single Order	«D»	
Order Cancel Request	«F»	
Execution Report	«8»	
Trade Capture Report	«AE»	
Trade Capture Report Request	«AD»	
Order Cancel Reject	«9»	
Market Data Request	«V»	
Market Data Request Reject	«Y»	
Market Data Incremental Refresh	«X»	
Market Data – Snap Shot / Full Refresh	«W»	
Security Definition Request	«c»	
Security Definition	«d»	
Order Status Request	«H»	
Security Status Request	«e»	
Security Status	«f»	
3.	Message Structure And General Messages
3.1.	Header
Name	Tag	Req	Comment	Example	
BeginString	8	Y	Value: «FIX.4.2»		
BodyLength	9	Y	Message length, in bytes (excluding Tags 8, 9, 10).		
MsgType	35	Y	Message type 		
SenderCompID	49	Y	Message Sender ID 	CLIENT	
TargetCompID	56	Y	Message Target ID 	UXP1	
MsgSeqNum	34	Y	Message sequence number		
PossDupFlag	43	N	«Y» – Required for message resends (in reply to ResendRequest).		
SendingTime	52	Y	Time of message transmission in the format «YYYYMMDD-HH:MM:SS» (always in UTC)	20070830-09:38:26	
OrigSendingTime	122	N	Time of message transmission in the format «YYYYMMDD-HH:MM:SS» (always in UTC). Required for message resends (in reply to ResendRequest).	20070830-09:38:26	
3.2.	Trailer
Name	Tag	Req	Comment	Example	
CheckSum	10	Y	Check sum		
3.3.	Heart Beat
Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «0»		
TestReqID	112	N	Unique identifier for Market Data Request		
3.4.	Logon
Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «A»		
EncryptMethod	98	Y	Value: «0» (no encryption)		
HearBitInt	108	Y	In seconds		
Password	554	N	Password		
ResetSeqNumFlag	141	N	Value: «Y» Indicates that the both sides of the FIX session should reset sequence numbers to 1, (sent messages store clean-up) 		
3.5.	Logout
Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «5»		
Text	58	N	Contains the text associated with the reason of the FIX session rejection.		
3.6.	Test Request

Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «1»		
TestReqID	112	Y	Unique identifier for Market Data Request		
3.7.	Resend Request

Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «2»		
BeginSeqNo	7	Y	Message sequence number of first message in range to be resent		
EndSeqNo	16	Y	Message sequence number of last message in range to be resent 
Value: «0» If request is for all messages subsequent to a particular message, beginning with BeginSeqNo		
3.8.	Reject

Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «3»		
Text	58	N	Contains the text associated with the reason of the FIX session rejection.		
SessionRejectReason	373	N	Code to identify the reason of the FIX session rejection.		
RefTagID	371	Y	The Tag number of the FIX field being referenced.		
3.9.	Sequence Reset
Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «4»		
GapFillFlag	123	N	Value: «N»		
NewSeqNo	36	Y	New sequence number		
4.	Market Data Messages
4.1.	Market Data Request
Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «V»		
MDReqID	262	Y	Unique identifier for Market Data Request		
Symbol	55	C	Symbol (Short Name or Ticker Code of the instrument),
Not mandatory if SecurityID is specified 	CEEN	
SecurityID	48	C	Instrument code
Not mandatory if Symbol and SecurityType are specified	4911	
IDSource	22	N	Method of instrument identification. 
Value: «8» – Code of the exchange		
SecurityType        	167	C	Instrument type. 
Not mandatory if SecurityID is specified	SHS
	
SubscriptionRequestType	263	Y	Subscription type. Value: 
•	«1» – SNAPSHOT_PLUS_UPDATES
•	«2» – DISABLE_PREVIOS		
MarketDepth	264	Y	Valid values:
•	«0» – Full Book,
•	«1» – Top of Book,
•	«N>1» – Best N Prices		
MDUpdateType	265	C	Mandatory for SubscriptionRequestType=1. Valid values:
•	«0» – Full Refresh (by default),
•	«1» – Incremental Refresh		
NoMDEntryTypes	267	Y	Number of repeated groups 		
MDEntryType	269	Y	Valid values:
•	«0» – bid,
•	«1» – offer,
•	«2» – trade,
•	«3» – index value
•	«4» – open,
•	«5» – close,
•	«6» – settleprice (derivatives only),
•	«7» – trading session high,
•	«8» – trading session low,
•	«9» – trading session weighted average price,
•	 «v» – volume (no of securities/contracts traded)
•	«t» – turnover (in uah)
•	«m» – number of moves (no of trades executed)
•	«r» – crossrate
•	«s» – real minstep
•	«Q» – Auction Clearing Price		
4.2.	Market Data Request Reject
Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «Y»		
MDReqID	262	Y	Unique identifier for Market Data Request		
Text	58	N	Contains the text associated with the reason of the request rejection.		
MDReqRejReason	281	N	Code to identify the reason of the request rejection.		
4.3.	Market Data – Snap Shot / Full Refresh
Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «W»		
MDReqID	262	N	Unique identifier for Market Data Request		
Symbol	55	Y	Short Name (Ticker Code) of the instrument		
SecurityID	48	Y	Instrument code		
SecurityType	167	Y	Valid values:
•	«FUT» – for futures;
•	«OPT» – for options;
•	«SHS» – for shares;
•	«BON» – for bonds and other debt onstruments;
•	«FND» – for investment funds;
•	«ADR» – for american depository receits;
•	«GDR» – for global depository receits;
•	«CMD» – for commodities;
•	«MSC» – for all the rest types of instruments		
NoMDEntriese	268	Y	Number of entries in Market Data message.		
MDEntryType	269	N	Valid values:
•	«0» – bid,
•	«1» – offer,
•	«2» – trade,
•	«3» – index value
•	«4» – open,
•	«5» – close,
•	«6» – settleprice (derivatives only),
•	«7» – trading session high,
•	«8» – trading session low,
•	«9» – weighted average price,
•	 «v» – volume (no of securities/contracts traded),
•	«t» – turnover (in uah),
•	«m» – number of moves (no of trades executed),
•	«r» – crossrate
•	«s» – real minstep
•	«Q» – Auction Clearing Price		
MDEntryPx	270	N	Price/Value/Turnover of the Market Data Entry		
MDEntrySize	271	N	Number of securities/contracts represented by the Market Data Entry		
MDEntryDate	272	N	Date of Market Data Entry.		
MDEntryTime	273	N	Time of Market Data Entry.		
TradingSessionSubID	625		Exchange session 		
MDEntryTradeType	20003	N	MDEntryTradeType is sent for trades only.
The tag value format is <trade type><repo type><trade status>.
Possible trade types:
• 'Q' - quote-based transaction
• 'B' - two-sided (negotiated) transaction
• 'A' - auction-based transaction
• 'I' – Initial placement transaction
Possible repo types:
• ' ' (space) - regular trade
• 'R' - repurchase agreement
Possible trade statuses:
• '18' - Repo near leg 
• '19' - Repo far leg 		
4.4.	Security Definition Request
Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «c»		
SequrityReqID	320	Y	Unique identifier for Market Data Request		
SecurityReqType	321	Y	Valid values:
●	«3» – Request List Securities		
IDSource	22		Method of instrument identification. 
Value: «8» – Code of the exchange 
Used when SecurityReqType=0. 		
SecurityID	48		Instrument code. Used when SecurityReqType=0		
Symbol	55		Short Name (Ticker Code) of the instrument		
SecurityType        	167		Instrument type 	
	
4.5.	Security Definition
Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «d»		
SequrityReqID	320	Y	Unique identifier for Market Data Request		
SecurityResponseType	323	N	Value: «4» – List Securities returned per request.		
IDSource	22	N	Method of instrument identification. 
Value: «8» – Code of the exchange		
TotalNumSecurities	393	N	Total number of instruments 		
NoRelatedSym	146	Y	Number of instruments in this message (not less than 1)		
Symbol	55	Y	Short Name (Ticker Code) of the instrument		
SecurityID	48	Y	Instrument code		
SecurityDesc	107	N	•	ISIN for securities 
•	Symbol (ticker code) for derivatives 
•	May not be used in other cases 		
Text	58	N	Contains the text with name of the instrument		
ContractMultiplier	231	N	Specifies the ratio or multiply factor to convert from
contracts to underlined securities (for derivatives)		
SymbolSfx	65	N	Minimum price increment		
MinPriceIncrementAmount	1146	N	Amount of Minimum price increment (for derivatives)		
Currency	15	N	Currency		
RatioQty	319	N	Quantity of particular leg in the Security (Lot)		
TradingSessionID	336	N	Identifier for Trading Session:
• '1' – Day session 
• '3' – Morning session 
• '5' – Evening session 		
SecurityType	167	Y	Valid values:
•	«FUT» – for futures;
•	«OPT» – for options;
•	«SHS» – for shares;
•	«BON» – for bonds and other debt onstruments;
•	«FND» – for investment funds;
•	«ADR» – for american depository receits;
•	«GDR» – for global depository receits;
•	«CMD» – for commodities;
•	«MSC» – for all the rest types of instruments		
MaturityMonthYear	200	N	Year and month of the execution (for derivatives)
Format - yyyymm		
MaturityDay	205	N	Execution day (for derivatives)		
PutOrCall	201	N	For options. Valid values:
«0» – «CALL»,
«1» – «PUT» 		
StrikePrice	202	N	For options only		
NoRelatedSym	146	N	Quantity of instruments in the message =1		
UnderlyingSymbol	311	N	Underlying instrument symbol (for derivatives)		
UnderlyingSecurityID	309	N	Underlying futures ID (for options)		
4.6.	Security Status Request
Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «e»		
SecurityStatusReqID	324	Y	Unique ID of a Status Request message		
IDSource	22	N	Method of instrument identification. 
Value: «8» – Code of the exchange		
SecurityID	48	C	Instrument code		
Symbol	55	C	Short Name (Ticker Code) of the instrument		
SecurityType        	167	C	Valid values:
•	«FUT» – for futures;
•	«OPT» – for options; 
•	«SHS» – for shares;
•	«BON» – for bonds and other debt onstruments;
•	«FND» – for investment funds;
•	«ADR» – for american depository receits;
•	«GDR» – for global depository receits;
•	«CMD» – for commodities;
•	«MSC» – for all the rest types of instruments	
	
4.7.	Security Status
Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «f»		
SecurityStatusReqID	324	Y	Unique ID of a Status Request message		
Symbol	55	N	Short Name (Ticker Code) of the instrument		
IDSource	22	N	Method of instrument identification. 
Value: «8» – Code of the exchange 		
SecurityID	48	N	Instrument code		
SecurityType	167	N	Valid values:
•	«FUT» – for futures;
•	«OPT» – for options;
•	«SHS» – for shares;
•	«BON» – for bonds and other debt onstruments;
•	«FND» – for investment funds;
•	«ADR» – for american depository receits;
•	«GDR» – for global depository receits;
•	«CMD» – for commodities;
•	«MSC» – for all the rest types of instruments		
SecurityTradingStatus	326	N	Trading status. Valid values:
●	«2» – Trading Halt;
●	«17» – Ready to trade (open);
●	«18» – Not Available for trading (closed).		
HighPx	332	N	The high end of the price range during the session 		
LowPx	333	N	The high end of the price range during the session		
LastPx	31	N	The last price 		
TransactTime	60	N	Time of execution		
5.	Trading Messages
5.1.	New Single Order
Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «D»		
ClOrdID	11	Y	Unique identifier of the order (number  0 - 4294967295)		
HandlInst	21	Y	Value: «1»		
Symbol	55	Y	Short Name (Ticker Code) of the instrument		
Side	54	Y	Valid values:
•	«1» – buy,
•	«2» – sell		
OrdType	40	Y	Valid values:
•	«2» – limit
•	«R» -- addressed 		
Account	1	Y	Trading account		
ClientID	109	N	Client ID 		
Price	44	N	Price		
OrderQty	38	Y	Number of securities (options, futures, etc)		
IDSource	22	N	Method of instrument identification. 
Value: «8» – Code of the exchange		
SecurityID	48	N	Instrument code		
SecurityType	167	Y	Valid values:
•	«FUT» – for futures;
•	«OPT» – for options;
•	«SHS» – for shares;
•	«BON» – for bonds;
•	«FND» – for investment funds;
•	«ADR» – for american depository receits;
•	«GDR» – for global depository receits;
•	«CMD» – for commodities;
•	«MSC» – for all the rest types of instruments		
NoPartyID 
	453	N	Quantity of elements in PartyIDs group, 
Valid values: 1
Filled for OrdType = «R»		
PartyID 	448	C	ID or code of the party. Obligatory for NoPartyID 		
PartyIDSource 	447	C	Class/type or source of identification. Obligatory for NoPartyID
For every party has to contain value ‘D’ (proprietary/ special code). 		
PartyRole 
	452	C	‘1’ (Executing firm) 
‘3’ (Client ID) 
Obligatory for NoPartyID		
5.2.	Order Cancel Request:
Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «F»		
ClOrdID	11	Y	Unique identifier of the order		
OrderID	37	N	ID of the order to cancel in the trading system		
Side	54	Y	Valid values:
•	«1» – buy,
•	«2» – sell		
5.3.	Execution Report
Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «8»		
ClOrdID	11	N	Unique identifier of the order		
OrderID	37	Y	Unique identifier of the order in the trading system 		
ExecID	17	Y	Unique identifier of the transaction 		
OrdStatus	39	Y	Status of the Order. Valid values:
•	«0» – New,
•	«1» – Partially Fill,
•	«2» – Fill,
•	«3» – Done For Day,
•	«4» – Canceled,
•	«5» – Replaced,
•	«6» – Pending Cancel,
•	«8» – Rejected,
•	«E» – Pending Replace
•	«A» – Pending New		
ExecType	150	Y	Type of execution. Valid values:
•	«0» – New,
•	«1» – Partially Fill,
•	«2» – Fill,
•	«3» – Done For Day,
•	«4» – Canceled,
•	«6» – Pending Cancel,
•	«5» – Replace,
•	«8» – Rejected,
•	«E» – Pending Replace,
•	«I» – Order Status,
•	«L» – Triggered or Activated by System		
OrderQty	38	N	Number of instruments (securities, options, futures, etc)		
CumQty	14	Y	Currently executed instruments		
LastQty	32	С	Quantity of instruments in the current trade. Obligatory when ExecType=1 or 2		
LastPx	31	C	Trade price. Obligatory when ExecType=1 or 2		
SecondaryExecID	527	C	Trade number. Obligatory when ExecType=1 or 2		
LeavesQty	151	Y	Amount of instruments open for further execution.		
Symbol	55	Y	Short Name (Ticker Code) of the instrument		
SecurityType	167	Y	Valid values:
•	«FUT» – for futures;
•	«OPT» – for options;
•	«SHS» – for shares;
•	«BON» – for bonds and other debt onstruments;
•	«FND» – for investment funds;
•	«ADR» – for american depository receits;
•	«GDR» – for global depository receits;
•	«CMD» – for commodities;
•	«MSC» – for all the rest types of instruments		
IDSource	22	N	Method of instrument identification. 
Value: «8» – Code of the exchange		
Side	54	Y	Valid values:
•	«1» – buy,
•	«2» – sell		
AvgPx	6	Y	Average price of execution		
Price	44	N	Price of the order		
Account	1	N	Account mnemonic		
SecurityID	48	N	Instrument code		
Text	58	N	Contains the text answer / client’s comment		
TransactTime	60	N	Time of transaction / execution of order, expressed in UTC		
OrderType	40	N	Order type. Valid values:
●	«2» – limit 		
5.4.	Order Cancel Reject
Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «9»		
OrderID	37	Y	Unique identifier of the order in the trading system		
OrigClOrdID	41	Y	ClOrdID of the previous order		
ClOrdID	11	Y	Unique identifier of the order		
Symbol	55	Y	Short Name (Ticker Code) of the instrument		
Side	54	Y	Valid values:
•	«1» – buy,
•	«2» – sell		
SecurityID	48	N	Instrument code		
SecurityType	167	N	Valid values:
•	«FUT» – for futures;
•	«OPT» – for options;
•	«SHS» – for shares;
•	«BON» – for bonds and other debt onstruments;
•	«FND» – for investment funds;
•	«ADR» – for american depository receits;
•	«GDR» – for global depository receits;
•	«CMD» – for commodities;
•	«MSC» – for all the rest types of instruments		
TransactTime	60	N	Time of execution / order creation, expressed in UTC		
OrdStatus	39	Y	Identifies current Status of order. Valid values:
•	«0» – New,
•	«1» – Partially Fill,
•	«2» – Fill,
•	«4» – Canceled,
•	«5» – Replaced,
•	«6» – Pending Cancel,
•	«8» – Rejected		
CxlRejResponseTo	434	Y	Value: «1» – «Order Cancel Request»		
Text	58	N	Contains the text answer		
CxlRejReason	102	N	Valid values:
•	"0" Too late to cancel 
•	"1" Unknown order 
•	"3" Order already in Pending Cancel or Pending Replace status  
•	"99" Other 		
5.5.	Order Status Request
Name	Tag	Req	Comment	Example	
MsgType	35	Y	Message type. Value: «H»		
ClOrdID	11	Y	Unique order ID 		
Symbol	55	Y	Short Name (Ticker Code) of the instrument		
Side	54	Y	Valid values:
•	«1» – buy,
•	«2» – sell		
SecurityID	48	N	Instrument code		
SecurityType	167	N	Valid values:
•	«FUT» – for futures;
•	«OPT» – for options;
•	«SHS» – for shares;
•	«BON» – for bonds and other debt onstruments;
•	«FND» – for investment funds;
•	«ADR» – for american depository receits;
•	«GDR» – for global depository receits;
•	«CMD» – for commodities;
•	«MSC» – for all the rest types of instruments