Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PRE-COMPRESSION DATA OBJECT CONVENTION CONVERSION
Document Type and Number:
WIPO Patent Application WO/2023/223214
Kind Code:
A1
Abstract:
Systems and methods are disclosed for converting an electronic book database from an initial state to an optimal state to transform previously uncompressible data objects stored in the electronic book database into compressible data objects. Therefore, while compression of the plurality of data objects, when the electronic book database is in the initial state, reduces consumption of the memory in the electronic book database to a lower memory consumption amount, the memory consumed when the compression is performed on the electronic book database in the optimal state is further improved. In other words, the memory consumption is further reduced using multilateral compression, risk-free netting, coupon blending, and/or other compression techniques because of the pre-compression transformation to the optimal state.

Inventors:
JUNOD PHILIP (SE)
THORNBERG CARL (SE)
THURIN TOMAS (SE)
ABDULLA ARIYAN (SE)
Application Number:
PCT/IB2023/055045
Publication Date:
November 23, 2023
Filing Date:
May 16, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TRIOPTIMA AB (SE)
International Classes:
G06F16/22
Foreign References:
US10803456B12020-10-13
EP3905056A12021-11-03
US10803456B12020-10-13
US11231884B12022-01-25
US11321292B22022-05-03
Other References:
MARCO D'ERRICO ET AL: "Compressing Over-the-Counter Markets", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 19 May 2017 (2017-05-19), XP080949034
Attorney, Agent or Firm:
PATEL, Aseet (US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1. A computer-implemented method for improving memory consumption by an electronic book database by identifying then converting a plurality of data objects stored in the electronic book database from an initial state to an optimal state before performing compression on the electronic book database, the method comprising: allocating, by a computer processor, memory in the electronic book database to store the plurality of data objects in the initial state, wherein each data object of the plurality of data objects stores parameters comprising a start date, end date, magnitude, and rate; wherein compression of the plurality of data objects, when the electronic book database is in the initial state, would reduce consumption of the memory in the electronic book database to a first memory consumption amount; determining a common start date that is associated with at least a first start date and a second start date of the plurality of data objects, wherein the first start date and the second start date are different dates; grouping, by the computer processor, the plurality of data objects with the first start date or the second start date in a subgroup of data objects associated with the common start date; converting, by the computer processor, each of the plurality of data objects in the subgroup associated with the common start date by optimizing at least each start date parameter in the data objects in the subgroup to the common start date, wherein after the converting, the electronic book database is in the optimal state different from the initial state; validating, by the computer processor, for each converted data object of the subgroup associated with the common start date, parameter values resulting after the converting step; compressing a validated first subgroup of data objects with a validated second subgroup of data objects based on the validated parameter values to form a compressed first subgroup and a compressed second subgroup; and replacing, in the memory of the electronic book database, the first subgroup of data objects and the second subgroup of data objects with the compressed first subgroup and the compressed second subgroup, respectively; wherein compression of the plurality of data objects, when the electronic book database is in the optimal state, reduces consumption of the memory in the electronic book database to a second memory consumption amount, wherein the second memory consumption amount is less than the first memory consumption amount.

2. The method of claim 1, wherein the converting of the electronic book database from the initial state to the optimal state transforms previously uncompressible data objects stored in the electronic book database into compressible data objects.

3. The method of claim 1, further comprising: repeating, for each common start date determined in the plurality of data objects, the grouping step and converting step before performing the compressing step.

4. The method of claim 1, wherein the compressing step comprises performing one or more of: coupon blending, multilateral compression, risk-free netting, and unilateral, risk-free SA-CCR optimization.

5. The method of claim 1, wherein the first start date is a federal holiday or a weekend day.

6. The method of claim 5, wherein the common start date adheres to a business day convention (BDC) and is set to the second start date.

7. The method of claim 6, wherein the optimizing of the start date parameter comprises replacing the first start date in the date object with the common start date.

8. The method of claim 7, wherein the replacing with the common start date includes setting StartBDC to CalcBDC.

9. The method of claim 1, wherein the converting comprises overwriting an original start date with the common start date.

10. The method of claim 1, wherein the optimizing of the electronic book database is restricted to the plurality of data objects corresponding to a single client portfolio to maximize internal conversional potential for the single client portfolio.

11. The method of claim 1, wherein the optimizing of the electronic book database is performed in two stages comprising: a first stage wherein the optimizing of the electronic book database is restricted to data objects corresponding to a single client portfolio; and a second stage, which is subsequent to the first stage, to maximize multilateral netting potential by optimizing the electronic book database on data objects corresponding to multiple client portfolios.

12. The method of claim 1, wherein the electronic book database comprises a first electronic book database at a first electronic platform of a first entity and a second electronic book database at a second electronic platform of a second entity.

13. The method of claim 1, wherein the first subgroup corresponds to a subgroup of a plurality of subgroups having a largest quantity of data objects.

14. The method of claim 1, wherein a first data object of the plurality of data objects comprises a first start date parameter, a first end date parameter, one or more first magnitude parameters, a spread parameter, and a rate parameter, and wherein converting the first start date parameter to the common start date comprises: identifying a second data object comprising a second start date parameter and a second end date parameter, wherein the second start date parameter is before the first start date parameter and the second end date parameter is at or after the first end date parameter; and converting the start date parameter and the end date parameter of the first data object based on the second start date and the second end date of the second data object.

15. The method of claim 1, further comprising: when the validating identifies that a parameter value of a first converted data object of the first subgroup resulting after the converting step is invalid, reverting the first converted data object to an unconverted data object; and removing the unconverted data object from the first subgroup.

16. The method of claim 15, wherein the parameter value of the first converted date object of the first subgroup is invalid after the converting step when a notional parameter is converted to a zero value.

17. A non-transitory computer-readable medium comprising instructions that, when executed by the one or more computer processors, cause a computing device to perform the method of any of claims 1-16.

18. A networked computer platform configured to perform one or more steps of the computer- implemented method of any of claims 1-16.

19. A computer-implemented method comprising: allocating, by a computer processor, memory in one or more electronic book databases to store a plurality of data objects in an initial state, wherein each data object of the plurality of data objects stores parameters comprising a start date, end date, magnitude, and rate; wherein compression of the plurality of data objects, when the one or more electronic book databases is in the initial state, would reduce consumption of the memory in the one or more electronic book databases to a first memory consumption amount; associating, by the computer processor, the plurality of data objects with at least a first start date or a second start date in a subgroup of data objects associated with a common start date; converting, by the computer processor, each of the plurality of data objects in the subgroup associated with the common start date by optimizing at least each start date parameter in the data objects in the subgroup to the common start date, wherein after the converting, the one or more electronic book databases is in an optimal state different from the initial state; compressing a first subgroup of data objects with a second subgroup of data objects based on the validated parameter values to form a compressed first subgroup and a compressed second subgroup; and replacing, in the memory of the one or more electronic book databases, the first subgroup of data objects and the second subgroup of data objects with the compressed first subgroup and the compressed second subgroup, respectively; wherein compression of the plurality of data objects, when the one or more electronic book databases is in the optimal state, reduces consumption of the memory in the one or more electronic book databases to a second memory consumption amount, wherein the second memory consumption amount is less than the first memory consumption amount.

20. The computer- implemented method of claim 19, further comprising: validating, by the computer processor, for each converted data object of the subgroup associated with the common start date, parameter values resulting after the converting step.

21. The computer- implemented method of claim 19, further comprising limitations recited in any of claims 2-16.

Description:
Pre-Compression Data Object Convention Conversion

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of, and priority to, U.S. Provisional Patent Application No. 63/364,766 filed on May 16, 2022, the content of which is expressly incorporated herein by reference in its entirety for any and all non-limiting purposes.

BACKGROUND

[0002] With the increasing reliance on electronic communication and record keeping, available computing resources remain at a premium. For example, as electronic communications increase, so have memory usage and computing processing power requirements. Often, enterprise organizations may desire to increase computing resources to account for the required increases in computing power and memory use, but are also required to maintain existing or aging hardware and software resources. Further, as data processing requirements increase, available and/or existing computing resources on a computing network (e.g., memory and/or other data storage technologies), may be depleted. As such, costs to purchase, upgrade, and/or repair of the hardware and software infrastructure components may also continue to increase.

[0003] The data created, stored, and processed by computerized resources of the enterprise network may be communicated between computing systems for processing. These communication requirements may likewise be increasing and may result in reduced communications capability, as communication bandwidth on the enterprise organization's network may be a finite and limited resource. As such communications requirements resulting from additional data use may also require additional resources to be added to the system.

[0004] US Patent No. 10,803,456 entitled, “Factorization-based data object processing,” is herein incorporated by reference in its entirety. That patent’s abstract states: “a system includes first logic to obtain a plurality of constituent data streams for each data object of a plurality of objects, second logic to analyze the plurality of constituent data streams to allocate each constituent data stream to one of a set of primary groups, third logic to assign the constituent data streams within each primary group of the set of primary groups having aligned timing to a netting group of the primary group, fourth logic to generate, for each netting group of each primary group of the set of primary groups, a plurality of continuous data streams by combining two or more of the constituent data streams within the netting groups, fifth logic to define a plurality of new data objects from the generated plurality of continuous data streams, each new data object of the plurality of new data objects specifying a plurality of continuous data streams associated with a pair of primary groups of the set of primary groups, sixth logic to incorporate at least one new data object of the plurality of new data objects into the set of data objects to effectuate adjustments to the set of data objects, and seventh logic to cause the processor to incorporate store, the adjustments to the set of data objects.”

[0005] US Patent No. 11,231,884 entitled, “Post-compression residual data object processing,” is herein incorporated by reference in its entirety. That patent’s abstract states: “A system includes logic stored in the memory and executable by the processor to cause the processor to obtain the set of primary data objects and the set of residual data objects, each residual data object of the set of residual data objects being associated with, and representative of rounding that led to, a respective primary data object of the set of primary data objects, to evaluate, for each residual data object of the set of residual data objects, whether removal of the residual data object breaches a data integrity rule, to cause the processor to, for each residual data object of the set of residual data objects for which the removal breaches the data integrity rule, implement an optimization to attempt to identify at least one adjustment to the set of primary data objects, the set of residual data objects, or both the set of primary data objects and the set of residual data objects, that allows the removal to proceed without breaching the data integrity rule, to remove, from the set of residual data objects, each residual data object of the set of residual data objects for which the removal does not breach the data integrity rule, and each residual data object of the set of residual data objects for which the at least one adjustment is identified, and to store the at least one adjustment in a memory.”

[0006] US Patent No. 11,321,292 entitled, “Reviewing effectiveness of communication rules system,” is herein incorporated by reference in its entirety. That patent’ s abstract states: “A method for reviewing effectiveness of a rules system applying one or more rules to communication traffic of a group of users. The method analyzes a log containing one or more communications reviewed by the rules system to determine if the communications in the log conforms to the communications policy. The method also identifies one or more of the rules of the rules system violated by the communications when the analyzing the log determines that at least one of the communications in the log does not conform to the communications policy. Other methods determine the effectiveness of planned modifications to a rules system.”

SUMMARY

[0007] The following presents a simplified summary in order to provide a basic understanding of some aspects of the disclosure. The summary is not an extensive overview of the disclosure. It is neither intended to identify key or critical elements of the disclosure nor to delineate the scope of the disclosure. The following summary merely presents some concepts of the disclosure in a simplified form as a prelude to the description below.

[0008] Aspects of the disclosure relate to intelligent data compression techniques and systems. Specifically, systems and methods are disclosed for converting an electronic book database from an initial state to an optimal state to transform previously uncompressible data objects stored in the electronic book database into compressible data objects. Therefore, while compression of the plurality of data objects, when the electronic book database is in the initial state, reduces consumption of the memory in the electronic book database to a lower memory consumption amount, the memory consumed when the compression is performed on the electronic book database in the optimal state is further improved. In other words, the memory consumption is further reduced using multilateral compression, risk-free netting, coupon blending, and/or other compression techniques because of the pre-compression transformation to the optimal state.

[0009] In one example, a method is disclosed in accordance with some embodiments of the disclosure where memory consumption by an electronic book database is improved by identifying then converting a plurality of data objects stored in the electronic book database, from an initial state to an optimal state, before performing compression (i.e., pre-compression) on the electronic book database. The method may include one or more steps of: allocating memory in one or more electronic book databases to store a plurality of data objects in an initial state; associating those data objects with particular start date ranges into a subgroup associated with a common start date; converting/optimizing each of the data objects in that subgroup by updating their start date parameter to the common start date; compressing the subgroups based on validated parameters to form compressed subgroups; and replacing in memory of the electronic book databases, the subgroups of data objects with the compressed subgroups. In some examples, the data objects may store parameters such as start date, end date, magnitude, rate, and/or other parameters.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010] A more complete understanding of the present invention and the advantages thereof may be acquired by referring to the following description in consideration of the accompanying drawings, in which like reference numbers indicate like features, and wherein:

