logo; Sayula
solutions
solutions_pic
Anima Brochure
Anima - The Capital Markets True "Excel on Steroids" Solution
Anima transparently transforms Excel into a powerful multi-OS server-based execution platform where new and existing enterprise analytic libraries and their functions can be dynamically activated within minutes. Once activated, the functions are persistently integrated into Excel, behaving exactly like any other Excel function. Anima also includes a set of built-in functions for real-time market data retrieving and data contribution, plus a host of other real-time data publishing capabilities. The Anima system extensively builds on top of these elements to deliver an impressive set of higher level features like enterprise-wide Excel models; single-instance real-time computation and publishing contexts; date and holiday calendar-management functions; stand-alone SQL queries; remote Perl scripts; etc, etc.

Anima main features are:
  • Centrally deployed proprietary and third party analytics.
  • Multi-vendor, real-time data retrieving and data contributing functions.
  • Date and holiday calendar querying and management functions.
  • Centrally defined generic Excel Models.
  • Stand-alone, parameterized SQL queries.
  • Stand-alone, parameterized remote Perl scripts.
  • Single-instance real-time computation contexts with dynamic multi-platform publishing of computed results.
  • A powerful and user-friendly system administrator's GUI.
All these features and the software architecture that supports them are described in greater detail in the following sections. Often, the shortened term Anima-enabled Excel is used. Please interpret this to mean an instance of Microsoft Excel running the Anima Add-In.
Consistent Enterprise Analytics Everywhere
Have you ever experienced the ultimate Excel frustration when, on recalculating a mission-critical spreadsheet that you just received from your colleague, you find out the errors #NAME? and #VALUE! are all over the spreadsheet? Or even worse, the values that you see are very different from those on your colleague's Excel? If you haven't you are either the luckiest person in your company, or your IT department deserves a gold medal of technical achievement. In the real world though, chances are that you not only have experienced it once but that you suffer through it on a regular basis. The good news is that Anima delivers a true solution that can effectively and transparently eliminate those problems once and for all.

With Anima, if your colleague's spreadsheet works on her Excel, you can be assured that it will work on yours. Consistently. Day in, day out. This is because Anima enables the addition of new and existing analytics in a central location shared by all Excel users. Since the function's definition and logic are the same for everybody, the function's results are similarly consistent every time. In addition, newly-deployed analytics become immediately available in your Excel without even the need to restart it. Figure 1 shows the user interface that allows you to make use of this feature. Newly added functions behave like any other native Excel functions and will be there for you the next time you open your spreadsheet.
Anima Functions
Figure 1.   Anima's Functions GUI in Excel.
Defining Anima-Managed Functions
In most cases, Sayula's customers will already have a set of analytical libraries that they regularly use in their own Excel spreadsheets. Many of these home-grown libraries will actually represent some of the most valuable intellectual property assets for their enterprise. In some cases these enterprise-proprietary libraries will be stand alone, or alternatively they could be making use of other specialized third-party libraries more suitable for the efficient calculation of complex numerical procedures like numerical integration, interpolation, extrapolation, linear algebra operations, or probability distributions.

Sayula's Anima provides for the simple addition of any of these libraries' selected functions into Sayula's distributed analytics space (also referred to as Anima-managed functions). Every Anima-managed function is automatically available in every running instance of Excel. To add a new function, the function must be defined via Anima's administrator's GUI. This simple process normally takes only a few minutes for each function, depending on the function's number of arguments, its complexity, and the amount of desired optional additional documentation. Anima-managed functions are self-documenting. Once defined, the function and its formatted description are readily available to every Excel user in the network. Documentation can be enriched or corrected at any time, with changes and additions also becoming immediately available to all users. Figure 2 illustrates the definition of an Anima-managed function in the system administrator's GUI.
Defining an Anima Function
Figure 2.   Defining an Anima-Managed Function in the Administrator's GUI.
Multi-Vendor Real-Time Market Data
Multi-vendor real-time data retrieving and data contributing functions are a standard feature in every Anima-enabled Excel. Anima's generic real-time data retrieving function, A5Rt (), is a high-performance non-volatile Excel function that will trigger value updates only on either actual market data changes or manual spreadsheet recalculation.

