Hi
I am new to trading. Currently i have small java code that is subscribing to different ticker symbols streaming top level 1 market data. I am having trouble understanding/interpreting the sequence of messages received. Any help on understanding the data and making sense out of it will be really helpful.
For example i subscribed to GOOG ticker on nasdaq and here is the stream of message i receive :
GOOG : tickString : ticktype LAST_TIMESTAMP value 1538668896
GOOG : tickPrice : ticktype LAST price 1165.9 canautoexecute 0
GOOG : tickSize : tickType LAST_SIZE size 1
GOOG : tickSize : tickType LAST_SIZE size 1
GOOG : tickSize : tickType VOLUME size 9154
GOOG : tickPrice : ticktype HIGH price 1197.51 canautoexecute 0
GOOG : tickPrice : ticktype LOW price 1165.55 canautoexecute 0
GOOG : tickPrice : ticktype CLOSE price 1202.95 canautoexecute 0
GOOG : tickPrice : ticktype OPEN price 1195.33 canautoexecute 0
GOOG : marketDataType : marketDataType Realtime
GOOG : tickPrice : ticktype BID price 1165.85 canautoexecute 1
GOOG : tickSize : tickType BID_SIZE size 1
GOOG : tickPrice : ticktype ASK price 1166.49 canautoexecute 1
GOOG : tickSize : tickType ASK_SIZE size 2
GOOG : tickSize : tickType BID_SIZE size 1
GOOG : tickSize : tickType ASK_SIZE size 2
GOOG : tickSize : tickType BID_SIZE size 2
GOOG : tickSize : tickType BID_SIZE size 1
GOOG : tickSize : tickType BID_SIZE size 2
GOOG : tickPrice : ticktype ASK price 1166.48 canautoexecute 1
GOOG : tickSize : tickType ASK_SIZE size 2
GOOG : tickSize : tickType BID_SIZE size 3
GOOG : tickPrice : ticktype BID price 1165.89 canautoexecute 1
But i do not clearly understand how to log these events . Are there multiple messages being sent for the same event ? Does IB api send us a message for any update to the top level ? Do i need to maintain a state for the ticker and then keep updating the state as i get stream of message ?
for example : L3-4
GOOG : tickSize : tickType LAST_SIZE size 1
GOOG : tickSize : tickType LAST_SIZE size 1
Why do 2 consecutive message of this mean ? Are the messages usually streamed in or
Then i have this sequence of streaming message :
GOOG : tickPrice : ticktype BID price 1165.85 canautoexecute 1
GOOG : tickSize : tickType BID_SIZE size 1
GOOG : tickPrice : ticktype ASK price 1166.49 canautoexecute 1
GOOG : tickSize : tickType ASK_SIZE size 2
GOOG : tickSize : tickType BID_SIZE size 1
GOOG : tickSize : tickType ASK_SIZE size 2
GOOG : tickSize : tickType BID_SIZE size 2
GOOG : tickSize : tickType BID_SIZE size 1
GOOG : tickSize : tickType BID_SIZE size 2
GOOG : tickPrice : ticktype ASK price 1166.48 canautoexecute 1
GOOG : tickSize : tickType ASK_SIZE size 2
GOOG : tickSize : tickType BID_SIZE size 3
GOOG : tickPrice : ticktype BID price 1165.89 canautoexecute 1
How to understand the chronological events that happened in the market based on this stream ? I do not understand the duplicate messages with the same bid_size coming in multiple times ? Does IB guarantee that the messages always arrive in order , any guidance on how to relate this stream of messages to what actual events took on exchange would be immensely helpful
Any direction on helping to understand this data and how usually you log these stream of data would be very helpful to get me started.
I am new to trading. Currently i have small java code that is subscribing to different ticker symbols streaming top level 1 market data. I am having trouble understanding/interpreting the sequence of messages received. Any help on understanding the data and making sense out of it will be really helpful.
For example i subscribed to GOOG ticker on nasdaq and here is the stream of message i receive :
GOOG : tickString : ticktype LAST_TIMESTAMP value 1538668896
GOOG : tickPrice : ticktype LAST price 1165.9 canautoexecute 0
GOOG : tickSize : tickType LAST_SIZE size 1
GOOG : tickSize : tickType LAST_SIZE size 1
GOOG : tickSize : tickType VOLUME size 9154
GOOG : tickPrice : ticktype HIGH price 1197.51 canautoexecute 0
GOOG : tickPrice : ticktype LOW price 1165.55 canautoexecute 0
GOOG : tickPrice : ticktype CLOSE price 1202.95 canautoexecute 0
GOOG : tickPrice : ticktype OPEN price 1195.33 canautoexecute 0
GOOG : marketDataType : marketDataType Realtime
GOOG : tickPrice : ticktype BID price 1165.85 canautoexecute 1
GOOG : tickSize : tickType BID_SIZE size 1
GOOG : tickPrice : ticktype ASK price 1166.49 canautoexecute 1
GOOG : tickSize : tickType ASK_SIZE size 2
GOOG : tickSize : tickType BID_SIZE size 1
GOOG : tickSize : tickType ASK_SIZE size 2
GOOG : tickSize : tickType BID_SIZE size 2
GOOG : tickSize : tickType BID_SIZE size 1
GOOG : tickSize : tickType BID_SIZE size 2
GOOG : tickPrice : ticktype ASK price 1166.48 canautoexecute 1
GOOG : tickSize : tickType ASK_SIZE size 2
GOOG : tickSize : tickType BID_SIZE size 3
GOOG : tickPrice : ticktype BID price 1165.89 canautoexecute 1
But i do not clearly understand how to log these events . Are there multiple messages being sent for the same event ? Does IB api send us a message for any update to the top level ? Do i need to maintain a state for the ticker and then keep updating the state as i get stream of message ?
for example : L3-4
GOOG : tickSize : tickType LAST_SIZE size 1
GOOG : tickSize : tickType LAST_SIZE size 1
Why do 2 consecutive message of this mean ? Are the messages usually streamed in or
Then i have this sequence of streaming message :
GOOG : tickPrice : ticktype BID price 1165.85 canautoexecute 1
GOOG : tickSize : tickType BID_SIZE size 1
GOOG : tickPrice : ticktype ASK price 1166.49 canautoexecute 1
GOOG : tickSize : tickType ASK_SIZE size 2
GOOG : tickSize : tickType BID_SIZE size 1
GOOG : tickSize : tickType ASK_SIZE size 2
GOOG : tickSize : tickType BID_SIZE size 2
GOOG : tickSize : tickType BID_SIZE size 1
GOOG : tickSize : tickType BID_SIZE size 2
GOOG : tickPrice : ticktype ASK price 1166.48 canautoexecute 1
GOOG : tickSize : tickType ASK_SIZE size 2
GOOG : tickSize : tickType BID_SIZE size 3
GOOG : tickPrice : ticktype BID price 1165.89 canautoexecute 1
How to understand the chronological events that happened in the market based on this stream ? I do not understand the duplicate messages with the same bid_size coming in multiple times ? Does IB guarantee that the messages always arrive in order , any guidance on how to relate this stream of messages to what actual events took on exchange would be immensely helpful
Any direction on helping to understand this data and how usually you log these stream of data would be very helpful to get me started.