JTOOLS MESSAGE TRACKER


JTools Table of Contents


Project Location: \JTools_MsgTracker



The Message Tracker is another application I use at Nanex on almost a daily basis for customer support regarding trade, exchange quote and or market maker quote messages. The application allows you to search for any message for every symbol, single symbols, or anything in between. It will allow you to blast through a tape for a complete output log or pause after each "hit" to allow for immediate viewing. The application will let you view messages as single line entries or full detail, with every message being completely expanded on.

Every item is labelled in each line output, so all output is human readable without the need to reference table values or headers. This make it very easy to simply output a message and immediately know all the value and their meanings.




  • Start Time - The start time that all messages are to be filtered by, Message with a time prior to start-time are eliminated.

  • Stop Time - The stop time that all messages are to be filtered by, Message with a time past the stop-time are eliminated.

  • Symbol Filter - The symbol(s) to scan for. Leave this field blank for all symbols, or a full symbol to filter for. You may also specify a wildcard at the end of a symbol using the character '*'. For instance, "eA*" would filter for all symbols beginning with the characters "eA".

  • Listed Exchange Filter - Because symbols may be duplicated on different exchanges (for instance eGE exists on the New York Exchange and the Canadian exchange and represents two different companies), you can filter for the symbol using only the listed exchange(s) specified in this field. Leave this field blank for all exchanges or comma deliminated for single or multiple exchanges (for example - 3,4,12).

  • Reporting Exchange Filter - Because symbols may be duplicated on different exchanges, and because equities and options trade on multiple exchanges, you can filter for the symbol using only the reporting exchange(s) specified in this field. Leave this field blank for all exchanges or comma deliminated for single or multiple exchanges (for example - 3,4,12).

  • Trade Condition Filter - It is often desirable when browsing through trades to search for specific trade conditions. Leave this field blank for all trade conditions, or comma deliminated for single or multiple conditions (for example - 62,95).

  • Quote Condition Filter - Like trades, it is often desirable when browsing through quotes to search for specific quote conditions. Leave this field blank for all quote conditions, or comma deliminated for single or multiple conditions (for example - 8,16,25).

  • MMQuote Types Filter - Leave this field blank for all MMQuote types, or comma deliminated for single or multiple types (for example - 2,4,5).

  • Status - If set status messages are displayed.

  • Sym Spin - If set symbol spin messages are displayed (single line only).

  • Symbol Changes - If set symbol change, symbol add and symbol delete messages are displayed (single line only).

  • Category - If set category messages are displayed (single line only).

  • Trades - If set trade messages are displayed.

  • Exchange Quotes - If set exchange quote messages are displayed.

  • NBBO Quotes - If set only NBBO (National Best Bid Offer) quotes will be displayed (Equities and Equity Options Only).

  • NBBO Change - If set only NBBO (National Best Bid Offer) quotes will be displayed (Equities and Equity Options Only) and only when the NBBO quote has changed in some regard (price, size or exchange).

  • MM Quotes - If set market maker (level 2) and depth messages are displayed.

  • All On - Sets all message type off.

  • All Off - Turns all message types off.

  • Single Line - If set, messages are displayed as a short, single line. If not set, messages are expanded (with multiple lines) to display the entire dataset for the message.

  • Pause On Hit - If set, the application will pause after every "hit", to allow you to examine the message before it possibly scroll of the display. Pressing the "Next" button will forward you to the next message. If not set messages will be displayed as fast as the system generates them.

  • Reset All - Resets all fields specific to the Message Tracker application to their defaults.
With the release of NxCore Version 3.0, three new timestamps are available with microsecond resolution (SRC, PTP1 and PTP2). Also available with NxCore Version 3.0 are new expanded trade conditions, with four simultaneous trade conditions possible.
  • ExgTime - Displays the timestamp found in CoreHeader->ExgTimestamp.

  • SRC Time - Displays the source timestamp found in the extended timestamps.

  • PTP1 Time - Displays the Participant 1 timestamp found in the extended timestamps.

  • PTP2 Time - Displays the Participant 2 timestamp found in the extended timestamps.

  • Expanded Trade Conditions - If set all four possible trade conditions will be displayed.

NOTE: Milliseconds in ExgTime is only available in tapes that end with the .nx2 or .nx3 file extension. Extended time-stamps (SRC, PTP1 and PTP2) are only available in tapes that end with the .nx3 file extension.


Pressing "View Log" on the main dialog will launch the current log file in Notepad, making it easy to search for specific entires or just to scroll through the entire log from start to finish. As you can see, the logs contain message information in human readable format. (Note the following image was trucated on the right side to fit this webpage (we look at logs on large monitors) Additional information on EXGQUOTE entries is not shown in the image).



It would be a trivial task to turn this log into a machine readable file, such as a pipe-deliminated file with no readable labels, etc. As I use these logs in real time customer support at Nanex, it is invaluable for me to have the output in human readable format, so that I immediately know the meaning of each field without the need to reference a header or other table elsewhere. Should you desire the output in another format, you have the code! Have at it!




JTools Table of Contents