Financial Information eXchange Web Platform (QuickFix / J)

I am only a few days familiar with FIX and would appreciate some guidance below.

A trading system connected to an exchange can receive FIX messages for trading purposes and requests for market data. I am trying to build a web FIX platform using QuickFix / J that will be provided to numerous clients.

An ip and port is provided to connect to the trading system gateway, and I have already provided them with valid message tags.

I used QuickFix / J to create a local initiator and acceptor (standalone apps, not websites) to run my tests and send messages between two points (INITIATOR> ACCEPTOR and ACCEPTOR> INITIATOR) and this works fine and I got idea (more / less) how messages should work. Also I experimented to see how multiple sessions work and it works well for me. (1 acceptor - several initiators)

I am really confused when it comes to the fact that I need to go to the web application right now. My questions:

  • When connected to the provided gateway, what do I need to get started in order to send and receive FIX messages? initiator or acceptor or both? From my understanding: An initiator starts up and connects to an acceptor, so in this case the gateway will be an acceptor or not?

  • Let's say I want to expose this web platform to multiple clients and each connected client will have a dedicated session after successful login. If the acceptor is the actual server, how will it know about the details of the client's session? (SenderCompID and TargetCompID)

  • Current architecture:

    • A special server for launching the trading system, in which the FIX client application will connect and send / receive messages
    • The web application will create a session in the trading system and send / receive FIX messages
    • Suggestions for communication between server and web application? I was thinking of using activeMQ for messaging between two points. Would this be a good idea?

I know this is too much to ask, but any opinion / suggestion would be greatly appreciated.

Thank.

Updates :

  • My biggest problem with activeMQ is actually session management, and if it is possible to develop such a web application using amq to send / receive messages between client-amq-trading platform. I have not used amq and quickfix / j in depth, and I just want to be sure that it is actually possible.
  • Based on the above, do you think this architecture will work fine? architecture
+3


source to share


1 answer


  • Not all counterparties will trigger acceptors, but all the ones I've ever worked with (50 or so) so you (probably) don't need to trigger an acceptor.
  • Typically each client has their own CompID pair provided by the counterparty, and it is these details that (uniquely) identify the client. Typically, you create a separate connection for each client.
  • It depends on what volume you expect to trade, but using activeMQ sounds viable. I would think that unless you are dealing with high frequency trading or multiple clients, you need a separate dedicated server. In general, I used proprietary messaging layers to communicate between our clients and servers, but it had more to do with the companies I worked for than these systems, which are inappropriate.


Disclaimer: My experience is in C # and C ++ FIX development, so I don't really know active MQ, but based on comparisons, it seems fine.

+4


source







All Articles