Wednesday, December 1, 2010

FIX Expert Express Training Course

Basic Topics
Day 1 (10 hours)


  1. FIX message syntax
    1. FIX
      1. Read about syntax of FIX 4.4 (self education)
      2. message structure
        1. tags
        2. field names
        3. delimiter
      3. header
        1. body length
        2. message type
      4. trailer
        1. check sum
      5. repeating groups
        1. leading tag
        2. start tag
        3. nested repeating groups
      6. encryption
      7. user defined tags
      8. protocol customization
      9. message validation
        1. Garbled message
        2. Invalid message
      10. Learn how to construct FIX message manually
      11. Test (6 tasks for 2 hours)
        1. be able to construct FIX message on demand
        2. be able to identify error in FIX message
    2. FIXML
      1. Read about FIXML syntax 4.4.
      2. Learn how to convert between FIX and FIXML
      3. Embed FIXML into FIX XML message
      4. Test (2 tasks for 2 hours)
        1. be able to convert FIX to FIXML
        2. be able to convert FIXML to FIX

Wednesday, September 1, 2010

Translated books - blessing or cursing?

Nassim Taleb is quite known guy mostly thanks to his Black Swan theory and his book The Black Swan: The Impact of the Highly Improbable, which made a lot of noise.

The book was from my "should" list and finally it was its turn to be read. Since it is something what we call "popular science" rather than "science" or "technical literature" I've decided to read it in translation and that decision led me to significant time waste.

The book appeared to be a set of trivial thoughts about applicability of probability theory and statistics and some strange statements, which actually did not make any sense to me. But then I've decided to look at original text and you know things are slightly different there.

So I restarted reading the English version of it and I do not know if I change my mind after that but so far I've got yet another evidence of the old known principles:

  1. Never read translation if you can read original text.
  2. Never judge based on translation (or interpretation)
  3. Never trust ballyhoo
And yes, most likely I will post my thoughts about the book after I finish reading it.

PS Funny statement from the book:
Note that, by symmetry, the occurrence of a highly improbable event is the equivalent of the nonoccurrence of a highly probable one.
Interesting, what kind of symmetry he is referring to... :)

Sunday, July 25, 2010

Trade on MICEX via FIX

On Wednesday MICEX officially announced that public testing of the MFIX Transactional - FIX interface for trading - starts on July 24th.

This is the second solution (the first was for market data) implemented by EPAM Systems and capital market division in particular for MICEX.

MFIX Transactional is the result of Kyiv and Saratov teams cooperation. Professionalism, responsibility, focus and real customer involvement were key factors to overcome all pitfalls and deliver.

Well done guys and keep going!

PS For those of you who can read Russian try links below (under cut).

Monday, July 19, 2010

FIX logs analyzer. Part I.

x
FIX Log Analyzers (FIX Grep and FIX Eye) are the small tools, which were started for internal use only, developed with the lapse of time and finally grew up to the powerful (but still lightweight) product suit.

BTW Today there is a free demo version of FIX Eye available for download from official B2BITS web site.


History
Originally the main purpose of the utility was making testers' life easier. Namely:
  • Help FIX  newbies read and understand FIX logs
  • Save time for searching orders and related messages in logs to analyse order life-cycle
Additional requirements were:
  • Deal with any free-form text file (often there is a need to extract messages from log files with a lot of debug info)
  • Deal with multiple files (in most cases in and out messages are stored in multiple files, also data for different sessions can be in different files)
  • Deal with archives (log files grow fast so there is a need to take into account housekeeping procedures normally performed at the end of the day)

Monday, July 5, 2010

FIX Protocol Dictionary

In this post I will explore the phenomena of the online FIX dictionaries, why they appeared and gained popularity. Then I will explain the consideration we have been guided by when designing our own Fixopaedia.







FIX protocol organization releases specification in several formats, none of which in fact is formal (actually they also have recently adopted an online dictionary developed by the 3rd party):

  • Word documents for FIX
  • PDF for FIX
  • Schema for FIXML
What exactly are people looking for when going to online dictionaries? I would single out several types of requests:
  1. What do specific FIX field and its values mean?
  2. What fields are defined for specific message type?
  3. What other messages are relevant to specific message type?
Basically this means that a perfectly organized specification enables the user to easily find the answer to his questions without even having the specification stored somewhere on his computer. Word and PDF documents are definitely not the best format for such people.

So let's analyze what should user do to find answers to the questions above.

Case 1.
User searches for the word "OrdType" and finds full definition of the corresponding field e.g. the way it is done here: http://btobits.com/fixopaedia/fixdic44/tag_40_OrdType_.html

Case 2.
User searches for the words "New Order Single" and finds full definition of the message e.g. the way it is done here: http://btobits.com/fixopaedia/fixdic44/message_New_Order_Single_D_.html

Case 3.
User wants to browse all messages related to the order so he searches for the word "Order" and finds the list of messages e.g. the way it is done here: http://btobits.com/fixopaedia/fixdic44/index.html?message_New_Order_Single_D.html

Obviously there are users that prefer to navigate rather than search, so this functionality must also be available.

Does all the above mentioned mean that Word and PDF formats of specification are not useful at all? Of course not. Those formats are perfectly suitable when you study FIX from the beginning or when the new version of the protocol is released.

Designing FIXopaedia

So what are the key concepts we followed while designing FIXopaedia?







  1. Access to the information. User should be able to find information with minimal effort.
  2. Effective layout. Present as much information as possible on the same screen i.e do not waste screen space.
  3. Navigation. User should benefit from hypertext as much as possible easily navigate between relevant fields and messages. At the same time data must be structured so the user is able to navigate from highest to the lowest level.
  4. Compactness. User must be able to get all required information in one place without extra navigation e.g. message name and type, field name and type (including possible values), required attribute, short description and corresponding FIXML tag - everything must be shown on the same page.
  5. Completeness. Maximum information available in standard must be present in the online FIX dictionary.
  6. Speed and lightness. Do not overload page with heavyweight pictures, scripts or server side processing. The display time must be unnoticeable as well as search time.
  7. Searching facility.
  8. Non-aggressive pretty looking color schema.
So this was an intent, which resulted in FIXopaedia. Do you think we reached the goal? Do you think we missed some must-have or nice-to-have features? Feel free to comment.