|
The Skyler C3 Database combines complex event processing technology with caching and analytics to deliver the ultimate in trading application technology. It consists of a variety of components that are purpose built to targeted particular problems facing today’s trading infrastructure. These components include:
Feed Handlers and Input Adapters: Feed Handlers and Input adapters establish the connection between the data feed and the C3 Database. They insert real-time, historical or fundamental data from direct exchange feeds, consolidated feeds, or from disk into the C3 Database. C3 can take in the main North American Level I and Level II direct feeds from the exchanges and take charge of the feed handling. The C3 feed handlers include:
Level II orders: Skyler C3 can interface to existing or proprietary feed handling infrastructure including Wombat, Reuters RDFD, InfoDyne, and others. Skyler can take the raw or normalized messages from messaging infrastructure including RMDS, Tervela, 29West, and others. Stream Operators: The Skyler C3 Database functions as an event stream-processing engine. Its stream operators filter, aggregate, sample, or derive new data on the fly. The stream operators are pre-configured and can be selected during database configuration. Current stream operators include total volume aggregation, VWAP calculations, yield calculations, high/low calculations, tick trend indicators, and others. Additional custom stream operators can be built using the Skyler C3 SDK. Order Book Store: The order book cache is an extremely fast data processing entity that provides a range of order book aggregation capabilities. It maintains the full depth of the order book for every instrument in real time and supports per venue and cross venue aggregation. The different aggregation mechanisms include no aggregation, so every individual order can be seen, price aggregation on a per venue basis as well as price aggregation across all venues. The order book cache aggregates orders and sends order book snapshots out in less than 10 microseconds. Performance tests have shown sustained update rates of over 200,000 messages per second on pedestrian hardware. Due to the multithreaded nature of the application increased performance will be achieved with additional and faster CPUs. Trade Data Store: The trade data cache stores the trades from the different feeds according to the original exchange timestamp, therefore ensuring that any kind of analytics over the trade data is not influenced by fluctuations in the speed of the data delivery. In addition, the trade data store handles correction messages and other out of bound messages delivered by the exchange. It is optimized to support analytics over the trade data on a per-venue or a cross venue basis. These analytics can include aggregation mechanisms such as a VWAP and others. Quote Store: The quote store captures all incoming quotes from the different venues and prepares them for custom calculations or analytics. The quotes can be stored in a time series like manner, or managed in a specialized NBBO cache that informs about the best bid and offer in the market. This is particularly useful for compliance related applications. Associative Store: In addition to the highly specialized trade data, quote, and order book stores, the Skyler C3 system also supports a general purpose last value cache. This very simple but extremely fast cache supports update rates of over 1 million messages per second. Time Series Store: The C3 system also supports a general time series store that focuses on extremely fast appending of time series data. This cache is designed to support very high stream input rates of over 1 million messages per second while supporting fast query rates. The time series store allows the user to conduct time series analytics and to replay history. Custom Analytics Entities: The C3 Database provides the user with a number of different mechanisms to embed custom business logic, algorithms, or indicator calculations. The user has three implementation options:
Messaging Adapters: Messaging adapters represent the interface between the data flow within the database and off-the-shelf messaging infrastructure. These adapters handle request-response queries and subscription based active queries that are posed by clients of the messaging infrastructure. In addition, these adapters publish result sets on to the messaging bus. Skyler has adapters to Reuter’s RMDS messaging infrastructure and Tervela messaging fabric. Skyler C3 SDK: The Skyler C3 Database comes with a powerful and easy-to-use C++ SDK. This allows you to develop your own custom entities including input and messaging adapters as well as entities that conduct certain operations or calculations on the data stream. The SDK also allows you to embed third party libraries such as Matlab. It comes with extensive documentation, pre-build frameworks for certain entities, and a lot of sample code in order to increase ease of use. Skyler C3 Administrator: The system configuration occurs through an XML file that can be edited using a user-friendly Administrator GUI. System configuration determines the stream operators and storage capabilities of the database, as well as the flow of information between system entities, allowing you to configure the system to your unique business needs. Provided sample configurations include a trade capture solution or an order book management system. In addition, the C3 Administrator is used for server administration and monitoring. Supported Platforms: The Skyler C3 Database currently runs on Red Hat Enterprise Linux 4.0, achieving its full performance capabilities with its 64-bit-compliant version on a machine with AMD dual processors. C3 is also released on 32bit and 64bit Windows. The Skyler APIs and GUIs are available for 32bit and 64-bit systems running on Linux and Windows. |