Imported: 17 Feb '17 | Published: 10 Jan '12
USPTO - Utility Patents
Computer-implemented methods, computer systems, and computer program products are provided for determining specified matrices. The matrices may be associated with financial institutions and the financial affairs in a banking practice. In one implementation, a base matrix is formed which may be used to create the specified matrices when processing mass data.
The present invention generally relates to electronic data processing. More particularly, the invention relates to computer-implemented methods, computer systems, and computer program products for determining specified matrices. The specified matrices may be associated with financial institutions and with financial affairs in banking practice, for example.
As international financial markets expand, global concerns over the soundness of banking practices are driving stringent new requirements for bank-level management, regulatory control, and market disclosure. Data processing systems may use software tools, such as SAP proprietary software tools, to meet these banking requirements. One example of such a SAP software tool is Basel Capital Accord (Basel II) (commercially available from SAP AG, Waldorf, Germany), which enhances the capabilities of the SAP banking solution portfolio.
The SAP solution for the Basel II represents a risk-sensitive framework that provides capabilities for calculating risk exposure, calculating capital, managing market risk, managing interest risk, managing liquidity risk, calculating and managing all areas of credit risk, and facilitating the handling of mass data. Basel II may serve the economic interests associated with financial institutions and associated with financial affairs in banking practice.
In view of prior software tool solutions for banking systems, there still remains the need to improve the software performance (e.g., runtime performance). According to the Basel II capital record rating, data must be analyzed regularly in the form of portfolio and migration matrices. One problem is calculating the rating portfolio and migration matrices efficiently. Usually, the underlying mass data may not allow computer-based main memory processing since the large amount of data may exceed the memory limits of the computer.
Therefore, there exists a need to provide methods and systems for reducing the processing time needed to calculate data necessary to assess the risks according to Basel II, as mentioned above. There also exists a need to provide methods and systems for guarantying the data and process integrity.
Consistent with embodiments of the invention, methods and systems are provided to determine specified matrices, such as matrices associated with financial institutions and with financial affairs and banking practice. Embodiments of the invention can be easily integrated into existing credit risk platforms as, for example, the above-mentioned SAP solution Basel II.
In accordance with embodiments of the invention, computer systems and computer program products may be provided for determining specified matrices. Further, a computer readable medium may be provided for storing a plurality of instructions implemented by a computer program to execute a computer-implemented method. The computer-implemented method may optionally perform an automated generic aggregation of data in either a linear or a parallel processing mode, thereby improving the computer power of software, particularly when using mass data.
Consistent with an embodiment of the invention, a computer-implemented method is provided for determining specified matrices, such as matrices associated with financial institutions and financial affairs in banking practice. The method may include receiving mass data from one or more databases of one or more different data sources associated with banking practice, the mass data including sets of rows and sets of columns, each row corresponding to a record, and the columns including fields of predetermined granularity characteristics and fields of predetermined key figures. The method may also include selecting predetermined granularity characteristics and predetermined key figures, selecting predetermined aggregation operations to be performed, and reading input data packages from the one or more databases. The method may also include processing the data packages by identifying the customized granularity characteristics, identifying the predetermined key figures, and aggregating the records in each data package for key figures by using aggregation operations. In addition, the method may include forming at least one base matrix comprising the aggregated records of the customized granularity characteristics and key figures by saving the results of processing each data package and using the base matrix to calculate the specified matrices.
In accordance with an embodiment of the invention, the aggregation may be computed on at least one of predetermined key figures using predetermined aggregation operations selected from a function pool and customer-defined aggregation operations to be defined with input using the predetermined aggregation operations.
In another embodiment of the invention, the aggregation may be computed on customer-defined key figures to be defined with input using the predetermined aggregation operations selected from a function pool and using at least one of the predetermined aggregation operations and the customer-defined aggregation operations.
Additional objects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of embodiments of the invention. The objects and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
Reference will now be made in detail to the present invention, examples of which are illustrated in the accompanying drawings in which like reference numbers refer to corresponding elements.
Consistent with an aspect of the invention, computer-implemented methods may be provided for determining specified matrices, such as matrices associated with financial institutions and with financial affairs and banking practice. In addition, data processing systems, computer program products that can be stored on a computer-readable medium, and a computer-readable medium may be provided.
Data processing systems (computer systems) consistent with the invention may include a single data processor or a plurality of data processors via inter-computer network, each data processor including processing means (processor), storage means (memory), bus means (bus), network means (network), interface means, input means, and output means (input and output devices). The computer system may comprise a server. The data processor may be, for example, a conventional desktop computer, a multiprocessor computer, or the like. The processor may be, for example, a Central Processing Unit (CPU), a Micro Controller Unit (MCU), Digital Signal Processor (DSP), or the like.
Storage means may store the specified mass data. Storage means may be memory for temporarily or permanently storing data and instructions. Although memory is conveniently illustrated as part of computer, memory may also be implemented in network, in computers and in a processor itself, such as in a cache or a register. Memory can be, for example, Read Only Memory (ROM), Random Access Memory (RAM), or memory with other access options. Memory may be implemented by computer-readable media, for example: (a) magnetic media, such as hard disk, floppy disk or other magnetic disk, tape or cassette tape; (b) optical media, such as optical disk (CD-ROM, DVD); and/or (c) semiconductor media, like DRAM, SRAM, EPROM, EEPROM, or the like. Memory may also store support modules, such as a Basic Input Output System (BIOS), an Operating system (OS), a program library, a compiler or interpreter, and a text processing tool.
Input means may be any device for providing data and instructions for processing by computer, such as a keyboard or pointing device such as a mouse, trackball, or cursor direction key. Output means may be any device for presenting results of aggregated data packages, such as a printer, monitor, or a display (e.g., a Cathode Ray Tube (CRT), Flat Panel Display, Liquid Crystal Display (LCD)).
Computer bus and networks may provide logical and physical connections by conveying data and instruction signals. Connections inside computer may be referred to as “bus” connections, and connections between computers may be referred to as “inter-computer network.” Optionally, a network may include gateways, which may be devices (computers) that specialize in data transmission and protocol conversion and allow users working in one network to access another network.
Networking environments (also referred to as a network) are common in offices, enterprise-wide computer networks, intranets and the Internet (i.e. world wide web). A network can be a wired or wireless. Exemplary network implementations include a local area network (LAN), a wide area network (WAN), a public switched telephone network (PSTN), an Integrated Services Network (ISDN), an infra-red (IR) link, a radio link, like Universal Mobile Tele-communications System (UMTS), Global System for Mobile Communication (GSM), Code Division Multiple Access (CDMA), and a satellite link. Exemplary transmission protocols and data formats include transmission control protocol/internet protocol (TCP/IP), hyper text transfer protocol (HTTP), secure HTTP, wireless application protocol, unique resource locator (URL), unique resource identifier (URI), hyper text markup language (HTML), extensible markup language (XML), extensible hyper text markup language (XHTML), and wireless application markup language (WML), etc.
Interfaces for linking together the data processing units of a data processing system may be, for example, a serial port interface, a parallel port interface, a universal serial bus (USB) interface, an internal modem, or an external modem.
Consistent with an embodiment of the invention, computer program products may be provided that include a plurality of instructions for causing a processor of a computer system to execute methods consistent with the present invention. Computer program products may define the operation of computer and its interaction in inter-computer network. For example, computer program products may be available as source code in any programming language and as object code (binary code) in a compiled form. Computer program products may be used in connection with support modules, such as compilers, interpreters, and operating systems. The computer program products may be stored in memory, such as a data carrier or a computer-readable medium.
For the communication of a computer program product and a computer, a data carrier may be conveniently inserted into input device. The data carrier may be implemented as any computer readable medium. A carrier may be an article of manufacture including a computer readable medium having readable program code embodied therein for executing a method. Furthermore, program signals may embody a computer program and be transmitted via inter-computer network to a data processor.
FIG. 1 illustrates a flowchart 100 of an exemplary method for calculating specified matrices associated with, for example, financial institutions and/or financial affairs in banking practice.
At step 110, a list with the rated entities may be provided. According to that list, at step 120, ratings and utilizations for T0 and T1 may be read from a historical database. A base matrix before aggregation may be created at step 120 by reading the mass data as a selection according to the rating entities.
At step 130, the mass data may be aggregated to create a base matrix after aggregation. The aggregated base matrix may be used to calculate different result matrices (140a-d). Exemplified result matrices may be T0-portfolio matrix (140a), T1-portfolio matrix (140b), a migration matrix (140c), and a combined matrix such as an acquisition and migration data (acquisition and migration matrix 140d).
In more detail, mass data may be used which may be stored in a historical database including, for example, a database with hundreds or millions of records. The mass data (“input data”) may include a plurality of M data records, wherein M represents a large amount of data records to be selected and aggregated that can not be handled in the main memory of a data processor. Mass data (“input data”) may include packetized blocks of data provided by different databases of different accessible data sources, and including sets of rows and sets of columns. Each row may correspond to a record, and the columns may include fields of predetermined granularity characteristics and fields of predetermined key figures. The generic aggregation of characteristics and key figures may reduce the mass data according to a given customized granularity. Due to the plurality of M data records, the mass data may be customized as packages including Mp<M data records.
Computer-implemented methods consistent with the invention may begin with a selection of mass data (“input data”), including the plurality of M data records, to aggregate. The mass data may be provided by different accessible primary databases of different accessible data sources. After selecting mass data due to selection criteria, the selected blocks of packetized mass data may be assigned among each other, and the result of each assignment may be stored to a global database.
Customization of the selected mass data may be required for defining granularity characteristics and aggregation operations to be carried out by a processor in a data processing system for computing fields of key figures. The granularity characteristics and predetermined key figures may include, for example, data regarding the financial sector, such as rating methods, rating classes, rating class dates, identifiers for inflows and outflows, utilization (e.g. drawing of a loan (monetary amount)), utilization dates, and a segment identifier.
If necessary, the selected mass data may be prepared as data packages according to a customer-defined package size including Mp<M data records in a pre-processing step before reading the mass data.
The packaged data may be enriched in parallel pre-processing with data from an accessible single secondary database or from accessible secondary databases. The results of enrichment may be saved to local databases of the respective data processors where the data may be processed.
The selected data records may be stored in a database (base matrix before aggregation) or may be directly aggregated into a base matrix after aggregation. The selection and/or aggregation can be performed as jobs. A job or a plurality of jobs can be processed in a parallel processing mode, thus improving the computing power and run time performance of software either using a single data processor or a network of data processors. Depending on the capacity utilization of a data processing system, the processing of an aggregation algorithm can optionally run in a linear processing mode to sequentially aggregate and merge packages within a job.
An aggregated base matrix may be obtained from the selection and aggregation processes (FIG. 1, step 130). The base matrix after aggregation may be stored in a database. The base matrix after aggregation may contain all the data necessary to calculate migration matrices for a credit risk analysis and reporting according to, for example, the Basel II Capital Accord.
The base matrix after aggregation may contain significantly less data than the originally used mass data. In one embodiment consistent with the invention, the base matrix after aggregation may contain at most a few thousand data entries depending on the predetermined granularity characteristics, such as the rating method used. For example, the base matrix after aggregation may include 1000 or fewer records, 500 or fewer records, etc. The base matrix after aggregation may include 100 or fewer columns, 20 or fewer columns, etc., wherein the columns include fields of predetermined granularity characteristics and fields of predetermined key figures.
Storing the aggregated base matrix permits an examination of the evaluations over a long time, without having to store many different matrices. Time and use of computer power for recalculation based on a historical database can also be avoided. Furthermore, different aggregated base matrices for all the needs of a financial institution can be calculated and provided to the different users of the financial institution. The different aggregated base matrices may have varying granularity characteristics and/or varying customer-defined key figures, such as a segment identifier, a rating method, a business partner identifier, a rating given by the rating method, a rating date, an identifier for inflows, an identifier for outflows, an utilization (e.g. drawing of a credit loan), and a currency of the utilization.
Consequently, different users of a financial institute do not require access to a historical database. Therefore, the administration of the system, the data integrity, and the performance of the system can be improved with low system requirements.
The obtained base matrix after aggregation may be processed into the specified matrices (140a-d). Because of the low amount of data, the processing of the base matrix after aggregation may be performed in the main memory of a computer. A specified matrix may be a matrix that may be customized by the users and/or prescribed by other institutions or requirements, such as Basel II. The specified matrices may also be referred to as result matrices and may include, for example, portfolio matrices at specified times, migration matrices, acquisition matrices, matrices concerning inflows and outflows, matrices concerning changes of volume and/or combinations of two or more of these matrices, such as an acquisition and migration matrix. Specified result matrices may also be calculated in batch modes (background processing), and the results may be stored to a database. The results can be stored in a database or alternatively displayed in a screen reporting (step 150).
The data of the aggregated base matrix and/or the result matrices may also be enriched in a post-processing step with data from an accessible secondary database or from accessible secondary databases. The results of the enrichment may be stored in a database.
FIG. 2 illustrates at a block diagram of an exemplary system 200, consistent with an embodiment of the invention. System 200 may include a user 210, one or more application servers 220, and one or more database servers 230. Mass data may be stored in a database with rated entities 232. Application server 220 may read the rated entities 224 and process the rated entities to calculate the base matrix, as illustrated at 226. The base matrix may be stored in a database for temporary data 234. The base matrix may be read into the main memory to calculate the result matrices. The results can be stored in an additional database 236. The methods performed by application server 220 may be scheduled and executed by run control 222.
Exemplary embodiments of the present invention will now be explained in more detail with a working example.
In a first step, all information of the period to be analyzed may be brought together. A bank may have business partner ratings modules of its own, or may obtain external ratings. These ratings may be stored in a database for time series of the bank analyzer component called historical database. The time series can be assumed to contain mass data (millions of business partner ratings).
The database may have the following fields:
Table 1 illustrates some exemplary entities of a historical database. Some or all of the business partners may be rated with all rating methods. Furthermore, the business partners may obtain more than one rating a year. Therefore, the present working example is very simple. The granularity level of Table 1 includes the fields SID, RM, BUPA and RDAT.
The first step of the calculation may be to read the database with the time series of ratings (FIG. 1, step 110). In one embodiment consistent with the invention, only the granularity fields SID (Segment Identifier), RM (Rating method), and BUPA (business partner identifier) may be retrieved. As a result of reading the database, table 2 may be obtained.
At step 120 (FIG. 1), the time series with rating data may be transformed into a new list where rating at t0 and rating at t1 may be given in one row of the table to obtain a base matrix before aggregation. The transformation may be done by, for example, the following operations:
In one embodiment consistent with the invention, step 120 may be performed by the software using efficient parallel processing algorithms.
The results of step 120 may be a matrix, such as the matrix illustrated in Table 3 below. The granularity level of Table 3 may include the fields SID, RM, and BUPA. In this example, all values for FX may be 0 because the initial currency and the evaluation currency are identical.
The matrix obtained in step 120 may be aggregated to a basic matrix after aggregation (FIG. 1, step 130). While the matrices previously used in step 110 and step 120 (such as “time series with rating data” and “basic matrix before aggregation”) may be used only once in the process, the “basic matrix after aggregation” may be the starting point for several additional matrices and may be re-used several times.
To aggregate the base matrix of step 120, the business partners (belonging to the same SID and RM) having the same ratings RT0 and RT1 may be counted, and the fields UT0 and UT1 may be summed for the business partners having the same ratings RT0 and RT1.
The present working example is very simple. Therefore, the resulting Table 4 (illustrated below) is very similar to Table 3. However, if more business partners are used that have the same rating combinations, a significant data reduction may be achieved. There may be thousands of rating combinations with RT0=B and RT1=B, although these thousands of data may be reduced to one record as illustrated in Table 4. To include the numbers of the business partners being aggregated, a new field CNT may be created including the number of ratings for the given granularity. The granularity level of Table 4 includes the fields SID, RM, RT0, RT1, and IO.
In this example, the number of ratings is 1 for each granularity, that is, for each combination of the values SID, RM, RT0, RT1, and IO. The values in the columns CNT, UT0, and UT1 may be sums. The sequence “time series with rating data”=>“basic matrix before aggregation”=>“basic matrix after aggregation” may be performed using efficient parallel processing algorithms.
To calculate result matrices (FIG. 1, 140a-d), the “basic matrix after aggregation” may be re-used repeatedly.
T0-portfolio matrix 140a may require key information, such as the structure of the portfolio at the beginning of the period. The structure may be defined by rating categories. The key measure may be the “key date utilization” (e.g., a monetary amount of loans UT0 and UT1).
The portfolio matrix may be calculated by summing the fields UT0, UT1, CNT, and FX for the different ratings at T0 (RT0). In one embodiment consistent with the invention, a filter (RT0=“not empty”) may be applied. The base matrix after aggregation obtained in step 130 (Table 4) may thus be modified to create Table 5, as illustrated below. The granularity level of Table 5 may include the fields SID, RM, and RT0. Granularities RT1 and IO may be eliminated.
T1-portfolio matrix 140b may require transparent information on the portfolio structure at the end of the period under consideration based on consistent dimensions and measures. The portfolio matrix 140b may be calculated by, for example, summing the fields UT0, UT1, CNT, and FX for the different ratings at T1 (RT1). In one embodiment consistent with the invention, a filter (RT1=“not empty”) may be applied. Based on Table 4 as mentioned above (base matrix after aggregation, FIG. 1, step 130), Table 6 may be created, which may represent T1-portfolio matrix 140b. The granularity level of Table 6 may include the fields SID, RM, and RT1. Granularities RT0 and IO may be eliminated.
Migration matrix 140c (FIG. 1) may include information about a change of ratings. Migration matrix 140c may determine in which rating categories the customers show up at the end of a period given a specific rating at the beginning of the period. The key figures CNT and UT0 (UT1) may be used to calculate rating transitions (e.g., weighted or unweighted frequencies or probabilities).
The migration matrix may be calculated by summing up the fields UT0, UT1, CNT, and FX for the different rating transitions RT0→RT1 on the specified granularity. In one embodiment consistent with the invention, a filter (RT0=“not empty” and RT1=“not empty”) may be applied. Based on Table 4 (base matrix after aggregation, FIG. 1, step 130), Table 7 may be created. The granularity level of Table 7 may include the fields SID, RM, RT0, and RT1.
The acquisition and migration matrix 140b may be assembled by the single matrices described before. Furthermore, the acquisition and migration matrix 140b can contain additional data based on the base matrix as mentioned above, for example, data of inflows and outflows of customers, customer acquisitions, changes in volume, acquisition performance, and the portfolio after migrations.
The data of inflows and outflows of customers may be calculated by applying an appropriate filter based on the base matrix. The customer acquisition may arise from the total of customer wins and customer losses. The calculation of the portfolio after migration to t1 may also be based on the already determined data, the portfolio at t0, as well as the migration matrix. An exemplary calculation step is:
volume of the portfolio after migration to t1=portfolio at t0+inflows and outflows for each rating class with volumes of t1+outflows for each rating class with volumes of t1.
The changed volume may be calculated as volume of the portfolio at t1 minus volume of the portfolio after migration to t1 minus customer acquisition. The acquisition performance may be calculated as the total of customer acquisition and changed volume.
In the present working example, Table 8 may be achieved for the acquisition and migration matrix 140d.
Bringing all the different aspects together, the actions and events which lead to the changed risk profile within the period under consideration has been described. Based on this information, risk management may be provided with better information to adequately adjust the customer acquisition strategy, focus on customer retention, and react on unfavorable rating migration effects.
As all these actions may be taken by different parties within the financial institutions, the consistent information basis provided above may ensure that consistent actions can be initiated.
Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of embodiments and features of the invention disclosed herein. It is intended, therefore, that the specification and embodiments be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.