Architecture diagram involving the flow of data between trading engine, order routing engine,quickfix and the exchange

StackOverflow https://stackoverflow.com/questions/21173530

Question

If I write an order routing system based on QuickfixJ, can I just start submitting my trades to an exchange? Or do I need to register myself with the exchange or get permission or something like that?

I am not able to understand how QuickfixJ, the order routing system, the actual trading engine and the exchange fits together. Any online architecture diagram would be very helpful for how these components fit together.

Was it helpful?

Solution

FIX is just a transmission protocol. By itself, it's pretty dumb. QuickFIX (any language port) is just an engine that does all the boring dirty work of managing a FIX connection.

The FIX specification includes a list of messages and fields. In reality, you can treat these as suggestions that, in practice, no commercial FIX counterparty uses as-is. Every counterparty I've connected to makes modifications to those messages and fields, sometimes adding entirely new messages. No counterparty supports every message and field.

When connecting to a counterparty, do not assume anything. Your counterparty should provide documentation on how they expect their interface to be used, and which messages and fields they will send and which they expect to receive from you.

  • Their docs should tell you which message to send them to request market data and any special fields/options you must use.
  • Their docs will tell you how to submit a trade.
  • Their docs will tell you how to do anything that they support, and which messages/fields you will receive in return.

Do not try to send any message type to your counterparty unless their docs say they support it.

If you are writing the ORS side... then you have no docs. If you haven't written a FIX client before, you probably shouldn't be writing a FIX server without some assistance from someone who has. At the least, you should try to get ahold of some other systems' FIX interface docs to get an idea of how to go about it. (Unfortunately, such firms usually only give them to client-developers.)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top