Similarly, A5Contribute (), Anima's multi-vendor data contributing function provides for the real-time or clocked (maximum frequency) contribution of data either privately for a single user, internally within your team, or externally to market sources. Figure 3 illustrates the use of the real-time functions.
Anima Real-Time Functions
Figure 3.   Anima's real-time market data functions in Excel.
Date and Holiday Calendar Management Functions
Accurate single and cross calendar (currency) calculation functions are essential for the implementation of a great number of fixed income Excel models. For this reason, Anima provides a comprehensive set of built-in date functions based in Anima's flexible definition of holiday calendars. And just like all Anima-managed analytic functions, Anima calendars are centrally defined and maintained, and they can be inspected in Excel through a user-friendly graphical interface as illustrated in Figure 4.

The definition of Anima holiday calendars includes powerful recursive constructs like parent calendars and recurrent holiday rules. By the use of these constructs most calendars can be compactly and accurately defined, even for very long time horizons, with a minimum inclusion of explicitly hard-coded holidays. Of course, 100% accuracy is usually not possible and for this reason Anima also supports subscription-based automated updating of central calendar definitions.
Anima Holiday Calendars
Figure 4.   Anima's Holiday Calendar GUI in Excel.
Consistent Enterprise-Wide Excel Models
Fully-parameterized spreadsheet segments of any analytical or formatting complexity can be defined as centrally-stored Excel Models via Anima's powerful XML Spreadsheet Definition Language, XDL. Anima Excel Models are a great vehicle to quickly distribute pre-audited enterprise-wide pricing or analytical models to every Excel user without the need for file copying or emailing. Once defined and tested, the models become persistently available for immediate deployment into any user's spreadsheet via Anima's Excel GUI, as shown in Figure 5.

Excel Models build on previously-described Anima features like enterprise analytics, multi-vendor real-time market data functions, and date calculation functions to implement one of the coolest Anima's true "Excel-on-Steroids" features. Via the Excel GUI, the models can also be dynamically populated from other defined Anima data elements like term or currency lists. Examples of Excel models are swap curve calculators, volatility smile calculators, FX cross-currency PIPs calculators, FX cross-currency PIPs contribution modules, etc, etc.
Anima Excel Models
Figure 5.   And example Anima model being deployed in Excel.
Stand-alone Generic Enterprise Database SQL Queries
And have you ever experienced the second ultimate Excel frustration when, on recalculating that job-critical spreadsheet that you just received from your boss, none of your database VBA macros work? More often than not, missing ODBC data source entries in your machine will render those macros, thus the whole spreadsheet, useless.

Building further up on enterprise-wide Excel Models, Anima implements one of the most efficient and transparent mechanisms to bring relational data into any spreadsheet, whereby any number of stand-alone (i.e. non-VBA and non-ODBC) data-retrieving macros can be included in a model. The macros can take any number of input parameters from the spreadsheet's cells and can be connected to a SQL query defined in simple text in Anima's system administrator's GUI. As with all of Anima's data elements, both the query and the DB connection information are centrally defined, thus are always guaranteed to be there for every Anima-enabled Excel in the network. Figure 6 illustrates this with an example SQL query.
Anima Database Query
Figure 6.   And example Anima model with a SQL query stand-alone macro.
Stand-Alone Remote Perl Scripting
For those cases where mission-critical or legacy data are stored in text files or as web pages, remote Perl scripting provides a very efficient way of bringing these data into Excel. And just like SQL scripts above, they can be easily defined, parameterized, and deployed as part of any of Anima's standard Excel model.
Single-Instance Real-Time Computation and Publishing Contexts
Often yield curves, volatility smiles and other complex enterprise-proprietary analytics should be made available in real time to a large number of mission-critical spreadsheets and client applications. Because of their heavy usage of valuable computation and networking resources, and the importance of consistent numbers for every user, ideally they should be implemented as single execution instances, with their results published on the enterprise's real-time data distribution bus.

Through Anima, any analytic function can be interactively made to execute within a server's "private" environment (a context) that can take real-time data inputs directly from their multi-vendor sources, plus other input parameters settable via Excel functions. At any time, only a single instance of a context will be running. The context computation results are continuously published as a real-time stream into multiple data distribution platforms like Triarch or Tibco/Rv for the consumption of client spreadsheets and applications. Figure 7 shows an example of a real-time context definition in Anima's administrator's GUI. Notice how any defined function can be hooked up to a context.
Anima Real-Time Context
Figure 7.   Definition of an Anima Real-Time Context in the Administrator's GUI.