[0011] FIG. 1 depicts a trading network environment for implementing trading systems and methods with credit control in accordance with one or more aspects of this disclosure; and the description of FIG. 1 is included in US Patent No. 10,803,456 entitled, “Factorization-based data object processing,” which is incorporated by reference in its entirety herein;

[0012] FIGS. 2 - 8 show one or more examples according to one or more aspects of this disclosure.

DETAILED DESCRIPTION

[0013] In the following description of the various embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration, various example implementations of the disclosure that may be practiced. It is to be understood that other example implementations may be utilized.

[0014] When a forward starting swap is traded in the market (e.g., between large financial institutions such as banks or between a bank and a client), the convention is to not use a business day convention (BDC) on the start date of the contract, the start date of the first floating, and fixed cash flows. The BDC of a date determines what action should be taken if the date falls on a holiday, either originally or if a holiday is added to a used calendar. For example, FOLLOWING means that the date is moved forward until the next business day. A convention of the forward starting swap is thus denoted by StartBDC=NONE. Other start dates and end dates of the data object is governed by the calculation date BDC, for example CalcBDC=FOLLOWING. Since a central counterparty clearinghouse (CCP) is required to stay market risk neutral (i.e., flat), a cash flow with a certain BDC on the start date cannot be netted against or merged with another cash flow with a different BDC convention because the data (e.g., parameter values) used for grouping does not match.

