Friday, June 20, 2014

FIX Connection models - (a) Point to Point (b) Hub and Spoke Model

From - http://www.gxsblogs.com/keifers/2009/08/nyse-euronext-acquires-nyfix-the-last-big-independent-fix-network.html

About FIX
The FIX (Financial Information Exchange) standard includes both a networking communications protocol and a message format.  FIX is primarily used to execute trades of various types of securities (stocks, bonds, futures, options and foreign exchange) between buyers and sellers.  The typical users of FIX include hedge funds, mutual funds, life insurers, brokerage firms and custodial banks.  Common FIX transactions include Indications of Interest (IOI), price quotations, order instructions and trade confirmations.  Many of the post-trade transactions and post-settlement activities do not use FIX, but rather the SWIFT standards.

Fixprotocol

Historically, there have been two types of FIX vendors:
  • Point-to-Point – In the point-to-point model each buy-side financial institution establishes its own private community.  FIX connections are then configured separately with each individual counterparty.  In the point-to-point model the FIX vendor manages the physical circuits and connectivity.  Message translation, enrichment, monitoring are performed by FIX software engines on either side of the firewall.  The point-to-point model typically appeals to larger, more sophisticated investment managers who seek to customize their FIX networks and the version of FIX they are implementing.
  • Hub and Spoke – In the hub and spoke model, financial institutions need only maintain a single connection to the FIX network to gain access to the community.  Hub and spoke providers offer more value added services such as order routing, message translation, data enrichment and transaction monitoring.  Counterparties at each end point may not even have a FIX engine behind their firewall.  Hub and spoke models typically appeal to midsize firms which need to quickly and cost-effectively scale their FIX connectivity.
Point-to-point providers more closely resemble telecommunications providers, but with a suite of specialized value added services designed for securities trading.  Hub and spoke vendors resemble B2B integration service providers, but with a specialized focus on securities trading.
Value Added Services

Perhaps, the most interesting of NYFIX's product line is the Transaction Services they offer. NYFIX achieved such high volumes of trade orders on its FIX network that it was able to offer its own trade execution services.  In other words, NYFIX could identify to opportunities to match buyers and sellers of securities without having to route the orders to traditional marketplaces such as NASDAQ and NYSE.  The NYFIX service for trade matching is called Millenium, which is generically referred to as an Alternative Trading Service (ATS) or what some call a Dark Pool of Liquidity.  With Millenium, NYFIX offers a higher value add to the customer, which has the effect of encouraging further use of the vendor's FIX services.  NYFIX ATS services are a great example of how B2B integration providers can evolve beyond technology infrastructure into business applications.  Integration hubs, can quickly reach a point of critical mass at which such high volumes of information are being exchanged that network patterns can become a source of intelligence and opportunity.  I think this principle applies regardless of which business process the integration hub is organized around whether its supply chains, health care claims or securities trading.

Monday, June 16, 2014

OTC trade life cycle 1: Basic derivatives trading lifecycle

OTC trade life cycle 1: Basic derivatives trading lifecycle: It’s worth noting that the derivatives trading lifecycle is considerably longer and more complicated than the lifecycle associated with sim...

Wednesday, June 4, 2014

What is FIX Engine in FIX Protocol


Orig Source : http://javarevisited.blogspot.in/2012/01/what-is-fix-engine-in-fix-protocol.html


 What is FIX Engine in FIX Protocol

FIX Engine is in heart in FIX protocol Implementation, whenever we discuss about FIX protocol we talk about FIX engines, performance of different Fix engines, support of different FIX versions on FIX engine etc. but on basic level we definitely like to know what is a FIX engine and what does FIX Engine do in FIX protocol. In this article we will try to touch base on such questions with an independent view on FIX engines.

Quick guide on Fix Engine functionality

What is FIX Engines

Fix engines are program written in any programming language like Java, C++ which is used to facilitate online trading using FIX Protocol. its an implementation of FIX protocol and a single piece of software required to establish FIX connectivity. FIX messages which caries stocks trading orders electronically in form of tag and value is composed, parse and understand by FIX engines. FIX engines is also responsible for establishing FIX connectivity between client and broker or client and exchange. In a simple FIX connectivity setup we have two FIX engines running one at client side and other at broker or exchange side. These FIX engines first establish FIX session between each other and than transmit application level  messages(electronic stock order, cancels and order amendments etc). In Short FIX engine is essential piece of software your company will require to build electronic trading infrastructure.

What does FIX Engine do ?

Here is short summary of what is responsibility of FIX engine and what does fix engine do:
1) Establish Fix Connectivity by sending session level messages.
2) Manage FIX Session
3) Recover if FIX session lost
4) Creating, sending, parsing FIX messages for electronic trading.
5) Handles replay
6) Supports different FIX (Financial information exchange) protocol version and tags.


Who uses FIX Engines

FIX Engines are mostly used by large Investment banks, brokerage firms, hedge funds, pension funds and other independent parties which are interested in electronic trading. In stock trading first FIX engines is used at two places first at client side (most of high net worth individual, hedge funds uses FIX protocol to transmit orders to brokers) and on Exchange side if Exchange supports FIX protocol or you have connected to a broker. Since different exchange uses there proprietary exchange protocol (e.g. HKSE uses OG, TSE uses Arrowhead protocol and NASDAQ uses OUCH protocol), use of FIX engine on exchange side is less as compared ot client side, As clients and firms prefer to use FIX protocol for sending orders and receiving executions.

Performance of FIX Engine:

Performance of any FIX engines is key in order to be successful in online trading or electronic trading space. fastest, robust, flexible FIX Engines are proffered by brokerage firms and client alike. Since today's market is very volatile and sensitive due to high frequency and algorithmic trading, speed of FIX engines has become more important and derived bigger investment banks and brokerage houses to implement or create there own Fix engines.
Commercial FIX engines in Market
There are lot of commercial FIX Engines are available in market and they are listed on vendor page of FIX protocol. here is quick list of popular FIX engines you may want to choose for your firm:
1) NYFIX Appia
by far most used, flexible, robust and easy to maintain and support. what is best feature of Appia is that it
provides you to create new FIX session on the fly and manage fix session without downtime in FIX engine.
2) Cameron FIX Engine
Another popular fix engine which strictly follow FIX protocol and supports almost all of FIX protocol version.
3) Onix Biz
I have not used onixs.biz fix protocol solutions but sounds like good candidate.
4) B2Bits
B2Bits offers fix engines and fix solution in Java, .NET and C++.
despite these popular ones there are lot many other players like rapidaddition, Inforeach and Flyer Fix Engines.
That's all on FIX engines of FIX protocol , you can also check my other articles on FIX protocols for getting more knowledge on how fix protocol works etc.
Related FIX Tutorials