Anybody knows or has experience to connect Matlab with quickfix in c++ enviroment? Runs ok to recived data in real time?
I have written a couple of similar applications (not for quickfix though).
There is quite a high impedence mismatch between the operational models used
by QuickFix (callbacks) and MATLAB (batch/vector processing), so you will
probably need to implement a queue to sit in between QuickFix and MATLAB.
A simple C++ quickfix client can be used to handle the callbacks and write
messages to the queue. (Use Protocol Buffers maybe?)
Then, depending on your use-case, you can either:
1. (PULL) Write a simple MATLAB mex extension to read large-ish batches of
messages from the queue on demand, so your colleagues can very easily write
MATlAB scripts that poll from the queue.
2. (PUSH) Write a small C++ program to read large-ish batches of messages from
the queue, then pass them to a MATLAB script through an invocation of the
In the past I have always gone for option (1) as it gives my colleagues a more
familiar model when they write their MATLAB scripts to make use of the data.
You cannot get around the fact that you need to trade-off latency for
throughput. You also need to accept that you can neither get very low latency
nor very high iteration rates from MATLAB (or any other interpreted scripting
language for that matter); but by batching items together you can get
reasonably high data rates.
NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!