[0015] An efficient risk-free netting or multilateral compression algorithm can net cash flows (e.g., strips of cash flow) from trades of different lengths, if the parts that are netted against each other match in the data used for grouping. As a start date of a standard forward starting swap only matches other start dates of standard forward starting swaps, each such start date makes up an isolated constraining node in the netting or compression gross notional minimization problem. In other words, the convention on these trades makes the optimization model have more constraints.

[0016] One or more aspects of this disclosure provide one or more pre-processing methods to risk-free netting and multilateral compression. In some examples, the methods aim to convert maximum amount of gross notional from StartBDC=NONE to StartBDC=CalcBDC, so that risk-free netting and multilateral compression efficiency increases.

[0017] This disclosure describes systems and methods for processing a set of data objects and are directed to performing one or more adjustments to the data object set to reduce the number of data objects in the data set and/or to reduce a net value of one or more net sums of particular variables or other parameters within the set of data objects. The described systems and methods may be configured to determine optimal adjustments to achieve a maximum reduction (e.g., a reduction of the total number of data objects, a net reduction of a net sum value, etc.). For example, an illustrative optimal adjustment may be a minimization of the total number of data objects in the set of data objects, a minimization of a sum of parameter values of the data objects of the set and/or a combination. Additionally, other parameters of values associated with the data objects (e.g., new data objects, modified existing data objects, etc.) may be determined as part of an optimization process.

[0018] The processing of the described methods and systems is, in some cases, configured to generate new data objects to provide the optimization, thus providing additional opportunities for optimizing adjustments to the set of data objects. For example, new data objects may be generated through a process that factors, or decomposes, each data object into a plurality of constituent data elements. The procedure then uses combinations of those constituent data elements to generate new data elements, and/or to define the new data objects, for use in the data set optimization. The new data elements thus may be generated from factors of the existing data objects, such as by refactoring the existing data objects. The new data objects may then be incorporated into the set of data objects as part of the optimizing adjustments. The incorporation of the new data objects and subsequent optimizing adjustments (e.g., compression) does not require additional information (e.g., from the sources of the existing data objects) because of the refactoring manner in which the new data objects are generated.

[0019] These and other aspects of the disclosed methods and systems present technical solutions to the technical problems presented by the processing of sets of data objects. For instance, one technical problem involves data object sets that are excessively large. The size of the data object set presents storage and other processing requirements and challenges. However, indiscriminate deletion of data objects to reduce the size of the data object set is not possible, as information will be lost. Therefore, the technical problem also involves finding an intelligent method to reduce the size of the data object set, while retaining data integrity. Here, an intelligent procedure for reducing the size (and/or other size-related parameters) of the data object set provides solutions to such storage and processing challenges without incurring detrimental information loss. Further technical benefits involve a reduction in an amount of data communicated via networked connections and/or other data transmission connections based on the new data objects that are incorporated into a data object set. Further, the refactoring of existing data objects allows the new data objects to be valued or otherwise configured without requiring request or receipt of more information. As such, network traffic loading (e.g., data communication rates, idle times, wait times) and/or other network processing loads are reduced.

