The Market Information Machine (MIM) is a comprehensive data warehouse solution for time-series and real-time data.  The MIM architecture is such that its retrieval speed is quantum leaps beyond that of other database technologies.  This is crucial as more and more institutions are collecting tick data for research, analysis and trading.

Data Management & Organization 

LIM customers' needs have evolved beyond basic time series data requirements to the more rigorous task of capturing trade, bid and ask activity from all markets.  The result is the creation of a real-time source for minute bar and tick data in a platform engineered for all types of mission-critical applications.  The MIM can collect data at rates exceeding thousands of ticks per second.  Additionally, the MIM has enough throughput to globally serve up data to thousands of workstations simultaneously.

The MIM:

  • Runs on a  SolarisTM or LINUX platform from workstations to enterprise servers.  The server is MP scalable.

  • Network clients can access data with .NET, Java, C/C++, C# or Visual Basic API's on a variety of platforms.

  • Provides a high degree of data-caching.

  • Stores numeric data:  IEEE double, IEEE float, and 32 bit integer.  Also supports composite records of the fundamental types.

  • Stores time series data at three physical resolutions:  daily, intraday, and tick.  Retrieves data dynamically reshaped into many parameterized resolutions.

  • Supports partitioning into multi-terabyte capacity.

The Market Information Machine (MIM) is the worldwide system of choice of many major trading organizations and hedge funds.


Technical Details:

Runs on a Solaris or LINUX machine...

In addition to several LIM-provided client applications and API's, clients also have the ability to access data via an HTTP/XML gateway.  The MIM exploits multiple CPU's by using slave processes on the server(s) to perform work.  The MIM can handle multiple concurrent readers for both the historical and real-time stores.  Client access to data is immediate upon completion of the API write operation.  The database itself has a fixed schema that is implemented by the proprietary database store.  All data is indexed in real-time.  The database does not use an underlying relational database and all physical storage is implemented in the Unix file system.  In general, the MIM databases leverage all the available CPU processor speed allotted the applications, as there is a high degree of caching of the data.

MIM-required and feed-specific information...

The actual capture of tick data is split into 2 components:  MIM-required and feed-specific information.  The MIM requires the following to store data:  identifier, field, date, time and value.  Multiple values may also be stored and maintained as composite types in the database (e.g., Ask and AskSize). Time resolution is to the second.  Data within a second is maintained in FIFO order.  If additional time stamps are required the sub-second part can be stored as a composite field in the data value.  Feed handlers have already been developed to handle multiple distribution platforms and protocols such as Tibco RVTM, Triarch SSLTM and others.

Stores numeric data...

The MIM stores numeric data:  float, double and integer.  The MIM also supports composite records of the fundamental types.  All data values are time series:  i.e. date-time and value pairs.  MIM date-time values can range from the years 1752-4400.  The finest granularity of timestamp resolution is 1 second for all API operations, but tick data can contain timestamps below 1 second using the FIFO properties and composite records.

Physical resolution:  daily, intra-day and tick...

Time-series are stored at three physical resolutions:  daily, intraday (minutes), tick (seconds and FIFO ordering).  A real-tick store is used to dynamically append to the daily, intraday and tick historical stores.  The proper reshaping is performed dynamically upon request for data.  It is required that at some point the real-tick store is either folded or cleared to maintain performance.  Folding will convert the tick store into historical storage.  Clearing will remove the points with the expectation of replacement with another dataset.  Folding can either be performed as a single operation or folding can be done incrementally (on a daily basis, series-by-series).

Note:
   - Solaris and SPARC are registered trademarks of Sun Microsystems Inc.
   - Tibco RV is a registered trademark of Tibco, Inc.
   - Triarch SSL is a registered trademark of Reuters, Inc.

 

www.lim.com