Forum OpenACS Q&A: automated stock trading standards - FIX, FIXML, etc.
I'm intersted in automated trading of securities (primarily stocks) for institutional traders. Both the first part of sending the buy, sell, or whatever instruction, and the second part of getting back (probably later rather than immediately) lots of detailed information on exactly how the instruction was executed - fills making up the order, timestamps, prices, etc.
So I went looking for file formats or other standards on this sort of thing. OASIS (Organization for the Advancement of Structured Information Standards) has links to a bunch of stuff. From the webopedia, and what little I've heard from people so far, FIX (Financial Information Exchange Protocol) and its FIXML XML markup language is probably the right thing.
The FIX spec. is large, 7 volumes each around 100 pages or so. At first impression it all sounds pretty heavy-weight to me, not simple, but I haven't really read any of the spec yet, nor played with any of the FIX implementations below.
Does anyone have any useful experience with or comment on FIX, FIXML, any other relevent financial protocols, or specific implementations of any of those? Whatever you know, I'd like to hear it. :)
SourceForge lists several Open Source FIX projects:
- QuickFIX is C++ (with C++, Java, .NET bindings), runs on Windows, Solaris, Linux.
- SlimFIX is Java, says it's only been tested on Windows.
- financelib and Open FIX Engine don't seem to have any code at all.
- The fixzilla FIX log analyzer (in Java) might be useful.
- FreeTrade is sort of related but not relevent here.
- The investment (stocks, bonds, options) part of OFX (Open Financial Exchange) might be sufficient for what I want to do, but is supposedly more retail oriented.
- IFX (Interactive Financial eXchange) sounds similar but I think doesn't include investments/trading.
- FpML seems to be just for Derivatives.
- There are links to a lot of other similar (STPML, FinXML, etc.) at the bottom of this FixML page.
fixprotocol.org lists a whole lot of FIX commercial vendors, but that web page makes it obnoxious to try and read about them (click on every single name).
Besides FIX, here are some other similar-sounding standards I've come across:
presented their DeepGreen automated trading system at codecon last year. If their order execution infrastructure is declassified, perhaps you can find some reference to it on the web or by contacting them directly. Though not open source, presenting at codecon seems to imply a certain openness ...
My sense is that the *ML boat hasn't yet arrived in the financial world. I'm sure what you want exists as a packaged API/service just like the various e-commerce offerings, but expect to shell out some dough.
Before the conference, Linux Journal published an overview of of the presentation that more detailed than the CodeCon one. Robert Kaye gave a report on it from the Feb. 2003 CodeCon presentation. Apparently you can also download an audio recording of the presentation.
Michael Korns also has his own website with much more information than investbyagent.com. All about intelligent agents though, nothing about how their one man mutual or hedge fund handles its trade executions.
As you may notice, it is a open protocol with a flat structure mixing element from different protocols layers.
Note that the implementation is very dependent of the interpretation of various tags or the usage of private tags.
In fact each installation of this kind of gateway needs lot of testing. Testing experience as well as specific knowledge of each market (cash equities, derivatives, forex, commodities, ...) is of main importance in this business.
Note that the protocol is very crude about security and authentication.