[0020] In an illustrative example, coupon blending and other types of risk neutral compression procedures may be used for data object sets that are representative of financial positions. Each financial position is created by a trade or transaction, such as an interest rate swap, where the interest rate swap information may be stored in a data object and a portfolio of interest rate swaps by be represented by the data object set. In the case of interest rate and other swap trades, each trade may create two positions, or legs, e.g., a “receive” position and a “pay” position for the incoming and outgoing cash flows, respectively, such that a data object may comprise multiple data structures, where each data structure is representative of a leg of the swap. Coupon blending involves a single party (e.g., a bank) attempting to lower the size of a portfolio while remaining cash flow neutral. The cash flows thus remain the same, but the gross notional amount of funds involved in the positions of the portfolio is lowered, as described in the examples below. The disclosed methods and systems are also useful in compression scenarios involving multiple parties. So-called multilateral compression involves compressing the portfolios of more than one party in accordance with risk constraints specified by each party. The risk constraints specify the degree to which the party's cash flows and/or other risk parameters (e.g., bucketed interest rate delta, fixing risk, etc.) may deviate from a cash flow neutral adjustment. The multilateral compression is usually provided in a manner that is risk neutral for a central or other controlling party, such as a clearinghouse (e.g., central counterparty clearinghouse, or CCP) or exchange. Keeping the CCP risk neutral is thus another constraint on the optimization implemented by the disclosed methods and systems. In some cases, an outside vendor may provide data set compression functionality for one or more portfolios, such as a portfolio of each party of a swap and/or a clearinghouse.

[0021] Aspects of this disclosure may be considered to implement a refactoring of the set of data objects for use in compression and other adjustments. Refactoring generally adds new data objects and, thus, degrees of freedom, to the optimization that finds the optimal compression or other adjustments. For example, in some applications, the refactoring may be used to create and value new trades that correspond to the new data objects. The refactoring allows the data object set compression to be implemented without requiring the enterprise organization (e.g., a bank) to send more data (e.g., a valuation data object). As such, the refactoring provides an automatic way to value the new data objects, e.g., the new trades, based on the existing data object (e.g., trades). Without such automatic valuation, the originating enterprise organization or other parties are required to communicate additional data objects (e.g., valuation data objects) in conjunction with the compression process, thereby necessitating further, and ongoing, data communications.

[0022] The disclosed methods and systems may be used in financial applications other than coupon blending and multilateral compression. For instance, the disclosed methods and systems are not limited to risk-free netting compression involving a single party. The refactoring of the disclosed methods and systems may be used to create and value new trades as additional degrees of freedom in other types of compression scenarios.

[0023] Referring to FIG. 1, the illustrated elements may be implemented by the systems described in US Patent No. 10,803,456 entitled, “Factorization-based data object processing,” the entire disclosure of which is hereby incorporated by reference and relied upon. The exchange computer system 100 may be configured to implement the data object set processing of the disclosed embodiments in connection with IRS and/or other trades. In such cases, each trade corresponds with a data object. A set of data objects may correspond with a portfolio of a party, such as a bank. As explained below, a trade may be decomposed into its legs and processed. An electronic book database may be comprised of one or more of a trade database 108 and/or an order book module 110 to store data objects corresponding to swaps and/or other order types. The processing of the set of data objects may then involve or include compression of the portfolio. The compression may be unilateral, and directed solely to the portfolio of a single party, e.g., as in coupon blending. The compression may alternatively be multilateral, when the compression involves the portfolios of multiple parties. Thus, in multilateral cases, the set of data objects processed by the disclosed embodiments includes the portfolios of the multiple parties.

[0024] In some embodiments, as described in US Patent No. 10,803,456 entitled, “Factorization-based data object processing,” the entire disclosure of which is hereby incorporated by reference and relied upon, the data object set processing may involve decomposing each trade (or other data object) in the set into legs (or other constituent data streams) in order to support refactoring, or other re-composition, of segments of the legs (or other streams) into possible new trades (or other data objects). As described further below, some of the new trades (or other data objects) are incorporated into the data set to provide additional opportunities, or degrees of freedom, to implement the portfolio compression or other data object set processing. The new trades (or other data objects) are configured in accordance with the legs (or other streams) of the existing trades (or other data objects) and otherwise configured (e.g., scaled) to implement the portfolio compression or other data object set processing.

[0025] In the example of FIG. 1, compression services provided by the disclosed embodiments may be implemented as part of, or otherwise in connection, with the risk management module 134 and/or another module or component of the exchange computer system 100. Other module(s) and/or exchange computer systems may be used to provide the compression service(s). In another example, the disclosed embodiments may be implemented in connection with another computer system, such as the computer system of a third-party service provider engaged by a market participant for data object set processing, including, for example, a compression vendor. In still other cases, the disclosed embodiments may be implemented by an entity, e.g., a bank, holding or otherwise controlling the portfolio (or set of data objects) to be compressed or otherwise processed.

[0026] Similar to described in US Patent No. 10,803,456 entitled, “Factorization-based data object processing,” the entire disclosure of which is hereby incorporated by reference and relied upon, some aspects of the disclosed methods and systems are directed to the practical application and technical benefit of reducing processor usage for calculations at compression clients (e.g., banks) and the amount of data needed to be sent from compression clients to a compression provider. Such processor usage reduction may be achieved by deriving full, non-approximative valuation and risk information, as if the client had done the calculations, of new trades. Such valuation may be provided by the disclosed embodiments through the use of information in the existing portfolio, as described below. In summary, the decomposition of the existing portfolio into constituent legs and leg segments, and use of such constituent legs to create new trades, allows the valuation of the existing portfolio to be used to value the new trades and generate the risk information. The valuation and other aspects of the disclosed methods and systems may thus be provided automatically.

