C++ wrapper around QuickFix to allow parsing of FIX messages through an Emacs interactive command. It uses Emacs module support feature to load in a C++ API which is used for decoding.
Example of decoding a CME Option
- Install dependencies:
sudo apt-get install libxml2-dev libssl-dev
- Download the latest QuickFIX source: http://www.quickfixengine.org/
- Compile and install QuickFIX:
tar -zxvf quickfix-x.y.z.tar.gz cd quickfix-x.y.z ./bootstrap ./configure make sudo make install
- Install Emacs (or build latest from source):
sudo apt-get install emacs
- Optional Install org-pretty-table
- Install G++:
sudo apt-get install g++
- As easy as typing
./build.sh
- This will produce an
so
library you will reference below
- https://fixsim.com/sample-fix-messages
- https://www.cmegroup.com/confluence/display/EPICSANDBOX/CME+STP+FIX+-+Samples
- Note you may need to set
LD_LIBRARY_PATH
to the directory of theso
output above - Open
fix-parsel.el
in Emacs - Change the
module-load
to match the build of your local clone - theso
file above M-x eval-buffer
M-x setup-fix-message-parsing-buffer
- Paste your FIX message - making sure to use geuine SOH (ASCII 001) characters as delimiters
C-c C-c
to decode
- Sometimes message length and checksum need modifying to work (header truncation?). You can swap out the values for the expected ones in the Emacs exception.