This site contains older material on Eiffel. For the main Eiffel page, see

Better, faster information access with objects

by David P. Stevens, Montgomery Assets Management

Note: another version of this article appeared in Wall Street & Technology, July 1997.

Quantitative investment research

"Information" and "technology." Few words today raise more excitement, anticipation, and intimidation. The volume of information at our fingertips is growing exponentially -- even by the hour. The key is being able to extract real value from that stream. Montgomery Asset Management recognizes that one of the many avenues through which this value can be captured is by utilizing "quantitative" investment methodologies.

Montgomery's quantitative research group, established in early 1995, has built an in-house, proprietary investment research platform for putting quantitative methodologies into practice. Although Montgomery uses the software interface and data delivery of such financial information providers as OneSource, Datastream, and Factset, we believe a proprietary research platform offers additional advantages. Our goal has been to develop a platform with as few obstacles to creative research as possible.

The ideal research platform

The first criterion for our platform was ease of use. By that we mean it should be intuitive, straightforward, and even fun to use in all respects. After all, wouldn't you rather pick up a toy than a tool? All else being equal, the more comfortable you feel with a platform, the more time you spend exploring, and in turn, the more you're likely to find.

The platform should make it easy to quickly find and retrieve relevant information. Data must be well organized to minimize the time spent searching for desired information, so that more time is available for actually using what is found. To that end, the ideal platform should have an efficient data design and an optimal configuration of hardware and software.

Integrating new information into the platform should be simple and straightforward. New data should take its logical, obvious place among existing information. In fact, it should be so well integrated that the user will know it comes from a different source and has certain unique characteristics only if the user cares to know. This is crucial to Montgomery, given that our platform includes information ranging from company financial statements, market prices and corporate actions, earnings forecasts, broker recommendations, actual and forecasted macroeconomic data, to liquidity and funds flow data, internal portfolio holdings, numerous aggregations and derivations of country, sector, and industry information, and more. All of the information is on a global, historical, and on-going basis, with data on more than 20,000 companies accross 74 countries.

We required a system that would integrate proprietary information that the user aggregates or derives from commonly available information. Derived data is very often too expensive to calculate "on the fly" and must be calculated in batch mode and stored for later use. For example, Montgomery calculates and stores its own version of company consensus earnings forecasts and broker recommendations, and then uses these to derive its own aggregate forecasts and recommendations at both the country and industry levels.

What do we do with information once we have identified and gathered what we want? Analyze. To do so, we turn to the abundant set of analytic tools and methodologies available today. These range from simple data analysis tools to sophisticated mathematical and statistical packages, artificial intelligence tools, and high-end graphics. The research platform should be able to include any such tools that the user deems worthwhile. It should also allow for the development and use of proprietary analytic tools and methods.

The power of objects

To achieve the flexibility and openness of a system that could include new information and tools in an organized and straightforward manner, Montgomery adopted an object-oriented design approach. This strategy allows new components to complement and build upon existing ones. It also minimizes the time needed to develop and maintain software, because objects created for a given purpose exist in only one place and are available for use wherever needed. Components are designed to be used as building blocks for additional software development.

For example, Montgomery's research platform defines a single piece of numerical data as a ground-level object, and this object has certain attributes such as the entity to which it is related, its source, the time period for which it is relevant, the date or time when the number became available, and so on. The system then uses this data object as a building block for a series of values, which in turn has additional attributes. The series object then becomes a building block for a time series object or a cross-sectional series object. These then become building blocks for more complex objects, and so on. In like manner, analytic tools and methods are built up from basic objects.

Using Eiffel

We chose the Eiffel programming language (specifically the Eiffel development environment provided by Interactive Software Engineering, Inc., Goleta, California) as our platform development vehicle for several reasons. As the purest of the object-oriented languages in Montgomery's opinion, Eiffel has proven to be simple, yet powerful and flexible. Montgomery's internally developed data warehousing design -- similar to a star-schema data warehousing design -- affords the user both tremendous flexibility in adding new information and very high-speed access to large sets of data. Sybase serves as the platform's database engine, yet no SQL programming exists in application development. That's because the platform accesses the data warehouse through a proprietary object-to-relational interface developed in Eiffel.

One of Eiffel's key features is that it easily encapsulates software that has been developed in other programming languages such as C and C++. The research platform integrates analytic tools from NAG, Visual Numerics, Financiometrics, and others by wrapping Eiffel objects around the functions available in these libraries, and then using these objects as building blocks for other objects. As a result, all internal software is developed in one simple yet powerful language.

Montgomery is expanding its research platform beyond the quantitative research group to the rest of the firm through a graphical user interface, referred to internally as the "global explorer." It is also constructed with Eiffel. As with the foundation of the platform, our goal with the global explorer is to make it easy to navigate and select information, expand its set of analytic tools, and import, export, and display information. Development of the graphical display in Eiffel through the OpenGL libraries gives the user broad flexibility in data visualization, including 3, 4, and 5 dimensional display, zooming, and rotation. Transfer of information between the data warehouse and spreadsheets will also be straightforward, as the same software modules developed in Eiffel which serve the interface will be integrated with spreadsheet programs. We currently use a Sun Ultra2 workstation as the database server, while clients run Windows NT.

Doing more with less

An indication of the value in making optimal system and data design decisions at the ground level is that developing Montgomery's quantitative research platform has required the work of only two people over the past two years. Furthermore, while constructing the platform, the quantitative research group has also developed quantitative asset allocation models, which have added value in several of the Montgomery Funds. The group also lends support to the firm's stock selection process and portfolio attribution analysis. It must be duly noted, however, that immediate results should not be expected when developing a significant system from scratch using an object-oriented approach. Although the effort spent on carefully designing and developing the foundation buys significant time and flexibility down the road, it does take more time up front.

It may be true that the devil is in the details, but we also think there's an angel in there somewhere. The ability to pursue entirely unique creative ideas that need not be limited by others' ways of looking at the world is vital to discovering valuable investment opportunities. The ideal research platform should minimize the investor's task of identifying and gathering desired information. If information is not part of the platform, but can be obtained, it should be easy to add. The platform should minimize the limitations of computer processing time in exploring new ideas. Many of the most innovative and possibly valuable ideas require considerable processing power to explore. Finding out whether an idea is valid or invalid shouldn't be made impossible by a lack of processing capability. A well designed platform can go beyond just being a mechanism for delivering information to being a synergistic element in the creative process -- whether through visualizing data, comparing and juxtaposing information, rapid feedback, artificial intelligence, or proprietary analytics.

Indeed, the tremendous growth in information availability and technology should raise great excitement in the investment world. The ability to capture value made available by these trends can be expanded with a powerful, flexible, and creativity-enhancing environment.

About the author

David P. Stevens, CFA, CPA, is manager, quantitative research, for Montgomery Asset Management. He holds an MBA in finance and a BS in accounting from Brigham Young University.

Of related interest

See information about other ISE Eiffel projects.