Fix Market Data API

Access

Summary
Page describes Trade FIX API protocol.
API is based on FIX.4.2 specification.
FIX dictionary: fix42-trade-api.xml

Message Structure
All messages have same structure: Header, Body, Trailer.

Header
Header structure is same for all messages.
Tag
Field
Type
Required
50
SenderSublD
String
N
57
TargetSublD
String
N
8
BeginString
String
Y
9
BodyLength
int
Y
35
MsgType
String
Y
49
SenderCompID
String
Y
56
TargetCompID
String
Y
34
MsgSeqNum
int
Y
52
SendingTime
UTCTimestamp
Y
43
PossDupFlag
Boolean
Y for resend
122
OrigSendingTime
UTCTimestamp
Y for resend
Body
Body structure depends on message type.

Trailer
Trailer structure is same for all messages.
Tag
Field
Type
Required
10
CheckSum
String
Y

Session Messages

Heartbeat
MsgType = 0
Tag
Field
Type
Required
112
TestReqID
String
N
TestRequest
MsgType = 1
Tag
Field
Type
Required
112
TestReqID
String
Y
ResendRequest
MsgType = 2
Tag
Field
Type
Required
7
BeginSeqNo
int
Y
16
EndSeqNo
int
Y
Reject
MsgType = 3
Tag
Field
Type
Required
45
RefSeqNum
int
Y
371
RefTagID
int
N
372
RefMsgType
String
N
373
SessionRejectReason
int
N
58
Text
String
N
SequenceRequest
MsgType = 4
Tag
Field
Type
Required
123
GapFillFlag
Boolean
N
36
NewSeqNo
int
Y
L
‍‍
MsgType = 5
Tag
Field
Type
Required
58
Text
String
N
Logon
‍‍
MsgType = A
Tag
Field
Type
Required
98
EncryptMethod
int
N
108
HeartBeatInt
int
N
95
RawDataLength
String
N
96
RawData
data
N
141
ResetSeqNumFlag
Boolean
N
383
MaxMessageSize
int
N

Application Messages

BusinessMessageReject
Tag
Field
Type
Required
Notes
45
RefSeqNum
int
N

372
RefMsgType
String
Y

380
BusinessReject
Reason
int
Y
4 = Application not available
In case incoming messages limit exceeding
58
Text
String
N

MarketDataRequest
MsgType = V
Subscription will be done for both order book (depth 15) and trades.
Tag
Field
Type
Required
Notes
262
MDReqId
String
N
Unique per day and per client
263
SubscriptionRequestType
char
Y
1 = Subscribe
2 = Unsubscribe
264
MarketDepth
int
Y
Always 15
265
MDUpdateType
int
Y if 263 = 1
Always 1 = Incremental Refresh
267
NoMDEntryTypes
int
Y

> 269
MDEntryType
char
Y
Always 0 = BID and 1 = OFFER
146
NoRelatedSym
int
Y
Number of symbols requested
> 55
Symbol
String
Y

MarketDataRequestReject
MsgType = Y
Tag
Field
Type
Required
Notes
262
MDReqId
String
Y
Unique per day and per client
281
MDReqRejReason
char
N
0 = UNKNOWN_SYMBOL
58
Text
String
N
List of rejected symbols
MarketDataIncrementalRefresh
MsgType = X
Tag
Field
Type
Required
Notes
262
MDReqId
String
N

268
NoMDEntries
int
Y

> 279
MDUpdateAction
char
Y
0 = New
1 = Change
2 = Delete
> 269
MDEntryType
char
Y
Side
> 278
MDEntryID
String
N

> 280
MDEnttyRefID
String
N

> 55
Symbol
String
Y

> 270
MDEntryPx
Price
N

> 271
MDEntrySize
Qty
N

> 273
MDEntryTime
UTCTimeStamp
N

SecurityDefinitionRequest
MsgType = c
Tag
Field
Type
Required
Notes
320
SecurityReqID
String
Y

321
SecurityRequestType
int
Y
3 = Request List Securities
55
Symbol
String
N
If specific security is requested, Symbol should be specified

If all securities are requested, Symbol should be blank
SecurityDefinition
MsgType = d
Tag
Field
Type
Required
Notes
320
SecurityReqID
String
Y

322
SecurityResponseID
String
Y

393
TotalNumSecurities
int
Y
0 = New
1 = Change
2 = Delete
55
Symbol
String
Y
Side
167
SecurityType

Y
IDX = Index
FUT = Future
PER = Perpetual
OPT = Optionf
231
ContractMultiplier
float
Y

200
MaturityMonthYear
MONTHYEAR
N

205
MaturityDay
DAYOFMONTH
N