Abstract:
A real time status monitoring method for inputting randomly varying data relating to a plurality of objects, processing a plurality of functions having some of the data as variables and monitoring an overall status including the objects on a real time basis, and an apparatus therefor are disclosed. A table indicating the presence or absence of data change in the objects and the presence or absence of variables related to the data change in the funtions is prepared. In processing the functions, the table is referenced and only those functions which include the variables related to the data change are processed.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to a real time status monitoring method and an apparatus therefor, and more particularly to a data processing method in a real time status monitoring system which determines a status and makes a decision on a real time basis based on a huge amount of data information which randomly varies with respect to an object, and a system therefor. 
     Specifically, the present invention is applicable to a trading support system based on market quotation in financial and security fields, a support system for measurement, monitor, control and decision making, comprising a number of sensors, and a support system for status determination and decision making for aviation control or traffic control. 
     While the present invention is applicable to various fields, it will be explained as a trading support system in the financial and security field. 
     An outline of the support system for making a decision in accordance with status such as the trading support system in the financial and security field is shown in FIG. 12, in which market quotation information which contains a huge number of varying stock and credit prices is received by a receiver 1, and the latest data to be monitored is supplied to a real time status sensing table 2 in a system. Two kinds of data bases are provided corresponding to kinds of informations. Namely, a time serial data base 4 which contains market quotation information and a data base 5 which contains information necessary for decision making support processing, for example, portfolio data of financial assets, are provided. Based on the market quotation status, a decision making support processor 3 evaluates the asset portfolio on a real time basis, determines buying and selling timing by a moving mean method, generates support information for reassembling the asset portfolio, and outputs them to a display unit 6. By combining the real time status sensing table 2 with the data stored in the data base 4 at a desired time in a desired form, information for most effective decision to a decision maker can be generated and provided in accordance with the status. In this case, there is a time delay between the reading of the market quotation information and the display of the information to the decision maker. It is important to reduce the time delay as much as possible. 
     As a real time processing method applicable to solve the above problem, a known multi-target tracking processing method may be used. In this method, multi-targets to be monitored are observed at a constant time interval and status inferences of all of the multi-targets are updated based on the observation. (&#34;Improvement in Correlation Precision in Status Inference Using Multi-Sensors&#34; by Kosaka et al., SYSTEM AND CONTROL, Vol. 27, No. 8 (1983), &#34;A track correlation algorithm for multi-sensor integration&#34; IEEE/AIAA 5th DIGITAL AVIONICS SYSTEMS CONFERENCE, Oct. 31-Nov. 3, 1983, PP. 10.3.1-10.3.8). In the known multi-target tracking processing, the status changes of all targets to be monitored are always due to the movement by a physical law. Thus, the status of the target at any time can be predicted by a Kalman filter within a certain range of error even if the observation and the status inference are done at the constant time interval. Accordingly, it is an effective processing method in an aviation control system and a command and role system. 
     The above method may be applied to the decision making support processing of the trading support system shown in FIG. 12. It is assumed that the market quotation information (stocks and credits whose data are varying and prices thereof) has been stored in the real time status sensing table. Decision making support information processing groups {Fi} are processed at a constant time interval as shown in FIG. 2. All information processing groups {Fi} are processed in accordance with the content of the real time status sensing table 2 at a time Ti, and the results are supplied to the display unit. The same processing is performed to the content of the real time status sensing table at a time T i+1  (=Ti+ΔT) which is ΔT time later than the time Ti. The time ΔT must be larger than a sum of processing times for all information processing groups. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide a real time status monitoring method which includes less time delay between data input and decision making based on the data, and an apparatus therefor. 
     It is a specific object of the present invention to provide a real time status monitoring method which receives data relating to a number of objects of different kinds which vary randomly, processes a plurality of functions having data of a portion of the objects as variables and monitors an overall status including the objects on a real time basis, and an apparatus therefor. 
     The above objects are considered by the inventors in the study about the real time status monitoring method and apparatus. The content of the study is described hereinafter. 
     In the processing method, it is easy to control the information processing, but the following problem may arise in the trading support system where a huge number of objects are monitored and the data to be monitored change randomly. Of the huge number of objects, there are many objects whose data do not change during the given time period ΔT. Thus, unnecessary calculation process may take place in spite of the fact that the processing result is the same as the previous one. Since the updating time interval ΔT must be larger than the sum of the processing times for all decision making support processings, there occurs a time delay for the generation of the decision making support information. In the case of market quotation information such as stocks and credits, this time delay is a very significant factor and degrades the information because no prediction can be made for a future status as it is done for the tracking processing. As described in many references, if the price change in the market quotation occurs in a random walk manner, an error dispersion of the price is expressed by σ 2  T which monotonously increases with the increase of the time delay T. On the other hand, in the case of tracking processing, the prediction error of the prediction processing is increased by the time delay T but the effect is much smaller than that in the status monitoring of the market quotation without the prediction processing. The information error transitions due to the time delay in the status monitoring of the market quotation and in the tracking processing are shown in FIGS. 3A and 3B, respectively. Where the huge number of objects are to be monitored and the changes of data occurs randomly, it is necessary to realize a real time decision making supporting information processing method which can avoid the unnecessary processing described above, in order to reduce the updating process time interval ΔT. 
     The present invention realizes a system which receives data relating to a number of objects of different kinds, processes a plurality of functions having data of a portion of the objects as variables and monitors an overall status including the objects on a real time basis. 
     The above objects of the present invention are achieved by a system which receives, the randomly varying data of a plurality of objects, processes a plurality of functions having some of the data as variables, and monitors the overall status including the objects on the real time basis. The system comprises a table which represents the presence or absence of change of data of the objects and the functions which includes the variables which have been varied. The table is referenced when the functions are processed so that only those functions which include varied data as the variables are processed. 
     In accordance with the present invention, there is no need to process the functions at the constant time interval but the processing is performed only when the data of the variables have been varied, by referencing the table. Accordingly, in a real time monitoring system in which data of the variables such as market quotation information of the stocks and credits vary randomly and the variation is not frequent, the data processing speed of the system is remarkably improved compared to the known system. In accordance with the present invention, the time delay between the data input and the decision making based on the data is reduced. 
     The advantage of the present invention is further remarkable when the input data is grouped or the corresponding functions to the grouped data are divided. Where the input data is time series data, the time serial data is divided into a present data component and a past data component, and a calculation result stored in a memory area is used for the past data component and the processing is performed only for the present data component. As a result, the data processing speed is improved and the advantage of the present invention is prominent. 
     In accordance with the present invention, high speed data processing with the same precision can be attained with a conventional data processing system having a relatively low processing speed, and the time delay between the data input and decision making ca be reduced even in such a case. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows a configuration of one embodiment of a real time status monitoring system of the present invention, 
     FIG. 2 illustrates a relationship between objects to be monitored and decision making support processing, 
     FIG. 3A illustrates information error transition of support information for decision making based on status, in status monitoring of market quotation, 
     FIG. 3B illustrates information error transition of support information for decision making based on status, in tracking processing, 
     FIG. 4 shows a format of a status management table, 
     FIG. 5 shows a flow chart for a real time status monitoring processing method which uses the management table of FIG. 4, in accordance with an embodiment of the present invention, 
     FIG. 6 shows a format of the status management table where detection of data change in the objects to be monitored is grouped, 
     FIG. 7 shows a flow chart for a real time status monitoring processing method which uses the management table of FIG. 6, in accordance with another embodiment of the present invention, 
     FIG. 8 shows a format of a management table used in high speed processing, 
     FIG. 9A shows a flow chart for a real time status monitoring processing method which uses the management table of FIG. 8, in accordance with another embodiment of the present invention, 
     FIG. 9B shows a flow chart which continues from FIG. 9A, 
     FIG. 10 shows a format of a management table used for time serial data processing, 
     FIG. 11 shows a format of a management table when a correlation coefficient is used, and 
     FIG. 12 shows a general conceptual chart of the real time status monitoring method and the apparatus therefor. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 1 shows a system configuration of a real time status monitoring system of the present invention which is applied to a portfolio status monitoring system for calculating a current total price of the portfolio based on market quotation variation information of the stocks and credits and issuing warning when it is smaller than an expected current total price (guaranteed current total price). 
     A central processing unit 8 receives market quotation information informed from a field 7 such as a securities exchange, that is, randomly varying data relating to objects of different kinds, processes various functions (for example, calculation of profit and loss of the retained portfolio, and displays the result on terminal devices 11 and 12. A data base 9 contains time serial data of the market quotation and information associated with the portfolio. A status management table 10 is a main part of the present invention and detail thereof is shown in FIG. 4. In FIG. 4, in a vertical direction, firm names Mi (i=1˜m), a current total amount change flag, a current total amount and a guaranteed current total amount for checking the status of the portfolio are arranged. On the other hand, in a horizontal direction, portfolios Fi (i=1˜n), a price change flag (data change flag) and current prices (current stock prices of firms) Pi (i=1˜m) are arranged. An element ωij in the matrix management table indicates the number of retained stocks or credits of the firm Mi of the portfolio Fj. 
     For the convenience of explanation, in the status management table of FIG. 4, the firms (objects) are arranged vertically in the matrix (Mi, i=1, . . . m), the portfolio names (functions) are arranged horizontally (Fj, j=1, . . . n), and the elements of the matrix (ωij, i=1, . . . m, j=1, . . . n) are zero when the functions Fj do not use the data of Mi and not zero when they do use the data of Mi. The (n+1)th column contains the price change flags (data change flags). If the price (data) Pi changes in the predetermined time interval ΔT, the matrix element (i, n+1) is &#34;1&#34;, otherwise it is &#34;0&#34;. The (n+2)th column contains the current prices, that is, the current prices (data) of the objects Mi. The (m+1)th row contains the current total amount change (function processing) end flags. When the element (m+1, j) is &#34;1&#34;, it indicates that the updating of the data of the processing Fi is over, and when it is &#34;0&#34;, it indicates that the updating of the data of the function processing Fi is not over. 
     Turning back to FIG. 1, a vector processor 13 rapidly calculates the current total amount by calculating an internal product of the column of the portfolio Fj and the current price. 
     The operation of the portfolio status monitoring system is now explained. 
     When the system receives the market quotation information from the field 7, it stores the information into an input buffer 14 and sets the data change flag (current price change flag) to &#34;1&#34;. Then, it starts the processing shown in the flow chart of FIG. 5 at the time interval Δt (501). 
     Step 1: When the updating of the decision making support information (the current total amount and the guaranteed total amount in the (m+1)th and (m+2)th rows) is to be started, the following initialization is effected. 
     (i) Read the input buffer information for the (n+1)th column and the input buffer information for the (n+2)th column, from the input buffer 14 to the (n+1)th column and the (n+2)th column of the management table 10. 
     (ii) Clear the input buffer for the (n+1)th column to zero. 
     (iii) Clear the content of the (m+1)th row of the table 10 to zero. 
     (iv) Start the processing of the functions {Fi} starting from i=1. 
     Step 2: Check the content of the element (i, n+1) relating to the price change flag. If it is &#34;0&#34;, it means no change in the data of Mi and the decision making supporting process relating to Mi is not necessary. Processing proceeds to a step 6. If the content of the element (i, n+1) is &#34;1&#34;, it means that the data of Mi has been changed and the processing Fj for the steps 3 et seq should be initiated. Start the processing starting from j=1. 
     Step 3: Check the content of the element (i, j). If it is &#34;0&#34;, it means that the processing F does not relate to the object Mi to be monitored. Processing proceeds to a step 5. If it is not &#34;0&#34;, it means that the processing Fj relates to Mi. If the content of the element (m+1, j) is &#34;1&#34;, it means that the processing Fj is over. If an AND function of the element (i, j) and the element (m+1, j) is &#34;1&#34;, proceed to the step 5, otherwise, proceed to step 4. 
     Step 4: Perform the processing Fj in accordance with the status of the object to be monitored in the (n+2)th column. At the end of the processing, set &#34;1&#34; at the element (m+1, j) to indicate the end of the image updating. 
     Step 5: Set j to j+1. If j&gt;n, go to step 6. If j≦n, go to the step 3. 
     Step 6: Set i to i+1. If i&gt;m, end the process. If i≦m, go to the step 2. 
     In the processing of FIG. 5, the portfolio current total amount is calculated in step 3 by the vector processor in accordance with the calculation 
     
         Fi=ΣωijPi 
    
     At the end of the processing, the current total amount change flag of the portfolio whose current total amount has been changed by the change of the current price of the firm has been set to &#34;1&#34;. Accordingly, the current total amount Fi and the guaranteed current total amount gi are compared for those whose current total amount change flags have been set to &#34;1&#34;. If Fi&lt;gi, the current time, the portfolio name, the current total amount and the guaranteed current total amount are supplied to the terminal device as the warning message. 
     In this manner, the real time monitoring of the portfolio is attained. 
     FIG. 6 shows the contents of the status management table 10 used in another embodiment and the input buffer 14. 
     Of the huge number of objects to be monitored such as the variation of the market quotation of the stocks and credits, some objects have their data frequently changed and some other objects have their data not frequently changed. For those which have a low frequency of data change, it is desirable to make the number of times of checking the data change flag as small as possible. To this end, the data is efficiently grouped. In the embodiment shown in FIG. 6, the data change detection of the objects to be monitored is grouped. 
     As shown in FIG. 6, M signal registers each comprising a signal flag (ON=&#34;1&#34;, OFF=&#34;0&#34;), a group top item number I S  and a group bottom item number I E  are added to each of the management table 10 and the input buffer 14, and measuring registers for the frequency for the respective objects to be monitored are added to the input buffer 14. 
     The objects Mi to be monitored are arranged in the descending order of the frequency of data change, and the objects to be monitored are grouped into groups each consisting of N I  objects (I=1, . . . M) starting from the top object. A signal for detecting the data change in the group is prepared for each group. If all of the data change flags of the objects in the group are &#34;0&#34;, the signal flag for the group is &#34;0&#34;, otherwise it is &#34;1&#34;. Thus, the signal flag is checked and if it is &#34;0&#34;, it may be determined that no data change is included in the objects of the group without checking are the data change flag of the group. Only when the signal flag is &#34;1&#34;, the data change flags of the objects in the group checked. 
     The number of times K 1  checks when no grouping is effected is given by ##EQU1## where Pi is a probability of data change in the time interval ΔT of the object Mi. An expectation value K 2  for the number of times of check when the plurality of signal flags are provided is given by ##EQU2## where I S  and E E  are the item number i of the top object Mi to be monitored in the I-th group and the item number i* of the last object Mi* to be monitored, and ##EQU3## Q I  is a probability that the signal flag for the detection of the status change in the I-th group is &#34;1&#34;, that is, ##EQU4## 
     It should be smaller than K 1 , and K 2  should be minimum. The value of K 2  depends on the number of signal flags and the grouping method if the probability of the status change is larger when the item number is smaller. Accordingly, it is necessary to monitor the occurrence of the status change of the objects M i  to be monitored and optimize the grouping based on it. If the grouping is not proper, the number of times of check increases. 
     The processing method of the present embodiment which uses the table 10, the input buffer 14 and the signal registers is explained for the following three steps. 
     (1) Data Change Input of the Object to be Monitored 
     Since the data change in the object to be monitored is informed from time to time, the flag of the input buffer 14 corresponding to the informed firm Mi is set to &#34;1&#34;, the status amount is stored, the data change frequency register is counted up, and the corresponding signal flag is set to &#34;1&#34;. 
     (2) Information Processing {Fj} 
     The updating of {Fj} for each period is effected in the following manner. 
     Step 1: The following initialization is effected. 
     (i) Read the input buffer information for the (n+1)th column, the input buffer information for the (n+2)th column and the signal flag into the corresponding area of the management table. 
     (ii) Clear the content of the signal register corresponding to the input buffer for the (n+1)th column to zero. 
     (iii) Clear the content of the (m+1)th row to zero. 
     (iv) Set I to &#34;1&#34; and start the process. 
     Step 2: If the content of the I-th signal register is &#34;0&#34;, it means that no data change has occurred in the objects of the group. Proceed to a step 4. If the content of the signal register is &#34;1&#34;, set i to I S  and start the process from a step 3. 
     Step 3: Carry out the steps 2 to 5 of FIG. 5. 
     Step 4: Set i to i+1. If i≦N I , go to the step 3, and if i&gt;N I , go to a step 5. 
     Step 5: Set I to I+1. If I≦M, go to the step 2, and if I&gt;M, terminate the information updating. 
     (3) Optimization of Grouping 
     It is important in reducing the number of times of check how the objects to be monitored are grouped. This is done by a batch process after the status monitoring. The process is carried out in the following manner. 
     Step 1: A probability Pi of the status change in the updating time interval ΔT is determined based on a total time T o  of the status monitoring and a frequency α i  of the input buffer. ##EQU5## 
     Step 2: Sort the objects of the management table in the descending order of Pi. Thus, the content of the management table is changed. 
     Step 3: Optimize the grouping so that the value K 2  is minimized. 
     Step 4: Store the top item number and the bottom item number of each group into I S  and I E  after the optimization of the grouping. 
     The speed-up when the process is divided as the objects are grouped is now explained. 
     When the processing Fj can be divided to 
     
         Fj=fj.sub.1 ⊕fj.sub.2 ⊕ . . . . . ⊕fj.sub.M 
    
     as the objects are grouped, only fi I  whose signal flag representing the status change in the group I is &#34;1&#34; need be updated. In the above formula, ⊕ indicates that the processing Fi can be divided. 
     FIG. 8 shows a format of the management table used in the speed-up processing. In FIG. 8, the element (i, j) (i=1, . . . M, j=1, .. n) of the matrix contains fi i  when Fi requires to process fj i  while using the information of the objects included in the group i, and contains &#34;0&#34; in other cases. The (n+1)th column contains the signal flags indicating the status change of each group. The (M+1)th row contains &#34;1&#34; if data of any one of fj I  of the j-th column has been changed. The (M+2)th row contains the value of the final decision function Fj. The data of the object corresponding to each group is prepared separately from the management table. 
     The function of the input buffer 14 and the method for fetching data from the input buffer are the same as those in the processes of FIGS. 6 and 7. The updating of the decision making support information is carried out in the following manner as shown in FIG. 9. 
     Step 1: Carry out the initialization as follows. 
     1. Fetch input buffer information 
     2. Clear the data change flag of the input buffer and the signal flag of each group to zero. 
     3. Clear the (M+1)th row of the management table to zero. 
     4. Set I to &#34;1&#34; and start the following steps. 
     Step 2: If the element (I, n+1), that is, the signal flag of the group is &#34;0&#34;, it means that there is no change in the objects of the group. Go to a step 6. If the element (I, n+1) is &#34;1&#34;, set j to &#34;1&#34; and go to step 3. 
     Step 3: If the element (I, j) is &#34;0&#34;, it means that there is no process related to the group I in Fj. Go to a step 5. If the element (I, j) is &#34;1&#34;, it means that the processing of fj I  is required. Go to a step 4. 
     Step 4: Process fj I , store the result in the element (I, j) and set the decision making support information updating flag by setting the element (M+1, j) to &#34;1&#34;. 
     Step 5: Set j to j+1. If j&gt;n, go to a step 6. If j≦n, go to a step 3. 
     Step 6: Set I to I+1. If I&gt;M, go to a step 7. If I≦M, go to a step 2. 
     Step 7: For all Fj whose elements (M+1, j) are &#34;1&#34;, process Fj such that 
     
         Fj=fj.sup.1 ⊕fj.sup.2 ⊕fj.sup.3 ⊕fj.sup.4 ⊕ . . . . . ⊕fj.sup.M 
    
     The expansion to the case where the time serial data processing is required is now explained. 
     In the support system for the decision making based on the situation like the trading support system aimed by the present invention, the time serial data is frequently handled. The time serial data processing G K  includes a portion which requires current real time information and a portion which uses only past time serial data. When the time serial data processing can be divided into 
     
         G.sub.K =G.sub.K.sup.R ⊕G.sub.K.sup.P 
    
     where G K   R  is a portion which depends only on the real time status change and G K   P  is a portion which depends only on the past time serial data, the processing time can be significantly reduced by precalculating the G K   P  and calculating only G K   R  corresponding to the status change on request basis. An embodiment of the real time decision making supporting processing in which the decision making support processing Fj requires the time serial data processing and it can be divided into 
     
         Fj=(fj).sup.R ⊕(fj).sup.P 
    
     where (fj) R  is the portion corresponding to the status change and (fj) P  is the portion which depends on the past time serial data, and (fj) R  can be divided into 
     
         (fj).sup.R =(fj).sup.R ⊕(fj.sup.2).sup.R ⊕ . . . . . ⊕(fj.sup.M).sup.R 
    
     to correspond to the grouping of the objects, is explained below. 
     FIG. 10 shows a format of the management table 10 used in the embodiment for the real time processing of the time serial data which requires the past data and the current data. It differs from FIG. 8 in that: 
     (i) a row for storing (Fj) P  which comprises only the past time serial data is provided, and 
     (ii) The content of the element (I, j) is changed from fj I  to the processing (fi I ) R  which depends only on the real time information. 
     The processing when the management table of FIG. 10 is used is substantially identical to the flow shown in FIG. 9. The differences are: 
     (i) The calculation step for fj I  in FIG. 9 is changed to the calculation step for (Fj I ) R  based on only the real time information. 
     (ii) The calculation step for 
     
         Fj=fj.sup.1 ⊕fj.sup.2 +. . . . . ⊕fj.sup.M 
    
      in FIG. 9 is changed to the calculation step for 
     
         Fj=(Fj).sup.P ⊕(fj.sup.1).sup.R ⊕(fj.sup.2).sup.R ⊕ . . . . . ⊕(fj.sup.M).sup.R 
    
     by using (Fj) P  calculated based on the past data stored in the table. 
     An embodiment of the present invention which calculates a correlation coefficient to a market variation of the retained portfolio on the real time basis is now explained. A market variable is usually represented by a stock price index and it is informed as one of marked quotation information. It is stored in the data base 9 of FIG. 1 as the time serial data (daily closing price). The time serial data string is given by 
     
         (x.sub.0, x.sub.1, . . . . . x.sub.N) 
    
     where x 0  is a stock price index under the current situation. On the other hand, the current total amount fj of the portfolio j is given by ##EQU6## The time serial data of Fi is given by 
     
         (y.sub.0, y.sub.1, . . . . . y.sub.N) 
    
     where y 0  is the value of the portfolio under the current situation, and y 1 , y 2 , . . . . . are calculated based on the daily closing stock prices of the firms, and the results thereof are stored in the data base. The correlation coefficient γj is given by ##EQU7## It is divided into the portion calculated based on the current status data and the portion calculated based on the past data. ##EQU8## The portions which depend on the past data are represented by ##EQU9## Since y o  is calculated based on the current price Pi of the object in the following manner ##EQU10## the management table shown in FIG. 11 which is a merged one of FIGS. 4 and 10 is utilized. Namely, a table which contains y o  (portfolio current total amount), Ai 3 , x o  y o , Ai 1 , x and Ai 2  is added to the management table of FIG. 4. The processing which uses the table of FIG. 11 is explained below. 
     (1) Preprocessing 
     Before the real time status monitoring of the objects is started, the content of the elements (i, j) (i=1, . . . . . m, j=1, . . . . . n) of the matrix as well as A 1 , A 2 , A 3  are stored by utilizing the past time serial data. 
     (2) Real Time Status Monitoring 
     The process of calculating the change flag for y o , and y o  by noting the price change flag is the same as that of FIG. 5. After the change flag for y o , and y o  have been calculated, the following steps are carried out. 
     Step 1: If the status change flag to x o  is &#34;1&#34;, go to a step, otherwise go to a step 3. 
     Step 2: Calculate x o  y o  as the product of x o  and y o  for j=1, . . . . . m. Then, calculate ##EQU11## for j=1, . . . . . n 
     Step 3: Calculate x o  y o  for only those whose change flags for y o  are &#34;1&#34;, and update γ j  by the above formula. 
     In this manner, the correlation coefficient γ j  can be calculated on the real time basis. 
     While the trading support system based on the market quotation information in the financial and security field has been described above, the present invention is applicable to any real time status monitoring system and method. 
     In accordance with the present invention, the processing is done only for those objects whose data have been changed as opposed to the checking of all status at a constant time interval as is done in the multi-target tracking. Accordingly, not only the data amount to be processed is reduced but also the overall status of the object under the varying status can be easily grasped because it is easy to determine which decision making support information has been changed. 
     The present invention is effective to the system which monitors on the real time basis the function values which vary with the status of randomly changing data of different kinds.