OneTick Platform Architecture
OneTick is a specialized time series ‘tick’ database optimized for capture, storage and analysis of financial data. It is built to specifically handle high-resolution time-stamped content such as instrument prices, trades and order books. Additionally OneTick can effectively store and analyze orders & executions, fundamental data and news. OneTick has pre-defined constructs to support these financial market-specific concepts. OneTick can also be customized for any other kind of time series data with varying schemas for storage and analysis.
The OneTick database server (also referred to as the Tick Server) is a high-scalable, time-series ‘tick’ engine, which includes an in-memory database for intra-day data, file-based archive store for unlimited amounts of historical data including client order flow, market events including multi-asset trades, quotes and full order book depth. OneTick also support reference data architecture for managing numerous symbologies, trading calendars and corporate action events (name changes, splits and dividends).
Key system features include:
- Multi-threaded high performing/highly scalable design
- Fully fault-tolerant
- System monitoring and alerting
- Toolset for intuitive analytical query construction and API extensibility
- Full authentication/authorization security with data access entitlements
The OneTick platform includes numerous functional components including data capture, the analytical engine and a graphical query building tool. The data capture components (also known as Collectors and feed handlers) are capable of real-time capture of high frequency market data, order flow via FIX connectivity and user-defined custom in-house sources. This also includes utilities for batch data loading.
OneTick Standard Components
- OneTick Collector – Collectors are processes that connect to a data feed and receive data according to the data vendor's protocol and record data into raw data logs (files). This includes common market data vendor feeds and FIX.
- (2a – 2c) OneTick Loaders – OneTick provides a variety of data loaders for storing data into archive databases and intra-day/in-memory stores. The loaders read from batch files and real-time feed’s raw logs (files).
- OneTick Tick Server & Query Engine – The Tick Server executes OneTick analytical queries (i.e. Surveillance and TCA algorithms).
- OneTick Query Builder – OneTick’s visual tool for the visual construction of analytical query logic. The constructed queries are executed by the Tick Server..
- Visual & API clients – OneTick provides client APIs to connect to and execute OneTick queries. The API’s are supported in C++, C#, Java, Perl and Python. Additional OneTick includes a visual dashboard designer for creation of custom GUI interfaces with report generation (i.e. MS Excel spreadsheets and pdf files.
The query building component is a (Windows) desktop software tool for designing and constructing analytical models for trading, quant research, surveillance and TCA application logic against data stored in OneTick’s databases (i.e. in memory/archive store) and real-time feeds. The application logic (e.g. queries) is constructed visually by linking together a sequence of functional analytical nodes known as event processors (EPs). These Event Processor nodes can perform a variety of functions including selection and filtering of data, aggregating, transforming, joining/merging and grouping calculated analytics. The assembled application (query) logic can combine data of numerous types (i.e. trades and orders), sources and time periods. It is possible to fashion the analytical metrics into a human readable format using the OneTick Visual Designer. This is a desktop software tool for creating visual representations to plot query results for easy visual interpretation, to simplify comprehension of data and promote understanding and insight.
The OneTick Visual Designer includes an array of visual display widgets - line charts, data grids and numerous input widgets to control query execution. Results can be organized and arranged on multiple tabbed canvases.