Application Developers
Before LexiFi
Data models and object models aiming to encapsulate the definitions and behavior of financial instruments have been developed by banks and vendors in recent years in order to support a variety of departmental and firm-wide processes.Many of these initiatives did not meet expectations for several reasons:
- Data models and object models are not compositional. Traditional approaches do not allow users to represent complex contracts with a small set of core constructs.
- The representation of financial instruments is often fragmented into many objects and database tables. Transaction integrity is difficult to maintain as contracts evolve over time.
- Financial product data models and object models add a significant management burden on IT teams as they impose the maintenance of dozens of UML diagrams and tables.
After LexiFi
Key Features
- Precise and Exhaustive Product Definitions. LexiFi enables users to precisely and exhaustively describe sophisticated financial products based on any type and combination of underlyings, using a limited set of core constructs. Errors in financial product design are detected at the earliest possible stage. LexiFi checks types, date consistency, and other elements at design time, as opposed to run-time.
- Automated Processing of Structured Products. Once a contract is defined, LexiFi systematically detects and processes events in a portfolio of complex products and performs the required simplifications as a contract progresses in its life cycle. LexiFi implements a formal operational model. LexiFi's event manager is designed in the spirit of a finite automaton: a contract starts its life in an initial state and migrates from state to state upon the occurrence of messages, which represent possible life cycle events, including time-related events, fixings, option exercises, and barrier crossings. Once an event is processed, the contract is translated into a new, simpler contract that incorporates past event information and describes the residual rights and obligations of the parties.
- Simple and Readable IT Model. Transactions and their life cycle history are represented in a single document, the "managed contract," that applications may manipulate through a clear, well-documented API. There is no proprietary data or object model with dozens of tables or UML diagrams associated with LexiFi.
- Instantaneous SQL Database Integration.
LexiFi provides a simple, schema-independent way of persisting contracts in a relational database. This feature is designed to:
- immediately automate operational management and reporting for new products, regardless of their complexity;
- open MLFi to a broad range of users such as business users, who rely on graphical query and reporting tools, and SQL programmers.
LexiFi's contract manipulation capabilities are exposed as stored procedures, which enable users to query and modify any contract or portfolio using standard SQL syntax. LexiFi provides pre-packaged stored procedures to handle common tasks such as adding a contract to a database, managing contract events, and reporting on a portfolio. A simple interface enables users to create stored procedures for all functions exposed in LexiFi's Finance library.
LexiFi also provides optional access to the internals of MLFi contract definitions. Users may view the abstract syntax tree of MLFi contract definitions in order to develop custom functions for querying contracts.
- Integration Tools.
LexiFi provides several mechanisms for integrating MLFi-based
solutions with other applications. LexiFi supports XML-based
communication, integrates with Microsoft Office documents and
applications developed with Microsoft Visual Studio, provides
a Java API and a C interface, and produces vCalendar-formatted
contract execution calendars for integration with calendaring
and scheduling applications.
XML Output Generate XML-formatted files that contain contract definitions or calculation results to communicate with other applications.
Click image to enlarge.
- Development Environment.
The MLFi Development Environment is a high-productivity programming environment
for building and debugging MLFi-based applications. It is highly configurable
and consists of the MLFi language, a compiler, an editor with syntactic
coloring and direct compiler link, a debugger, a profiler to
monitor the execution of MLFi programs, a graphical code browser, and a
dependency analyzer.
Specialized Emacs Mode Create and debug contracts and applications interactively with a specialized Emacs mode that provides syntactic coloring and a direct compiler link.
Click image to enlarge.
- Software Development Kit.
The MLFi Software Development Kit ("MLFi SDK") enables financial engineers and software developers to quickly acquire the skills to become productive MLFi programmers and facilitates the creation and test of MLFi-based libraries and applications. The MLFi SDK comprises:
- a comprehensive Finance library, delivered with source code, that provides built-in functionality for defining and processing financial products;
- sample applications, also delivered with source code, that illustrate how MLFi's operational and valuation semantics may be put to work to solve real business problems;
- the source code of valid financial contract examples, a position management framework, executable scripts that illustrate the process of generating Monte Carlo and PDE valuation code, and a large collection of out-of-the-box Monte Carlo and PDE valuation libraries; and
- documentation that covers MLFi concepts, financial engineering and software development tasks, and reference material.
Design Principles
- Unified Representation of Financial Contracts.
The theoretical foundation for the MLFi language results from a joint effort
over many years between LexiFi and leading researchers in computer
science. This award-winning work draws insights from the study of
programming language theory to provide a clear and homogeneous framework
for representing financial instruments.
The main results include:
- A set of about twenty basic combinators or "primitives" that capture the essence of financial contracts in order to both describe and process such contracts. A semantic model based on a small set of simple, orthogonal constructs is a crucial requirement for developing large and complex applications. The contract description is independent from any contract manipulation or valuation method.
- An operational semantics designed to describe precisely how a contract evolves in its life cycle. A behavioral equivalence relationship enables the manipulation, transformation, and simplification of contracts as they progress in time.
- A valuation semantics that, for each contract, enables the creation of a program that associates a contract description and a model specification in order to automatically generate specialized pricing code.
- Contract and Process Independence. LexiFi implements a compositional contract algebra that decouples contract definitions and processes over such contractse.g., pricing, event management. Users assemble complex products from a small set of elementary combinators and manipulate all products, regardless of their complexity. This means that processes do not need to be rewritten each time a new instrument is introduced. This crucial property accelerates the development and integration of new products and contributes to reducing time to market.
Implementation
- Implementation as an Extension of a General-Purpose Programming Language. MLFi is both a contract sub-language and a general-purpose programming language. The same language may therefore be used, for example, to define contracts, to implement valuation models, to describe market scenarios, and to develop complete applications.
- Functional Programming.
LexiFi found that a functional programming language was the most effective tool for developing compositional contract and scenario algebras.
LexiFi users derive important benefits from a functional programming approach, including:
- Lists. Functional programming languages offer powerful support for useful pre-defined types such as lists. Lists play a central role in finance where they are used extensively to define schedules. For example, a swap schedule or a Bermuda option exercise schedule may be defined recursively using a list.
- Specification. The declarative formalism of functional programming languages is well suited for specifying complex data structures and algorithms, and the interactions between complex data structures and algorithms. In contrast, imperative programming languages tend to reflect the actual behavior of computers: complex types may be extremely difficult to design and maintain.
- Functions. Functions are "first-class citizens" in functional programming languages: they can be used as arguments of other functions. For example, a sliding contract used in a LexiFi simulation is a function that takes a date and a scenario argument and returns a contract. A list of sliding contractsi.e., a list of functionsis passed to LexiFi's simulator function to define a simulation.
Benefits
- Shield Applications and Users from The Complexity of Financial Products.
Transactions and their life cycle history are represented in a single
document that applications may manipulate through a clear, well-documented API.
In addition, LexiFi's database integration approach minimizes the number of tables used to represent financial contracts and exposes LexiFi's API to SQL programmers. The addition of a new product does not affect the database schema. The MLFi contract description language is hidden both from business analysts who rely on graphical query and reporting tools, and from SQL programmers who work with a familiar, tabular view of data.
- Limit Project Risk and Build Long-Term Value. LexiFi offers a clear, low-risk implementation path from the financial engineer's desktop to large-scale applications that support the entire structured product value chain. Customers are encouraged to start with a single-focus application that can yield measurable results in a short timeframe. LexiFi's applications and tools can be progressively deployed to cover broadening needs, in line with the users' growing skills and confidence in the product. LexiFi's integration capabilities also protect information technology assets by leveraging existing applications and valuation libraries.
- Establish a Conformed Standard for Communicating between Systems, People, and Counterparties. MLFi may serve as a pivot format that preserves the meaning and integrity of contracts during their entire life cycle. MLFi's reliance on elementary combinators for defining financial contracts enables the development of an infrastructure devoid of product restrictions.
- Create an Integrated Environment for Managing Derivatives. A contract language and pricing model libraries may jointly form a fundamental system's layer for an entire derivatives business. This common layer would support several applications, even though the underlying businesses might be quite different. MLFi may serve as an infrastructure component that helps create visibility and fluidity throughout a business or product area.
- Control and Autonomy. Access to MLFi's contract abstract syntax tree enables the independent development of custom contract manipulation functions. We believe that no other commercial system provides the degree of flexibility and control afforded by LexiFi for querying and modifying financial contracts.
- Leverage Best-of-Breed Software and Develop Cutting-Edge Applications. Front office, risk management, and back office applications do not evolve at the same pace. LexiFi enables the development and deployment of loosely-coupled applications. LexiFi promises to satisfy the combined goal of providing optimal trading tools for each group, and supporting consistent pricing, risk management and operational processing across systems.
- Extend the Life of Legacy Systems. Legacy systems developed over the years often have good features that are well aligned with the needs of the activities they support. However, other systems and departments are not always able to access their data. The definition of a common contract exchange standard may facilitate their integration with other systems and, as a result, give them a new life.
- Expand Trading Capacity. MLFi-based operational management tools may help mitigate the operational risk that constrains derivatives trading capacity. However, front office and back office systems for complex contracts do not function in isolation. This means that the operational risk stemming from inter-application communications must also be addressed. For example, one possible scenario would be to extract contract definitions stored in front office systems, transform them into MLFi descriptions, and use these definitions to feed MLFi-based event tracking, documentation processing or other applications that could even be further integrated with downstream systems. LexiFi may be used to develop both better interfaces and applications that contribute to expand derivatives trading capacity.
- Exploit Derivatives Market's "Winner Takes All" Dynamics. Competitive intensity in derivatives markets often decreases as the volume of transactions in a new product exceeds a certain level, and a small group of leaders captures a disproportionate share of volumes and profits. LexiFi allows banks to quickly create and commodify products in order to exploit the "winner takes all" dynamics of the derivatives market.

For more information about LexiFi's products
and services please send an e-mail to