Resume (PDF)
FIX Protocol

FIX Protocol is a communications standard used to transmit electronic securities transactions. It is a public domain protocol, which allows independently developed systems to communicate seemlessly and without licensing issues. The FIX Protocol Organization (1), which is developing the standard, has as its mission: "To improve the global trading process by defining, managing, and promoting an open protocol for real-time, electronic communication between industry participants, while complementing industry standards."

Financial markets applications based on FIX have all the makings of a fascinating IT problem: The new solution increases the efficiency with which information is transmitted. The information in question is the life-blood of the organizations involved. The new standard is extensive and clearly specified. And the amount of money involved in each transaction can be staggering. These factors make learning FIX fun, challenging, and potentially quite profitable.

The first step in learning FIX Protocol is to get a copy of the specification. It is available for download from the website of The FIX Protocol Organization (2).

Next, you will need a FIX engine. The engine is the component that handles low-level communications, and binds the protocol to your chosen programming language. You can build one yourself, purchase one, or download an Open Source version. I use an Open Source engine called QuickFIX (3).

The next step depends on your development style. I chose to attack the problem from two perspectives; bottom-up and top-down.

For the bottom-up view, I first hand-copied the QuickFIX demo application, then converted it to MVC (Model View Controller, a popular architectural pattern). Once that was complete, I started with a blank project and worked from the QuickFIX engine up to the user interface. The result is far from a production grade application, but it gave me a much more detailed understanding of the interaction of messages (4).

For the top-down view, I explored the architectural elements that would comprise a robust and flexible FIX application. The result is a lightweight architecture for FIX applications, and it also acts more generally as a treatise on the value of encapsulation (5).

Whatever path you take, working with FIX is sure to be a good learning experience even if you are not in the securities industry. If you are in the industry, and FIX is not already on your radar, take a look; it is an impressive piece of work.
External Links

1. The FIX Protocol Organization

2. FIX Specification

3. QuickFIX: Open Source FIX Engine

My Examples

4. Simple FIX Application

5. FIX Architecture Exploration

Copyright 2004 by Robert Bushman.