- Solutions & Services
- Knowledge Sharing
- Educational Services
- Why OCI Training?
- Transitioning to OO
- Course Catalog
- Public Events
- Private Events
- Lab Facility
- Technical Communication
- Educational Services
OCI has extensive experience with large scale financial systems. We have worked both the buy and sell sides.
OCI's experience with large scale real time systems in telco and defense is leveraged in financial systems that are being stressed by increasing trading volumes. Systems that are designed without a true understanding of distribution, threading and the risks of race conditions are unable to take advantage of the newer multi-core architectures.
OCI provided solutions able to support the unique needs of the financial industry. These include:
- 2nd generation dealer exchange
- order management systems
- market data content aggregation and distribution system
- high volume trading systems
- connectivity solutions to multiple exchanges
- protocol engines
- On-line event processing framework
OCI leverages open source software in many financial projects to reduce costs and jump start the schedule.The use of open source can also improve performance. Many proprietary products engaged in a trading system chain of events include abstractions for their interfaces. These redundant data transformations lead to loss of performance.
We employ a broad range of pattern libraries which are proven solutions to complex distributed systems issues. Open source solutions specific to finance industry standards include QuickFIX (Java and C++), OpenFAST and now QuickFAST. OCI has helped clients connect and certify their trading systems with many global exchanges using FIX and FAST. Our exchange adaptor framework approach enables new exchanges to be easily added.
For real time distribution of market data to trader’s desks we recommend an approach based on the OMG real-time Data Distribution Specification (DDS). This deterministic, point to point, low latency specification has an open source implementation called OpenDDS. OCI has successfully connected QuickFAST market data output to OpenDDS publishers, which then passed the data to subscribers (trader systems). Performance exceeds by a generous margin, the traditional message queuing software products. The faster the information arrives the faster you can make decisions on trades.OCI has also used the OpenDDS framework as way to build real-time event processing. By collapsing feed and analytics into a unified distribution framework we can more rapidly distribute decoded, normalized data from the feeds and into the various analytic engines. From there the same architecture can be used to direct trading. Many of the latencies induced by switching from one system to another are mitigated.
OCI is also experienced with proprietary products that are a good fit with high performance trading systems' needs. OCI has integrated "in-memory" database technology from McObject to enable fast tracking of orders without the impact of latency inducing disk writes. OCI has also created transport frameworks for clients using LBM from 29West. These frameworks enabled client development teams to work at a higher level than sockets, which can reduce productivity.
Financial Services, agent and client system: This access framework replaced dial up point-to-point access with Internet or web enabled access so that agents working with their clients could view their portfolios and make selections and alterations. It involved development of Java based connections to many existing procedural systems and mainframe environments.
Financial Services Framework: An major electronic stock exchange required an intermediate server system for its dealers that expanded its performance envelope significantly. OCI architected and built such a system, incorporating legacy connections, as well as offering new features and open system's characteristics. This highly portable system was designed using ACE.
Market Data Distribution Framework: An industry leading financial services company required a system that would receive large volumes of diverse financial market data through a fat pipe, transform and republish their data as a subscription based service. OCI architected, designed and developed a fault-tolerant (FT), high availability (HA), deterministic framework using C++, CORBA, ACE, TAO, Java, XML technologies.
Order Execution: A financial services company required systems that could ensure order execution and settlement among diverse internal systems. OCI designed and implemented an XML based flow of information to drive the process.
Exchange Simulator: A proprietary trading company required a simulator to take market data feeds, to analyse them and make simulated trades, so that the trading strategies could be compared against the real market. Once the simulator was honed it would be able to support decision making on trades. The simulation frame time had to be faster than the market data feeds and trading cycle times. It easily kept up with the content data rates and trades, and thus was able to support the traders in their real-time decision making.
FIX adapters: A proprietary trading company was switching to FIX as its basic trading protocol. However it found that FIX had many "flavors" according to how the exchanges had interpreted the spec. Rather than hardwiring a solution, OCI was tasked with masking the implementation flavors from the core trading systems which had used a more rigorous interpretation of the standard. OCI analyzed several exchanges and found patterns around the variations from the spec. OCI then designed a FIX exchange adapter that encapsulated each exchange's variations by means of strategies. The strategies could be modified if over time the exchanges changed their interpretation. Subsequent additions of new exchanges to the trading system became trivial events. OCI has now used this approach successfully when connecting dozens of exchanges.
FAST decoding systems: OCI has used its open source implementation of FAST to connect a client to CME and Arca market data. By using QuickFAST's message builder feature, OCI tuned the data model only once to exactly match the client's. This ensured the dataflow was streamlined, avoiding additional memory copies. The result was a fivefold improvement in speed and dramatic reduction in message handling latency (down to 2-3 microseconds per message). Since then the product has developed and is benchmarking in many cases at less than a microsecond per message. Users have also been able to adapt the product for their use across a wide variety of international exchanges. Open source allowed insight and removal of what would normally be performance robbing steps in comparable proprietary products.
Migration, Java to C++: OCI was ironically recalled to help a client switch applications that we had once helped develop in Java, to C++. The objective was superior performance.OCI leveraged its deep expertise at C++ and abundant pattern libraries to reimplement and ensure substantial performance improvements.
Event Processing Engine: The client realized that high frequency, low latency trading was reaching the point of diminishing returns. Speed was only a tactic, and tactics do not last, only strategies are durable.Now the challenge was trade smartly not just quickly. It also required leveraging open source software as way to shorten time to get trading and test the strategies. By using QuickFAST to decode market data and filter out the instruments of interest OCI was then able to feed the data into OpenDDS (an implementation of the OMG RT specification) which became in essence a message multiplexing and analytics framework. This flat "stack", point to point messaging approach resulted in a low overall latency from feed, through read, to that all important trade.