[0027] As described in US Patent No. 10,803,456 entitled, “Factorization-based data object processing,” the entire disclosure of which is hereby incorporated by reference and relied upon, the disclosed methods and systems, in some embodiments, provide the ability to increase (e.g., automatically increase) the number of degrees of freedom in risk-free compressions, e.g. coupon blending, which results in a smaller data representation of a swap portfolio, and may also be associated with a lower capital charge for parties (e.g., banks). From a technical perspective, use of the disclosed methods and systems for portfolio compression results in fewer redundant cash flow records and transactions stored, maintained and administered to represent a net portfolio. Reducing the number of records provides the technical benefit of lowering the storage and processing load of the exchange computer system 100 and/or other computer systems involved in the transactions, thereby improving the speed and other performance parameters of such systems. The increase in degrees of freedom may also be used for unilateral, risk-free SA-CCR optimization. These and other compressions may also be implemented with fewer communications or other data transmissions (e.g., transmission of valuation information) due to, for instance, the refactoring of the disclosed methods and systems, thereby lowering network traffic or other network loads.

[0028] FIGURE 2 - Examples of Compression Process.

FIG. 2 illustrates one embodiment of a system for risk-free netting and multilateral compression being performed by an entity/vendor supplying multilateral portfolio compression, wherein aspects disclosed herein and incorporated by reference in this disclosure are used in different steps. In one example, the service is used on a system of two portfolios: Portfolio A and Portfolio B. In another example, where there are no multilateral elements, a coupon blending process of a CCP is illustrated in step 1.2 of FIG. 2.

[0029] Some details of risk-free netting and multilateral compression in an unlinked CCP are outlined in US Patent No. 10,803,456, entitled “Factorization-Based Data Object Processing,” where the CCP stipulates rules/constraints that define cash flow flatness for the process, for example a cash flow amount that impacts of all events created by the process cannot exceed one USD per amount pay date, given some grouping, or exceed 10 USD when summing all amount pay dates, given some grouping. In that example, the cash flow flatness holds at the time of execution of the netting and compression, and in the future when valuation data changes. For example, two equal and offsetting amounts may exist, but these amounts may refer to different valuation data (e.g., a different float rate index), and might not be netted against each other because the valuation data will diverge over time and the CCP will be in flatness breach. Given these rules by the CCP, and other rules stipulated by entities (e.g., clients), the objective of risk-free netting and multilateral compression is to optimally remove gross notional for a portfolio and, correspondingly, minimize the size/memory consumed by the set of data objects.

[0030] FIGURE 3 - Examples of CCP Cash Flow Flatness Rules. FIG. 3 shows an illustrative method with rules that a CCP stipulates for processes where contract data objects are removed or amended, both multilateral and unilateral. An interest rate swap trade data object consists of two leg data objects, which in turn consist of many cash flow data objects. Each cash flow object has a pay date feature, and it is the sum of the amounts of all such pay dates, given some grouping stipulated by the CCP, that needs to be within a limit, for example one USD, at the time of the execution and in the future. To achieve this, all legs are first grouped by core properties, for example day count convention and calendar data. In some examples in this disclosure, the legs in images and descriptions are from the same group. To simplify, it may also be sometimes assumed that legs are either floating legs or fixed legs with the same fixed rate, if nothing else is mentioned, even though the disclosure can in some examples accommodate different fixed rates. In the upper left examples, two identical legs except for the sign of the size, 1 million vs -1 million are shown, and the rectangles of each leg represent cash flows. For legs or cash flows to be nettable, all cash flow date features must match where legs overlap, for example start and end dates of cash flows. The shading of the rectangles indicates cash flow data permutations, and in that example the cash flows of the two legs have the same shading and can thus be netted completely to no residual left.

[0031] The upper right example in FIG. 3 involves a more complex examples, as the negative lower side is split in two data objects, one between 0-5 years, and one between 5-10 years. Still, as all cash flows have the same features except for sign of the size, and thus these three legs can be netted to zero residual. The first cash flow object of Eeg D has the same shading as a cash flow object in the middle of Eeg A, which indicates that StartBDC=CalcBDC for Leg D. If that was not the case, nothing could be netted in the upper right example. In the bottom example in FIG. 3, this is the case, as Leg E has StartBDC=NONE, and thus nothing can be netted in that example. In some embodiments, an objective of the disclosed system and/or method is to convert as much gross notional as possible to StartBDC=CalcBDC, to increase efficiency, for example in the case of the bottom example.

[0032] FIGURE 4 - Examples of Start Date BDC Effect.

FIG. 4 shows an illustrative method of the effect of the change of a business day (B) to a holiday (H), in the case of StartBDC=NONE and StartBDC=FOLLOWING. In a scenario involving NONE, the start date of a cash flow will not change, but it will remain on the now existing holiday. In the case of FOLLOWING, the start date is moved to the following business day. This shows that simply changing the start date BDC on one single leg in the CCP is not a valid amendment, as a future change to the business day calendar of the leg will change the first cash flow length, and thus change the first cash flow amount of the first cash flow pay date, and thus create an amount breach in the CCP. In other examples the StartBDC may involve values such as MODFOLLOWING, PRECEDING, etc., and the illustrative methods similar to FIG. 4 may be applied to consider its effect on cash flow.

[0033] FIGURE 5 - Examples of Offsetting Start Date BDC Effects.

Instead consider a system, as illustrated in FIG. 5, of two legs of opposite signs where the two legs on the left of FIG. 5 still have StartBDC=NONE. When the business day is in the middle, the start date of the first cash flow is changed to a holiday, then both legs behave the same, and the CCP is amount flat. If both legs are now converted to StartBDC=FOLLOWING and the business day in the middle is changed to a holiday, the start dates of both legs are moved on the first cash flow. As the legs have opposite signs, this means that any effects of the start date change cancel each other out. This implies that it is valid to convert the start date BDC feature on leg data objects if it is done in a net neutral manner for the CCP. For example, for forward starting interest rate swaps, it would typically mean that sum of net notional changes, sum of net notional*fixed_rate changes and sum of net notional* spread changes should be zero at each start date.

