Correct approach?

Imported from previous forum

[ original email was from kevin davis - kevinjdavis@att.net ]
I’m curious about the following and would be grateful for any feedback.

We currently have a FIX engine in place that routes orders from our own proprietary OMS to various ECN’s etc.

We have just acquired a new stream of business whereby they will send me new orders via FIX.

Question: Do I need to run another FIX engine to accept the new orders - then pass them over to the existing engine - or can I use (just) the existing engine and simply ‘pass through’ the order to the ECN of their choice?

[ original email was from Himanshu Sharma - hsharma@knighttrading.com ]
Many envrioments come accross this scenario.
To be simplistic, you don’t need another FIX engine to ‘receive’ orders from this new connection (let’s call it ‘A’).

Option 1: But for routing orders out and getting executions, check if your existing FIX engine allows to route incoming messages to some outgoing destination based on some fields (like DeliverToCompID, onBehalfOfCompID etc.). This might required some swapping (‘A’ should send you DeliverToCompID which can be put into TargetCompID of target ECN etc.). Similarly when you get msg from ECNs which are for ‘A’, FIXEngine needs to do reverse swapping.

Option 2: You can write a new process (say process SWP) which will only get msg from 'A" via FIX ENgine, swap some values and send msg beack to FIX Engine to be sent to ECNs. So this process gets msg from ‘A’ via your existing FIX engine and then does some swapping of fields.
Example: (say your existing CompID is CO1)
Msg from ‘A’ to ECN1:
1.1 ‘A’ to FixEngine: SenderCompID=A, TargetCompID=CO1, DeliverToCompID=ECN1.
1.2 SWP get the msg from FIXEngine and sends back to FIXEngine after swaping: SenderCompID=CO1 (or A, agreed by ECN1), TaregtCompID=ECN1, onBehalfOfCompID=A.
1.3 FIXENgine gets Msg from ECN1 for ‘A’: SenderCompID=ECN1, TargetCompID=CO1, DeliverToCompID=A.
1.4 SWP gets msg from FIXEngine and send msg back to FIXEngine after swaping: SenderCompID=CO1, TargetCompID=A, OnBehalfOfCompID=ECN1.

HTH.

I’m curious about the following and would be grateful for any feedback.

We currently have a FIX engine in place that routes orders from our own
proprietary OMS to various ECN’s etc.

We have just acquired a new stream of business whereby they will send me
new orders via FIX.

Question: Do I need to run another FIX engine to accept the new orders

  • then pass them over to the existing engine - or can I use (just) the
    existing engine and simply ‘pass through’ the order to the ECN of
    their choice?

[ original email was from kevin davis - kevinjdavis@att.net ]
Himanshu,
Excellent news!
Thank you so much for your prompt response - I really appreciate it.
Kevin.