MIM Data and Development Guide

Table of Contents

Conventions
I. MIM Overview
Market Information Machine (MIM)
Introduction
Structure of a MIM Database
MIM Server Architecture
System Highlights
Architecture
Database Server Architecture
Specializing Databases for Different Tasks
Ticker Symbol Databases
Time Series Databases
Putting It All Together
Execution Engine
API
II. Methods for Loading Customer Data
Database and Data Guidelines
Building Your Own Database
Using Unique Identifiers
Using Your Company Name
Creating an Empty Database
Best Practices for Data
Best Practices for Loading Data
Loading Data using BMIM and the Package Maker
Loading Data using the MIM File Loader
Loading Data using the MIM Formula Loader
Loading Futures Data
Loading Data using the MIM Excel® Add-in
Loading Data using the APIs
Best Practices for Extracting/Reading Data
XMIM Software
MIMIC Software
MIM Excel Add-in Software
BMIM Scripting Language
Application Programming Interfaces (APIs)
Database Catalog
Software Installations for Loading Data
Product Bundle – (MIM Formula Loader, Package Maker and MIM File Loader)
Installation Bundle Instructions
Loading Data using the Package Maker
Data Packages
Building Data Package Components
The make_data File
Data File
Running the Package Maker
Loading Data Packages and Checking Logs
Loading Futures Type Data (Monthly Curves)
Overview
Futures Data Concepts
Summation
Getting Started
Futures Type Data Naming Conventions
futures_contract Naming Conventions
futures_continuous Naming Conventions
Creating a Futures Type “make_data” File
Creating Categories, Symbols and Columns
Creating Continuous Contracts
Creating the Futures Type Data File(s)
Testing the Results
Generating Continuous Contracts
Loading Data from a File (MIM File Loader)
Overview
The .csv File Format
The XML File Format
Running the File Loader
Command Prompt Usage
Running the File Loader from the Browser
Final Ouput for .csv Example
Final Output for .xml Example
MIM Formula Loader
Overview
Running the Program
Creating Formula Query Files
Creating the Query
Saving the Query
Creating Nested Formulas
Formula Loader Script
Running Queries for Multiple Relations using LET
Creating the LET Query
Final Ouput
Loading Data via the MIM Excel Add-in
Overview
Data Loader: Server Setup Instructions
Overview
Specification
Downloading the Web Server and War File
Editing the “web.xml” File
Restarting the Web Server
Creating and Starting the Customer Database
Installing the MIM Excel Add-in
How to Use the Data Loader
Entering Data on the Spreadsheet
Loading Data from the MIM Menu
Units of Measurement (UOM)
Create the Units of Measurement File
MimicUM_Units
MimicUM_CategoryUnits
MimicUM_RelColConversion
MimicUM_Conversions
MimicUM_Currencies
XMIM_LOCAL_UNITS
Running the “units_measure_load” Command
III. LIM Development Guide
BMIM Scripting Language
Introduction
Invoking BMIM
Invoking the BMIM Client
Features and Conventions
Handling Multiple Databases
Updating a Database
Locking and Unlocking the Database
Adding, Modifying, and Deleting Relations
Adding, Modifying, and Deleting Columns
Adding, Modifying, and Deleting Relation Columns
Reading and Writing ASCII Data Files
Deleting Facts
Assigning Holiday Schedules
Adding Relation Aliases
Adding Formulas
Adding Corrections Data
Generating Continuous Contracts
Executing Saved Queries
Specifying Data Files/Partitioning
Printing the Database Partition Table
Printing the Location of a Relation and Column
Printing Database Schema Information
Putting a Database into Safe Mode
Miscellaneous Commands
Unix Interface
Setting Global Options
Using Data Compression
Printing Expiration Dates
Entitlements
Managing Client Application Permissions
Mimic_password, Excel_password and Formula_password Tables
Example BMIM Scripts for Setting Client Application Permissions
BMIM Commands for Client Application Permissions
MIM C/C++ API
The Basics
Invoking a Server
Connecting and Disconnecting from a Server
Dealing with Optional Arguments
Metadata Terminology
Data Retrieval
Browsing the Relation Hierarchy
Examining the Columns of a Relation
Retrieving Data Records
Writing Data to a File
Executing Queries
XML Results
Data Updating
Locking the Database
Adding Relations, Columns, and Relation Columns
Storing a Vector of Values
Loading Data From a File
High Frequency Updating
Adding Formulas (Dynamic Time Series)
Memory Management
Data Source Table: A Complete Application
Creating/Updating the Table
Querying the Table
Utility Routines
The Complete Interface: A Reference
Type Definitions
General Argument Handling
Initialization and Termination
Supporting Multiple Databases
BMIM Command Equivalents
Schema Browsing
Reading and Writing Data
High Frequency Updating
Executing Queries
Table Facility
Corrections Facility
Entitlements
Custom Search Facility
Loading the Specification File
Memory Management
Rollover Specifications
Global Options
Date/Time Utility Routines
Logging Utility Routines
Error Handling
Accessing Server Information
Linking LIM Libraries in C/C++ on Windows
MIM Java API (com.lim.mimapi Package)
Required Software
API Library Files
Getting Started
The Basics
Metadata Terminology
Connecting and Disconnecting from a Server
Changes to the Interface
Data Retrieval
Browsing the Relation Hierarchy
Examining the Columns of a Relation
Retrieving Data Records
Executing Queries
Data Updating
Locking the Database
Adding Relations, Columns, and Relation Columns
Storing a Vector of Values
Loading Data From a File
High Frequency Updating
Sample Programs
GetRelation
GetRelChildren
QueryExecute
MIM .NET API Installation and Usage
Download
Installation Requirements
MS Studio 2005 Installation
Using the .NET API
MIM C# .NET API Examples
Overview
Sample Programs
Adding Relations
Deleting Relations
Browsing the Relation Hierarchy
Working with Forward Curves
Retrieving Corrections
Retrieving Data Records
Accessing the Attributes of Relation and Columns
Loading Data
Executing Queries
MATLAB with Java API (com.lim.mimapi Package)
Require Software
API Library Files
MATLAB Configuration
Sample Programs
QueryExecute
PutRecords
Converting
Handling Corrections
Introduction
Adding Corrections to the Table Facility
BMIM Synopsis
MIM C/C++ API Synopsis
Retrieving Corrections from the Table Facility
MIM C/C++ API Synopsis
Deleting Corrections from the Table Facility
MIM C/C++ API Synopsis
Corrections File Format
Accessing Data with Corrections Applied
Using the Table Facility to Retrieve or Update Corrections
Daily Table
Intraday Table
API Calls within LIM Client Products
MIM Excel Add-in
Query Execute
Get Options
C Stored Function Framework
Description
Structure of a C Stored Function
Stored Function Framework
Regular Stored Functions
Built-in Stored Functions
Stored Function Life Cycle
Example: Providing a C Stored Function Wrapper for an Existing C Function
Straightforward Approach
Lazy Evaluation Approach
Complete Predictor Code
Complete Lazy Predictor Code
Using the MIM APIs in SQL Databases
MIM Java API with Oracle® PIPELINE PL/SQL
Loading
Running
MIM .NET API with Microsoft® SQL Server ™ 2005 CLR Table-Value Function
Building
Loading
Running
IV. Server Guide
Apache Tomcat Web Server Installation
Download/Install
Start/Stop the Web Server
Command to Start the Web Server
Command to Shut Down the Web Server
MIM Server Security
Security Overview
Server Security
What’s New for Version 4.2
Global Setting
xmimsvr.acl File
Free Pass
If Connection is Denied
Application Security
What’s New for MIM Server Version 4.2 and Higher
Default Setting
Instructions for Setting Client Application Permissions
Database Security
Changes in Version 4.2
Default Setting
Free Pass
xmimlock.acl File Format
If lock_files is Denied
Data Security
Entitlements
Changes in Version 4.2
Default Setting
Free Pass
If Access is Denied
Entitlement File Format
BMIM Commands for Security
Processor Tag, Implemented in Version 4.2 and Higher
BMIM Commands for Entitlements
BMIM Commands for Managing Application Permissions
Environment Variables in the MIM
General Environment Variables
Client Environment Variables
Server Environment Variables
Invoking the MIM Server
MIM Server Logging
Introduction
Log Formats
Logging Levels
What is Logged
Sample Reports
Resetting the Log File
Reference Documents
Report 1: Web Server Statistics (Week of 05/09/99 to 05/15/99)
Report 2: Web Server Statistics (Week of 05/09/99 to 05/15/99)
Using Multiple Databases
Introduction
Initial Specification of Databases
Ordering of Databases
Semantics of Multiple Databases
Managing the Current Database Pool/View
Creating, Opening and Closing Databases
Changing the Database View
Listing the Current Database View
Partitioning Data Types Across Databases
MIM/SQL External Database Implementation
Introduction
Key MIM Concepts
Implementation
Accessing Time Series
Accessing Meta data Information
Hierarchy, Types and Categories
Column Model
Relation, Column and Data Presence
V. Utilities
xmim_get Utility
xmim_get_options Utility
xmim_forward Utility
xmim_trading_info Utility
xmim_svr_info Utility
xmim_find Utility
xmim_get_rel_paths Utility
xmim_get_col_paths Utility
xmim_put Utility
MIMDBCP Utility (Copying Database Contents)
How to Setup MIMDBCP
Methods for Running the MIMDBCP Utility
How it Works
Using the Configuration File
Configuration Samples
Index Constituent Utility
dbcompare Utility
xmim_pair_gen Utility
Overview
How to Use the Utility
Managing Size
Table of Iterations
One to Many Comparison
VI. Appendix
Using the Package Maker
Requirements
How to Use the Customer Data Package Maker
Example Usage
Creating the upd Package File
Unpacking the upd Package File
MIM Server xmimrc File
Locating the .xmimrc File
Specifications
Example .xmimrc File
License File Location
Databases Used
Directory Locations
Custom Search Spec File Location
NaN Handling
Printing Formats
Global Options
Entitlements Usage
Read Locking
Executing the .xmimrc File as a Script
MIM Client cxmimrc File
Locating the .cxmimrc File
Specifications
Example .cxmimrc File
Databases Used
Directory Locations
Executing the .cxmimrc File as a Script
Index