[0034] FIGURE 6 - Examples of Conversion and/or Compression Processes.

FIG. 6 shows an illustrative, altered method for multilateral portfolio compression, where start date BDC conversion steps have been added. Notably, if all multilateral steps are removed, a typical coupon blending process of a CCP is shown, which also implies that the unilateral conversion step can be used in a CCP, and not only in a process with multilateral steps. The steps 5.1. and 5.2. are similar, except in that at step 5.1 each client portfolio is processed one at a time. In step 5.2, start date BDC conversion netting is performed across client portfolios. This may be done to ensure that internal conversion potential for each client is first maximized before multilateral netting potential is maximized, in one example. Without a two-step approach there would be a risk that a client converts less than the internal potential, as that potential might be utilized for another client in the multilateral step. Apart from this, steps 5.1. and 5.2. follow the same logic and implementation. In some examples, the two-step approach might not be used, and instead an alternative approach may be used as would be apparent to a person skilled in the art after review of the entirety disclosed herein including any materials incorporated by reference herein.

[0035] FIGURE 7 - Examples of Conversion Methods.

FIG. 7 outlines one example of a conversion method, as illustrated in FIG. 6 (e.g., ref. 5.1 and 5.2 respectively) for one or several portfolios. In FIG. 7, block 6.1 all data objects in scope are collected, and there are two factors to consider for each forward starting data object where StartBDC=NONE.

[0036] One factor is whether a data object with StartBDC=CalcBDC can be created in the CCP. There are two main methods for creating such swaps. The first method modifies the start date BDC of the swap, and in that case the answer is that the converted object (e.g., transformed object) can be created. The second method is to use any swap that begins before the object to be converted and ends at or after the object to be converted, copy it, and modify start date, end date, notional, notional sign, spread and fixed rate to match the object to be converted. When a start date is moved forward in a CCP using this method, the StartBDC is automatically changed to CalcBDC. If there exist such an object that can be modified in such a way to create the converted version of the object to be converted, the answer is that the converted object can be created.

[0037] The other factor to consider for each forward starting data object where StartBDC=NONE is whether there will be a valuation impact from converting the data object. If for example the start date already resides on a holiday, and the start date BDC is changed from NONE to for example FOLLOWING, the start date of the leg will move when the convention is changed, and that would not be valid from the client perspective. In some examples, a method to determine that there are no valuation impacts from converting the start date BDC is to collect all cash flow objects in the portfolio that are not start or end cash flows, as those objects use CalcBDC for all date features. If all those objects are grouped on relevant trade, leg and cash flow features, and there exist a cash flow object in the group of the cash flow to be converted, that matches the cash flow to be converted except that StartBDC=CalcBDC, there will be no valuation impacts from converting the object. [0038] Referring to FIG. 7, block 6.2, after those data objects to be converted are identified (e.g., collected), an optimization algorithm may be used to convert (e.g., transform) as much start date BDC from NONE to CalcBDC as possible. This disclosure contemplates that there are several alternatives on how to implement this step, but one option is to treat the problem as a risk-free netting problem, either on one portfolio or the union of all portfolios in the multilateral case, where only the first cash flow of each trade contributes to any CCP amount flatness rules. For example, in the multilateral example, the union of all portfolios may involve a system communicatively couples with a first electronic book database at a first electronic platform of a first entity and a second electronic book database at a second electronic platform of a second entity. Thus, an electronic book database may comprise the union of multiple portfolios.

[0039] In one example related to block 6.2, the configuration allows for a 10-year long leg to be converted against a 1-year long leg, which would not have been the case if all cash flows contributed to rules. A second difference compared to a traditional risk-free netting setup is that the size of a leg can only be reduced, and not increased, as an increase in size would be the opposite to conversion of the object.

[0040] Referring to FIG. 7, in block 6.3, the resulting statistic of the conversion may be analyzed to determine if resulting objects are valid. In one example, an instruction to create an object with zero as notional but non-zero as notional*fixed_rate is not possible as zero times something cannot become non-zero. For example, when the validating identifies that a parameter value of a first converted data object of a first subgroup resulting after the converting step is invalid, the computer process reverts the first converted data object to an unconverted data object and removes the unconverted data object from the first subgroup. For example, the parameter value of the first converted date object of the first subgroup is invalid after the converting step when a notional parameter is converted to a zero value. There are also other potential rules from both clients and the CCP that apply and would be apparent to a person of skill in the art after review of the entirety disclosed herein. If any such invalid converted objects are found in the result, those objects are removed from the in-scope collection and the process restarts at block 6.1.

[0041] When the conversion is finalized, the output/result of each potential conversion data object may be processed in block 6.4 in FIG. 7. If the option to treat the conversion problem as a risk-free netting problem is used, the result of each object can be one of several different outcomes. In one outcome, if the option to treat the conversion problem as a risk-free netting problem is used, the result of each object can, in some examples, be that nothing has happened to the object, as which it is returned to the portfolio collection in its original unconverted state. In other examples, the object may be fully removed, at which time a converted copy with StartBDC=CalcBDC of the original size is added to the portfolio collection. In yet a third example, the object is partially removed, that is in a state between the two aforementioned examples above. In one example, assume the original trade is of 1 million in notional and the result is that half of that is converted. Then the original object is scaled down to half its original size and returned to the portfolio collection, and a residual data object copy of half the size with StartBDC=CalcBDC is created and added to the portfolio collection.

[0042] Notably, not only the notional size may change, but also the fixed rate size, for trade objects where it is valid to do so. In that scenario, the aforementioned third example inspects the residual in both notional and notional* fixed_rate to determine the notional sizes and fixed rates of the scaled original and the converted, residual copy of the data object.

[0043] FIGURE 8 - Examples of Efficiency Increases/Improvements.

