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
|