This example quickfix app was presented at the Chicago FinTech Open Source meetup on 2013-10-16, hosted by Connamara Systems.
It demonstrates how QuickFIX can be used to rapidly develop a workspace in which to run a trading strategy. The workspace provides market data and order routing to the strategy.
We leverage the "executor" example app that is included with QuickFIX to simulate an order/execution session, and we use a simple market data simulator (both included here) to drive the strategy with last trade notifications.
See QuickFIX101.pdf for the slides from the presentation.
The addition of Cucumber testing using the agent_fix and fix_spec gems was presented at the Chicago FinTech Open Source meetup on 2013-11-14, also hosted by Connamara Systems. See below for instructions for running the tests.
You will need QuickFIX installed in order to build this project. If you are using ubuntu, you can use the version that is available in apt:
sudo apt-get install libquickfix-dev
See http://quickfixengine.org/download to install from source on other platforms.
The example code builds in the usual way with autotools:
./autogen.sh
./configure
make
Start the executor:
./executor etc/executor.cfg
Start our market data simulator:
./mdsim etc/mdsim.cfg
Start our strategy app:
./app etc/app.cfg AAPL
If you would like to run the acceptance tests, run:
rvm use jruby
bundle install
bundle exec cucumber
Make sure that executor
, mdsim
, and app
are not running when you run
cucumber
, otherwise they will interfere with the test.