FIG. 8 shows that the conversion of data objects can, in some examples, increase efficiency of risk-free netting and multilateral compression. In the upper left of FIG. 8, two portfolios, A and B, are depicted where portfolio A has two started swaps and one forward starting swap. Portfolio B has two forward starting swaps. The system has a total of six million in notional and five legs. Neither risk-free netting nor multilateral compression can do anything to reduce the sum of gross notional or the number of data object in this system. However, the converting of the electronic book database, which is described in this disclosure, from the initial state to the optimal state transforms previously uncompressible data objects stored in the electronic book database into compressible data objects. Therefore, while compression of the plurality of data objects, when the electronic book database is in the optimal state, reduces consumption of the memory in the electronic book database to a second memory consumption amount, wherein the second memory consumption amount is less than the memory consumption amount if compression had been attempted in the initial state. [0044] Referring to FIG. 8, in the upper right, Leg C and Leg E have been converted (e.g., transformed) from StartBDC=NONE to StartBDC=CalcBDC by multilateral conversion between those two data objects. As all cash flow objects, apart from the first of Leg D, now share the same data permutations, both portfolios can now achieve netting. Half of Leg A is netted against Leg B and Leg C, and Leg D and Leg E are merged into a longer data object, Leg F. In some examples, this longer data object may be a single unitary data object. Meanwhile, in other examples the memory that stores the data object may be fragmented and separate, but associated with a common identifier/link. The result of the netting can be seen in the lower right, and the resulting system has two million in notional and two legs, a reduction of four million in notional and three legs.

[0045] While numerous advantages and benefits have been described, either expressly or implicitly, in this disclosure, some additional advantages include increased reduction of gross notional in risk-free netting, coupon blending, and multilateral compression, resulting in increased efficiency and revenue. In addition, another benefit is a reduction in the number of data objects at the CCP and the clients, which results in reduction in the used data storage to represent the objects and reduce computational cost of various calculations performed by the objects, for example initial margin and portfolio DV01. Furthermore, a reduced number of objects at the CCP and the clients reduces used bandwidth when data is sent to vendors/other entities’ platform from the CCP’s platform and the clients’ platform for various services, for example data sent for multilateral compression. With less data objects between the CCP and the clients there is reduced operational processes needed and reduced operational cost, due to the lower number of cash flow objects in need of processing.

[0046] A financial instrument trading system, such as a futures exchange, referred to herein also as an “exchange”, provides a contract market where financial instruments, for example futures and options on futures, are traded. The term “futures” is used to designate all contracts for the purchase or sale of financial instruments or physical commodities for future delivery or cash settlement on a commodity futures exchange. A futures contract is a legally binding agreement to buy or sell a commodity at a specified price at a predetermined future time. An option is the right, but not the obligation, to sell or buy the underlying instrument (in this case, a futures contract) at a specified price within a specified time. [0047] Typically, the exchange provides for a centralized “clearinghouse” through which all trades made must be confirmed, matched, and settled each day until offset or delivered. The clearinghouse is often (e.g., sometimes) adjunct to the exchange, and may be an operating division of the exchange, which is responsible for settling trading accounts, clearing trades, collecting and maintaining performance bond funds, regulating delivery, and reporting trading data. One role of the clearinghouse is to mitigate credit risk. Clearing is the procedure through which the clearinghouse becomes buyer to each seller of a futures contract, and seller to each buyer, also referred to as a novation, and assumes responsibility for protecting buyers and sellers from financial loss due to breach of contract, by assuring performance on each contract. A clearing member is a firm qualified to clear trades through the clearinghouse.

[0048] An interest rate futures contract, also referred to as an interest rate future, is a futures contract having an underlying instrument/asset that pays interest, for which the parties to the contract are a buyer and a seller agreeing to the future delivery of the interest bearing asset, or a contractually specified substitute. Such a futures contract permits a buyer and seller to lock in the price, or in more general terms the interest rate exposure, of the interest-bearing asset for a future date.

[0049] An interest rate swap (“IRS”) is a contractual agreement between two parties, i.e., the counterparties, where one stream of future interest payments is exchanged for another, e.g., a stream of fixed interest rate payments in exchange for a stream of floating interest rate payments, based on a specified principal amount. An IRS may be used to limit or manage exposure to fluctuations in interest rates. One common form of IRS exchanges a stream of floating interest rate payments on the basis of the 3 -month London interbank offered rate for a stream of fixed-rate payments on the basis of the swap's fixed interest rate. Another common form of IRS, knows as an overnight index swap, exchanges at its termination (or at other intervals, e.g., every three months) a floating rate payment determined by daily compounding of a sequence of floating interest rates on the basis of an overnight interest rate reference (e.g., the US daily effective federal funds rate, or the European Overnight Index Average (EONIA)) over the life of the swap, for a fixed rate payment on the basis of daily compounding of the overnight index swap's fixed interest rate over the life of the swap. In some cases (e.g., a zero coupon overnight index swap), there is only a single payment at maturity. In other cases (e.g., a regular overnight index swap), payments are made at regular intervals. [0050] An interest rate swap futures contract is one in which the underlying instrument is an interest rate swap. As such, an interest rate swap futures contract permits “synthetic” exposure to the underlying interest rate swap, i.e., without entailing actual ownership of the underlying IRS.

[0051] In a typical futures trading environment, the standardization of futures contracts and the nature of the central counterparty-based trading system allows an exchange, or market participant thereof, to net together offsetting positions in the same contract for the purpose of reducing the margin requirement to reflect the reduced risk of loss of such positions and/or to outright consolidate positions to reduce the size of the portfolio and/or reduce transaction fees therefore. As the exchange, being a central counterparty to all transactions, ensures that each counterparty is not at risk of loss due to the default of the other party, such netting and consolidation by one market participant does not affect the positions and risk undertaken by another participant. Such netting functionality allows for data objects storing information representative to the positions of a portfolio to be leveraged when compressing the set of data objects representative of the portfolio.