Contexts are activated and maintained by any of Anima's generic engines configured to do so. A context-executing engine is also in charge of dynamically persisting the context's input parameter data every time the data is modified by the user via Excel. In this way every time a context is reactivated or if the engine is restarted, the context published results are guaranteed to be consistent and up-to-date, independently of Excel.
The System Administrator's GUI
The dynamic character of Anima's components and data elements requires the use of a flexible tool for their day-to-day implementation and management. For this purpose, Anima includes an extensible System Administrator's GUI with a common graphical interface abstraction for the definition and maintenance of all supported elements. Figure 8 shows Anima's sys-admin GUI being used to define a Real-Time context.
Anima Sys-Admin GUI
Figure 8.   Anima's System Administrator's GUI.
Anima Architecture
A top-to-bottom architectural view of Anima is illustrated in the following diagrams. The topmost view (Figure 9) presents Anima as a box interfacing Excel with a fully-distributed, OS-neutral framework for the concurrent execution of proprietary and third-party analytics. The results of those analytics are returned to Excel either directly, as in the case of centrally-deployed Excel functions, or indirectly via Anima's real-time A5Rt () function, as in the case of analytic results dynamically published into the enterprise's data distribution bus. More traditional, batch-oriented data interfacing via SQL or remote Perl scripting are also supported as shown.
Anima Top-Level Architecture
Figure 9.   Anima's Top-Level Architecture.

A closer look at the system (Figure 10) shows the process-level components and their main data flows. A critical component in the system is Anima's asynchronous Excel add-in, which is in charge of interfacing Excel with the rest of the Anima system. Outside Excel's world, in an OS-neutral environment, Anima's generic execution engines implement the necessary logic to dynamically integrate the external analytics libraries into Anima's distributed execution framework. Any number of engines can be concurrently deployed, with some engine instances in charge of interfacing with real-time market data services (subscribing and/or publishing) via the enterprise's data distribution bus. The same code base is used for all engine instances, and their actual role (analytics engine, and/or real-time receiver, and/or real-time publisher) is determined at run time via XML configuration files.
Anima System Architecture
Figure 10.   Anima Process-Level Architecture.

Function and library definitions, Excel models and their XML representation, real-time contexts, SQL queries, calendars, etc, are all examples of XML static data elements defined by Anima. Supporting this static data backbone is the Data Definitions Server and its XML data store. A single, hot-standby backed-up instance of this server performs the distribution (reading) and safekeeping (writing) of all defined data elements. All other components of the system communicate with the server via a common client API. The API and the server implement a "connected-cache" protocol to keep server-maintained and API-maintained caches of requested data elements transparently synchronized at all times. The end result is a robust and dynamically extensible system with an extremely high overall performance.
Anima Specifications
Supported Platforms:
Server side: Windows (NT/2000/XP), Linux, and Solaris.
Client side: Windows (NT/2000/XP).
Excel Add-In: Microsoft Excel (97/2000/XP/2003).
Data Distribution (Receivers): Reuters Triarch SSL, Tibco Tib/Rv, Bloomberg.
Data Distribution (Senders): Reuters Triarch SSL, Tibco Tib/Rv.
SQL Drivers: Oracle, Sybase, MS SQLServer, MySQL.

Anima's Building Blocks:
Programming Languages: C++, i386 Assembly, SPARC Assembly.
Message Transport Layer: XML over TCP/IP.
Communications, Multi-Threading, and OS Portability: The ACE C++ Toolkit.


news

April 22, 2011 | Zurich

Swiss Private Bank purchases iMonIT and will implement internal market data feed with the Anima Enterprise SDK.. refer to

border

February 15, 2011 | Zurich

Sayula's iMonIT detects with in 20 seconds data quality issues of London Stock Exchange's Millennium platform implementation. read on...

border

May 6, 2010 | Zurich

Sayula's iMonIT catches the Fat Finger Flash. refer to

border

January 21, 2010 | Zurich

Sayula's Anima supports IDC's CSP PlusFeed. refer to

border

August 15, 2009 | Zurich

Sayula's Anima supports Morningstar's real-time low latency broadcast feed. refer to

border

March 1, 2009 | Zurich

Leading Swiss Private Bank decides for iMonIT for risk compliance reasons.. refer to

border

September 30, 2008 | Zurich

Sayula Group adds new branch in Switzerland: Sayula Engineering AG. details...

border

July 10, 2007 | Zurich

Global tier-1 Swiss bank purchases Sysula's iMonIT, a vendor latency monitor, to support its client web market data services. refer to

border

November 20, 2006 | London

Wilmott and Sayula announce partnership and joint project to develop real-time collaborative spreadsheet analytical models for the Web. read on...

border

July 24, 2006 | Brussels

Sayula and ITG Consulting announce partnership agreement. read on...