FIX protocol

| | No TrackBacks

QuickFIX is a full-featured open source FIX engine, currently compatible with the FIX 4.0-4.4 spec. It runs on Windows, Linux, Solaris, FreeBSD and Mac OS X. API's are available for C++, Java, .NET, Python and Ruby.

Links to documents

The following was scraped from an online PowerPoint presentation:

Session level messages

  • logon/logout
  • heartbeat
  • test request
  • resend request
  • reject
  • sequence reset

Application level messages

  • new order
  • execution report
  • order cancel/replace request
  • allocation
  • trade capture report
  • confirmation

For each field:

  • tag (a unique number)
  • field name
  • data type (string, char, price, quantity)
  • description
  • FIXML name (XML element name)

User-defined messages

User-defined fields

Message syntaxes
  1. 'tag=value' syntax
    1. tag (tag number)
    2. =
    3. value
    4. delimiter (ASCII SOH)
  2. FIXML syntax
    • XML schema defined
    • application messages only, no session level

Sample transaction
(1) buy side connect to TCP socket on port of sell side FIX engine
(2) sell side accepts TCP connection
(1) send Logon message
(2) send Logon message back
(1) send New Order message
(2) send Execution Report acknowledging order
(2) send Execution Report containing fill

Buy 5000 IBM at 110.75

8=FIX4.2^		# BeginString
9=251^			# BodyLength
35=D^			# MsgType (New Order)
49=AFUNDMGR^		# SenderCompID (AFUNDMGR)
56=ABROKER^		# TargetCompID (ABROKER)
34=2^			# MsgSeqNum (2)
52=20030615-01:14:49^	# SendTime
11=12345^		# ClOrderID (CLient Order ID)
21=1^			# HandleInst (automated exec)
55=IBM^			# Symbol (IBM)
54=1^			# Side (buy)
60=2003061501:14:49^	#
38=5000^		# OrderQty (5000)
40=2^			# OrdType (Limit)
44=110.75^		# Price (110.75)
10=127^			# Checksum
<FIXML>
<FIXMLMessage>
<Header>
<SendingTime></SendingTime>
<Sender>
<CompID>AFUNDMGR</CompID>
</Sender>
<Target>
<CompID>ABROKERR</CompID>
</Target>
</Header>
<ApplicationMessage>
<Order>
<ClOrdID></ClOrdID>
<HandlInst Value="1" />
<Instrument>
<Symbol>IBM</Symbol>
</Instrument>
<Side Value="1" />
<TransactTime></TransactTime>
<OrderQtyData>
<OrderQty>5000</OrderQty>
</OrderQtyData>
<OrderType Value="2" />
<Price>110.75</Price>
</Order>
</ApplicationMessage>
</FIXMLMessage>
</FIXML>

No TrackBacks

TrackBack URL: http://www.iwebthereforeiam.com/cgi-bin/mt/mt-tb.cgi/16

Leave a comment

Verification (needed to reduce spam):

Pages

OpenID accepted here Learn more about OpenID
Powered by Movable Type 4.32-en

About this Entry

This page contains a single entry by Hugh Brown published on April 26, 2008 1:24 AM.

BrainBench technical tests was the previous entry in this blog.

Reduce FireFox memory usage is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.