Archive for August, 2008

15
Aug
08

FIX log analyser

If you are engaged in development software for trading systems there can be a necessity of the FIX engine log analysis. There are a lot of reasons, the most simple – define how much there correspond parameters of the developed application of the validity. This mean: your database speaks you one supposedly warrants, openly have been sent so much so much, closed so much, and actually all can be differently. If the parameters received at the analysis of a database will differ from the parameters received at the analysis FIX engine logs – it is time to sound alarm. Someone says lies, and most likely this someone – your application:).

Log file of FIX engine usually represents a set of text lines. The choice of the tool for their analysis has come at once – certainly, Perl:). One of problems consists that supports FIX for Perl simply are not present. There is a plenty of the servers written in every possible languages (basically, it Java or C ++) among which it is possible to meet even Ruby and Python (I so understand, the craze), but hotly favourite by us Perl is not present. All right, not a problem. We can write analysis of text data even if there are no working on Perl engines.

There was a problem of analysis of a file for trades with one well known forex broker. The basic application from our party has been written on Java with use of QuickFIX/J engine. Obtained trades data are stored in the separate file which growing quickly enough. At the moment of start of a test script the size of log file exceeded the 1.5 GB. The script run on all lines, choosing all necessary types of the message and analyzing conditions of orders has been developed really quickly. The result (for a day) is printed the report of a sales volume with format usage.

The script is not ideal in view of a hardcoded binding of variables and there is a direct dependence from our broker (they have a little expanded standard protocol with the own types of variables) but the general idea is more or less clear.

In any case the script has made the work and has made it quickly. I think that the choice Perl as the tool of the analysis was more than is justified in view of speed of development and the general code understanding. Conclusions – I was very happy.

Source code and original article located here

02
Aug
08

Axon FIX Debugger is out

Someone has told what simply enough to write base application which using FIX protocol but much more difficult to force him work without mistakes. The basic problem consists that you need cooperate with software where you almost don’t have opportunity to influence on it behaviour. Lets say, you make integration with FXCM, Hot Spot, DGCX, DukasCopy or any another exchanger. You can send FIX messages and will receive on them answers. By laborious work and selection of messages you can check up all possible situations which can arise during the real trading. But nevertheless there is a probability, that some sequences will be missed and will prove only at use in production.

Engineers of our company (AxonSoftware) constantly involving in integration development and constantly collided with greater time losses at debugging FIX components of application. The received experience has poured out in realization of the program under name Axon FIX Debugger, intended for simulation of behaviour of sell side. What advantages can be received using Axon FIX Debugger? Here some of them:

  • ability to simulate work of sell side on the basis of versions 4.0, 4.2, 4.4 of FIX protocol
  • ability independently form messages which will be sent to your application
  • ability investigate trading session in a graphic kind. Debugger will give you the list of entering and proceeding messages with breakdown on fields
  • built-in programming language, allowing to set as much as flexible answers on messages coming from your side

Main principles of work

Axon FIX Debugger are tiny sell side application with the graphic console and some additional opportunities. At start the debugger creates session and expects connection of the client. As soon as session is established, the client application can start send FIX messages. Received messages will be displayed on the screen. The debugger will allow you to familiarize with contents of each of them in more details.

Developer can independent, at any moment, generate any message and send it in the debugged application. For interactive interaction the opportunity of the task callback – functions which will be called by debugger when client will send FIX message which we looking for.

Basic features of Axon FIX Debugger

  • Quantity of simultaneous client sessions: one
  • Graphic debugging panel, allowing to study messages
  • Sending the messages to the debugged application in a manual mode
  • Ability to bind callback functions on any entering FIX message
  • Built-in programming language, allowing to form answers of any complexity
  • Editor with syntax highlighting and opportunity to include created patterns of a code (code snippets)
  • Delivery with a standard set of answers
  • Built-in help system describing the basic functions of the programming language and containing examples of their usage
  • Editor, allowing to make changes in standard FIX protocol – enter new fields and values
  • Multiplatform. Axon FIX Debugger it is capable to work on Linux, Win32 and MacOS

Original content is here.