Abstract:
A virtual reality generator having an input module that receives as input financial information is disclosed. The virtual reality generator outputs to a display device a virtual reality world generated from the financial information. The financial information can be pre-processed by a financial analytic system prior to input to the virtual reality generator. The financial information can be received from a data file. The virtual reality generator can dynamically display and continuously update the virtual reality world. Further, movement through the virtual reality world can be simulated.

Description:
FIELD OF INVENTION 
     The present invention is directed to a virtual reality generator, and more particularly, a virtual reality generator for use with financial information. 
     BACKGROUND OF THE INVENTION 
     Virtual reality is a three dimensional computer-generated interface that allows users to see, move through and interact with information displayed as a three dimensional world. The three dimensional world is called a virtual reality world or Cyberspace. For example, a virtual reality world could be the inside of a building or a golf course. The virtual reality world is displayed using sophisticated output devices, such as high resolution color screens or a headset with a monitor in front of each eye to give the user the illusion that he or she is situated in the virtual reality world. 
     The virtual reality world can display real world objects. 
     For example, a chair could be displayed in a virtual reality world, representing a chair in the real world and appearing to have all the physical properties of a real world chair. In such a virtual reality world, the user views and interacts with the display as if the user was in the real world. 
     The virtual reality world is usually generated using a high speed computer processor and specialized graphics hardware. The computer processor and graphics hardware can be controlled by a program, called a virtual reality generator, to create and continuously modify a virtual reality world and to simulate movement through the virtual reality world. 
     Virtual reality is regarded as having three features, namely immersion, navigation and interaction. Immersion is the use of sophisticated output devices to create the illusion of being inside the computer generated virtual reality world. For example, a head mounted display with a high resolution two dimensional color monitor in front of each eye can be used along with advanced three dimensional display techniques to create the illusion to the user that the user is inside the computer generated display. Alternatively, a high resolution color display, such as the NEC brand 20 inch monitor could be used &#34;immerse&#34; the user into the virtual reality world. 
     The second feature of virtual reality is the ability of the user to navigate through the virtual reality world. For example, the virtual reality generator could create a computer module of a molecule or a city and enable the user to move through the molecule or city. The user can navigate through the virtual reality world using control devices, such as a trackball or spaceball, an electronic dataglove, a magnetic head position tracker, a keyboard, a joystick or a steering wheel. The use of a magnetic head position tracker and dataglove creates a high feeling of immersion and grants the user a great power of navigation (for example, by gestures) through a virtual reality environment. 
     The third feature of virtual reality, interaction, is the ability of the user to interact with and control the virtual reality world. For example, a user can specify the parameters that define and metaphors that comprise the virtual reality world. Navigation and interaction are closely related concepts. 
     Virtual reality environments can be created using object-oriented libraries of functions. These functions can be inserted into a computer program for rapid prototyping to easily complete application development. A well known example of an object-oriented library of functions is that created by the Sense8 Corporation of Sausalito, Calif., called the WorldToolKit library. 
     The WorldToolKit library is a library of C routines that lets a developer rapidly and easily build real-time three dimensional simulations and virtual world applications that run on desktop computers. The WorldToolKit library integrates a simulation manager, a real-time rendering pipeline, an object manager, texturing functions, animation sequences, input sensors, lights and graphics display devices in a flexible object-oriented library. The WorldToolKit library&#39;s texturing functions enable the development of applications with real-time texture mapping. Video-realistic textures can be applied to object surfaces in any orientation and scale, enabling the creation of compelling and lifelike virtual reality worlds. The WorldToolKit library has drivers for many popular control devices and output devices so that the user can configure input and output. Head-tracking, gesture tracking and object manipulation are accomplished by coupling sensors to graphical objects (or metaphors) and viewpoints. The WorldToolKit library is fully described in the WorldToolKit Reference Manual, 1991, published by the Sense8 Corporation, Sausalito, incorporated herein by reference. 
     Money managers and financial analysts must absorb large quantities of financial information and pick out trends in this information. 
     Money manager&#39;s and financial analysts often simultaneously view several computer screens watching data come in from a wide variety of sources in real-time and from other sources that are performing calculations on financial information. The money manager must determine movements in the market and other financial influences while making quick decisions. It is difficult, however, to view numerical data from many sources in real-time to notice overall trends and to consider the distinct underlying characteristics of each security in ones portfolio. Even if the information is displayed in graphical form on each computer screen, trends that concern all sources are difficult to spot. It is also difficult to visualize the behavior of all the dimensions underlying individual security elements. 
     Trading firms and investment houses use personal computers to create graphical maps and charts as metaphors of their portfolio holdings. Many of these do not use real-time data inputs. Advanced firms use decision-support systems that allow traders on the floor to monitor real-time incoming data using complex graphical models. Money managers and analysts use spreadsheets and graphs to understand financial information and trends. For example, a common system used for financial visualization is the WingZ graphical spreadsheet program. Another is the PV-Wave data analysis program. Such programs cannot display many different elements with unique characteristics at the same time or display embedded dimensions, interactive three-dimensional animations or multiple visual cues, especially cues that are independent of each other. 
     Financial trading groups, for example stock and commodity brokers and foreign exchange traders, receive continuous streams of data via communications links information providers such as Reuters and Dow Jones. Spreadsheets and two and three dimensional graphs have been used to display segments of this data, but only a very limited segment of data is able to be displayed at any one time and the trader is unable to see trends across wide segments and dimensions of data. Further, graphical representation are more likely than tabular representations to show patterns and irregularities, because humans are much better at pattern and scene recognition than at number processing and comparison. However, a two dimensional or a three dimensional graph is limited in the amount of information that can be displayed and the amount of information a user can interact with. 
     Analytic programs now in use do not enable the user to view trends in large amounts of financial information in a superior graphical form while at the same time have the ability to view highly detailed data about specific items of this information. Current user interfaces and display techniques for large quantities of financial information are limited. A money manager is unable to &#34;immerse&#34; himself or herself into financial data representing many world markets and manipulate this data graphically. In particular, money managers and financial analysts currently can not use virtual reality techniques to analyze financial data. 
     It is known the art to use virtual reality to model real world objects. For example, virtual reality has been used to create software applications that let architects &#34;view&#34; interiors of buildings and then enable a disabled person to &#34;move&#34; through the building to see if the design is satisfactory. Virtual reality has also been used to implement games that allow a user play-act within a virtual reality world, to enable a pilot to simulate flying an aircraft, to allow a surgeon to simulate a difficult operation and to allow a user to simulate visiting an art museum. 
     The use of virtual reality to allow a money manager or financial analyst (or other information professional) to view, manipulate, structure and travel through a three dimensional virtual reality world of financial information is not known. Nor is it known to use virtual reality techniques in combination with tools that carry out financial analysis, or to create artificial terrains where the boundaries of features of the terrain are related to the taxonomy of system that is being modelled. 
     SUMMARY OF THE INVENTION 
     The present invention uses virtual reality techniques to allow money managers and financial analysts to easily view otherwise unmanageable amounts of complex information and in particular, financial information about financial markets such as information about equities, commodities, currencies, derivatives and their related markets. 
     The virtual reality world created by the present invention does not map real world objects. Rather, the information displayed in virtual reality world created by the present invention is abstract information about the real world that does not have a physical object equivalent in the real world. The representative embodiment is directed to generating a virtual reality world from financial information, although in other embodiments, other abstract information, for example, sports results, legal information and defense information could be used to create the virtual reality world. 
     When abstract information, such as financial information, is displayed in a virtual reality world, it is represented by real world objects in three dimensional form, called metaphors. The present invention, in the representative embodiment, creates a three-dimensional virtual reality world of financial information. The virtual reality world presents specific financial information as three dimensional objects, or metaphors, as part of the virtual reality world. The user is able to view, manipulate, and travel through the metaphors, which are displayed in such a way to allow the user to easily locate relevant financial information, interact with different characteristics and see financial trends. 
     Further, the user is able to use the virtual reality world generated by the present invention to funnel information and trends from various sources into one object of the virtual reality world. 
     In effect, a virtual reality world created using financial information can be considered as displaying a hybrid of financial information and market geography representing a virtual financial world having terrain categorized and structured to enable a user to easily extract patterns and interconnections. Thus, for example, the geography of the virtual reality world (in the representative embodiment, it is market geography), is defined, in part, by a three dimensional coordinate system that sets out the borders of &#34;geographical&#34; features in the terrain. The geography can represent information elements that are non-integer taxonomies of the financial information. Thus, the present invention can map many characteristics of the system being modelled to a representative geography of the system where its taxonomy comes to life as a terrain. 
     If structured correctly, a virtual reality world has the advantage of presenting a very large amount of information in pictorial form. People can comprehend interactions and interrelationships between information when it is presented visually. Thus, an experienced virtual reality user can easily see, comprehend and remember complex interrelationships between items of information and, using visual cues, take advantage of the natural perceptual process of the human mind that processes visual information. This is particularly important for money managers and financial analysts who daily use large volumes of financial information from variety of sources. 
     The present invention, in a representative embodiment, comprises four modules. An input module continuously receives a stream of financial information. In the representative embodiment, this stream comprises real-time data about financial markets and is pre-processed by a financial analytic system. The second module, a user interface module, allows the user to input criteria to select certain parts of the stream of financial data for display and to input display settings for the virtual reality world and metaphors in the virtual reality world. In effect, the user interface module allows the user to define his or her virtual reality worlds. The third module, a filter module, selects the parts of the stream of financial data for display in the virtual reality world based upon the criteria input by the user. The fourth module is a virtual reality generator that generates and continuously modifies the virtual reality world representing the financial data. The virtual reality generator allows the user to &#34;travel through&#34; the virtual reality world and to select metaphors in the virtual reality world for detailed display. 
     The input module in the representative embodiment takes as input information structured by an analytic system. (In alternative embodiments, the input can be received from a knowledge base, neural network, artificial intelligence system or any system that structures or categorizes data.) An analytic system organizes and structures raw financial information into various forms commonly used by money managers and financial analysts. In the representative embodiment, the analytic system that produces the pre-processed stream of financial information is the CAPRI financial analysis system, produced by Maxus Systems International of New York, N.Y. The CAPRI analytic system itself receives as input real-time, financial data from on-line services such as the Reuters&#39; and the Knight-Ridder Inc.&#39;s digital data feed servers. The CAPRI analytic system takes this information (in the form of &#34;raw&#34; financial data), and using financial models and analysis techniques, builds a database of financial information. Systems such as the CAPRI analytic system are also able to store financial information for later analysis. (The CAPRI analytic system can display the financial data in standard spreadsheet-like windows operating in a Microsoft Windows environment. It also allows a user to export information to other application programs, a feature used by the input module of the present invention.) For example, the CAPRI analytic system allows a user to define areas of interest from large areas of financial information, and then create price and volume charts for any stock issue, including futures, stocks, indexes, currencies, bonds and commodities. The CAPRI analytic system, for example, can provide a graphical profit and loss and risk evaluation analysis for options strategies, create price volume charts including intra day charts with real time updating, create options strategies that can be saved for future analysis, undertake time, bond and futures analysis, and analyze and screen financial data (and generate reports) using techniques such as moving averages, momentum, Wilder&#39;s relative strength, stochastics and ordinary least squares. In the representative embodiment, the CAPRI analytic system is used to feed in real-time complex and voluminous financial information to the input module. In short, the more functions that the analytic system performs, the more functions that can be mapped to a virtual reality world. 
     The input module, in other embodiments, can be designed with simple modifications to receive input from rule-based expert systems (such as the Level5 Object program), neural networks that learn (such as the BRAINCEL neural network add-in for the EXCEL brand spreadsheet program by the Microsoft Corporation), knowledge bases that use fuzzy logic and the like. It is preferred if these input sources are DDE or OLE compatible, as explained below, to enable easy interaction and sharing of information. 
     The analytic system, as described above, requires a real time data feed. Alternatively, financial data can be entered manually into the analytic system or can be imported in batches and stored in the analytic system. In such cases, the analytic system would not operate in real time and therefore the virtual reality generator would not operate in real-time. 
     The analytic system that passes data to input module in the representative embodiment must be able to export financial data. For example, the CAPRI analytic system is able to export financial data to the Microsoft Excel spreadsheet program via the dynamic data exchange (&#34;DDE&#34;) protocol in real-time. The DDE protocol is used by the input module of the representative embodiment to receive a stream of financial information. (In the representative embodiment, the input module, the user interface module and the filter module are all DDE and OLE compatible.) The financial data received by the input module can be that selected for display by the user using the user interface module, which interacts with the input module to request (using DDE protocol commands) selected financial data. In an alternative embodiment, the input module can be coupled directly to the financial data feed, such as the Reuter&#39;s data feed. In such an embodiment, the input generator requires a sub-module to interpret the data feed into a form recognized by the virtual reality generator. In another embodiment, the virtual reality generator can store, in an associated database, the financial information that is required to create the virtual reality world. In such circumstances, the virtual reality generator does not operate in real time. In a further embodiment, the input module of the present invention can be coupled to an application program, such as a spreadsheet program or a database program, and access financial information that is stored in such a program. The input module would therefore communicate with the application program using a protocol recognized by the application program. 
     The virtual reality generator of the present invention generates a virtual reality world from the inputted financial information. The virtual reality world represents the financial information. In the representative embodiment, the virtual reality world is constantly changing to represent changes in the financial information. For example, if the financial information concerns the futures market, the virtual reality world could represent the current state of the futures market. 
     The following is an example of a virtual reality world that can be generated by the virtual reality generator of the present invention. The virtual reality world is defined by the use of the user interface module. Assume that the user has selected as the virtual reality world the stock markets of Tokyo and New York. The user may designate that the three-dimensional virtual reality world be divided into a grid comprising four squares. One of the axis of the grid will represent the two stock markets, the other axis will represent two industry groups, such as &#34;financial&#34; and &#34;industrials&#34;. Therefore, one square on the grid represents, for example, New York Industrials. Each square on the grid can be further divided to represent industry sub-groups for that market. Each stock is represented by a metaphor, for example, a polygon. The numbers of sides of the polygon can be selected by the user to represent, for example, the degree of capitalization of the stock. The color of the polygon can represent, for example, profit or loss. The height of the polygon (above or below the plane) can represent, for example, the price change or volatility of the stock. Polygons representing companies that are about to declare a dividend can be made to spin. Companies in bankruptcy can be represented by a flashing polygon. Each company&#39;s corporate logo can be textured on the top or side of the polygon. Visual arrow vectors, whose dimensions represent information about financial movement, can be coupled to a polygon to represent trends. Polygons that spin or blink can represent the results of the best 50 stocks selected by a certain criteria from a database. Other visual ques can be used to represent financial information about the stocks, as selected by the user. 
     The shapes, colors, positions, animations and textures of the metaphors can be selected by the user to represent different characteristics of the financial data. 
     Several incoming data streams can be the source of the financial information for one virtual reality world. (The sources can be combined by the analytic system or by the input module. In the representative embodiment, the sources are combined by the CAPRI analytic system.) As the financial data changes, the position, shape, color and texture of the metaphors in the virtual reality world also change. 
     The virtual reality world created by the virtual reality generator of the present invention allows the user to &#34;fly&#34; through a virtual world representing financial information. As another example, assume that the virtual reality world designed by the user concerns one stock market arranged by industry groups and sub-groups. The user can position himself or herself in the virtual reality world so that the user has a bird&#39;s eye view of the stock market. In the example, the stock market could be represented as a grid pattern of geometric primitives, such as polygons or cubes, on a geographic-like terrain. Navigating with a device such as a spaceball, the user can then &#34;fly&#34; down to ground level and view the financial information from this perspective, to see which stocks are situated above or below ground level. For example, if the stock information depicted as a polygon is the trading price of one stock relative to the prior weeks&#39; moving average of the stock, the user can fly down to ground level and view whatever stock is trading up (above average) or down (below average) depending on whether the polygon is above or below ground level. 
     Many financial indicators can be specified by the user using the user interface module. The user is presented with a virtual reality world of selected financial information where location, colors, sounds, shapes and movement all specify financial information that the user has requested information about. (This information may also include information about positions a user has in his or her portfolio.) The user, examining and moving through just one screen (i.e. the virtual reality world in three dimensions) can immediately spot important information. The user can then zoom in on this information (for example by flying to this polygon) and view all the information available about this instrument. This information can be presented on a separate screen or can be presented as part of the virtual reality. If the user flies down and selects an instrument, in an alternative embodiment, the user is able to receive verbal or sound information about the instrument. 
     Additionally, the user can be &#34;positioned&#34; so that the user feels like he or she is in the cockpit of a fighter plane, and navigate this plane around the virtual reality world. Instruments on the planes control panel can represent other information. For example, the user has the option of defining a characteristics seeking missile to be launched from the plane. The user may define the missile as a profit seeking missile (using a preselected definition of profit). When activated, profit seeking missiles will zoom in on, for example, the stocks that are the most likely to be profitable. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of the modular structure of a representative embodiment of the present invention. 
     FIG. 2 is an example of the interface panel generated by the user interface module of the present invention. 
     FIGS. 3a to 3d are examples of a typical screen displays generated by the virtual reality generator of the present invention. 
     FIG. 4 is a flow chart indicating the flow of control of the virtual reality generator of FIG. 1. 
     FIGS. 5a to 5c are examples of the sampled filtered input receive by the input module of the present invention. 
     FIG. 6 is an example of the instruments user interface card generated by the user interface module of FIG. 1. 
     FIG. 7 is an example of a super-groups user interface card generated by the user interface module of FIG. 1. 
     FIG. 8 is an example of a sub-groups user interface card generated by the user interface module of FIG. 1. 
     FIG. 9 is an example of a industry group user interface card generated by the user interface module of FIG. 1. 
     FIG. 10 is an example of an action user interface card generated by the user interface module of FIG. 1. 
     FIG. 11 is an example of a metaphor box generated by the user interface module of FIG. 1. 
    
    
     DETAILED DESCRIPTION 
     Referring now to the drawings, and initially FIG. 1, there is illustrated a representative embodiment, in block diagram form, of the modular structure of the present invention. 
     A user interface module 2 is used by a user to input user instructions 10, such as display parameters and filter parameters. The user instructions 10 also comprise instructions to create a virtual reality world, to store the parameters for a virtual reality world in a configuration file 6, and to retrieve the parameters for a stored virtual reality world for the configuration file 6. The user instructions 10 are interpreted by a virtual reality generator 4 to create a virtual reality world. 
     The virtual reality generator 4 interprets the user instructions 10 and coordinates interaction with the configuration file 6. Using the user instructions 10, the virtual reality generator causes an input module 8 to obtain from an analytic system (not shown), using queries 12 understandable by the analytic system, pre-processed financial information 14 that complies with the user instructions 10. This financial information is supplied to the virtual reality generator 4. 
     Using information in the configuration file 6 and where required the financial information supplied by the input module 8, the virtual reality generator 4 creates a virtual reality world which is output 16 on a display device (not shown). The virtual reality generator 4 uses functions from a toolkit 18 to create and manipulate the virtual reality world. 
     In an alternative embodiment, the pre-processed financial information 14 is supplied to the input module 8 in packets at periodic intervals. The packets may or may not be in response to queries 12 from the input module 8. For example, the pre-processed financial information 14 may be supplied in flat table form to the input module 8 every four hours. The input module 8, with reference to the user instructions 4, selects from the packet the financial information to be used by the virtual reality generator 4. In this embodiment, the analytic system can be a database and need not be permanently connected to a real-time source of financial information. It is useful for the database, when updated, to record what information has been updated, and supply this information to the input module 8 to simplify processing. 
     Referring now to FIG. 2, there is illustrated a representative embodiment of an interface panel 20 controlled by the user interface module 2 of the present invention. 
     The interface panel 20 is used by a user to input parameters to define a virtual reality world and to instruct the present invention to create a virtual reality world. The interface panel (as well as the other user interface cards explained below) in the representative embodiment uses the Microsoft Windows 3.0 protocol. Users interact with the interface panel 20 using standard GUI commands. 
     The input module 8 of the present invention allows the user to define a virtual reality world. The input module 8 in the representative embodiment of the present invention causes a window to be displayed on a computer monitor. The window generated by the user interface module 2, in the representative embodiment, has five sections. 
     The first section is a virtual reality world indicator 22. The virtual reality world indicator 22 allows the user to nominate which virtual reality world the user desires to define or view. Each virtual reality world can be represented by a configuration number to allow the configuration of the virtual reality world to be saved and retrieved. For example, ten virtual reality worlds can be saved at the one time in the representative embodiment. Once a virtual reality world has been defined by a user, the definition can be saved for later use, and is saved and retrieved using the virtual reality world indicator 22. 
     The second section of the window generated by the user interface module 2 comprises a mix switch 24. The mix switch 24 in the representative embodiment is a mix button which can be activated by a user. Activation of the mix button will cause the virtual reality generator 4 to create the virtual reality world as indicated by the virtual reality world indicator 22. In alternative embodiments, the mix switch can be used to save the configuration of the current virtual reality world in the configuration file 6. 
     The third section of the window generated by the user interface module comprises a set of action indicators 26. Action indicators 26 allow the user to determine how certain features of the financial information will be displayed or highlighted in the virtual reality world. The action indicators 26 are used to set display parameters. For example, an action may be the flashing of an object or the spinning of an object. If the metaphors used are polygons, the action indicators can define which metaphors will be spinning polygons and flashing polygons. 
     In the representative embodiment, there are three action indicators, a spinning indicator 30, a flashing indicator 32 and a sound indicator 34, and one special action indicator 36, a profit (or other characteristic) seeking missile, as explained below. 
     In general terms, the action indicators 26 can be used to define areas of interest concerning three types of financial information, often called analytic types: derivatives, fundamentals and technicals. Derivatives are parameters relating to options on a stock, bond, commodity or future, as well indexes (such as the theoretical Black-Scholes value of options on the Standard and Poors&#39;s 100 index) and warrants. Fundamentals are particular parameters defining a company&#39;s financial performance, for example, a company&#39;s price/earnings ratio or price/growth ratio. A technical is a financial parameter about a stock relative to a broad market index, such as the S&amp;P 500 index or an indicator, like a moving average, price momentum or relative strength. By using the action indicators 26, the user can select a criteria from the lists of fundamentals, derivatives and technicals for each action indicator 26, as explained below with reference to FIGS. 10 and 11. The user can define his or her own fundamental, derivative or technical for an action indicator 26. 
     An expert agent (or expert action) is a special analytic type. An expert agent is a user defined complex financial analysis program, sub-program or formula that can be linked to the present invention. An example of an expert agent may be a neural network, rule-based expert system or news wire service that produce a list financial instruments. For example, a rule-based expert system could produce a list of the ten most promising stocks. 
     For each action indicator 26, the user is able to define, specific areas of interest such as a specific derivative, fundamental or technical. For example, the flashing indicator 32 could be defined in relation to a fundamental as all industrial stocks having a price earnings ratio of the relative industry group greater than six. In the virtual reality world, all metaphors representing industrial stocks with price earnings ratios greater than six will be displayed as flashing metaphors. 
     By way of example, the flashing indicator 32 in FIG. 2 has been nominated by the user to be a fundamental action. (The user used the screen display of FIG. 11 to nominate the category as &#34;fundamental&#34; as explained below.) The user could have alternatively chosen `derivative`, `technical`, or `expert agent`. By using an icon 32a, the user is able to list all defined fundamental actions. (The defined fundamental actions are specified and defined using the interface card of FIG. 9.) The user can chose a fundamental from the list. The chosen fundamental is displayed in a combo box 32b. 
     The special action indicator 36 is, in the representative embodiment, a characteristics seeking missile. The user defines a financial characteristic, for example profit, bankruptcy, or volume. Using known analytical formulas, the virtual reality generator 4 of the present invention will seek out the area or areas in the virtual reality world that best satisfy the characteristic defined by the user. For example, if the user selects as the characteristic profit, thus defining a profit seeking missile, the virtual reality generator 4 can be used to &#34;seek out&#34;, for example, stocks that are likely to generate a profit. In the virtual reality world generated by the virtual reality generator 4, the profit seeking missile, when activated, will fly through virtual reality world to the most profitable stocks, thus being a highly visible que for the user. The user can define the characteristic of the special action indicator 36 using a define section in the window generated by the user interface module 2. The user can activate the characteristic seeking missile from an input device, such as a button on a trackball. In alternative embodiments, other actions can be given to the special action indicator 36. For example, the special action indicator 36 may be a cockpit display where the instruments, as defined by the user, represent financial information and the user&#39;s position in the virtual reality world. 
     The fourth section of the window generated by the user interface module is a display parameters section 40. The display parameters section 40 allows the user to set display parameters for objects in the virtual reality world. In the representative embodiment, there are the display parameters include shape, color, texture and axis. A shape display parameter determines what the shape of the object in the virtual reality world signifies. For example, the user may set a three sided metaphor to represent stock having small capitalization, a four sided metaphor to represent stock of medium capitalization and a five sided metaphor to represent stock of large capitalization (where small, medium and large capitalization are further defined by the user). A color display parameter 44 may be set to indicate, for example, companies making a profit or a loss. Thus, a blue metaphor in the virtual reality world may represent a company making a profit and a red metaphor may represent a company making a loss. (The colors of the metaphors can be of various shadings, representing degrees of profit and loss.) A textures display parameter 46 allows the user to set identifying symbols for each object in the virtual reality world. For example, the user may set the textures display parameter 46 so that national flags, representing stocks trading on stock markets in foreign countries, are placed on each metaphor representing a foreign stock. Or a corporate logo may be placed on an object in the virtual reality world to identify it as representing a stock of that corporation. In the representative embodiment, the display parameters in the display parameter section 40 are set by activating the appropriate labeled button, causing a further interface card to be displayed which allows the user to set the various parameters. 
     Additionally, in a representative embodiment, an action parameter 50 allows the user to specify what input stream is to be used as input to the input module 8 for processing by the virtual reality generator 4 and what parts of the information from that input stream are of interest to the user. For example, in the representative embodiment, the user will specify that the input stream is the output of the CAPRI analytic system and can then specify what sub-set of the possible information that can be generated by the CAPRI analytic system is to be displayed. (In the representative embodiment, the user&#39;s selections are translated by the user interface module into a form that the CAPRI analytic system can understand. The CAPRI analytic system will then output to the input module 8 of the present invention only that information that satisfies the defined queries. For example, the user&#39;s selections are translated into the form as specified in the. CAPRI manual, Chapter 19. In particular, the queries sent to the CAPRI analytic system conform with the DDE protocol and are of the form set out in Chapter 19.4 of the CAPRI manual. Alternatively, the input module 8 can receive packets of information, for example, in a form illustrated in FIGS. 4a-4c. The input module 8 screens this information based upon the display parameters and filters that were set by the user. 
     In other embodiments, as discussed above, a data base containing financial information can be used in place of the analytic engine. For example, financial information can be stored in an application program data base. In such a case, the query generated by the virtual reality generator must be in a form understood by the database application program. Therefore, the action parameter 50 is used to specify what file or application program is to be the source of the financial data input and sets actions to take place on that file or by that application program to screen the information that is input. 
     In particular, the action parameter 50, in the representative embodiment, is a button that, when activated, causes the interface card of FIG. 10 to be displayed. This interface card enables the user to set and define available actions for each analytic type. These actions can be linked to an action indicator 26. 
     An axis display parameter 48 allows the user to set the Z-axis (sometimes called the vertical axis) of the three dimensional virtual reality world. (The X-axis and Y-axis are set as discussed below with reference to FIG. 11.) Generally, the three axes can represent any category of financial information. For example, one axis can be set to represent countries, a second axis can be set to represent industry groups and a third axis can be set to represent price changes. Alternatively, the user could set the first axis to define two stock markets, for example New York and Tokyo, the second axis to represent two types of stocks, for example utilities and financial, and the third axis to represent percentage change in value of the stock over any user defined time period. Alternatively, the user could set the first axis to represent industry groups in a country, the second axis to represent option maturity dates and the third axis to represent price or volatility. 
     In the representative embodiment, the Z-axis is set using the axis display parameter 48. Examples of common settings for the Z-axis include an issues&#39; percentage change over any user defined time period, today&#39;s price of an issue relative to a moving average over any user defined time period, the price of an issue relative to an average of the high/low price over any user defined time period and the price of an issue relative to any broad market index over any user defined time period. 
     The user has total flexibility to set the virtual reality world display parameters 40 so that the virtual reality world generated by the virtual reality generator 4 of the present invention is a representation of the financial information which interests the user. For example, the shape display parameter 42 can be set to represent three degrees of any financial information that the user desires. The interface cards of the representative embodiments illustrated are a Convenient way to allow a user to specify the makeup and composition of a virtual reality world, using financial categories commonly used by money managers. The user interface module 2 of the present invention can be designed to suit the needs of each user and display interface cards and have various filters that allow the virtual reality world to be created with great flexibility. Accordingly, the interface cards discussed are for illustration only and are not intended to limit the broad concepts and uses for the virtual reality world of the present invention. 
     The fifth section of the window generated by the user interface module is a filter section 60. In the representative embodiment, the filter section allows the user to set parameters so that a filter module or the input module 8 can select the parts of the stream of financial data 14 for display. The parts of the financial data which are displayed in the virtual reality world depends upon the criteria input by the user in the filter section 60 of the window generated by the user interface module 2. 
     In the representative embodiment, there are five filters that can be set using the filter section of the window generated by the user interface module, namely, an instruments filter 62, a countries filter 64, a super-group filter 66, an industry group filter 68 and a sub-group filter 70. 
     The instruments filter 62 allows the user to select any combination of financial instruments for display in the virtual reality world (see FIG. 6). All possible instruments can be displayed, including stocks, options, futures, commodities, financial indexes, foreign exchange, bonds, and mutual funds. For example, if the user was only interested in stocks and bonds, the user could select, using the instrument filter 62, stocks and bonds so that the virtual reality world comprises financial information concerning stocks and bonds, and no other instruments. 
     The countries filter 64 allows the user to specify countries. The financial information displayed in the virtual reality world will be that related to the specified countries. Also displayed are the country&#39;s exchanges to which the user is able to access. 
     The super-group, industry group and sub-group filters (66, 68, 70) allow the user to specify and define groups of financial information about types of industries. For example, the super-group filter 66 can be used to filter for display information about any combination of industries, such as utilities, financial, industrials and the like. Using the industry group filter 68, the user can select specific industrial groups such as computers, construction, auto, and the like. Using the sub-group filter 70, the user can select for display particular sub-groups of industry groups, such as information about auto manufacturers that make light trucks. 
     The five filters described above are examples of the types of filters that can be used to select for display areas of financial information. The user interface module 2 uses the filters, as set by the user, to filter out the information for display that is of interest to the user. In the representative embodiment, the user interface module interprets the filters set by the user and only requests financial information for the analytic system that satisfies the filters. Alternatively, the filters can be used to screen packets of information supplied to the input module 8. 
     When the user activates the mix switch 24, the virtual reality generator 4 is activated. The virtual reality generator 4, when activated, first stores the display parameters, the action indicator settings and the filters as configurations in the configuration file 6. In the representative embodiment, the configurations are used to define the display of the virtual reality world and filter the input stream of financial information 14. The virtual reality generator 18, using the configurations, constructs the virtual reality world in conformity with the configurations. In the representative body embodiment, the virtual reality generator 4 instructs the input module 8 to obtain information that satisfies the configurations from the analytic system. (The input module 8, in the representative embodiment, can use the information in the configuration file 6 to query the analytic system. The analytic system uses the queries 12 to provide the relevant information to the input module 8, which feeds that information to the virtual reality generator 4.) 
     In a further embodiment, the virtual reality generator 4 can query a plurality of analytic systems and knowledge base systems arranged in a network. For example, each analytic system can be connected to a separate real-time source of financial information. The virtual reality generator 4 can then send queries 12 to the network which will be directed by the network to the correct analytic system. 
     Once the input stream of financial information is defined and an initial set of financial information has been input from this stream, the virtual reality generator 4, using the configurations in the configuration file 6, creates the virtual reality world. In the representative embodiment, the virtual reality world is implemented by the virtual reality generator 4 using the WorldToolKit library of C-language routines, developed by the Sense8 Corporation of Sausalito, Calif. The virtual reality generator, using this library of routines 18, redraws the virtual reality world 30 times per second. This, in effect, allows for real-time simulation of movement through the virtual reality world. 
     In the representative embodiment, a 486 microprocessor manufactured by the Intel Corporation and an Intel DVI 2 board is used to render the virtual reality images. Alternatively, Risc-based workstations from IBM, Sun Microsystems Inc., Silicon Graphics Inc. or the Digital Equipment Corporation could be used. A 20 inch NEC color monitor is used to display the virtual reality world. The input/output of the present invention is DDE compatible and operates under the Microsoft Windows 3.0 or higher operating system protocol. 
     Referring now to FIGS. 3a-3d, these are illustrated four typical screen display generated by the virtual reality generator 4 of the present invention. FIG. 3a shows a top perspective 100 of a virtual reality world. In this example, stock markets are the parameters for a first set of a axis 102 and industry groups are parameters for a second set of axis 104. A financial instrument is displayed represented by a metaphor, being a geometric primitive, such as a polygon or cube (e.g. 106 and 108.) The metaphors are, from this perspective, two-dimensional. When the user travels through the virtual reality world, it can be seen that the world and the primitives are in effect three-dimensional. The colors and shape of the metaphor are significant, as discussed above. 
     FIG. 3b shows the same virtual reality world as FIG. 3a from the perspective (100a) of a user moving through the virtual reality world. 
     FIG. 3c shows a further perspective (100c) of the same virtual reality world as in FIG. 3a. The area of the virtual reality world 110 in central view consists of information concerning Hong Kong financials. 
     FIG. 3d shows the same virtual reality world as FIG. 3a from the perspective (100d) of a user &#34;located&#34; at ground level in the virtual reality world. The different shaped metaphors can be clearly seen. The height relationship of a metaphor represents financial information. A pointer 112 allows a user to select a metaphor so that further information can be displayed (either visually or through sound or both) to the user about the financial instrument represented by the selected metaphor. 
     As is apparent from FIGS. 3a-3d, the virtual reality world is three-dimensional which the user can travel through. 
     Referring now to FIG. 4, there is illustrated in flow chart form the simulation loop used by the virtual reality generator 4 of FIG. 1 to render a virtual reality world. 
     At step 150, the virtual reality generator receives financial information. This information could be received in response to a query 12 to an analytic system or database of pre-processed financial data. Alternatively, the input could be received at regular intervals in predetermined packets of financial information. 
     At step 152, an action function is called. The action function is related to a universe and the metaphors it contains and defines and controls activity in the simulation. In the action function, events involving metaphors, graphical or otherwise, can be specified. (Examples of events which might be specified in the action function include (a) program termination in response to the user processing a button or a mouse; (b) simulation of changing lighting conditions; (c) event handling for the virtual reality world, such as when a metaphor is selected by the user.) 
     At step 154, the metaphors in the universe are updated based upon any new financial information received. 
     At step 156, the graphical metaphors are set to perform any user defined tasks, such as spinning or blinking. 
     At step 158, the universe is rendered on a display device. Steps 150 to 158 are repeated until the user gives a predetermined stop command. 
     As required, the steps above, in the representative embodiment, may involve function calls to a World Toolkit functions that perform the task of simulating a virtual reality world, and if required, function calls to the input module 8. When necessary, the virtual reality generator 4 accesses the configuration file 6 to obtain parameters concerning the virtual reality world and the metaphors. 
     Referring now to FIG. 5, there is illustrated an example of the input 14 received by the input module 8 of FIG. 1. 
     In a representative embodiment, the input is received in three files or packets, namely FUND.PRI, DAILY.PRI and SPIN.PRI. The input can be received in response to a query 12 from the input module 8 or at regular predetermined intervals. All input files, in the examples, are in the Reuter&#39;s symbol format. The files can be stored in a memory and accessed by the present invention or they can be input as often as required. 
     FIG. 5a is an example of the contents of the FUND.PRI input file, which contain fundamentals information. (This file can be generated by a database program or analytics system. Alternatively, it can be manually entered into the input module 8.) Each line contains a set of information. In this figure, the first line 170 lists the type of information in each line. (This is not usually input to the virtual realty generator 4 and is for purposes of illustration only.) Taking the last line 172 as an example, the issue has issue code 7267. The type of issue is &#34;S&#34; (for stock). (Other types of issues include &#34;I&#34; for index and &#34;F&#34; for futures). The dividend was 10. The Book Value was 800. Earnings were 70. Estimated earnings are 82. There is no entry made for the Sedol Holdings number or market capitalization in this file. The name of the stock is &#34;Honda Motors&#34; and the industry group is &#34;Autos&#34;. 
     FIG. 5b is an example of the contents of DAILY.PRI file The DAILY.PRI file is named after the date on which the information in the file relates, in this example, &#34;122191&#34; for Dec. 21, 1991. This file can be entered daily, or at more regular intervals if required. It contains information on daily price changes and volatility calculated over a predetermined period. 
     By way of example, the last line 174 contains information for stock number 023 on the Hong Kong exchange. The last bid for this stock was 38, with a high (in the predetermined period) of 38.25 and a low (in the predetermined period) of 37.5. The volume of stock traded was 3060527. The price change since the previous day was zero. 
     FIG. 5c is an example of the contents of the SPIN.PRI file. This file contains screened financial information about an issue, such as percentage annual profit and other well-known financial indicators. Each issue, such as the issue marked 176, has information that takes two lines of FIG. 5c. Each item of information (e.g. 178a) relates to the corresponding category listed in the first two lines (e.g. 178b). 
     Referring to FIG. 6, there is illustrated an instruments cards 200 generated by the user interface module 2 of FIG. 1 when the user activates the instruments filter button 62. Using standard GUI techniques, the user is able to filter (or select) instruments 201, in any combination, for display in the virtual reality world. 
     Referring to FIG. 7, there is illustrated a super-groups Card 210 generated when the user activates the super-groups filter button 66 from the interface panel 20 of FIG. 2. Using standard GUI techniques, the user is able to define for display various super-groups of industries. The user enters a user defined name in a name box 214, which then appears in a super-group box 216, in highlighted form 218. From an available industries box 212, the user selects industry groups to be members of the user defined super-group 218. Once the super-group has been defined the user saves the super-group definition using an add button 220. The composition of a selected super-group 218 can be viewed if the user activates the &#34;show makeup of group&#34; square 222. 
     Referring to FIG. 8, there is illustrated a sub-groups card 240, which is displayed when the user activates the sub-group button 70 on the interface panel 20 of FIG. 2. 
     The sub-groups card 240 allows the user to select for display various industry sub-groups, or other sub-groups of financial information. From the available box 242, the user selects (using standard GUI methods, e.g., by activating a select button 244) available sub-groups from the available box 242. Selected sub-groups are displayed in an assigned box 246. (Sub-groups can be defined, by a user activating a set up button 248 on the sub-group card 240, which causes to be displayed a setup sub-group card. The setup sub-group card allows a user to assign industry groups to sub-groups.) 
     The sub-group card 240 indicates that there a three sub-groups assigned for display (246), namely &#34;autos-light trucks&#34;, &#34;financial-banking&#34; and &#34;industrial-machinery&#34;. The first term in the sub-group (e.g. &#34;industrial&#34;) is the industry group to which the sub-group (e.g. &#34;machinery&#34;) belongs. The sub-group information is derived from the input files, such as the FUND.PRI file. In the example of FIG. 8, the three sub-groups assigned for display will be those categories of stocks about which information will be displayed in the virtual reality world. In particular, these sub-groups may be listed along one axis of the virtual reality world. The user can delete an assigned sub-group using a delete button 247. 
     The sub-group interface card 240 also indicates that there are other &#34;Available&#34; sub-groups (242) which the user can select for display. The user can select an available sub-group (242) for display using a select button 244. When the user has finished selecting and deleting sub-groups for display, the user can activate an &#34;ok&#34; button 249, which will cause control to return to window generated by the user interface module 2. 
     Referring now to FIG. 9, there is illustrated an industry group card 260, which is displayed when the user activates the industry group button 68 on the interface panel of FIG. 2. 
     This card allows a user to select for display instruments of various industry groups. A user selects an instrument icon from a configure instruments section 262 of the industry group card 260. In the example of FIG. 9, &#34;stocks&#34; 264 have been selected as the instrument. Available industries relating to stocks are displayed in an available industries box 266. A user may select any combination of these industries for display in the virtual reality world. Those industry selected are placed in an assigned box 268. (If another instrument was selected from the configure instruments section 262, the available industries box 266 would comprise &#34;industries&#34; relating to that instrument.) 
     A three-D stack box 270 allows a user to &#34;stack&#34; industry groups for display in the virtual reality world on a number of discrete levels in the world. 
     The industry groups card 260, the sub-groups card 240, the super-groups card 210 and the instruments card 200, along with a country&#39;s card (not illustrated) allow the user to set what elements may appear on the axes of the virtual reality world. 
     Referring now to FIG. 10, there is illustrated an action card 300. The action card 300 is displayed when the user activates the action button 50 on the interface card 20 of FIG. 2. The action card 300 allows the user to define formulas for the set of action indicators 26. The user selects an analytic category (fundamental, technical, derivative or expert action) from an analytic type box 302, sets, where applicable, a range from an action screen 304 and defines and builds a formula for that analytic category. A range, for example, could be the top 10 companies by yield. 
     The user names the action using an action name box 306. Actions that have already been named and defined appear in an available actions box 308. The formula for an action is defined in a formula box 310 using constructs from a formula builders box 312. 
     When an action has been named and defined, the user is able to select the action using the action indicators 26 and a metaphor box explained below with reference to FIG. 11. 
     FIG. 11 illustrates a metaphor box 400, displayed when the user activates the metaphor icon 72 from the interface card 20 of FIG. 2. For each action represented by the action indicators 26, the user must select whether the action relates to a derivative, fundamental, technical or expert agent. To do this, the user &#34;connects&#34; each one of the action icons 402 to the appropriate switch box 404. The interface card then displays the appropriate name (e.g. derivative, fundamental, etc) under the &#34;connected&#34; action indicator 26. (From the interface panel of FIG. 2, the user can then select the action indicator box, which will display all actions for that analytic type, which were defined by the user using the action card 300.) For example, the flashing indicator 32 could be set to the fundamental switch box 406 using the metaphor box 400. All fundamentals defined by the user from the action card 300 will then be displayed for selection if the user activates the appropriate icon 32a on the flashing indicator 32. The selected fundamental is displayed in a combo box 32b of the flashing indicator 32. 
     As another example, the list produced by the expert agent can be displayed (using the action indicators 26) via actions relating to the listed stock&#39;s metaphors in the virtual reality world. 
     A configure matrix layout section 410 of the metaphor box 400 allow the user to select one of six possible grid arrangements for the X-axis and Y-axis for the virtual reality world. For example, if the user selects the third arrangement 412, then the virtual reality world will be displayed consisting of countries selected using the countries filter 64 on one axis and industry groups (or sub-groups) selected using the industry groups card 260 on another other axis.