anazarov
-Interested User-
Posts: 15
Joined: May 7, 2004
|
Posted: Nov 11, 2014 08:57 AM
Msg. 1 of 4
Hi!
I'm switching application from 4.9 to the latest protocol (it is late, I know) and can't recognise the correct way to determine which filds were updated in "Q" message, trades, asks or bids. Previously it worked well with depricated field "Last Trade Time" but now I have to use "Message Contents" field.
The problem is that I'm getting only "a" or "b" or "ab" messages and no other types.
Updated fields: S,CURRENT UPDATE FIELDNAMES,Symbol,Most Recent Trade,Most Recent Trade Size,Most Recent Trade TimeMS,Most Recent Trade Market Center,Total Volume,Bid,Bid Size,Ask,Ask Size,Open,High,Low,Close,Message Contents,Most Recent Trade Conditions. ********** QQQ, I put below two messages where Total volume is different (i.e. the trade occured), but both have "ba" status.
Q,QQQ,101.9900,200,09:30:00.130,11,171128,101.9800,700,101.9900,21500,101.9800,101.9900,101.9800,101.9600,ba,3D, Q,QQQ,101.9800,100,09:30:00.215,5,172628,101.9800,500,101.9900,21500,101.9800,101.9900,101.9800,101.9600,ba,173D,
or here
Q,QQQ,101.9800,100,09:30:00.215,5,172628,101.9800,1600,101.9900,18500,101.9800,101.9900,101.9800,101.9600,ba,173D, Q,QQQ,101.9900,100,09:30:00.479,12,174528,101.9800,1000,101.9900,18500,101.9800,101.9900,101.9800,101.9600,ba,3D, Q,QQQ,101.9800,15,09:30:00.501,26,174543,101.9800,1000,101.9900,16500,101.9800,101.9900,101.9800,101.9600,ba,87,
@ES# has similar "problem", I'm getting either "b" or "a":
Q,@ES#,2035.25,3,09:32:00.469,43,142929,2035.25,2,2035.50,364,2033.75,2039.00,2031.75,2034.00,b,01, Q,@ES#,2035.25,1,09:32:00.469,43,142931,2035.00,464,2035.50,364,2033.75,2039.00,2031.75,2034.00,b,01,
****************************
Am I doing something worg? Should I use something else to separate quote update and trade update?
Thank you, Andrew
|
DTN_Steve_S
-DTN Guru-
Posts: 2093
Joined: Nov 21, 2005
|
Posted: Nov 11, 2014 10:06 AM
Msg. 2 of 4
Andrew, It sounds like you understand how it works but something doesn't seem right for sure. Keep in mind that very active symbols like QQQ and @ES# will have a LOT of bid and ask updates between trades (sometimes thousands) so if you are tyring to catch this in a debugger, you may have to set a conditional breakpoint or perhaps add code that will only be triggered on a trade and put your breakpoint there. Here is a snipit of messages that just came through for me a few minutes ago on QQQ. Q,QQQ,102.1100,1000,10:46:10.259,19,4248762,102.1000,17800,102.1100,3200,101.9800,102.1300,101.7000,101.9600,ba,01, Q,QQQ,102.1100,1000,10:46:10.259,19,4248762,102.1000,17800,102.1100,3000,101.9800,102.1300,101.7000,101.9600,ba,01, Q,QQQ,102.1100,100,10:46:18.204,12,4248862,102.1000,17800,102.1100,3000,101.9800,102.1300,101.7000,101.9600,C,3D, Q,QQQ,102.1100,100,10:46:18.205,25,4248962,102.1000,17800,102.1100,3000,101.9800,102.1300,101.7000,101.9600,C,01, Q,QQQ,102.1100,2,10:46:18.205,25,4248964,102.1000,17800,102.1100,3000,101.9800,102.1300,101.7000,101.9600,O,87, Q,QQQ,102.1100,100,10:46:18.205,5,4249064,102.1000,17800,102.1100,3000,101.9800,102.1300,101.7000,101.9600,C,3D, Q,QQQ,102.1100,100,10:46:18.205,5,4249064,102.1000,17800,102.1100,4300,101.9800,102.1300,101.7000,101.9600,ba,3D, Q,QQQ,102.1100,100,10:46:18.205,5,4249064,102.1000,17800,102.1100,4700,101.9800,102.1300,101.7000,101.9600,ba,3D, You can see here that there are certainly trades being identified in the Message Contents field (this is the default fieldset with Message Contents 2nd to last field). The interesting with your snipits of messages (as you pointed out) is that they don't appear to be sequential from the feed. For example, your group: Q,QQQ,101.9800,100,09:30:00.215,5,172628,101.9800,1600,101.9900,18500,101.9800,101.9900,101.9800,101.9600,ba,173D, Q,QQQ,101.9900,100,09:30:00.479,12,174528,101.9800,1000,101.9900,18500,101.9800,101.9900,101.9800,101.9600,ba,3D, Q,QQQ,101.9800,15,09:30:00.501,26,174543,101.9800,1000,101.9900,16500,101.9800,101.9900,101.9800,101.9600,ba,87, Message 1 has a trade timestamp of 09:30:00.215 and Trade Conditions of 173D. These fields both only update on trades. Since that message is a bid/ask update (hence the "ba" in message contents), we can safely assume that those field values were from the most recent trade prior to that message. Now moving on to message 2, the Trade timestamp has updated to 09:30:00.479 and the Trade conditions have updated to 3D but the message is still labeled as a bid/ask message. Looking at historical data (trades only) Time Date Inc Vol Bid Ask Volume B Size A Size TickID Info Mkt Center Trade Conditions 09:30:00.479 2014-11-11 101.9900 100 101.9800 101.9900<< 173828 0 0 4104 Trade BX INTRMRK_SWEEP 09:30:00.450 2014-11-11 101.9800 300 101.9800<< 101.9900 173728 0 0 4038 Extended Trade NASDAQ FORMT/INTRMRK_SWEEP 09:30:00.450 2014-11-11 101.9800 800 101.9800<< 101.9900 173428 0 0 4037 Extended Trade NASDAQ FORMT/INTRMRK_SWEEP 09:30:00.215 2014-11-11 101.9800 100 101.9800<< 101.9900 172628 0 0 3579 Extended Trade NASDAQ FORMT/INTRMRK_SWEEP You can see that there was a minumun of 3 trades in between the messages you posted (2 at 09:30:00.450 and the one at 09:30:00.479 that updated the timestamp in the message you posted). Of course, we don't store all the bid/ask updates but you can also safely assume there were quite a few bid/ask updates inbetween your 2 messages as well. So, my guess at this point is that somewhere in your code you are either skipping data or your machine isn't keeping up with the feed causing the server to drop data (perhaps you were stopped at a breakpoint?).
|
anazarov
-Interested User-
Posts: 15
Joined: May 7, 2004
|
Posted: Nov 11, 2014 10:21 AM
Msg. 3 of 4
No, no, I'm not using breakpoints. I will update the client to the latest version and check again and let you know.
Andrew
|
anazarov
-Interested User-
Posts: 15
Joined: May 7, 2004
|
Posted: Nov 11, 2014 10:33 AM
Msg. 4 of 4
Thank you, very much. It was the filter to log the records with only 't', 'a' and 'b' codes. All works now.
Have a nice day, Andrew
|
|
|
|