[0052] In the case of IRS contracts, however, the variability in the characteristics of positions which may exist in any given portfolio, such as the maturity date, coupon, etc. may make it difficult to identify suitable positions for netting though, for example, such positions, though not identical, may exist which are similar enough as to represent a reduced risk of loss meriting a reduction in the margin requirement. Further complicating this process is the bilateral nature of an IRS contract where a particular position of one party is coupled with a counter position of a counterparty thereto. For instance, an adjustment to improve one party's portfolio may affect the portfolio of the counterparty, in which case adjustments to the counterparty's portfolio may become necessary. Further, as described above, positions in IRS contracts, and in particular, various combinations of positions therein, are typically undertaken to serve particular economic purposes, such as to achieve a particular risk exposure or risk profile, which may be unique to that market participant. Accordingly, IRS contract positions within a particular portfolio may not be consolidated without necessarily affecting not only the economic purpose intended by the market participant holding that portfolio but also the economic purposes, which may be different, of any counter party market participants to the contract positions. [0053] When used in coupon blending, the disclosed methods and systems might not include valuing the new trades. Aspects of this disclosure may, in coupon blending and other cases, include a calculation to confirm that the portfolio adjustments are cash flow flat (or within one or more risk constraints). In multilateral compression applications, the new trades are valued exactly as if the parties (e.g., banks) implemented a valuation in their own system. As described below, the decomposition of the existing trades into constituent legs and leg segments (data streams) and the subsequent refactoring of such leg segments into new trades allows the valuation data for the existing trades to be used to value the new trades. In this way, the disclosed methods and systems may verify and report all compression results with constraint outcomes using valuations already approved by the parties.

[0054] Although described in connection with examples involving data objects representative of interest rate swap (IRS) trades, aspects of this disclosure are useful in connection with other types of data objects. For instance, the data objects may be representative of other types of trades or transactions, including, for instance, various types of credit default swap transactions. Still other types of data objects may be processed by the disclosed methods and systems, including, for instance, other data storage or processing systems for which data compression is useful. The types, sources, and other characteristics of the data objects may vary accordingly.

[0055] As discussed above, an IRS is a contractual agreement between two parties, i.e., the counterparties, where one stream of future interest payments is exchanged for another, e.g., a stream of fixed interest rate payments in exchange for a stream of floating interest rate payments, based on a specified principal amount. An IRS may be used to limit or manage exposure to fluctuations in interest rates. One common form of IRS exchanges a stream of floating interest rate payments on the basis of the 3 -month London interbank offered rate for a stream of fixed-rate payments on the basis of the swap's fixed interest rate. Other types of IRSs exchange other floating rate payments over the timespan of the swap for a fixed rate payment.

[0056] Due to the nature of interest rate swap trading, a given portfolio may include a large number of trades, and thus a large number of individually unique positions, also referred to as line items. Each swap trade presents a pay position and a receive position for each party to the trade. A pay position specifies a stream of payment obligations, such as pay 5% fixed on a notional amount (e.g., $5 million (M)) over a certain time at a particular period pay period. A receive position specifies a stream of incoming payments, such as receive floating interest rate payments on a notional amount (e.g., $5M) over a certain time at a particular pay period. Each portfolio may include a large number of similar, but not identical, positions. As a result, a new function for clearinghouses to net similar but not identical line items is warranted. The exchange or central counterparty has robust capability to allow a trader to initiate a position (e.g., buy or sell) or unwind the same position (e.g., sell or buy), where unwinding a position may be understood to have an opposing or counter effect as initiating a position. However, the central counterparty has no mechanism to group positions by similar characteristics and then eliminate overlapping line items. In some cases, compression may involve or refer to netting nonidentical line items.

[0057] Compression generally reduces the notional value of economically offsetting positions without having to necessarily unwind exactly the same position that was initiated. Previous systems have employed compression generally in dealer-to-dealer trading. Given the homogeneity of the user base in existing systems, previously there was little need for systems to accommodate unique compression criteria. However, as the user base for cleared IRS grows, so too do the differences in compression criteria, and the need to pair large numbers of potentially disparate users and the associated set of data objects (e.g., portfolios).

[0058] Further, as was described, positions in one portfolio cannot necessarily be netted or consolidated without affecting counter-positions held in the portfolios of the counterparty market participants thereto which may have different criteria for determining positions capable of being netted or consolidated according to their unique economic purpose. In addition, the exchange or central counterparty may prohibit or otherwise inhibit each market participant from being privy to the portfolios and/or criteria of other market participants to preserve anonymity of the participants.

[0059] While the disclosed embodiments may be discussed in relation to IRS contracts or trades, it will be appreciated that aspects of the disclosure may be applicable to other bilateral contracts, or other multilateral relationships. For instance, the disclosed methods and systems may also be useful in connection with other types of swap trades, including, for instance, those involving cash flows, such as basis swaps, constant maturity swaps, and cross-currency swaps. The disclosed methods and systems may be used in connection with any other market now available or later developed. [0060] In some cases, the compression provided by the disclosed methods and systems may be initiated and otherwise implemented automatically. For example, the disclosed methods and systems may be configured to automatically process a set of data objects upon the detection of a trigger event or condition, such as a set of data objects exceeding a data size threshold. Alternatively or additionally, the disclosed methods and systems may be configured to automatically evaluate sets of data objects for compression, e.g., on a periodic or regular basis.

[0061] Aspects of the disclosure have been described in terms of illustrative embodiments thereof. Numerous other embodiments, modifications, and variations within the scope and spirit of the appended claims will occur to persons of ordinary skill in the art from a review of this disclosure. For example, one or more of the steps depicted in the illustrative figures may be performed in other than the recited order, and one or more depicted steps may be optional in accordance with aspects of the disclosure.