I do not think there is a general answer here. FIX sessions should be driven by technical factors and service level requirements. The following link from Deutsche Börse Group gives you an example of a highly complex environment that offers all kinds of access, depending on your trading and market data needs. Check out the chapters 6 (Eurex=derivatives) and 11 (Xetra=cash) for details.
fully agree. From a technical point of view and the addressing schemes there is no need to split but on the other hand you have one network connection tube established where many sessions may be established quite easily without too much of additional cost. This exchange doc covers all kinds of FIX session available for members of an exchange.
Well, if you were a client of a broker is depends whether you want to either split risks into several sessions representing asset classes (and in consequence different approaches to business times and world regions, message types and message type field sets etc.) and the desks in both sides involved.
The more differences the better you split into sessions to also decouple the message sets and session times from release changes based on different RoEs in one sessions. Depends where you feel that a pain starts or would easily start in the future if you squeeze too many options into one session.
Thanks, @111s for adding the operational aspect of sessions!
I also forgot to “advertise” the FIX Orchestra Technical Standard that comes in two parts. The repository part (messages, groups, components, fields, code sets, codes, rules, scenarios, workflows,…) is better known than the interfaces part. The latter lets you automate connectivity by providing standardized meta-data to describe your sessions. See here for details. Admittedly, we could do better in terms of documenting…
Looking quickly through the first documentation, I see that members would target different IPs (though seemingly in the same Frankfurt data center) to Eurex vs. Xetra, so I’d imagine most members would have separate sessions in this case anyway.
Off the top of my head with bandwidth requirements and costs aside, adding onto what @111s already mentioned, having multiple sessions allows more control and flexibility to your FIX sessions. In a way, this can help mitigate a lot of risk when a migration or upgrade occurs, having the ability to deal with each asset class separately. Also many firms (both buy-sides and sell-sides) tend to use different trading systems and/or order management systems for equities vs futures and options, especially in the Americas. For all these reasons, I tend to prefer to keep them separate.
I understand the concepts for Orchestra, but will also take a deeper look. I’m happy to see that there is a bit more focus on the state of the orders though!