US20140180907A1 - System and method for optimizing collateral management - Google Patents
System and method for optimizing collateral management Download PDFInfo
- Publication number
- US20140180907A1 US20140180907A1 US14/137,441 US201314137441A US2014180907A1 US 20140180907 A1 US20140180907 A1 US 20140180907A1 US 201314137441 A US201314137441 A US 201314137441A US 2014180907 A1 US2014180907 A1 US 2014180907A1
- Authority
- US
- United States
- Prior art keywords
- collateral
- deal
- borrower
- tri
- cash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G06Q40/025—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
Definitions
- This application is directed to a computer-implemented system and method useful for managing collateral associated with Repurchase Agreements (“Repos”).
- this application is directed to a computerized system and method for efficiently allocating the collateral managed by a third party agent (a “Tri-Party agent”) in Tri-Party Repos.
- Tri-Party agent a third party agent
- a seller In a Repo, a seller (dealer/borrower/cash receiver) sells securities for cash to a buyer (lender/cash provider) and agrees to repurchase those securities at a later date for more cash.
- the Repo rate is the difference between borrowed and paid back cash expressed as a percentage.
- the buyer typically utilizes Repos to invest cash for an agreed upon duration of time (typically overnight, although the term may vary), and would receive a rate of interest in return for the investment.
- the seller typically utilizes Repos to finance long positions in securities or other assets in the seller's portfolio.
- Repos are financial instruments used in money markets and capital markets, and are economically similar to a secured loan, with the buyer receiving securities as collateral to protect against default.
- Virtually any security may be employed in a Repo, including, for example, Treasury or Government bills, corporate and Treasury/Government bonds, stocks/shares, or other securities or financial instruments.
- Coupons installment payments that are payable to the owner of the securities
- which are paid while the Repo buyer owns the securities are, in fact, usually passed directly onto the Repo seller. This may seem counterintuitive, as the ownership of the collateral technically rests with the buyer during the Repo agreement. It is possible to instead pass on the coupon by altering the cash paid at the end of the agreement, though this is more typical of Sell/Buy Backs.
- the collateral is managed by a Tri-Party agent (typically a bank), who may match the details of the trade agreed upon by the buyer and the seller, and assume all of the post trade processing and settlement work.
- the Tri-Party agent controls the movement of securities, such that the buyers do not actually take delivery of collateralized securities.
- the Tri-Party agent acts as a custodian for the collateral, and allows the flow of collateral and cash between buyers and sellers across one or more deals.
- the seller/dealer may have numerous assets that are being managed by the Tri-Party agent.
- Such movements would generally be agreed to by the buyer and the seller when entering the agreement to be managed by the Tri-Party agent.
- the system and method of this disclosure enhances the allocations of collateral associated with a plurality of Repo agreements.
- various embodiments provide functions relating to determining overcollateralization and undercollateralization across the Repos, and ascertaining enhanced or optimal restructuring of the collateral associated with the Repos, to satisfy the requirements of the deal, and the preferences of those participating in the deal.
- Various embodiments of this disclosure may be used in conjunction with existing financial services platforms, for example the Bank of New York Mellon's Tri-Party repurchase agreement products (RepoEdge®) which allow clients to outsource the operational aspects of their collateralized transactions, and Derivatives Margin Management (DM Edge®), which helps clients manage credit risks associated with derivatives transactions by enabling them to accept, monitor and re-transfer collateral.
- RepoEdge® the Bank of New York Mellon's Tri-Party repurchase agreement products
- DM Edge® Derivatives Margin Management
- These services among others such as Repo Margin Management (RM Edge®), MarginDirect SM , and Derivatives Collateral Net (DCN), may be delivered to clients through AccessEdge SM , a real-time, web-based portal.
- the operator/manager of the system and method of this disclosure acts as a third-party service provider to the two principals to a trade, and the various functions performed by the system and method provide value-added services which mitigate risk and lead to greater efficiencies for both parties.
- a system for managing collateral allocations in one or more Tri-Party repurchasing agreements includes one or more memory elements coupled to one or more processors and configured to store deal attributes including rule sets associated with a lender l, and one or more collateral characteristics for collateral provided by the borrower b that are associated with each of the Tri-Party repurchasing agreements.
- the system includes at least one collateral allocation module, configured through the one or more processors to optimize auto cash associated with the Tri-Party repurchasing agreements.
- the at least one collateral allocation module is also configured through the one or more processors to optimize an amount short associated with the Tri-Party repurchasing agreements.
- the at least one collateral allocation module is also configured through the one or more processors to optimize a cost of carry index associated with the Tri-Party repurchasing agreements.
- the at least one collateral allocation module is further configured through the one or more processors to optimize a collateralization index associated with the Tri-Party repurchasing agreements.
- a system for managing collateral allocations in one or more Tri-Party repurchasing agreements includes one or more memory elements coupled to one or more processors and configured to store deal attributes including rule sets associated with a lender l, and one or more collateral characteristics for collateral provided by the borrower b that are associated with each of the Tri-Party repurchasing agreements.
- the system includes at least one collateral allocation module, configured through the one or more processors to optimize a settlement index associated with the Tri-Party repurchasing agreements.
- the at least one collateral allocation module is also configured through the one or more processors to optimize a collateralization index associated with the Tri-Party repurchasing agreements.
- the at least one collateral allocation module is further configured through the one or more processors to optimize a cost of carry index associated with the Tri-Party repurchasing agreements.
- a method for managing collateral allocations in one or more Tri-Party repurchasing agreements includes optimizing, utilizing one or more processors, auto cash associated with the Tri-Party repurchasing agreements. The method also includes optimizing, utilizing the one or more processors, an amount short associated with the Tri-Party repurchasing agreements. The method also includes optimizing, utilizing the one or more processors, a cost of carry index associated with the Tri-Party repurchasing agreements. The method further includes optimizing, utilizing the one or more processors, a collateralization index associated with the Tri-Party repurchasing agreements.
- the one or more processors are coupled to one or more memory elements configured to store deal attributes including rule sets associated with a lender l, and one or more collateral characteristics for collateral provided by the borrower b that are associated with each of the Tri-Party repurchasing agreements.
- a method for managing collateral allocations in one or more Tri-Party repurchasing agreements includes optimizing a settlement index associated with the Tri-Party repurchasing agreements.
- the method also includes optimizing a collateralization index associated with the Tri-Party repurchasing agreements.
- the method further includes optimizing a cost of carry index associated with the Tri-Party repurchasing agreements.
- the one or more processors are coupled to one or more memory elements configured to store deal attributes including rule sets associated with a lender l, and one or more collateral characteristics for collateral provided by the borrower b that are associated with each of the Tri-Party repurchasing agreements.
- FIG. 1 provides a functional block diagram of an embodiment of a computer-implemented and networked system for collateral management
- FIGS. 2A-2B illustrate a logic flowchart that implements a collateral allocation optimization algorithm and other rules relating to collateral allocation in an embodiment of this disclosure
- FIG. 3 illustrates an example of reallocations of securities throughout the operation of the optimization algorithm
- FIG. 4 provides an illustrative screen shot representing an allocation template modification screen that may be used in a graphical user interface of an embodiment of this disclosure
- FIG. 5 provides an illustrative screen shot representing an allocation template review screen that may be used in a graphical user interface of an embodiment of this disclosure
- FIG. 6 provides an illustrative screen shot representing an allocation template list screen that may be used in a graphical user interface of an embodiment of this disclosure
- FIG. 7 provides an illustrative screen shot representing an allocation submission screen that may be used in a graphical user interface of an embodiment of this disclosure
- FIG. 8 provides an illustrative screen shot representing an allocation history search screen that may be used in a graphical user interface of an embodiment of this disclosure
- FIG. 9 provides an illustrative screen shot representing an allocation history search results screen that may be used in a graphical user interface of an embodiment of this disclosure
- FIG. 10 provides an illustrative screen shot representing an allocation history detail report screen that may be used in a graphical user interface of an embodiment of this disclosure.
- FIG. 11 illustrates an embodiment of a workflow configured to implement optimization models described herein.
- examples of a processor may include any one or more of, for instance, a personal computer, portable computer, personal digital assistant (PDA), workstation, or other processor-driven device
- examples of network may include, for example, a private network, the Internet, or other known network types, including both wired and wireless networks.
- a machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device, or a signal transmission medium), and may include a machine-readable transmission medium or a machine-readable storage medium.
- a machine-readable storage medium may include read only memory, random access memory, magnetic disk storage media, optical storage media, flash memory devices, and others.
- firmware, software, routines, or instructions may be described herein in terms of specific exemplary embodiments that may perform certain actions. However, it will be apparent that such descriptions are merely for convenience and that such actions in fact result from computing devices, processors, controllers, or other devices executing the firmware, software, routines, or instructions.
- Described herein is an exemplary algorithm which may be implemented through computer software running in a processor to determine optimal collateral allocations based on user-selected criteria. This algorithm is not intended to be limiting, but is merely provided to describe one way of accomplishing the functions associated with determining optimal collateral allocations.
- trading parties include, but are not limited to, broker-dealers, institutional investors, and hedge fund managers.
- a web-based collateral management system or platform links dealers with investors to conduct collateral transactions in a safe, efficient, and reliable way.
- Online dealers and investors can manage collateral among a diverse range of instruments, including Tri-Party repo agreements in all major currencies, securities lending transactions, municipal deposits, bank loans, derivatives transactions, letters of credit, and structured trades, for example.
- the system may be managed by the Tri-Party agent, and may additionally provide, for example, daily mark-to-market valuations, haircuts/margins, and concentration limits (i.e., maintain percentages of market capitalization, dollar amount limits for a particular security, or a percentage of the portfolio in a particular security, for example), as well as manage, track, and settle collateral transactions across global capital markets by working collaboratively with clients to provide collateral transparency.
- the enhanced collateral allocation aspect of this disclosure may allow dealers (i.e. the sellers in Repos) to control and/or automatically permit the shifting of collateral associated with a plurality of deals that are under the management of the Tri-Party agent, even though the collateral is titled to the buyers in the Repo.
- Such transfers may “optimize” the allocations, so, for example, the fewest number of deals are under-collateralized or over-collateralized, while the collateral allocations meet buyer and/or seller requirements for the deals, as described in greater detail below.
- FIG. 1 illustrates a functional block diagram of an embodiment of post-trade management system 100 .
- Post-trade management system 100 is established to permit seller 110 and buyer 115 to access collateral management system 140 via network 130 and platform manager 120 , or optionally bypasses platform manager 120 .
- Collateral management system 140 may utilize one or more processors (not shown), housed within one or more computers, which may be networked together by any appropriate mechanism, including, for example, network 130 .
- the one or more processors are configured to run one or more modules, as described below.
- the modules of collateral management system 140 may include network communication module 145 , configured to process external communications between collateral management system 140 and network 130 .
- Account search module 150 may be configured to search one or more databases associated with client assets held in custody for, or for the benefit of various existing clients of platform manager 120 .
- Account search module 150 may be configured to search for a particular type of security or asset, a particular security issuer, or a security rating, for example.
- account search module 150 may be configured to access memory storage device(s) 155 , which may include one or more databases 160 therein.
- Memory storage device 155 may be any type of conventional storage mechanism for example, one or more hard drives, solid state drives, network storage, random access memory (RAM), combinations thereof, or so on.
- Database 160 may be any type of appropriate database, as would be known by a person of ordinary skill in the art, for example.
- Operator input/output and display module 165 represents various techniques and computer peripheral devices for providing operator input and output to collateral management system 140 .
- operator input/output and display module 165 may communicate with network communication module 145 , to provide seller 110 and/or buyer 115 with remote access to collateral management system 140 via network 130 .
- Collateral management system 140 may additionally include reporting and messaging module 170 , which may be configured to provide standard and/or custom report and messaging formats that may be transferred to network 130 by collateral management system 140 , (optionally) through platform manager 120 , or through an alternate communications path illustrated by the dashed double-ended arrow in FIG. 1 .
- collateral management system 140 may include payment processing module 175 , indicated in dashed lines, which may have optional functionality associated with business payment activities for services rendered by the system manager (i.e. the third party agent) in processing, evaluating, and optimizing reallocation of collateral for managed deals such as the Tri-Party Repos. As further shown in FIG.
- collateral management system 140 further includes collateral allocation module 180 , which may be configured to us the one or more processors to evaluate various security positions that are being utilized as collateral for a Repo deal, or may be eligible to be utilized in a Repo deal, and ascertain the allocations of the security positions across a plurality of Repo deals.
- collateral allocation module 180 may be configured to us the one or more processors to evaluate various security positions that are being utilized as collateral for a Repo deal, or may be eligible to be utilized in a Repo deal, and ascertain the allocations of the security positions across a plurality of Repo deals.
- FIG. 2A depicts a flowchart illustrating an embodiment of a method/process of collateral allocation (process 200 ), which may be configured to optimize or otherwise enhance or make more efficient the allocations of collateral across a plurality of the Repo deals.
- process 200 may be implemented by one or more algorithms which may be configured to operate in collateral allocation module 180 .
- process 200 may be operable through another such system, or over a plurality of systems.
- Process 200 starts at 205 , and continues to 210 where data associated with the collateral allocation is loaded into memory. In an embodiment, the data may be read from database 160 .
- the data may be copied from the database residing on a durable storage medium to a faster access storage medium (i.e. from a hard drive to random access memory).
- the data may include one or more of Tri-Party repo deals, positions, security data, rulesets, concentration limit data, or so on.
- application locks may be read into the memory as well, so as to prevent duplicate allocations from running simultaneously.
- the data may be responsive to a query implemented on account search module 150 .
- the data may be narrowed to include data involving a particular buyer 115 , or a particular class of collateral, as described in greater detail below.
- the data loaded at 210 may be over-inclusive, so to minimize access of database 160 , which may otherwise increase network latency when memory/storage device(s) 155 are located away from the one or more processors.
- each of a plurality of processors may be associated with only a subset of the deals to manage primarily that subset, however data corresponding to all deals may be loaded into memory associated with each processor, to balance the load of processing said data, regardless of any interrelatedness of the data.
- process 200 is operable on a clustered computing architecture
- each of a plurality of message passing interface (MPI) nodes may be responsible for a subset of the deals returned by the query.
- MPI message passing interface
- Process 200 may continue to initialize the data at 215 .
- Data initialization at 215 may be configured to structure the data in a manner that may permit greater efficiency of data handling further in process 200 .
- initializing the data at 215 may include locking the dealer boxes, repo accounts, and concentration limits (e.g., for the duration of the allocation, to ensure that another allocation or unwind processes does not access the same resources in parallel with another allocation running at the same time).
- Data initialization at 215 may include at 220 performing eligibility testing of the positions against the rulesets, basket identifier (BID) schedules, and collateral preference schedules (CPS) for all relevant deals.
- BID basket identifier
- CPS collateral preference schedules
- Data initialization at 215 may further include at 225 creating a margin array data structure, such that non-eligible positions for a given deal will have a margin of zero, while eligible positions will have their margin or haircut loaded into the structure.
- the margin array may be a double array indexed by repo number and position number, however may be stored as a single contiguous area of memory.
- different parts of the margin array may be populated by different MPI nodes, however may be synchronized across the cluster of MPI nodes.
- deals sharing a group level concentration limit are grouped onto the same node so that concentration limit data does not have to be communicated through the cluster to help improve performance.
- a load balancing algorithm is used to authorize a node as manager of a specific deal so that each node in the cluster has an equal work load.
- Data initialization at 215 may further include at 230 refreshing the margins in database 160 for any margin of the array that is different from previously allocated margins loaded into memory at 210 . Such differences may arise, for example, due to changes in security data or rulesets.
- data initialization continues with populating a concentration linked list for Repo and position combinations. Such a list may permit allocation and de-allocation of positions by iterating through the linked list to update concentration buckets without reparsing the ruleset to identify applicable concentration limits. In an embodiment, concentrations that were not correctly populated in database 160 for previously allocated positions are refreshed in database 160 .
- Data initialization at 215 may further include at 240 populating a Cost of Carry array, which may be a double array indexed by deal and position.
- the Cost of Carry array may be populated by MPI nodes managing their associated deals, and then synchronized across the cluster of MPI nodes.
- Data initialization at 215 may further include at 245 taking a snapshot of a previous allocation, then returning all previously allocated positions back to a Dealer Box in the memory.
- process 200 may continue at 250 by performing pre-optimization of the positions for the deals.
- pre-optimization may allow selection of various features for particular deals, which may override optimized or otherwise enhanced allocations performed later in process 200 .
- pre-optimization at 250 may include at 255 allocating all collateral that is eligible for a given deal to that deal, even if the deal becomes over-collateralized.
- any collateral allocated to those deals may be locked, and not utilized for other optimizations.
- pre-optimization at 250 may include at 260 a minimum modification feature, which may be associated with a given deal such that an attempt would be made to reallocate any collateral previously allocated to that deal (i.e.
- the position if the position is no longer eligible, would break a concentration limit, or would over-collateralize that deal, then that position might not be allocated, or might be partially allocated.
- any position allocated to the deals designated for minimum modification would not be accessed for optimization, or otherwise reallocated for the remainder of process 200 .
- the deals selected for minimum modification may still have additional positions allocated to it to prevent under-collateralization. For example, if the account is short, additional collateral may be allocated to the deal. Furthermore, if the account is over-collateralized, some collateral may be removed, but not enough to make the account under-collateralized.
- the allocations during the pre-optimization at 250 may utilize a parallel replacement algorithm, described in greater detail below.
- process 200 may continue with mathematically optimizing the collateral allocations at 270 , where the one or more processors may be used to find an allocation of the portfolio that minimizes current required collateral across the plurality of deals.
- seller 110 and buyer 115 may agree to allow such movements of the collateral in their deals, either automatically or at the request of one or both parties.
- seller 110 would be the one who would want to shift collateral, so that additional collateral may be freed up which may be utilized for other purposes.
- the mathematical optimization at 270 may also utilize the parallel replacement algorithm, again described below, which may be iterated repeatedly until the portfolio comes fully collateralized, or when the derivative of the weighted average of the previous ten iterations becomes zero or negative.
- the mathematical optimization at 270 may include, at 275 , indexing and sorting the deals based on position eligibility.
- a bipartite graph may be created between the set of positions and the set of deals. Edges may be drawn showing eligibility between the sets of positions and deals.
- vertex degrees are calculated for each set, representing the number of edges connecting to each member of the set.
- the sorting may include sorting the set by vertex degree, such that repo accounts may subsequently be collateralized in the increasing order of their vertex degrees. Such collateralization may allow allocation of positions which have lower eligibility.
- Mathematical optimization at 270 may further include at 280 creating groups of positions, which may be utilized to parallelize the allocation process.
- a self organizing map (SOM)/Kohonen map, or other similar neural network technique may be utilized to create the groups.
- the SOM may use vectors of margins for individual positions as inputs to train the network in a learning mode. A mapping mode may then classify a new input vector.
- the SOM algorithm may utilize the Euclidian Distance formula to categorize and group the positions.
- the vectors may include the margins for a position applied to each deal.
- sorting the position groups at 285 may comprise ordering the groups according to the average margins of positions within the group.
- the SOM algorithm may be configured to split the position into a number of categories. In an embodiment, the number of categories may be equal to the number of MPI nodes. In some embodiments, the SOM algorithm may ensure that positions in the same category would have similar margins across all associated deals.
- the margins for each position within each Repo Account corresponds to what is reflected in Table I below, then when the positions are grouped and sorted as reflected in Table II, the groups may be ordered such that the group with the lowest margins has higher priority in allocation, as follows:
- the group having positions with the lower eligibility may be awarded the higher priority.
- the mathematical optimization at 270 may continue with assigning the deals among nodes at 290 .
- the deals are assigned to groups as part of loading the data at 210 . Such assignment may be performed to parallelize the collateral allocation process.
- a deal or a group of deals may be assigned to a particular node based on maximum/minimum concentration limits.
- the deals may be balanced to the MPI nodes, which in some cases may account for group level concentration limits, whereby deals sharing a group level concentration limit are assigned to the same node, while other deals are split across the remaining nodes.
- group level concentration limits whereby deals sharing a group level concentration limit are assigned to the same node, while other deals are split across the remaining nodes.
- only the MPI node managing a particular deal would allocate collateral to that deal, while any MPI node could de-allocate collateral from a given deal.
- the number of nodes would equal the number of position groups for maximum efficiency.
- the position groups may be rotated across the MPI nodes so that all nodes have an opportunity to allocate any position from any position group.
- the position groups are assigned to a node using pipeline architecture to ensure that lowest margin collateral are considered first for allocation. An example of such allocation is depicted in Table III below.
- the mathematical optimization at 270 may continue at 295 by performing a maximal allocation.
- the maximal allocation may comprise sorting Repo Accounts by ascending order of vertex degree, based on positions in the Dealer Box.
- the maximal allocation may continue by sorting the sorted Repo Accounts by the vertex degree based on position in an Allocated Securities Box (although in the first iteration of the maximal allocation at 295 , the Allocated Securities box would be empty).
- Maximal allocation at 295 would continue with the position groups being arranged such that those with the lowest average of margins are allocated first.
- a replacement procedure may be implemented at 300 to swap some of the collateral in the fully collateralized repo accounts with the remaining eligible collateral in the Dealer Box, and reallocate the freed up collateral to the undercollateralized deals.
- eligibility may be ascertained by any appropriate mechanism, including but not limited to allowance by buyer 115 in rulesets associated with the deals, preference by seller 110 through the BID schedule, or so on.
- the reallocation may again give greater importance to the margins.
- the replacement procedure at 300 may comprise sorting the RAs first by vertex degree based on the positions left in the Dealer Box, then by vertex degree based on the positions now in the Allocated Securities box. During the replacement allocations, securities in the Dealer Box would be considered first, before securities in the Allocated Securities box. The undercollateralized accounts would continue to be collateralized with securities from the Allocated Securities box, once the eligible collateral in the Dealer Box is depleted. In an embodiment, the replacement procedure at 300 may be iterated across all accounts until all accounts are fully collateralized, or there is a shortage of collateral. In an embodiment, the replacement procedure at 300 may utilize the bipartite graph method to establish priorities for the replacement collateralization.
- FIG. 3 An example of the mathematical optimization performed at 270 is depicted in FIG. 3 , wherein the complete collateralization of all Repo Accounts R1-R8 is accomplished in three iterations (Iter 0, Iter 1, and Iter 2). For each iteration, the number of securities allocated (SA) to a given account is presented, as well as the number of eligible securities in both the Dealer Box (DB) and the number of eligible securities in the Allocated Securities box (AS).
- SA the number of securities allocated
- DB Dealer Box
- AS Allocated Securities box
- the order that the Repo Accounts are presented following the replacement procedure reflects the order in which the Repo Accounts are collateralized during that procedure: ascending in order based on the number of eligible securities in the DB, followed by the number of eligible securities in the AS, (or R6 ⁇ R8 ⁇ R2 ⁇ R7 ⁇ R4 ⁇ R1 ⁇ R5 ⁇ R3).
- the collateral available it would be in the reverse order, starting with what is left in the DB (i.e. DB ⁇ R3 ⁇ R5 ⁇ R1 ⁇ R4 ⁇ R7 ⁇ R2 ⁇ R8 ⁇ R6).
- collateral considered first will be the eligible collateral in the DB (sorted internally by margins) followed by the eligible collateral that was allocated to R3 (sorted internally by margins) in Iter 1, followed by R5 in Iter 1, and so on.
- collateral is being taken from accounts that still have a large amount of eligible collateral left in the Dealer Box, before moving on to taking collateral from Repo Accounts that have more limited amounts of eligible collateral.
- a stopping point for the mathematical optimization at 270 may be determined by any suitable determination criteria.
- the mathematical optimization at 270 may simply proceed for a predetermined number of iterations.
- the stopping point for the mathematical optimization at 270 may be ascertained from a moving average calculated from the prior iterations.
- the optimal collateral allocation may be selected from the processed iterations of the replacement process 300 at a stopping point for the optimization calculations.
- An example of ascertaining the optimal collateral allocations at 305 is depicted in the example collateralization table presented in Table IV.
- a weighted average of the undercollateralized amount may be calculated from the previous ten iterations of the replacement process at 300 .
- the “undercollateralized amount” indicates the amount by which the account is undercollateralized at the end of the maximal allocation process at 295 .
- the Replacement algorithm at 300 attempts to collateralize this amount by swapping eligible collateral between RAs and the Dealer Box, before allocating the collateral to the given RA.
- the slope may then be calculated, representing the difference between the current iteration's weighted average and the weighted average of the tenth prior iteration.
- the stopping point may be ascertained when this slope becomes greater than or equal to zero. In Table IV, the stopping point is reached with iteration 42 , where the slope becomes positive.
- the optimal allocation, having the least undercollateralized amount may then be selected from the calculated iterations, which in the example of Table IV is found in iteration 37 .
- the optimized collateral allocation determination at 305 may detect when the collateralization value has become constant, indicating a lack of further eligible collateral, recognizing that as a termination point. In an embodiment, the optimized collateral allocation determination at 305 may ascertain that the iteration should terminate when the under-collateralized amount becomes zero. In an embodiment, if the moving average value over ten iterations remains constant or increases, the allocation may be ascertained at 305 to be complete.
- the moving average may be a greater determination of optimal collateralization, because in cases where larger collateral is swapped for smaller collateral, the under-collateralized amount value may increase for that particular iteration, however, this may decrease again in subsequent iterations, and it may be desirable to continue the iterations of the replacement process at 300 .
- process 200 may end, and process 200 may continue to A, which continues at FIG. 2B .
- process 200 may continue at 310 with a business optimization of the collateral.
- the business optimization at 310 may be implemented if there is insufficient collateral to collateralize the entire portfolio.
- a determination of which deal or deals should be left undercollateralized may be made at 315 .
- multiple considerations may exist, which may be used together and prioritized by seller 110 and specified via operator I/O & display 165 , as described in greater detail below.
- one such consideration may include basket prioritization 320 .
- Basket prioritization 320 may prioritize deals classified as basket trades or having BID schedules over deals that are not classified as basket trades, or do not have BID schedules.
- another such consideration may include internal short prioritization 325 . Internal short prioritization 325 may collateralize older deals ahead of newer deals.
- another consideration may include market deadline prioritization 330 . Such market deadline prioritization 330 may prioritize deals that accept collateral only from markets which are closed ahead of deals that only accept collateral from markets which are still open.
- another consideration may include dealer prioritization 335 , wherein the dealer (i.e. seller 110 ) may specify particular deals to have a higher prioritization.
- undercollateralization determination at 315 may be by any suitable mechanism, including but not limited to via the parallel replacement mechanism of the mathematical optimization described above.
- the business optimization at 310 may further include at 340 determining which of a dealer's preferred collateral should be allocated to a deal.
- the dealer's preferred collateral may be of any appropriate type, and may correspond, for example, to the dealer's BID schedule, and the intersection of the BID schedule with the deal's ruleset (which may specify the collateral acceptable to buyer 115 ).
- any collateral that is allocated with a higher cost of carry may be swapped with eligible collateral still in the Dealer Box that has a lower cost of carry.
- any collateral that is allocated with a higher margin may be swapped with eligible collateral still in the Dealer Box that would have a lower margin.
- deals may be processed in parallel using shared memory programming within the same MPI node.
- priority may be established as either by margins 345 or by Cost of Carry 350 .
- the dealer preferred collateral determination at 340 may include breaking out of the position DESC and position ASC loops if the allocation position is equivalent to the deallocation position. Otherwise, the determination algorithm may comprise deallocating the deallocation position, allocating the allocation position, and trying to fully collateralize the deal with the position that was de-allocated.
- the loop over all MPI nodes may end.
- margin at 345 if a position is eligible for two different deals, if there is a lower margin in one deal, it should be allocated to that deal so that fewer positions are used to collateralize the portfolio.
- Cost of Carry at 350 seller 110 may analyze the collateral from a risk/desirability standpoint, determining which collateral is the cheapest to deliver, and how they believe the collateral's value will change during the course of the deal.
- process 200 may continue at 355 with a final allocation of deals in the Dealer Box.
- these final allocations at 355 may be utilized to collateralize the portfolio of deals if there are any positions in the Dealer Box after both the mathematical optimizations at 270 and the business optimizations at 310 .
- the parallel replacement algorithm may again be utilized for the final allocations at 350 .
- process 200 may continue with a submission of allocation instructions at 360 .
- the current allocations that were tracked at 245 may be compared with the optimized portfolio calculated in process 200 .
- the differences between the pre-optimized allocations at 245 and the newly optimized allocations may be forwarded to a separate instruction allocation server, which may utilize instructions from a collateral optimization server, such as collateral management system 140 , to implement the optimized instructions across the deals.
- a collateral optimization server such as collateral management system 140
- removal of positions that shouldn't be allocated would be performed by the instruction allocation server first, followed by a reallocation of collateral to new deals.
- the instruction server may update database 160 or another storage construct with the reason for the failure.
- the instruction allocation server may then perform the remaining position movements, collateralizing the deal associated with the erroneous instruction at a later time.
- the instruction allocation server may be configured to perform position movements so as to minimize financial exposure to the Tri-Party agent, or other similar party. Some embodiments may be configured to minimize cash exposure. Some embodiments may be configured to control net free equity (NFE) exposure (e.g., unused collateral that the party has lien on).
- NFE net free equity
- the Tri-Party agent would be exposed for the entire uncollateralized amount over the multiple accounts. However if the collateral were reallocated from some of the accounts to others of the accounts prior to removing collateral from those other accounts, the exposure to the Tri-Party agent would be reduced. As such, in some embodiments the movements of collateral may be ordered to minimize shortage. As shown in the simplified example of Table V, the Tri-Party agent would be exposed by the value of each collateral removed from a given deal.
- an automatic cash crediting system for providing credit from the Tri-Party agent to shorted accounts may calculate at a transaction level, comparing differences in exposure at the start of the transaction to the end of the transaction.
- statistics regarding the data initialization at 215 , and/or the optimized allocations calculated in process 200 may be saved at 365 .
- the save may be made to durable memory, such as memory/storage device(s) 155 of collateral management system 140 .
- the statistics may be recorded to database 160 .
- collateralization failures may include collateralization failures, however may also include any other information calculated during process 200 , including but not limited to data regarding margins and cost of carry.
- process 200 may end at 370 .
- optimization may include consideration of BID schedules.
- upgrades may also be considered for the deals.
- a CPS (or an “upgrade” schedule) may be utilized to prioritize collateral allocation.
- the eligibility of collateral may be simply indicated in the margin array.
- collateral with a high cost of carry (determined by the CPS) may be swapped with collateral of a lower cost of carry, which would utilize the CPS in a descending direction.
- the CPS may determine eligibility of collateral in the ascending direction, while dealer preferred collateral may be ascertained by reading the CPS in the descending direction.
- an extra check may be performed after allocating each position.
- the number of positions equals the maximum allowable position count, and if the current required collateral of the deal is greater than zero, then the smallest allocated position may be removed, which may allow for the potential of a larger position to be allocated.
- any MPI process may be configured to remove any position from any deal, regardless of whether the specific MPI process is responsible for managing that deal.
- groups of RAs may be allocated using a pipeline architecture, such that in a first time-cycle, a first node will process a first group G1, while in a subsequent time-cycle, the first node will process a second group G2, while a second node will process the first group G1.
- Such grouping of positions may allow multiple MPI processes to allocate in parallel, preventing multiple processes from allocating the same position at the same time.
- the grouping of positions may permit allocation of the lowest average margin positions, which can reduce the number of positions used to collateralize the portfolio of deals.
- the positions are synchronized across the MPI nodes between each time-cycle allowing each MPI node to know the current state of all positions in the group it is about to allocate from in the next time-cycle.
- GUI graphical user interface
- a GUI “A” may allow creation or modification of an allocation template identified at Letter “B”, which may permit a user of GUI “A” to establish preferences for process 200 to optimize collateral allocations.
- pre-optimization options may be established.
- the pre-optimization options may correspond with the pre-optimization at 250 .
- pre-optimization options “C” for allocation template “B” permit selectively enabling the minimize modifications features 260 , which again would attempt to reallocate any collateral previously allocated to a given set of deals.
- different accounts and/or deals that are added or controlled over post-trade management system 100 may selectively be associated with a minimum modification (MINMOD) tag, such that if the minimize modifications feature 260 is enabled in pre-optimization options “C”, the collateral allocation module 180 would attempt to retain the collateral as allocated to those accounts.
- MINMOD minimum modification
- Optimization options for mathematical optimization 270 in allocation template “B” may be controlled at Letter “D”.
- a number of features are controllable in the illustrated embodiment.
- a Fussy Factor may be presented, giving a user of the GUI “A” the ability to establish a percentage of a position that is allocated in each iteration of the optimization.
- a Forced Fussy Factor option may control how strictly the Fussy Factor is enforced.
- a Full Replacement option may be presented to control the number of passes that may be run in a full replacement algorithm for the optimization.
- An option may be presented to selectively include MINMOD tagged accounts in the replacement procedure at 300 .
- the replacement algorithm at 300 may run the deals with an older stat date option, or a lower priority option.
- Another option presented in the optimization options “D” may include a number of times to retry the optimization and/or post-optimization phases (i.e. mathematical optimization 270 and business optimization 310 ).
- GUI “A” may prioritize from basket prioritization 320 , internal short prioritization 325 , market deadlines 330 , and dealer priority at 335 .
- basket prioritization 320 accounts assigned to a basket tag should be allocated before accounts not assigned to a basket tag.
- internal short prioritization 325 deals with older state dates, still undercollateralized, would be allocated before accounts with earlier start dates.
- market deadline prioritization 330 accounts with closed Markets would be allocated before accounts with open markets.
- undercollateralized deals with lower priority would be allocated before accounts with higher priority.
- the options presented in some embodiments may include assigning a priority to use better margins compared to the cost of carry. Likewise, a priority may be assigned to use a cost of carry profile as compared to a better margin profile.
- GUI “A” graphical user interface elements
- a series of push buttons or radio buttons may be presented to make the applicable options selections.
- a text based interface or a text base element in a GUI
- combinations of GUI and text elements may be utilized.
- instructions for the instruction allocation server are input.
- the applicable Dealer ID identifying seller 110 , for example
- a “submit” dropdown box allows for a constant, intermittent, or delayed submission of the optimization instructions to the instruction allocation server.
- Shown at letter “G” is a pushbutton that would reset the values input at letters “C” through “F” to default values. Such default values may be, for example, all “NO” responses, all “YES” responses, zeroed numerical prioritizations, or so on. In an embodiment, the default values implemented by the reset pushbutton “G” may be the most commonly implemented response for each optimization element.
- Pushbutton “H” is a submission pushbutton, configured to accept the responses established for allocation template “B”. As shown, pushbutton “H” is a preview pushbutton, which would advance the user to a summary page depicted in the screenshot of FIG. 5 . As seen in FIG.
- a reporting of the selections made for allocation template “B” is presented at Letter “I”, allowing a user of GUI “A” to review his or her responses. If an error has been made in a response, a cancel pushbutton is provided at Letter “J”, returning the user to the screen depicted in FIG. 4 , allowing editing of allocation template “B”. In an embodiment, all responses in made previously to allocation template “B” will remain, so that a user need only change the source of the error. If the allocation template review at “I” is correct, a confirmation pushbutton is provided at letter “K”, saving the allocation template responses. In an embodiment, the name identifying application template “B”, by which the template responses may be saved under, is established prior to accessing the options for allocation template “B”.
- a space to label or otherwise demark a template name for the optimization configurations may be provided either in the editing screen of FIG. 4 , the preview report of FIG. 5 , or following confirmation through pushbutton “K”. Clicking of the confirmation button “K” may in an embodiment save the selected options in memory/storage device(s) 155 .
- the selected options may be recorded in database 160 , and may be associated with some or all deals for associated with seller 110 .
- seller 110 may run the optimization for deals associated with a particular buyer 115 , or a series of buyers 115 all associated with the Tri-Party agent.
- a portion of GUI “A” may allow for a listing of previously created templates, and the ability to create new templates.
- a new template may be added at Letter “L”, wherein a template name may be input in the textbox at letter “M”.
- the allocation template editing screen of FIG. 4 may be presented, and would ultimately be saved under the specified template name.
- previous templates may be listed at Letter “O”, along with the option of modifying the templates, copying the options from the template into a new template having a new name, or deleting the templates.
- allocation template “B” appears on the list, wherein clicking the modify button indicated at Letter “P” would return to the view of FIG. 4 .
- a portion of GUI “A” may provide user input to apply the settings of an allocation template, such as allocation template “B” established in FIG. 4 , to optimize collateral allocations from the Dealer Box.
- the allocation template may be selected at Letter “Q”.
- the allocation template is selected by a dropdown box, however in other embodiments the allocation template may be searched for, identified by a text-box, or by any other suitable mechanism.
- allocation template “B” established in FIG. 4 is selected in the dropdown box at Letter “Q”.
- the allocations may be performed by designating a particular Dealer Box, and a particular Dealer ID, as is shown generally at Letter “R”.
- a dealer allocation group may be selected or otherwise designated to submit an allocation, as may be selected by clicking on the tab indicated at Letter “S”.
- FIG. 8 illustrates that in an embodiment, after an allocation is submitted the status of the allocation may be presented through a portion of GUI “A”.
- the allocation may be searched by a number of associated criteria presented generally at Letter “T”, including but not limited to allocation date, allocation status, allocation type, Dealer or Purchaser ID, allocation ID, Dealer Box, dealer allocation group, basket ID, combinations thereof, or so on.
- basic selection criteria that includes at least a date range for the allocations may be combined with more particular selection criteria (i.e. the dealer/purchaser IDs, the allocation ID, the Dealer Box, the dealer allocation group, or the Basket/Purchaser IDs) when searching an allocation history.
- the associated allocations may be presented, such as is depicted in FIG. 9 .
- the allocations associated with the search terms entered at Letter “T” in FIG. 8 are presented, and may include at Letter “V” the status of the optimization process described above.
- the status of completed optimizations may be indicated as “done”, while “in progress” may designate that an optimization is under way for the associated allocation ID.
- certain allocations may be designated as “abort”, which may indicate the failure of the allocation procedure.
- clicking on the “abort” indicator may present information as to the reason for the abortion of the optimization procedure, such as an improper ruleset configuration, a computer failure, a time-out, or so on.
- selecting the allocation ID indicated generally at Letter “W” from the allocation history results illustrated in FIG. 9 may provide a detailed description page, such as that depicted in FIG. 10 .
- FIG. 10 illustrates a detailed description page of GUI “A”, which may correspond to the allocation ID “W” selected in FIG. 9 .
- the allocation template utilized for the selected allocation (which in the illustrated embodiment is allocation template “B” established in FIG. 4 ) may be listed, as well as the associated report for the allocation.
- a dropdown box “X” may provide different types of report data associated with the allocation.
- the initial screen may indicate the current amount of collateral associated with or needed in the selected allocation.
- other reports may also or alternatively be provided, such as by selecting a different report type from the dropdown box “X”.
- the reports may include a list of the allocated positions by the Cost of Carry.
- the report may allow comparison based on account ID, security ID, ID type, depository, Dealer Box, par, collateral value, CPS ruleset, and/or the Cost of Carry number.
- the reports may be for all positions, including unallocated positions.
- the weighted average of the Cost of Carry for the allocated positions may be provided, where the weight is determined by the size of the positions.
- the positions that indicate zero Cost of Carry i.e. the Cost of Carry could not be derived
- the weighted margins for the account(s) are presented, to indicate the excess in collateral provided for a given account.
- Other reports are possible, and the reports described above are provided solely as examples of how data may be presented to users, so that users may use the GUI “A” to determine if or how to best make associated collateralization decisions.
- GUI “A” may be fished viewing the allocation reports, they may press the button “Y” that may return them to the allocation history list of FIG. 9 .
- the optimizations described above may be implemented as mathematical models configured with multiple objective functions.
- such optimization may include two main steps: (1) determine the optimal collateral allocation configuration, which may be known as an end state optimization, and (2) generate and execute instructions to realize allocation changes for transitioning to the optimal allocation configuration from an existing one. Due to the potential very large number of data record changes and the limited number of changes that can be accommodated in a single system transaction, a transition to the end state may be executed as multiple individual transactions involving a number of intermediate configurations that satisfy the appropriate constraints. Such determining the intermediate configurations may give rise to transition state optimization. As described in greater detail below, the handling of the multiple objectives may be treated differently across embodiments.
- the objectives may be implemented one at a time, where the optimal value for a given run will be taken and used to re-code the objective as a constraint while the model is re-run for the next objective function. In an embodiment, this may be implemented in such a way that the objectives and ordering of the objectives may be configured independently for each dealer. In an embodiment, the independent configuration may be implemented for each run of the optimization.
- B is the set of borrowers
- L is the set of lenders
- K is the set of collaterals.
- D b,l ⁇ d b,l : b ⁇ B, l ⁇ L ⁇ : the set of deals d between borrower b and lender l.
- the index b and l may be dropped in a context when their meaning is evident.
- D U b ⁇ B,l ⁇ L d b,l represents all deals.
- the value p k represents the par amount of a collateral k. Defined to be an integer, it is the fundamental variable in the collateral allocation optimization. The par amount p k of a given quantity q k of collateral k is determined by
- U k the mult par (unit tradable amount) of collateral k
- Int(x) represents the integer part of x.
- USD US dollars
- P k D ⁇ N 0 : the par amount allocation function, i.e., P k (d) is the par amount of a collateral k allocated to the deal d.
- N 0 is the set of non-negative integers.
- A: D ⁇ R 0 the allocated value function, Specifically, A(d b,l ) gives the margin adjusted value (e.g., in USD) of the collaterals allocated to a deal d d,l .
- R 0 is the set of non-negative real numbers.
- a ⁇ ( d b , l ) ⁇ k ⁇ K ⁇ ⁇ ⁇ k ⁇ p k ⁇ ( d b , l ) M k , b , l ,
- M k,b,l is the margin factor between borrower b and lender l for collateral k.
- P k,b represents the par amount of collateral k owned by borrower b.
- P k,b (f) represents the par amount of free (unallocated) collateral k owned by borrower b.
- objective functions may be implemented concerning maturing deals and collaterals that are Depository Trust Company (DTC) securities.
- DTC Depository Trust Company
- DTCC Depository Trust and Clearing Corporation
- indicator functions are defined as follows:
- I ( M ) ⁇ ( d ) ⁇ 1 if ⁇ ⁇ d ⁇ ⁇ is ⁇ ⁇ a ⁇ ⁇ maturing ⁇ ⁇ deal 0 otherwise .
- the DTC collateral indicator function is the DTC collateral indicator function
- I ( DTC ) ⁇ ( k ) ⁇ 1 if ⁇ ⁇ k ⁇ ⁇ is ⁇ ⁇ a ⁇ ⁇ DTC ⁇ ⁇ collateral 0 otherwise .
- C b (d) represents the intra-day cash credit extended to a borrower b so that its deal d is fully collateralized.
- C b (d) represents the intra-day cash credit extended to a borrower b so that its deal d is fully collateralized.
- collateral maintenance level For a specific deal d ⁇ D b , the quantity min(V(d), C b (d)+A(d)) is called the collateral maintenance level of the deal. Note that when a deal is not fully collateralized, its collateral maintenance level is the sum of the margin adjusted USD value of the allocated collaterals and any intra-day cash extended to it.
- the tuple S (b) ( ⁇ C b (d), d ⁇ D b ⁇ , ⁇ P k,b (f) , k ⁇ K ⁇ , ⁇ P k (d), k ⁇ K and d ⁇ D b ⁇ ) represents the state of a borrower b from tri-party repo collateral management perspectives.
- the tuple and its components will be used to formulate end state and transition state optimization. Since the current scope of end state and transition state optimizations focus on a given borrower, the superscript b of S (b) will be dropped when its presence is evident in context.
- step function ⁇ (x) is defined by
- ⁇ ⁇ ( x ) ⁇ 1 if ⁇ ⁇ x > 0 0 if ⁇ ⁇ x ⁇ 0 .
- a typical borrower may have hundreds of deals and tens of thousands of collateral positions. This may determine the overall dimension of the configuration space of the optimization problem to be about 10 6 ⁇ 10 8 order with about 10 4 ⁇ 10 6 constraints.
- end state optimization may be specific to a given borrower. As such, the borrower label b may be dropped in all quantities where its use would be evident in context.
- the optimization may be constrained in that an allocated amount would be non-negative integer: P k (d) ⁇ N 0 . Also, an allocated par amount would not be greater than what a borrower owns: ⁇ d ⁇ D b P k (d) ⁇ P k,b , where P k,b is the par amount of the collateral k owned by borrower b.
- an allocated par amount would be greater than a threshold if allocated: P k (d b,l ) ⁇ 0 ⁇ [max(P k,b,l (min) ,P k (min) ), + ⁇ ), where P k,b,l (min) is the minimal par piece size between borrower b and lender l for collateral k, and P k (min) is the minimal par size for the collateral k.
- a general concentration limit constraint may also be imposed: ⁇ d ⁇ D b,l ⁇ k ⁇ K C ⁇ ,1 (k,d) ⁇ C ⁇ ,b,l (max) , where ⁇ identifies a specific concentration constraint.
- C ⁇ ,1 (k, d) may be understood as a concentration function for collateral k and deal d.
- C ⁇ ,b,l (max) may be understood as the concentration limit.
- concentration function e.g., with USD currency concentration
- concentration function ⁇ d ⁇ D b,l , ⁇ k ⁇ K ⁇ k P k (d)I (USD) ⁇ V USD,b,l (max)
- V USD,b,l (max) is the USD concentration limit defined between b and l
- I (USD) (k, d) is an indicator function that defines deals and collaterals participation.
- I ( USD ) ⁇ ( k , d ) ⁇ 1 if ⁇ ⁇ k ⁇ ⁇ and ⁇ ⁇ d ⁇ ⁇ participate ⁇ ⁇ in ⁇ ⁇ the ⁇ ⁇ USD ⁇ ⁇ concentration ⁇ ⁇ limit ⁇ ⁇ constraint 0 otherwise .
- the currency constraint may use collateral value that is not margin adjusted.
- margin adjusted value ideally should be used, such as in the extreme case when the margin factor of a Collateral goes to infinity. In such a situation, however, the collateral and its allocation would not be financially relevant.
- a maximal par concentration limit may also be defined, ⁇ d ⁇ D b,l ⁇ k ⁇ K P k (d)I (MP) (k, d) ⁇ P b,l (max) , where P b,l (max) is the maximal par concentration limit defined between b and l, and I (MP) (k, d) is an indicator function that defines deals and collaterals participation. For example:
- I ( MP ) ⁇ ( k , d ) ⁇ 1 if ⁇ ⁇ k ⁇ ⁇ and ⁇ ⁇ d ⁇ ⁇ participate ⁇ ⁇ in ⁇ ⁇ the ⁇ ⁇ maximal ⁇ ⁇ par ⁇ ⁇ concentration ⁇ ⁇ limit ⁇ ⁇ constraint 0 otherwise .
- T k may be the months to maturity for the collateral k
- T b,l (max) may be the maturity concentration limit defined between b and l
- I (M) (k, d) may be an indicator function that defines deals and collaterals participation.
- I ( M ) ⁇ ( k , d ) ⁇ 1 if ⁇ ⁇ k ⁇ ⁇ and ⁇ ⁇ d ⁇ ⁇ participate ⁇ ⁇ in ⁇ ⁇ the ⁇ ⁇ weighted ⁇ ⁇ maturity ⁇ ⁇ concentration ⁇ ⁇ limit ⁇ ⁇ constraint 0 otherwise .
- ⁇ ⁇ I ( C ) ⁇ ( k , d ) ⁇ 1 if ⁇ ⁇ k ⁇ ⁇ and ⁇ ⁇ d ⁇ ⁇ participate ⁇ ⁇ in ⁇ ⁇ the ⁇ ⁇ weighted ⁇ ⁇ credit ⁇ ⁇ rating ⁇ ⁇ concentration ⁇ ⁇ limit ⁇ ⁇ constraint 0 otherwise .
- Another constraint may be implemented on a maximal number of positions: ⁇ d ⁇ D b,l ⁇ k ⁇ K ⁇ (P k (d)) ⁇ N b,l (max) , where N b,l (max) is the number of positions limit between b and l.
- optimization may include optimizing various values (for example, by minimizing them).
- V b is the total loan amount of borrower b.
- the collateralization index measures how efficient the collaterals are used to cover the loans. It may be appreciated that V b may be a constant during optimization, and its inclusion above would not affect optimization.
- V b is the total loan amount and ⁇ k,b,l is the cost of carry for collateral k for borrower b, M k,b,l is the margin factor between borrower b and lender l for collateral k.
- cost of carry may represent the preference of a borrower on allocation of collaterals. Minimization of the cost of carry index may provide a mechanism for a borrower to influence allocation of collaterals based on the preference. Under reasonable assumptions, it may be shown that there exists a set of cost of carry ⁇ k,b,l k ⁇ K ⁇ that can drive collateral allocation to any given preference of a borrower. Again, V b may be a constant during optimization, and its inclusion above would not affect optimization.
- I k (U) (d b,l ) may be the upgrade indicator function for collateral k in deal d b,l
- M k,b,l is the margin factor between borrower b and lender l for collateral k.
- ⁇ d may be a predefined priority of deal d.
- I (PM) (d) may be the indicator function for the set of deals for which position movement is to be minimized
- P k (0) (d) may be the par amount of the collateral k for deal d before the optimization
- ⁇ i,j may be the Kronecker ⁇ -function:
- I (M) (d) may be the maturing deal indicator function and I (DT C) (k) may be the DTC collateral indicator function.
- transition state optimization may be specific to a given borrower. As such, the borrower label b may be omitted when described herein if its implied usage is contextually understood.
- constraints associated with transition state optimization may be applied.
- the constraints for end state optimization, as described above might need to be satisfied by the intermediate states, because the intermediate states may be viewed potentially (under certain market conditions) as valid states for a borrower per given repo business applications.
- the constraints may collectively imply that the collateral maintenance level of any intermediate state might not exceed that of the end state, which is determined by end state optimization.
- N S i ,S +1 may be the number of data changes to move from state S i to state S i+1 and N may be the maximal number of data changes allowed in a system transaction.
- N S i ,S +1 may be the number of data changes to move from state S i to state S i+1
- N may be the maximal number of data changes allowed in a system transaction. It may be appreciated that in some embodiments such a constraint might not a hard constraint, as indicated by the above equation. Instead, it merely expresses the desire to restrict N S i ,S i+1 around N (max) , and can be implemented as a minimization of a penalty function, as described below.
- the optimization may include optimizing various values (for example, by minimizing them).
- U(N S i ,S i+1 ) for i 1, 2, . . . , N ⁇ 1, where the penalty function U(N) should be continuous, reaches its minimal at N (max) , and penalizes deviation from N (max) , especially when N exceeds N (max) .
- the exact functional form of a reasonable U(N) might be determined through experimentation, in some embodiments the U(N) described below may be applicable, in which:
- U ( ⁇ ) , U (+) , ⁇ >0 are parameters of the penalty function. It may be appreciated that this specific form of U(N) respectively penalizes deviations below and above N (max) linearly and exponentially.
- the objective optimizations may be implemented one at a time, with the optimal value being utilized to recode the objective as a constraint while the model is re-run for a subsequent objective.
- the order in which the objectives are run may vary across embodiments.
- the auto cash may be minimized, before the amount short may be minimized, before the cost to carry index may be minimized, before the collateralization index may be minimized.
- the ordering of the objectives may be configured independently for each dealer. In some embodiments, the ordering of objectives may be configured independently for each run of the optimization.
- collateral optimizations may be implemented associated with Delivery Verses Payment (DVP) and/or Receipt Verses Payment (RVP) models for securities trades in repurchase agreements (e.g., “DRVP models”).
- DVP Delivery Verses Payment
- RVP Receipt Verses Payment
- Such optimization may again include: (1) determining the optimal collateral allocation configuration, which may be known as an end state optimization, and (2) generate and execute instructions to realize allocation changes for transitioning to the optimal allocation configuration from an existing one.
- a transition to the end state may be executed as multiple individual transactions involving a number of intermediate configurations that satisfy the appropriate constraints. Determining the intermediate configurations may give rise to transition state optimization.
- the end state optimization and the transition state optimizations described in greater detail below may make use of various conventions. Since optimization of collateral allocation may be done in the context of a given borrower, a simplified notation may be utilized to focus on the given borrower. Preference of lenders may be identified through various defined parameters. In the context of daily operation of tri-party repurchase agreement, many of the parameters and variables vary over time (e.g., during a business day). To describe the time dependent nature of the problem, t may be understood as representing time, and the parameters and variables may be a function of t when appropriate. As such, K t represents the set of collaterals owned by the borrower at time t, while D t represents the set of deals of the borrower at time t.
- the value ⁇ d represents the priority of a deal d in collateral allocation. In particular, it may express an aspect of a borrower's desire of how collaterals should be allocated across the deals. In some embodiments, such as those described herein, ⁇ d may have a fixed value throughout a given business day. Accordingly, the time dependence of ⁇ d has been dropped.
- P k,b (t) represents the par amount of a collateral k allocated to the deal d at time t.
- ⁇ tilde over (V) ⁇ d (t) represents the settled amount for deal d at time t, and may include the cash amount already transferred from a lender to a borrower for the deal.
- C d (t) represents the amount of tri-party cash from a lender made available for the settlement of a deal d.
- C d (t) represents the amount of tri-party cash used for settlement of a deal d, and is a decision variable of the optimization.
- a d (t) represents the margin adjusted value (e.g., in USD) of the collaterals allocated to a deal d. It may be defined that
- a d ⁇ ( t ) ⁇ k ⁇ K t ⁇ ⁇ k ⁇ k , d ⁇ P k , d ⁇ ( t ) ,
- ⁇ k,d is the margin factor of collateral k for deal d. Because ⁇ k and ⁇ k,d may both be assumed to be fixed for a given business day (as is custom in current tri-party repurchase practice), their time dependence has been dropped.
- P k (t) represents the par amount of collateral k owned by the borrower at time t.
- P k (f) (t) represents the par amount of free (i.e., unallocated) of collateral k owned by the borrower.
- indicator functions may be defined where:
- I ( M ) ⁇ ( d ) ⁇ 1 if ⁇ ⁇ d ⁇ ⁇ is ⁇ ⁇ a ⁇ ⁇ maturing ⁇ ⁇ deal , i . e , its ⁇ ⁇ experation ⁇ ⁇ date ⁇ ⁇ is ⁇ ⁇ the ⁇ ⁇ current ⁇ ⁇ or ⁇ ⁇ earlier ⁇ ⁇ date 0 otherwise .
- the DTC collateral indicator function is the DTC collateral indicator function
- I ( DTC ) ⁇ ( k ) ⁇ 1 ⁇ if ⁇ ⁇ k ⁇ ⁇ is ⁇ ⁇ a ⁇ ⁇ DTCC ⁇ ⁇ collateral 0 otherwise .
- ⁇ tilde over (C) ⁇ d (t) represents the auto cash extended to deal d.
- ⁇ tilde over (C) ⁇ (max) (t) represents the maximal amount of auto cash available to the borrower.
- the available amount of auto cash may be determined by a number of factors, including but not limited to the borrower's net free equity held by the third party.
- collateral maintenance level represents the collateral maintenance level of deal d.
- its collateral maintenance level may be the sum of the margin adjusted value (e.g., in USD) of the allocated collaterals and any auto cash extended to the deal.
- the tuple ⁇ (t) (V d (t), ⁇ tilde over (V) ⁇ d (t), P k (t), C d (t), ⁇ tilde over (C) ⁇ (max) (t), P k,d (t), C d (t), ⁇ tilde over (C) ⁇ d (t)), where k ⁇ K t , and d ⁇ D ti , represents the state of the borrower at time t, and may provide generally complete information about the borrower from tri-party repurchase agreement perspectives.
- the first five components of the tuple may represent exogenous variables that may be determined by tri-party repurchase agreement business events such as (but not limited to) collateral release, substitution, creation and settlement of new and changed deals, and so on.
- the last three components may be endogenous or decision variables determined by optimization. Both end state and transition state optimization may be formulated based on ⁇ (t).
- ⁇ ⁇ ( x ) ⁇ 1 if ⁇ ⁇ x > 0 0 if ⁇ ⁇ x ⁇ 0.
- the end state optimization may seek to determine the decision variables of ⁇ (t′) for a given t′>t.
- the end state optimization may be implemented subject to the following constraints, in which:
- the allocated amount may be constrained to be a non-negative integer: P k,d (t) ⁇ N 0 .
- the allocated par amount may be constrained to not be greater than what a borrower owns: E d ⁇ D t P k,d (t) ⁇ P k (t).
- the allocated par amount may be constrained to be greater than a threshold if allocated: P k (t) ⁇ 0 ⁇ [max(P k,d (min) , P k (min) ), + ⁇ ], where P k,d (min) is the minimal par piece size of deal d for collateral k, and P k (min) is the minimal par size for the collateral k.
- the collateral maintenance level may be constrained such that it cannot decrease: M d (t′) ⁇ M d (t) for t′>t, for any d ⁇ D t ⁇ D t′ .
- a general concentration limit may be applied: ⁇ d ⁇ D t ⁇ k ⁇ K t C k,d ( ⁇ ) ⁇ C ( ⁇ ) , where ⁇ identifies a specific rule that gives rise to the concentration limit constraint, C k,d ( ⁇ ) is a concentration function for collateral k and deal d, and C ( ⁇ ) is the concentration limit.
- a currency concentration e.g., in USD: ⁇ d ⁇ D t ⁇ k ⁇ K t I k,d ( ⁇ ,USD) ⁇ k P k,d (t) ⁇ tilde over (V) ⁇ ( ⁇ ,USD)
- V ( ⁇ ,USD) is the currency concentration limit (in USD)
- I k,d ( ⁇ ,USD) is an indicator function that defines deal and collateral participation.
- I k , d ( ⁇ , USD ) ⁇ 1 if ⁇ ⁇ k ⁇ ⁇ and ⁇ ⁇ d ⁇ ⁇ participate ⁇ ⁇ in ⁇ ⁇ constraint ⁇ ⁇ ⁇ 0 otherwise .
- the currency constraint may use a collateral value that is not margin adjusted.
- margin adjusted values ideally should be used, such as in the extreme case of large margin factor limits. In this extreme case, however, the collaterals with very large margin factor will not be financially relevant. Therefore it may be omitted from the concentration limit constraints, contrary to what the above constraint illustrates.
- I k , d ( ⁇ , MP ) ⁇ 1 if ⁇ ⁇ k ⁇ ⁇ and ⁇ ⁇ d ⁇ ⁇ participate ⁇ ⁇ in ⁇ ⁇ constraint ⁇ ⁇ ⁇ 0 otherwise .
- T k is the months to maturity for the collateral k
- T ( ⁇ ,M) is the maturity concentration limit
- I k,d ( ⁇ ,M) is an indicator function that defines deal and collateral participation. Specifically, the indicator function
- I k , d ( ⁇ , M ) ⁇ 1 if ⁇ ⁇ k ⁇ ⁇ and ⁇ ⁇ d ⁇ ⁇ participate ⁇ ⁇ in ⁇ ⁇ constraint ⁇ ⁇ ⁇ 0 otherwise .
- I k , d ( ⁇ , C ) ⁇ 1 if ⁇ ⁇ k ⁇ ⁇ and ⁇ ⁇ d ⁇ ⁇ participate ⁇ ⁇ in ⁇ ⁇ constraint ⁇ ⁇ ⁇ 0 otherwise .
- N the maximal number of positions allowed.
- optimization may include optimizing various values (for example, by minimizing them).
- I d ( E ) ⁇ 1 if ⁇ ⁇ d ⁇ ⁇ is ⁇ ⁇ non ⁇ - ⁇ maturing ⁇ ⁇ and ⁇ ⁇ V ⁇ d ⁇ ( t ) > V d ⁇ ( t ) 0 otherwise .
- ⁇ ⁇ ⁇ ( S ) ⁇ T , ⁇ ( A ) ,
- ⁇ (S) ⁇ (S) ⁇ (max)
- ⁇ (T) ⁇ (T) ⁇ (max)
- ⁇ (A) ⁇ (A) ⁇ (max)
- the actual value of the coefficients may be determined via experimentation.
- collateralization index may be defined as:
- V(t) is the total loan amount of the borrower at time t. Since V(t) is exogenous variable, its inclusion in the above equation would not affect optimization. It may additionally be appreciated that the cost of carry index may be defined as:
- S d (t) allocation shortage determined as an outcome of optimizing the settlement index.
- ⁇ k,d is the cost of carry for collateral k for deal d
- p k,d is the margin factor for collateral k in deal d.
- transition state optimization may be performed.
- constraints associated with transition state optimization may be applied.
- the constraints for end state optimization might need to be satisfied by the intermediate states, because the intermediate states may be viewed potentially (under certain market conditions) as valid states for a borrower per given repo business applications.
- a constraint may be applied that collateral maintenance levels cannot decrease for moves between the intermediate states.
- M d (i+1) (t) ⁇ M d (i) (t) for i 1, 2, . . . , N ⁇ 1 and d ⁇ D t . It may be appreciated that the constraints collectively imply that the collateral maintenance level of any intermediate state might not exceed that of the end state.
- N ⁇ (i) , ⁇ (i+1) ⁇ N (max) for i 1, 2, . . . , N ⁇ 1, where N ⁇ (i) , ⁇ (i+1) is the number of data changes to move from state ⁇ (i) to state ⁇ (i+1) and N (max) is the maximal number of data changes allowed in a system transaction.
- this constraint is not necessarily a hard constraint, as indicated by the equation above, but instead merely expresses the desire to restrict, N ⁇ (i) , ⁇ (i+1) around N (max) .
- the constraint may be implemented as minimization of a penalty function, as described in greater detail below.
- the optimization may include optimizing various values (for example, by minimizing them).
- U ( ⁇ ) , U (+) , ⁇ >0 are parameters of the penalty function, may be applicable. Again, this specific form of U(N) respectively penalizes deviations below and above N (max) linearly and exponentially.
- the settlement index may be minimized to determine the minimal collateralization level of each deal.
- the collateralization level may be re-encoded as a constraint, and the collateralization index and cost of carry index may be minimized, as described above.
- Minimizing the collateralization index and the cost of carry index may be utilized to determine which collateral to allocate to the deal.
- a Pareto curve may be built between minimizing the collateralization index and minimizing the cost to carry index.
- a user may choose a desired position on the Pareto curve, and the optimization may be modified accordingly.
- FIG. 11 illustrates an embodiment of a workflow 400 configured to implement such a greedy algorithm.
- workflow 400 may begin at 410 by receiving a message from a message queue, which may include various instructions associated with implementing the workflow 400 .
- Workflow 400 may then continue at 420 by loading data.
- loading data at 420 may be similar to loading data at 210 from process 200 .
- the data may be retrieved from database(S) 430 .
- the database(S) 430 may be stored on one or more storage mediums, and in some embodiments may be analogous to or comprise the databases 160 of collateral management system 140 .
- the data may be retrieved from a plurality of databases, which may be spread across one or more storage mediums.
- the data loaded at 420 include data from a security master database 440 , rule sets 450 , source mode deals 460 , source mode positions 470 , target mode deals 480 , and target mode positions 490 .
- workflow 400 may continue at 500 by placing an allocation lock on dealer boxes, repo accounts and concentration limits. It may be appreciated that locking the dealer boxes, repo accounts, and concentration limits may be locked for the duration of the allocation, to ensure that another allocation or unwind processes does not access the same resources in parallel with another allocation running at the same time (which might otherwise result in double allocation of resources).
- Workflow 400 may then determine position eligibility at 510 .
- determining position eligibility at 510 may include running a gross eligibility analysis at 520 , before updating margins at 530 .
- Running the gross eligibility analysis at 520 may in some embodiments be similar to initializing the data at 215 in process 200
- updating the margins at 530 may in some embodiments be similar to refreshing the margins at 230 of process 200 .
- the updated margins from 530 may be fed back into the target mode positions 490 stored in the database(S) 430 .
- Position eligibility determinations at 510 may then continue at 540 by updating group concentrations. As shown, the group concentrations may be stored in target mode group concentration buckets 550 in the database(S) 430 .
- Determining position eligibility at 510 may then continue at 560 by initializing concentration buckets at 560 , making use of the target mode positions 490 and the target mode group concentration buckets 550 .
- updating the group concentrations at 540 and initializing the concentration buckets at 560 may comprise or otherwise be similar to populating the concentration linked list at 235 of process 200 .
- position eligibility determination at 510 may vary across embodiments, and those features described herein are merely exemplary. For example, in some embodiments one or more features of testing position eligibility may be as disclosed in U.S. patent application Ser. No. 13/368,952, incorporated in its entirety herein by reference.
- positions may initially be assigned within four structures: par_db (how much of each position is not allocated in memory), par_repo (how much of each position is allocated to each deal in memory), par_db_optimized (how much of each position is not allocated in the optimized state), and par_repo_optimized (how much of each position is allocated to each deal in the optimized state).
- par_db how much of each position is not allocated in memory
- par_db_optimized how much of each position is not allocated in the optimized state
- par_repo_optimized how much of each position is allocated to each deal in the optimized state
- the allocation at 580 may comprise allocating the position in memory if it is not breaking a concentration limit. An associated instruction may also be generated during the allocation at 580 . While the allocation may complete if it is then determined at 590 that all instructions have been generated, if more work is required then the allocation at 570 may proceed at 600 by substituting excess collateral. In an embodiment, the determination at 590 may include generating a commit transaction instruction. If par_repo does not equal the par_repo_optimized structure, then the allocation at 570 may end. Otherwise, a begin transaction instruction may be created for future execution.
- the collateral When substituting excess collateral at 600 , for each position where par_repo>par_repo_optimized, the collateral may be removed up to (par_repo ⁇ par_repo_optimized), while keeping the deal fully collateralized.
- a substitution instruction may be generated for each position moved. In an embodiment, it may be acceptable to move positions to a tolerated level above (par_repo ⁇ par_repo_optimized), which may facilitate simpler transactions, and may result in fewer substitution instructions being generated.
- the allocation at 570 may proceed at 620 by substituting to maximize cash exposure.
- substituting excess collateral at 600 may break to 610 if more than a pre-determined number of instructions are generated, which may keep the transaction size manageable.
- substituting to maximum cash exposure at 620 may comprise, for each position where par_repo>par_repo_optimized, removing collateral up to (par_repo ⁇ par_repo_optimized), while keeping the maximum cash exposure below a pre-defined limit.
- a substitution instruction may be generated for each position moved.
- allocation at 570 may proceed at 640 by substituting any remaining collateral.
- substituting to maximum cash exposure at 620 may break to 630 if more than a pre-determined number of instructions are generated, which may keep the transaction size manageable.
- substituting remaining collateral at 640 may comprise, for each position where par_repo>par_repo_optimized, removing collateral up to (par_repo ⁇ par_repo_optimized). For each position moved, a substitution instruction may be generated. In an embodiment, if more than a pre-determined number of instructions are generated, the allocation at 570 may break to 590 to keep the transaction size manageable.
- allocation at 570 may return to 580 , with allocation of available collateral.
- the allocation at 570 may return to 590 , determining if all instructions are generated. If, at this point, all allocation instructions have been generated at 590 , then allocation may terminate. Otherwise, if more work is still required, then excess collateral may again be substituted at 600 . If it is determined at 610 that instruction were created in the previous step, then allocation at 570 may return to allocating available collateral at 580 without again substituting to maximize cash exposure at 620 (and potentially substituting any remaining collateral at 640 ).
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
A system for managing collateral allocations in Tri-Party repurchasing agreement(s) includes memory element(s) coupled to processor(s) and configured to store deal attributes including rule sets associated with a lender l, and collateral characteristic(s) for collateral provided by the borrower b that are associated with each of the Tri-Party repurchasing agreements. The system includes at least one collateral allocation module, configured through the processor(s) to optimize auto cash, an amount short, a cost of carry index, and optimize a collateralization index, associated with the Tri-Party repurchasing agreement(s). A similar system includes at least one collateral allocation module, configured through the processor(s) to optimize a settlement index, a collateralization index, and a cost of carry index, associated with the Tri-Party repurchasing agreement(s). Associated methods are also disclosed.
Description
- This application claims the benefit of priority to U.S. Provisional Application Ser. No. 61/745,187, filed Dec. 21, 2012. U.S. Provisional Application Ser. No. 61/745,187 is related to U.S. patent application Ser. No. 13/362,980, filed Jan. 31, 2012, which claims benefit to U.S. Provisional Application Ser. No. 61/438,195, filed Jan. 31, 2011. U.S. Provisional Application Ser. No. 61/745,187 is also related to U.S. Provisional Patent Application Ser. No. 61/647,346, filed May 15, 2012. Each of the above mentioned applications are incorporated herein in their entireties by reference.
- This application is directed to a computer-implemented system and method useful for managing collateral associated with Repurchase Agreements (“Repos”). In particular, this application is directed to a computerized system and method for efficiently allocating the collateral managed by a third party agent (a “Tri-Party agent”) in Tri-Party Repos.
- In a Repo, a seller (dealer/borrower/cash receiver) sells securities for cash to a buyer (lender/cash provider) and agrees to repurchase those securities at a later date for more cash. The Repo rate is the difference between borrowed and paid back cash expressed as a percentage. The buyer typically utilizes Repos to invest cash for an agreed upon duration of time (typically overnight, although the term may vary), and would receive a rate of interest in return for the investment. The seller typically utilizes Repos to finance long positions in securities or other assets in the seller's portfolio.
- Repos are financial instruments used in money markets and capital markets, and are economically similar to a secured loan, with the buyer receiving securities as collateral to protect against default. Virtually any security may be employed in a Repo, including, for example, Treasury or Government bills, corporate and Treasury/Government bonds, stocks/shares, or other securities or financial instruments. In a Repo, however, the legal title to the securities clearly passes from the seller to the buyer, or “investor”. Coupons (installment payments that are payable to the owner of the securities), which are paid while the Repo buyer owns the securities are, in fact, usually passed directly onto the Repo seller. This may seem counterintuitive, as the ownership of the collateral technically rests with the buyer during the Repo agreement. It is possible to instead pass on the coupon by altering the cash paid at the end of the agreement, though this is more typical of Sell/Buy Backs.
- Although the underlying nature of a Repo transaction is that of a loan, the terminology differs from that used when talking of loans because the seller does actually repurchase the legal ownership of the securities from the buyer at the end of the agreement. Although the actual effect of the whole transaction is identical to a cash loan, in using the “repurchase” terminology, the emphasis is placed upon the current legal ownership of the collateral securities by the respective parties.
- In a Tri-Party Repo, the collateral is managed by a Tri-Party agent (typically a bank), who may match the details of the trade agreed upon by the buyer and the seller, and assume all of the post trade processing and settlement work. The Tri-Party agent controls the movement of securities, such that the buyers do not actually take delivery of collateralized securities. The Tri-Party agent acts as a custodian for the collateral, and allows the flow of collateral and cash between buyers and sellers across one or more deals.
- In some Repo agreements, the seller/dealer may have numerous assets that are being managed by the Tri-Party agent. In these cases, it may be desirable for the Tri-Party agent to allow for the restructuring of the collateral of the deals, so that the seller may free up some assets while placing other agreeable assets in the legal ownership of the buyer, during the deal. Such movements would generally be agreed to by the buyer and the seller when entering the agreement to be managed by the Tri-Party agent.
- Among other things, what is needed is a system and method for managing collateral in financial transactions. What is further needed is a computer-implemented system and method that simplifies and improves the allocations of collateral associated with Tri-Party Repos in a dealer's portfolio.
- Through various embodiments described herein, the system and method of this disclosure enhances the allocations of collateral associated with a plurality of Repo agreements. For example, various embodiments provide functions relating to determining overcollateralization and undercollateralization across the Repos, and ascertaining enhanced or optimal restructuring of the collateral associated with the Repos, to satisfy the requirements of the deal, and the preferences of those participating in the deal.
- Various embodiments of this disclosure may be used in conjunction with existing financial services platforms, for example the Bank of New York Mellon's Tri-Party repurchase agreement products (RepoEdge®) which allow clients to outsource the operational aspects of their collateralized transactions, and Derivatives Margin Management (DM Edge®), which helps clients manage credit risks associated with derivatives transactions by enabling them to accept, monitor and re-transfer collateral. These services, among others such as Repo Margin Management (RM Edge®), MarginDirectSM, and Derivatives Collateral Net (DCN), may be delivered to clients through AccessEdgeSM, a real-time, web-based portal.
- The operator/manager of the system and method of this disclosure acts as a third-party service provider to the two principals to a trade, and the various functions performed by the system and method provide value-added services which mitigate risk and lead to greater efficiencies for both parties.
- According to an embodiment a system for managing collateral allocations in one or more Tri-Party repurchasing agreements includes one or more memory elements coupled to one or more processors and configured to store deal attributes including rule sets associated with a lender l, and one or more collateral characteristics for collateral provided by the borrower b that are associated with each of the Tri-Party repurchasing agreements. The system includes at least one collateral allocation module, configured through the one or more processors to optimize auto cash associated with the Tri-Party repurchasing agreements. The at least one collateral allocation module is also configured through the one or more processors to optimize an amount short associated with the Tri-Party repurchasing agreements. The at least one collateral allocation module is also configured through the one or more processors to optimize a cost of carry index associated with the Tri-Party repurchasing agreements. The at least one collateral allocation module is further configured through the one or more processors to optimize a collateralization index associated with the Tri-Party repurchasing agreements.
- According to another embodiment, a system for managing collateral allocations in one or more Tri-Party repurchasing agreements includes one or more memory elements coupled to one or more processors and configured to store deal attributes including rule sets associated with a lender l, and one or more collateral characteristics for collateral provided by the borrower b that are associated with each of the Tri-Party repurchasing agreements. The system includes at least one collateral allocation module, configured through the one or more processors to optimize a settlement index associated with the Tri-Party repurchasing agreements. The at least one collateral allocation module is also configured through the one or more processors to optimize a collateralization index associated with the Tri-Party repurchasing agreements. The at least one collateral allocation module is further configured through the one or more processors to optimize a cost of carry index associated with the Tri-Party repurchasing agreements.
- According to another embodiment, a method for managing collateral allocations in one or more Tri-Party repurchasing agreements includes optimizing, utilizing one or more processors, auto cash associated with the Tri-Party repurchasing agreements. The method also includes optimizing, utilizing the one or more processors, an amount short associated with the Tri-Party repurchasing agreements. The method also includes optimizing, utilizing the one or more processors, a cost of carry index associated with the Tri-Party repurchasing agreements. The method further includes optimizing, utilizing the one or more processors, a collateralization index associated with the Tri-Party repurchasing agreements. The one or more processors are coupled to one or more memory elements configured to store deal attributes including rule sets associated with a lender l, and one or more collateral characteristics for collateral provided by the borrower b that are associated with each of the Tri-Party repurchasing agreements.
- According to another embodiment, a method for managing collateral allocations in one or more Tri-Party repurchasing agreements includes optimizing a settlement index associated with the Tri-Party repurchasing agreements. The method also includes optimizing a collateralization index associated with the Tri-Party repurchasing agreements. The method further includes optimizing a cost of carry index associated with the Tri-Party repurchasing agreements. The one or more processors are coupled to one or more memory elements configured to store deal attributes including rule sets associated with a lender l, and one or more collateral characteristics for collateral provided by the borrower b that are associated with each of the Tri-Party repurchasing agreements.
- The system and method of this disclosure provides various capabilities as discussed more fully in the detailed description below.
-
FIG. 1 provides a functional block diagram of an embodiment of a computer-implemented and networked system for collateral management; -
FIGS. 2A-2B illustrate a logic flowchart that implements a collateral allocation optimization algorithm and other rules relating to collateral allocation in an embodiment of this disclosure; -
FIG. 3 illustrates an example of reallocations of securities throughout the operation of the optimization algorithm; -
FIG. 4 provides an illustrative screen shot representing an allocation template modification screen that may be used in a graphical user interface of an embodiment of this disclosure; -
FIG. 5 provides an illustrative screen shot representing an allocation template review screen that may be used in a graphical user interface of an embodiment of this disclosure; -
FIG. 6 provides an illustrative screen shot representing an allocation template list screen that may be used in a graphical user interface of an embodiment of this disclosure; -
FIG. 7 provides an illustrative screen shot representing an allocation submission screen that may be used in a graphical user interface of an embodiment of this disclosure; -
FIG. 8 provides an illustrative screen shot representing an allocation history search screen that may be used in a graphical user interface of an embodiment of this disclosure; -
FIG. 9 provides an illustrative screen shot representing an allocation history search results screen that may be used in a graphical user interface of an embodiment of this disclosure; -
FIG. 10 provides an illustrative screen shot representing an allocation history detail report screen that may be used in a graphical user interface of an embodiment of this disclosure; and -
FIG. 11 illustrates an embodiment of a workflow configured to implement optimization models described herein. - In the discussion of various embodiments and aspects of the system and method of this disclosure, examples of a processor may include any one or more of, for instance, a personal computer, portable computer, personal digital assistant (PDA), workstation, or other processor-driven device, and examples of network may include, for example, a private network, the Internet, or other known network types, including both wired and wireless networks.
- Those with skill in the art will appreciate that the inventive concept described herein may work with various system configurations. In addition, various embodiments of this disclosure may be made in hardware, firmware, software, or any suitable combination thereof. Aspects of this disclosure may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by one or more processors. A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device, or a signal transmission medium), and may include a machine-readable transmission medium or a machine-readable storage medium. For example, a machine-readable storage medium may include read only memory, random access memory, magnetic disk storage media, optical storage media, flash memory devices, and others. Further, firmware, software, routines, or instructions may be described herein in terms of specific exemplary embodiments that may perform certain actions. However, it will be apparent that such descriptions are merely for convenience and that such actions in fact result from computing devices, processors, controllers, or other devices executing the firmware, software, routines, or instructions.
- Described herein is an exemplary algorithm which may be implemented through computer software running in a processor to determine optimal collateral allocations based on user-selected criteria. This algorithm is not intended to be limiting, but is merely provided to describe one way of accomplishing the functions associated with determining optimal collateral allocations.
- In the discussion of various embodiments and aspects of the system and method of this disclosure, examples of trading parties include, but are not limited to, broker-dealers, institutional investors, and hedge fund managers.
- In various embodiments, a web-based collateral management system or platform links dealers with investors to conduct collateral transactions in a safe, efficient, and reliable way. Online dealers and investors can manage collateral among a diverse range of instruments, including Tri-Party repo agreements in all major currencies, securities lending transactions, municipal deposits, bank loans, derivatives transactions, letters of credit, and structured trades, for example. The system may be managed by the Tri-Party agent, and may additionally provide, for example, daily mark-to-market valuations, haircuts/margins, and concentration limits (i.e., maintain percentages of market capitalization, dollar amount limits for a particular security, or a percentage of the portfolio in a particular security, for example), as well as manage, track, and settle collateral transactions across global capital markets by working collaboratively with clients to provide collateral transparency. The enhanced collateral allocation aspect of this disclosure may allow dealers (i.e. the sellers in Repos) to control and/or automatically permit the shifting of collateral associated with a plurality of deals that are under the management of the Tri-Party agent, even though the collateral is titled to the buyers in the Repo. Such transfers may “optimize” the allocations, so, for example, the fewest number of deals are under-collateralized or over-collateralized, while the collateral allocations meet buyer and/or seller requirements for the deals, as described in greater detail below.
-
FIG. 1 illustrates a functional block diagram of an embodiment ofpost-trade management system 100.Post-trade management system 100 is established to permitseller 110 andbuyer 115 to accesscollateral management system 140 vianetwork 130 andplatform manager 120, or optionally bypassesplatform manager 120.Collateral management system 140 may utilize one or more processors (not shown), housed within one or more computers, which may be networked together by any appropriate mechanism, including, for example,network 130. The one or more processors are configured to run one or more modules, as described below. For example, the modules ofcollateral management system 140 may includenetwork communication module 145, configured to process external communications betweencollateral management system 140 andnetwork 130.Account search module 150 may be configured to search one or more databases associated with client assets held in custody for, or for the benefit of various existing clients ofplatform manager 120.Account search module 150 may be configured to search for a particular type of security or asset, a particular security issuer, or a security rating, for example. In some embodiments,account search module 150 may be configured to access memory storage device(s) 155, which may include one ormore databases 160 therein.Memory storage device 155 may be any type of conventional storage mechanism for example, one or more hard drives, solid state drives, network storage, random access memory (RAM), combinations thereof, or so on.Database 160 may be any type of appropriate database, as would be known by a person of ordinary skill in the art, for example. Operator input/output anddisplay module 165 represents various techniques and computer peripheral devices for providing operator input and output tocollateral management system 140. In some embodiments, operator input/output anddisplay module 165 may communicate withnetwork communication module 145, to provideseller 110 and/orbuyer 115 with remote access tocollateral management system 140 vianetwork 130. -
Collateral management system 140 may additionally include reporting andmessaging module 170, which may be configured to provide standard and/or custom report and messaging formats that may be transferred to network 130 bycollateral management system 140, (optionally) throughplatform manager 120, or through an alternate communications path illustrated by the dashed double-ended arrow inFIG. 1 . In some embodiments,collateral management system 140 may includepayment processing module 175, indicated in dashed lines, which may have optional functionality associated with business payment activities for services rendered by the system manager (i.e. the third party agent) in processing, evaluating, and optimizing reallocation of collateral for managed deals such as the Tri-Party Repos. As further shown inFIG. 1 , and described in greater detail below,collateral management system 140 further includescollateral allocation module 180, which may be configured to us the one or more processors to evaluate various security positions that are being utilized as collateral for a Repo deal, or may be eligible to be utilized in a Repo deal, and ascertain the allocations of the security positions across a plurality of Repo deals. -
FIG. 2A depicts a flowchart illustrating an embodiment of a method/process of collateral allocation (process 200), which may be configured to optimize or otherwise enhance or make more efficient the allocations of collateral across a plurality of the Repo deals. In some embodiments,process 200 may be implemented by one or more algorithms which may be configured to operate incollateral allocation module 180. Although reference herein will be made to elements ofpost-trade management system 100 described above, in other embodiments,process 200 may be operable through another such system, or over a plurality of systems. Process 200 starts at 205, and continues to 210 where data associated with the collateral allocation is loaded into memory. In an embodiment, the data may be read fromdatabase 160. In an embodiment, the data may be copied from the database residing on a durable storage medium to a faster access storage medium (i.e. from a hard drive to random access memory). In various embodiments, the data may include one or more of Tri-Party repo deals, positions, security data, rulesets, concentration limit data, or so on. In an embodiment, application locks may be read into the memory as well, so as to prevent duplicate allocations from running simultaneously. In an embodiment, the data may be responsive to a query implemented onaccount search module 150. For example, in some embodiments, the data may be narrowed to include data involving aparticular buyer 115, or a particular class of collateral, as described in greater detail below. In an embodiment, the data loaded at 210 may be over-inclusive, so to minimize access ofdatabase 160, which may otherwise increase network latency when memory/storage device(s) 155 are located away from the one or more processors. In an embodiment, each of a plurality of processors may be associated with only a subset of the deals to manage primarily that subset, however data corresponding to all deals may be loaded into memory associated with each processor, to balance the load of processing said data, regardless of any interrelatedness of the data. For example, in an embodiment whereinprocess 200 is operable on a clustered computing architecture, each of a plurality of message passing interface (MPI) nodes may be responsible for a subset of the deals returned by the query. - Once the data is loaded at 210,
process 200 may continue to initialize the data at 215. Data initialization at 215 may be configured to structure the data in a manner that may permit greater efficiency of data handling further inprocess 200. In some embodiments, initializing the data at 215 may include locking the dealer boxes, repo accounts, and concentration limits (e.g., for the duration of the allocation, to ensure that another allocation or unwind processes does not access the same resources in parallel with another allocation running at the same time). Data initialization at 215 may include at 220 performing eligibility testing of the positions against the rulesets, basket identifier (BID) schedules, and collateral preference schedules (CPS) for all relevant deals. In an embodiment, only the MPI nodes responsible for a given subset of the deals will test eligibility for those deals. In an embodiment, each node may process multiple deals in parallel, using, for example, an OpenMP architecture. Data initialization at 215 may further include at 225 creating a margin array data structure, such that non-eligible positions for a given deal will have a margin of zero, while eligible positions will have their margin or haircut loaded into the structure. In an embodiment, the margin array may be a double array indexed by repo number and position number, however may be stored as a single contiguous area of memory. In an embodiment, different parts of the margin array may be populated by different MPI nodes, however may be synchronized across the cluster of MPI nodes. In an embodiment, deals sharing a group level concentration limit are grouped onto the same node so that concentration limit data does not have to be communicated through the cluster to help improve performance. In an embodiment, a load balancing algorithm is used to authorize a node as manager of a specific deal so that each node in the cluster has an equal work load. - Data initialization at 215 may further include at 230 refreshing the margins in
database 160 for any margin of the array that is different from previously allocated margins loaded into memory at 210. Such differences may arise, for example, due to changes in security data or rulesets. At 235, data initialization continues with populating a concentration linked list for Repo and position combinations. Such a list may permit allocation and de-allocation of positions by iterating through the linked list to update concentration buckets without reparsing the ruleset to identify applicable concentration limits. In an embodiment, concentrations that were not correctly populated indatabase 160 for previously allocated positions are refreshed indatabase 160. Data initialization at 215 may further include at 240 populating a Cost of Carry array, which may be a double array indexed by deal and position. In an embodiment, the Cost of Carry array may be populated by MPI nodes managing their associated deals, and then synchronized across the cluster of MPI nodes. Data initialization at 215 may further include at 245 taking a snapshot of a previous allocation, then returning all previously allocated positions back to a Dealer Box in the memory. - Once data initialization at 215 is completed,
process 200 may continue at 250 by performing pre-optimization of the positions for the deals. Such pre-optimization may allow selection of various features for particular deals, which may override optimized or otherwise enhanced allocations performed later inprocess 200. In an embodiment, pre-optimization at 250 may include at 255 allocating all collateral that is eligible for a given deal to that deal, even if the deal becomes over-collateralized. In an embodiment, any collateral allocated to those deals may be locked, and not utilized for other optimizations. In an embodiment, pre-optimization at 250 may include at 260 a minimum modification feature, which may be associated with a given deal such that an attempt would be made to reallocate any collateral previously allocated to that deal (i.e. indicated in the backup snapshot at 245) back to the deal. In an embodiment, if the position is no longer eligible, would break a concentration limit, or would over-collateralize that deal, then that position might not be allocated, or might be partially allocated. In an embodiment, any position allocated to the deals designated for minimum modification would not be accessed for optimization, or otherwise reallocated for the remainder ofprocess 200. In an embodiment, the deals selected for minimum modification may still have additional positions allocated to it to prevent under-collateralization. For example, if the account is short, additional collateral may be allocated to the deal. Furthermore, if the account is over-collateralized, some collateral may be removed, but not enough to make the account under-collateralized. Again, any collateral already allocated would remain collateral; however this may exclude collateral that is no longer eligible collateral, if the rulesets for the deal are modified. In an embodiment, the allocations during the pre-optimization at 250 may utilize a parallel replacement algorithm, described in greater detail below. - Once the pre-optimization phase at 250 is complete,
process 200 may continue with mathematically optimizing the collateral allocations at 270, where the one or more processors may be used to find an allocation of the portfolio that minimizes current required collateral across the plurality of deals. In an embodiment,seller 110 andbuyer 115 may agree to allow such movements of the collateral in their deals, either automatically or at the request of one or both parties. Typically, asseller 110 has agreed to buy back the collateral at a later time,seller 110 would be the one who would want to shift collateral, so that additional collateral may be freed up which may be utilized for other purposes. In an embodiment, the mathematical optimization at 270 may also utilize the parallel replacement algorithm, again described below, which may be iterated repeatedly until the portfolio comes fully collateralized, or when the derivative of the weighted average of the previous ten iterations becomes zero or negative. - The mathematical optimization at 270 may include, at 275, indexing and sorting the deals based on position eligibility. In an embodiment, a bipartite graph may be created between the set of positions and the set of deals. Edges may be drawn showing eligibility between the sets of positions and deals. In an embodiment, vertex degrees are calculated for each set, representing the number of edges connecting to each member of the set. In an embodiment, the sorting may include sorting the set by vertex degree, such that repo accounts may subsequently be collateralized in the increasing order of their vertex degrees. Such collateralization may allow allocation of positions which have lower eligibility.
- Mathematical optimization at 270 may further include at 280 creating groups of positions, which may be utilized to parallelize the allocation process. In an embodiment, a self organizing map (SOM)/Kohonen map, or other similar neural network technique may be utilized to create the groups. The SOM may use vectors of margins for individual positions as inputs to train the network in a learning mode. A mapping mode may then classify a new input vector. In an embodiment, the SOM algorithm may utilize the Euclidian Distance formula to categorize and group the positions. In an embodiment, the vectors may include the margins for a position applied to each deal. Once the positions are grouped at 280, the position groups may then be sorted at 285. In an embodiment where the best use of margins is the basis for enhancement/optimization, sorting the position groups at 285 may comprise ordering the groups according to the average margins of positions within the group. In an embodiment, the SOM algorithm may be configured to split the position into a number of categories. In an embodiment, the number of categories may be equal to the number of MPI nodes. In some embodiments, the SOM algorithm may ensure that positions in the same category would have similar margins across all associated deals.
- As an example, if the margins for each position within each Repo Account (RA) corresponds to what is reflected in Table I below, then when the positions are grouped and sorted as reflected in Table II, the groups may be ordered such that the group with the lowest margins has higher priority in allocation, as follows:
-
TABLE I Position Margins Repo Accounts Positions RA1 RA2 RA3 RA4 RA5 RA6 RA7 RA8 023824574 1.01 1.02 1.01 1.01 1.00 1.02 1.01 1.01 024519660 1.05 1.05 0.00 1.06 0.00 1.04 1.05 1.05 024814742 1.01 1.02 0.00 1.01 1.00 1.02 1.01 1.01 025088212 1.02 1.02 1.01 1.01 1.01 1.02 1.01 1.01 026104335 1.06 1.06 1.07 1.05 0.00 1.06 1.05 0.00 026649103 1.01 1.02 1.02 1.03 1.01 0.00 1.01 1.01 -
TABLE II Group sorting Position Groups Group 1 (G1) Group 2 (G2) Group 3 (G3) Repo Accounts 23824574 24814742 25088212 26649103 26104335 24519660 RA1 1.01 1.01 1.02 1.01 1.06 1.05 RA2 1.02 1.02 1.02 1.02 1.06 1.05 RA3 1.01 0.00 1.01 1.02 1.07 0.00 RA4 1.01 1.01 1.01 1.03 1.05 1.06 RA5 1.00 1.00 1.01 1.01 0.00 0.00 RA6 1.02 1.02 1.02 0.00 1.06 1.04 RA7 1.01 1.01 1.01 1.01 1.05 1.05 RA8 1.01 1.01 1.01 1.01 0.00 1.05 Position Avg 1.01 1.01 1.01 1.02 1.06 1.05 Group Avg 1.01 1.01 1.05 Sort Order 1 2 3 - In an embodiment, where two groups have the same average margins (such as G1 and G2 in the example of Table II), then the group having positions with the lower eligibility may be awarded the higher priority. In some embodiments, once the groups are sorted at 285, the mathematical optimization at 270 may continue with assigning the deals among nodes at 290. In some embodiments, the deals are assigned to groups as part of loading the data at 210. Such assignment may be performed to parallelize the collateral allocation process. In an embodiment, a deal or a group of deals may be assigned to a particular node based on maximum/minimum concentration limits. As noted above, in some embodiments the deals may be balanced to the MPI nodes, which in some cases may account for group level concentration limits, whereby deals sharing a group level concentration limit are assigned to the same node, while other deals are split across the remaining nodes. In an embodiment, only the MPI node managing a particular deal would allocate collateral to that deal, while any MPI node could de-allocate collateral from a given deal. In an embodiment, the number of nodes would equal the number of position groups for maximum efficiency. In an embodiment, the position groups may be rotated across the MPI nodes so that all nodes have an opportunity to allocate any position from any position group. In an embodiment, the position groups are assigned to a node using pipeline architecture to ensure that lowest margin collateral are considered first for allocation. An example of such allocation is depicted in Table III below.
-
TABLE III Pipeline Architecture Allocation Time-cycles → T1 T2 T3 T4 T5 Node 1 G1 G2 G3 Node 2 G1 G2 G3 Node 3 G1 G2 G3 - Once the groups are sorted in order of their vertex degrees, and in various embodiments assigned to particular nodes, the mathematical optimization at 270 may continue at 295 by performing a maximal allocation. In an embodiment, the maximal allocation may comprise sorting Repo Accounts by ascending order of vertex degree, based on positions in the Dealer Box. The maximal allocation may continue by sorting the sorted Repo Accounts by the vertex degree based on position in an Allocated Securities Box (although in the first iteration of the maximal allocation at 295, the Allocated Securities box would be empty). Maximal allocation at 295 would continue with the position groups being arranged such that those with the lowest average of margins are allocated first.
- Following the maximal allocation at 295, some of the RAs may be left undercollateralized, with some collateral still left in the Dealer Box. A replacement procedure may be implemented at 300 to swap some of the collateral in the fully collateralized repo accounts with the remaining eligible collateral in the Dealer Box, and reallocate the freed up collateral to the undercollateralized deals. As above, eligibility may be ascertained by any appropriate mechanism, including but not limited to allowance by
buyer 115 in rulesets associated with the deals, preference byseller 110 through the BID schedule, or so on. In an embodiment, the reallocation may again give greater importance to the margins. In an embodiment, the replacement procedure at 300 may comprise sorting the RAs first by vertex degree based on the positions left in the Dealer Box, then by vertex degree based on the positions now in the Allocated Securities box. During the replacement allocations, securities in the Dealer Box would be considered first, before securities in the Allocated Securities box. The undercollateralized accounts would continue to be collateralized with securities from the Allocated Securities box, once the eligible collateral in the Dealer Box is depleted. In an embodiment, the replacement procedure at 300 may be iterated across all accounts until all accounts are fully collateralized, or there is a shortage of collateral. In an embodiment, the replacement procedure at 300 may utilize the bipartite graph method to establish priorities for the replacement collateralization. - An example of the mathematical optimization performed at 270 is depicted in
FIG. 3 , wherein the complete collateralization of all Repo Accounts R1-R8 is accomplished in three iterations (Iter 0,Iter 1, and Iter 2). For each iteration, the number of securities allocated (SA) to a given account is presented, as well as the number of eligible securities in both the Dealer Box (DB) and the number of eligible securities in the Allocated Securities box (AS). As shown, the order that the Repo Accounts are presented following the replacement procedure reflects the order in which the Repo Accounts are collateralized during that procedure: ascending in order based on the number of eligible securities in the DB, followed by the number of eligible securities in the AS, (or R6→R8→R2→R7→R4→R1→R5→R3). When making the collateral available, it would be in the reverse order, starting with what is left in the DB (i.e. DB→R3→R5→R1→R4→R7→R2→R8→R6). For example, when allocating collateral to account R6 inIter 2, the collateral considered first will be the eligible collateral in the DB (sorted internally by margins) followed by the eligible collateral that was allocated to R3 (sorted internally by margins) inIter 1, followed by R5 inIter 1, and so on. By proceeding in this manner, collateral is being taken from accounts that still have a large amount of eligible collateral left in the Dealer Box, before moving on to taking collateral from Repo Accounts that have more limited amounts of eligible collateral. - A stopping point for the mathematical optimization at 270 may be determined by any suitable determination criteria. In an embodiment, the mathematical optimization at 270 may simply proceed for a predetermined number of iterations. In another embodiment the stopping point for the mathematical optimization at 270 may be ascertained from a moving average calculated from the prior iterations. As shown in the illustrated embodiment of
process 200 inFIG. 2A , after the replacement process is run at 300, it may be determined at 305 if an optimal collateral allocation has been ascertained. If not, then the mathematical optimization at 270 may continue by returning to 295 for further collateral reallocations. In an embodiment, the optimal collateral allocation may be selected from the processed iterations of thereplacement process 300 at a stopping point for the optimization calculations. An example of ascertaining the optimal collateral allocations at 305 is depicted in the example collateralization table presented in Table IV. -
TABLE IV Optimized Collateralizations for a given Repo Account Moving Avg Slope (From Undercollateralized (From Prior Ten Prior Ten Moving Iteration # Amount Iterations) Averages) 1 51,724,121,266.26 2 15,285,759,313.30 3 15,275,400,741.39 4 15,265,605,535.34 5 15,263,662,725.20 6 15,263,496,654.97 7 15,196,739,680.91 8 15,193,430,765.45 9 15,183,291,443.73 10 15,183,267,729.92 18,883,477,585.65 11 15,174,152,224.71 15,228,480,681.49 12 15,181,803,807.26 15,218,085,130.89 13 15,184,771,409.55 15,209,022,197.70 14 15,185,985,755.57 15,201,060,219.73 15 15,177,743,295.89 15,192,468,276.80 16 15,188,312,786.22 15,184,949,889.92 17 15,178,028,120.29 15,183,078,733.86 18 15,182,510,080.73 15,181,986,665.39 19 15,194,587,124.58 15,183,116,233.47 −3,700,361,352.17 20 15,189,709,194.54 15,183,760,379.94 −44,720,301.56 21 15,179,768,127.28 15,184,321,970.19 −33,763,160.69 22 15,177,527,310.43 15,183,894,320.51 −25,127,877.19 23 15,179,533,232.17 15,183,370,502.77 −17,689,716.95 24 15,184,357,609.62 15,183,207,688.18 −9,260,588.62 25 15,172,461,886.99 15,182,679,547.29 −2,270,342.64 26 15,178,898,307.02 15,181,738,099.37 −1,340,634.49 27 15,171,085,519.12 15,181,043,839.25 −942,826.14 28 15,168,148,512.90 15,179,607,682.46 −3,508,551.01 29 15,177,237,711.56 15,177,872,741.16 −5,887,638.77 30 15,171,969,148.08 15,176,098,736.52 −8,223,233.68 31 15,168,954,314.80 15,175,017,355.27 −8,876,965.24 32 15,169,906,453.98 15,174,255,269.62 −9,115,233.15 33 15,175,691,281.00 15,173,871,074.51 −9,336,613.67 34 15,185,598,578.23 15,173,995,171.37 −8,684,375.92 35 15,171,045,961.44 15,173,853,578.81 −7,884,520.55 36 15,175,794,410.25 15,173,543,189.14 −7,500,650.11 37 15,164,822,445.27 15,172,916,881.75 −6,690,800.71 38 15,175,593,402.76 15,173,661,370.74 −4,211,370.42 39 15,171,130,798.57 15,173,050,679.44 −3,048,057.08 40 15,175,304,543.67 15,173,384,219.00 −1,633,136.27 41 15,174,472,655.12 15,173,936,053.03 −319,216.59 42 15,172,036,275.24 15,174,149,035.16 277,960.65 - As shown in Table IV, in an embodiment a weighted average of the undercollateralized amount may be calculated from the previous ten iterations of the replacement process at 300. The “undercollateralized amount” indicates the amount by which the account is undercollateralized at the end of the maximal allocation process at 295. The Replacement algorithm at 300 attempts to collateralize this amount by swapping eligible collateral between RAs and the Dealer Box, before allocating the collateral to the given RA. The slope may then be calculated, representing the difference between the current iteration's weighted average and the weighted average of the tenth prior iteration. In an embodiment, the stopping point may be ascertained when this slope becomes greater than or equal to zero. In Table IV, the stopping point is reached with iteration 42, where the slope becomes positive. The optimal allocation, having the least undercollateralized amount, may then be selected from the calculated iterations, which in the example of Table IV is found in iteration 37.
- During the swapping of collateral, it may be observed that the replacement algorithm at 300 continues to run iteratively despite there not being any eligible collateral available in any of the accounts. In an embodiment, instead of a set number of iterations being run, as was depicted in Table IV, the optimized collateral allocation determination at 305 may detect when the collateralization value has become constant, indicating a lack of further eligible collateral, recognizing that as a termination point. In an embodiment, the optimized collateral allocation determination at 305 may ascertain that the iteration should terminate when the under-collateralized amount becomes zero. In an embodiment, if the moving average value over ten iterations remains constant or increases, the allocation may be ascertained at 305 to be complete. The moving average may be a greater determination of optimal collateralization, because in cases where larger collateral is swapped for smaller collateral, the under-collateralized amount value may increase for that particular iteration, however, this may decrease again in subsequent iterations, and it may be desirable to continue the iterations of the replacement process at 300.
- Once it is determined at 305 that the collateral allocations have been mathematically optimized, the mathematical optimization at 270 may end, and
process 200 may continue to A, which continues atFIG. 2B . As is shown inFIG. 2B ,process 200 may continue at 310 with a business optimization of the collateral. In an embodiment, the business optimization at 310 may be implemented if there is insufficient collateral to collateralize the entire portfolio. In an embodiment, a determination of which deal or deals should be left undercollateralized may be made at 315. In an embodiment, multiple considerations may exist, which may be used together and prioritized byseller 110 and specified via operator I/O &display 165, as described in greater detail below. In an embodiment, one such consideration may include basket prioritization 320. Basket prioritization 320 may prioritize deals classified as basket trades or having BID schedules over deals that are not classified as basket trades, or do not have BID schedules. In an embodiment, another such consideration may include internalshort prioritization 325. Internalshort prioritization 325 may collateralize older deals ahead of newer deals. In an embodiment, another consideration may includemarket deadline prioritization 330. Suchmarket deadline prioritization 330 may prioritize deals that accept collateral only from markets which are closed ahead of deals that only accept collateral from markets which are still open. In yet another embodiment, another consideration may includedealer prioritization 335, wherein the dealer (i.e. seller 110) may specify particular deals to have a higher prioritization. Again, such demarcation of higher priority deals may be specified via operator I/O &display 165, or any other interface with the collateral allocationsystem running process 200. The implementation of the undercollateralization determination at 315 may be by any suitable mechanism, including but not limited to via the parallel replacement mechanism of the mathematical optimization described above. - As further shown, the business optimization at 310 may further include at 340 determining which of a dealer's preferred collateral should be allocated to a deal. The dealer's preferred collateral may be of any appropriate type, and may correspond, for example, to the dealer's BID schedule, and the intersection of the BID schedule with the deal's ruleset (which may specify the collateral acceptable to buyer 115). In an embodiment, any collateral that is allocated with a higher cost of carry may be swapped with eligible collateral still in the Dealer Box that has a lower cost of carry. In an embodiment, any collateral that is allocated with a higher margin may be swapped with eligible collateral still in the Dealer Box that would have a lower margin. In an embodiment wherein deals are associated with particular MPI processes, deals may be processed in parallel using shared memory programming within the same MPI node. In an embodiment, for each Repo deal managed by an MPI process, priority may be established as either by
margins 345 or by Cost ofCarry 350. For each deallocation position equal to the position DESC (in SQL syntax) that is allocated to the deal, and for each allocation position equal to the allocation ASC (in SQL syntax) that is available in the Dealer Box, the dealer preferred collateral determination at 340 may include breaking out of the position DESC and position ASC loops if the allocation position is equivalent to the deallocation position. Otherwise, the determination algorithm may comprise deallocating the deallocation position, allocating the allocation position, and trying to fully collateralize the deal with the position that was de-allocated. If the deallocation position was fully removed, the loop over all MPI nodes may end. In prioritizing by margin at 345, if a position is eligible for two different deals, if there is a lower margin in one deal, it should be allocated to that deal so that fewer positions are used to collateralize the portfolio. In prioritizing by Cost of Carry at 350,seller 110 may analyze the collateral from a risk/desirability standpoint, determining which collateral is the cheapest to deliver, and how they believe the collateral's value will change during the course of the deal. - Although in some embodiments, other business optimizations may be included in the business optimization at 310, in an
embodiment process 200 may continue at 355 with a final allocation of deals in the Dealer Box. In an embodiment, these final allocations at 355 may be utilized to collateralize the portfolio of deals if there are any positions in the Dealer Box after both the mathematical optimizations at 270 and the business optimizations at 310. In an embodiment, the parallel replacement algorithm may again be utilized for the final allocations at 350. - In an embodiment,
process 200 may continue with a submission of allocation instructions at 360. For example, in an embodiment the current allocations that were tracked at 245 may be compared with the optimized portfolio calculated inprocess 200. The differences between the pre-optimized allocations at 245 and the newly optimized allocations may be forwarded to a separate instruction allocation server, which may utilize instructions from a collateral optimization server, such ascollateral management system 140, to implement the optimized instructions across the deals. In an embodiment, removal of positions that shouldn't be allocated would be performed by the instruction allocation server first, followed by a reallocation of collateral to new deals. In an embodiment, if there exists an instruction where the position cannot be allocated due to eligibility, concentration limits, or so on, the instruction server may updatedatabase 160 or another storage construct with the reason for the failure. In an embodiment, the instruction allocation server may then perform the remaining position movements, collateralizing the deal associated with the erroneous instruction at a later time. - In some embodiments, the instruction allocation server may be configured to perform position movements so as to minimize financial exposure to the Tri-Party agent, or other similar party. Some embodiments may be configured to minimize cash exposure. Some embodiments may be configured to control net free equity (NFE) exposure (e.g., unused collateral that the party has lien on). As an example, where collateral is removed from multiple accounts before being reallocated, the Tri-Party agent would be exposed for the entire uncollateralized amount over the multiple accounts. However if the collateral were reallocated from some of the accounts to others of the accounts prior to removing collateral from those other accounts, the exposure to the Tri-Party agent would be reduced. As such, in some embodiments the movements of collateral may be ordered to minimize shortage. As shown in the simplified example of Table V, the Tri-Party agent would be exposed by the value of each collateral removed from a given deal.
-
TABLE V Example Position Movements to Minimize Shortage/Exposure Scenario A Scenario B Aggregate Aggregate Shortage/ Shortage/ Move- Exposure Exposure ment Allocation Amount Allocation Amount 1 Remove Collateral Collateral for A Remove Collateral Collateral X from Account A X from Account A for A 2 Remove Collateral Collateral for A Allocate Collateral Collateral Y from Account B and X to Account B for A Collateral for B 3 Allocate Collateral Collateral for A Remove Collateral Collateral X to Account B Y from Account B for A 4 Allocate Collateral NONE Allocate Collateral NONE Y to Account A Y to Account A - In Scenario A, between
steps - Returning to
FIG. 2B , in some embodiments, statistics regarding the data initialization at 215, and/or the optimized allocations calculated inprocess 200 may be saved at 365. In an embodiment, the save may be made to durable memory, such as memory/storage device(s) 155 ofcollateral management system 140. In an embodiment, the statistics may be recorded todatabase 160. As noted, such statistics may include collateralization failures, however may also include any other information calculated duringprocess 200, including but not limited to data regarding margins and cost of carry. Finally,process 200 may end at 370. - As indicated above, in an embodiment optimization may include consideration of BID schedules. In an embodiment wherein there is insufficient collateral for a given deal, upgrades may also be considered for the deals. For example, in an embodiment a CPS (or an “upgrade” schedule) may be utilized to prioritize collateral allocation. In an embodiment, the eligibility of collateral may be simply indicated in the margin array. In an embodiment, during the dealer preferred
allocations 340 of the business optimizations at 310, collateral with a high cost of carry (determined by the CPS) may be swapped with collateral of a lower cost of carry, which would utilize the CPS in a descending direction. In an embodiment, the CPS may determine eligibility of collateral in the ascending direction, while dealer preferred collateral may be ascertained by reading the CPS in the descending direction. - In an embodiment, if a given deal reaches a specified maximum number of positions, an extra check may be performed after allocating each position. In an embodiment, if the number of positions equals the maximum allowable position count, and if the current required collateral of the deal is greater than zero, then the smallest allocated position may be removed, which may allow for the potential of a larger position to be allocated.
- As noted above, in an embodiment, the parallel design of the computation of the deals is appreciated, wherein various memory locks may be implemented to prevent multiple processes from allocating positions to the deal. In an embodiment, however, any MPI process may be configured to remove any position from any deal, regardless of whether the specific MPI process is responsible for managing that deal. In an embodiment, groups of RAs may be allocated using a pipeline architecture, such that in a first time-cycle, a first node will process a first group G1, while in a subsequent time-cycle, the first node will process a second group G2, while a second node will process the first group G1. Such grouping of positions may allow multiple MPI processes to allocate in parallel, preventing multiple processes from allocating the same position at the same time. In an embodiment, the grouping of positions may permit allocation of the lowest average margin positions, which can reduce the number of positions used to collateralize the portfolio of deals. In an embodiment, the positions are synchronized across the MPI nodes between each time-cycle allowing each MPI node to know the current state of all positions in the group it is about to allocate from in the next time-cycle.
- The system and method of this disclosure may be implemented in various ways. For example, as noted above, access to
collateral management system 140 may be provided via operator I/O &display 165. In an embodiment, operator I/O &display 165 may be accessible overnetwork 130, such thatseller 110 and/orbuyer 115 may have access tocollateral allocation module 180, for example. In an embodiment illustrated in the “screenshot” ofFIG. 4 , graphical user interface (GUI) indicated generally by Letter “A” may be provided to facilitate such access tocollateral management system 140. As shown, a GUI “A” may allow creation or modification of an allocation template identified at Letter “B”, which may permit a user of GUI “A” to establish preferences forprocess 200 to optimize collateral allocations. At Letter “C”, pre-optimization options may be established. In an embodiment, the pre-optimization options may correspond with the pre-optimization at 250. In the illustrated embodiment, pre-optimization options “C” for allocation template “B” permit selectively enabling the minimize modifications features 260, which again would attempt to reallocate any collateral previously allocated to a given set of deals. In an embodiment, different accounts and/or deals that are added or controlled overpost-trade management system 100 may selectively be associated with a minimum modification (MINMOD) tag, such that if the minimize modifications feature 260 is enabled in pre-optimization options “C”, thecollateral allocation module 180 would attempt to retain the collateral as allocated to those accounts. - Optimization options for
mathematical optimization 270 in allocation template “B” may be controlled at Letter “D”. As shown, a number of features are controllable in the illustrated embodiment. For example, in an embodiment, a Fussy Factor may be presented, giving a user of the GUI “A” the ability to establish a percentage of a position that is allocated in each iteration of the optimization. A Forced Fussy Factor option may control how strictly the Fussy Factor is enforced. In an embodiment, a Full Replacement option may be presented to control the number of passes that may be run in a full replacement algorithm for the optimization. An option may be presented to selectively include MINMOD tagged accounts in the replacement procedure at 300. Furthermore, it may be selected that the replacement algorithm at 300 may run the deals with an older stat date option, or a lower priority option. Another option presented in the optimization options “D” may include a number of times to retry the optimization and/or post-optimization phases (i.e.mathematical optimization 270 and business optimization 310). - At Letter “E” options for the business optimization at 310 arc presented. As shown, there may be separate sections for both the determining of which deals to short at 315, and the determining dealer-preferred allocations at 340. As shown, the user of GUI “A” may prioritize from basket prioritization 320, internal
short prioritization 325,market deadlines 330, and dealer priority at 335. Again, for basket prioritization at 320, accounts assigned to a basket tag should be allocated before accounts not assigned to a basket tag. With internalshort prioritization 325, deals with older state dates, still undercollateralized, would be allocated before accounts with earlier start dates. Inmarket deadline prioritization 330, accounts with closed Markets would be allocated before accounts with open markets. In dealer prioritization 320, undercollateralized deals with lower priority would be allocated before accounts with higher priority. In the dealer-preferred allocations at 340, the options presented in some embodiments may include assigning a priority to use better margins compared to the cost of carry. Likewise, a priority may be assigned to use a cost of carry profile as compared to a better margin profile. - Although the options depicted in letters “C”, “D” and “E” are presented as drop-down lists that permit selection of “Yes,” “No,” numerical elements (such as for prioritization or percentages) and so on, other graphical user interface elements may also or alternatively be utilized in GUI “A”. For example, a series of push buttons or radio buttons may be presented to make the applicable options selections. Furthermore, in some embodiments a text based interface (or a text base element in a GUI) may be utilized, allowing a user to type in an applicable response to an option prompt. In some embodiments, combinations of GUI and text elements may be utilized. For example, at Letter “F”, instructions for the instruction allocation server are input. As shown, the applicable Dealer ID (identifying
seller 110, for example) is a text interface, while a “submit” dropdown box allows for a constant, intermittent, or delayed submission of the optimization instructions to the instruction allocation server. - Shown at letter “G” is a pushbutton that would reset the values input at letters “C” through “F” to default values. Such default values may be, for example, all “NO” responses, all “YES” responses, zeroed numerical prioritizations, or so on. In an embodiment, the default values implemented by the reset pushbutton “G” may be the most commonly implemented response for each optimization element. Pushbutton “H” is a submission pushbutton, configured to accept the responses established for allocation template “B”. As shown, pushbutton “H” is a preview pushbutton, which would advance the user to a summary page depicted in the screenshot of
FIG. 5 . As seen inFIG. 5 , a reporting of the selections made for allocation template “B” is presented at Letter “I”, allowing a user of GUI “A” to review his or her responses. If an error has been made in a response, a cancel pushbutton is provided at Letter “J”, returning the user to the screen depicted inFIG. 4 , allowing editing of allocation template “B”. In an embodiment, all responses in made previously to allocation template “B” will remain, so that a user need only change the source of the error. If the allocation template review at “I” is correct, a confirmation pushbutton is provided at letter “K”, saving the allocation template responses. In an embodiment, the name identifying application template “B”, by which the template responses may be saved under, is established prior to accessing the options for allocation template “B”. In other embodiments, a space to label or otherwise demark a template name for the optimization configurations may be provided either in the editing screen ofFIG. 4 , the preview report ofFIG. 5 , or following confirmation through pushbutton “K”. Clicking of the confirmation button “K” may in an embodiment save the selected options in memory/storage device(s) 155. In an embodiment, the selected options may be recorded indatabase 160, and may be associated with some or all deals for associated withseller 110. In anembodiment seller 110 may run the optimization for deals associated with aparticular buyer 115, or a series ofbuyers 115 all associated with the Tri-Party agent. - In an embodiment, a portion of GUI “A” may allow for a listing of previously created templates, and the ability to create new templates. In
FIG. 6 , a new template may be added at Letter “L”, wherein a template name may be input in the textbox at letter “M”. After clicking on the add button at Letter “N”, the allocation template editing screen ofFIG. 4 may be presented, and would ultimately be saved under the specified template name. As further shown inFIG. 6 , previous templates may be listed at Letter “O”, along with the option of modifying the templates, copying the options from the template into a new template having a new name, or deleting the templates. In the illustrated embodiment, allocation template “B” appears on the list, wherein clicking the modify button indicated at Letter “P” would return to the view ofFIG. 4 . - As illustrated in
FIG. 7 , in an embodiment a portion of GUI “A” may provide user input to apply the settings of an allocation template, such as allocation template “B” established inFIG. 4 , to optimize collateral allocations from the Dealer Box. As shown, the allocation template may be selected at Letter “Q”. In the illustrated embodiment, the allocation template is selected by a dropdown box, however in other embodiments the allocation template may be searched for, identified by a text-box, or by any other suitable mechanism. In the illustrated embodiment, allocation template “B” established inFIG. 4 is selected in the dropdown box at Letter “Q”. As shown, in an embodiment the allocations may be performed by designating a particular Dealer Box, and a particular Dealer ID, as is shown generally at Letter “R”. In other embodiments a dealer allocation group may be selected or otherwise designated to submit an allocation, as may be selected by clicking on the tab indicated at Letter “S”. -
FIG. 8 illustrates that in an embodiment, after an allocation is submitted the status of the allocation may be presented through a portion of GUI “A”. As shown, the allocation may be searched by a number of associated criteria presented generally at Letter “T”, including but not limited to allocation date, allocation status, allocation type, Dealer or Purchaser ID, allocation ID, Dealer Box, dealer allocation group, basket ID, combinations thereof, or so on. In the illustrated embodiment, basic selection criteria that includes at least a date range for the allocations may be combined with more particular selection criteria (i.e. the dealer/purchaser IDs, the allocation ID, the Dealer Box, the dealer allocation group, or the Basket/Purchaser IDs) when searching an allocation history. By entering the associated search information and clicking the find buttons “U”, the associated allocations may be presented, such as is depicted inFIG. 9 . - In the embodiment of GUI “A” depicted in
FIG. 9 , the allocations associated with the search terms entered at Letter “T” inFIG. 8 are presented, and may include at Letter “V” the status of the optimization process described above. As shown, in an embodiment, the status of completed optimizations may be indicated as “done”, while “in progress” may designate that an optimization is under way for the associated allocation ID. Also shown is that certain allocations may be designated as “abort”, which may indicate the failure of the allocation procedure. In an embodiment, clicking on the “abort” indicator may present information as to the reason for the abortion of the optimization procedure, such as an improper ruleset configuration, a computer failure, a time-out, or so on. In an embodiment, selecting the allocation ID indicated generally at Letter “W” from the allocation history results illustrated inFIG. 9 may provide a detailed description page, such as that depicted inFIG. 10 . -
FIG. 10 illustrates a detailed description page of GUI “A”, which may correspond to the allocation ID “W” selected inFIG. 9 . As shown, the allocation template utilized for the selected allocation (which in the illustrated embodiment is allocation template “B” established inFIG. 4 ) may be listed, as well as the associated report for the allocation. As shown, a dropdown box “X” may provide different types of report data associated with the allocation. For example, in the illustrated embodiment, the initial screen may indicate the current amount of collateral associated with or needed in the selected allocation. In an embodiment, other reports may also or alternatively be provided, such as by selecting a different report type from the dropdown box “X”. In an embodiment, the reports may include a list of the allocated positions by the Cost of Carry. For example, the report may allow comparison based on account ID, security ID, ID type, depository, Dealer Box, par, collateral value, CPS ruleset, and/or the Cost of Carry number. In an embodiment, the reports may be for all positions, including unallocated positions. In an embodiment, the weighted average of the Cost of Carry for the allocated positions may be provided, where the weight is determined by the size of the positions. In an embodiment, the positions that indicate zero Cost of Carry (i.e. the Cost of Carry could not be derived) are presented, so that a user may determine a gap in their schedule designations (i.e. in the CPS) that prevents complete prioritization. In an embodiment, the weighted margins for the account(s) are presented, to indicate the excess in collateral provided for a given account. Other reports are possible, and the reports described above are provided solely as examples of how data may be presented to users, so that users may use the GUI “A” to determine if or how to best make associated collateralization decisions. As further shown inFIG. 10 , once a user of GUI “A” is fished viewing the allocation reports, they may press the button “Y” that may return them to the allocation history list ofFIG. 9 . - It may be appreciated that in some embodiments, the optimizations described above (e.g., the mathematical optimization at 270), or alternative optimizations, may be implemented as mathematical models configured with multiple objective functions. At the system level, such optimization may include two main steps: (1) determine the optimal collateral allocation configuration, which may be known as an end state optimization, and (2) generate and execute instructions to realize allocation changes for transitioning to the optimal allocation configuration from an existing one. Due to the potential very large number of data record changes and the limited number of changes that can be accommodated in a single system transaction, a transition to the end state may be executed as multiple individual transactions involving a number of intermediate configurations that satisfy the appropriate constraints. Such determining the intermediate configurations may give rise to transition state optimization. As described in greater detail below, the handling of the multiple objectives may be treated differently across embodiments.
- In an embodiment, the objectives may be implemented one at a time, where the optimal value for a given run will be taken and used to re-code the objective as a constraint while the model is re-run for the next objective function. In an embodiment, this may be implemented in such a way that the objectives and ordering of the objectives may be configured independently for each dealer. In an embodiment, the independent configuration may be implemented for each run of the optimization.
- The end state optimization and the transition state optimizations described below are described with reference to set theory, and in particular do so according to the following conventions:
- B is the set of borrowers, L is the set of lenders, and K is the set of collaterals.
- Db,l={db,l: bεB, lεL}: the set of deals d between borrower b and lender l. As used below, the index b and l may be dropped in a context when their meaning is evident.
- Dl=UbεB Db,l represents the set of deals of a lender l, while Db=UlεL Db,l represents the set of deals of a borrower b, and D=UbεB,lεL db,l represents all deals.
- The value pk represents the par amount of a collateral k. Defined to be an integer, it is the fundamental variable in the collateral allocation optimization. The par amount pk of a given quantity qk of collateral k is determined by
-
- where Uk, the mult par (unit tradable amount) of collateral k, is a unit that represents the minimal number of shares can be allocated, and Int(x) represents the integer part of x. The par amount pk may be normalized such that pk available)/(mult par). It may be appreciated that the value (e.g., in US dollars (USD)) of a par amount pk may be given by νk=πkpk, where πk is the cash value of a mult par of k.
- Pk: D→N0: the par amount allocation function, i.e., Pk(d) is the par amount of a collateral k allocated to the deal d. N0 is the set of non-negative integers.
- V: D→R+: the loan value function. Specifically, i.e. V(d) gives the value (e.g., in USD) of a deal d. R+ is the set of positive real numbers. With this function defined, Vb=ΣdεD V (d) represents the total loan amount of a borrower b.
- A: D→R0: the allocated value function, Specifically, A(db,l) gives the margin adjusted value (e.g., in USD) of the collaterals allocated to a deal dd,l. R0 is the set of non-negative real numbers. By definition,
-
- where Mk,b,l is the margin factor between borrower b and lender l for collateral k.
- Pk,b represents the par amount of collateral k owned by borrower b.
- Pk,b (f) represents the par amount of free (unallocated) collateral k owned by borrower b.
- In some embodiments, objective functions may be implemented concerning maturing deals and collaterals that are Depository Trust Company (DTC) securities. The DTC may interchangeably be understood as the Depository Trust and Clearing Corporation (DTCC). For the convenience of defining the objective functions below, the indicator functions are defined as follows:
- The maturing deal indicator function:
-
- The DTC collateral indicator function:
-
- Cb(d) represents the intra-day cash credit extended to a borrower b so that its deal d is fully collateralized. With the introduction of Cb(d), from the perspective of tri-party repo collateral management, the state of a borrower b is completely defined.
- For a specific deal dεDb, the quantity min(V(d), Cb(d)+A(d)) is called the collateral maintenance level of the deal. Note that when a deal is not fully collateralized, its collateral maintenance level is the sum of the margin adjusted USD value of the allocated collaterals and any intra-day cash extended to it.
- The tuple S(b)=({Cb(d), dεDb}, {Pk,b (f), kεK}, {Pk(d), kεK and dεDb}) represents the state of a borrower b from tri-party repo collateral management perspectives. The tuple and its components will be used to formulate end state and transition state optimization. Since the current scope of end state and transition state optimizations focus on a given borrower, the superscript b of S(b) will be dropped when its presence is evident in context.
- Furthermore, the step function θ(x), utilized below, is defined by
-
- In applying the conventions above, it may be appreciated that in an embodiment an end state optimization may seek to determine an optimal allocation of collaterals of the deals owned by the borrower. For example, the end state optimization may attempt to find the values of the functions Pk(d) when d=db,l for all of the deals db,lεDb and kεK. It may be appreciated that in an embodiment the outcome of the optimization may be a set of integer vectors that each give the collateral allocation of a deal. A component of a vector for a specific deal may give the par amount of a collateral allocated to the deal.
- In some exemplary implementations, a typical borrower may have hundreds of deals and tens of thousands of collateral positions. This may determine the overall dimension of the configuration space of the optimization problem to be about 106˜108 order with about 104˜106 constraints.
- The subsections below describe the constraints and objective functions of an embodiment of end state optimization. It should be noted that end state optimization may be specific to a given borrower. As such, the borrower label b may be dropped in all quantities where its use would be evident in context.
- In the embodiment, the optimization may be constrained in that an allocated amount would be non-negative integer: Pk(d)εN0. Also, an allocated par amount would not be greater than what a borrower owns: ΣdεD
b Pk(d)≦Pk,b, where Pk,b is the par amount of the collateral k owned by borrower b. Additionally, an allocated par amount would be greater than a threshold if allocated: Pk(db,l)ε{0}∪[max(Pk,b,l (min),Pk (min)), +∞), where Pk,b,l (min) is the minimal par piece size between borrower b and lender l for collateral k, and Pk (min) is the minimal par size for the collateral k. - A general concentration limit constraint may also be imposed: ΣdεD
b,l ΣkεKCα,1(k,d)≦Cα,b,l (max), where α identifies a specific concentration constraint. Cα,1(k, d) may be understood as a concentration function for collateral k and deal d. Cα,b,l (max) may be understood as the concentration limit. - As an example of the concentration function (e.g., with USD currency concentration): ΣdεD
b,l ,ΣkεKπkPk(d)I(USD)≦VUSD,b,l (max), where VUSD,b,l (max) is the USD concentration limit defined between b and l, and I(USD)(k, d) is an indicator function that defines deals and collaterals participation. For example: -
- It may be understood that the currency constraint may use collateral value that is not margin adjusted. In some implementations, margin adjusted value arguably should be used, such as in the extreme case when the margin factor of a Collateral goes to infinity. In such a situation, however, the collateral and its allocation would not be financially relevant.
- A maximal par concentration limit may also be defined, ΣdεD
b,l ΣkεKPk(d)I(MP)(k, d)≦Pb,l (max), where Pb,l (max) is the maximal par concentration limit defined between b and l, and I(MP)(k, d) is an indicator function that defines deals and collaterals participation. For example: -
- For a weighted average of maturity: ΣkεD
b,l ΣkεKπkPk(d)I(M)(k, d)Tk≦Tb,l (max). ΣdεDb,l ΣkεKπkPk(d)I(M)(k, d), where Tk may be the months to maturity for the collateral k, Tb,l (max) may be the maturity concentration limit defined between b and l, and I(M)(k, d) may be an indicator function that defines deals and collaterals participation. In an embodiment -
- For a weighted average of credit rating: ΣdεD
b,l ΣkεKπkPk(d)I(C)(k, d)Rk≦Rb,l (max). ΣdεDb,l ΣkεKπkPk(d)I(C)(k, d), where Rk is the credit rating of the collateral k, Rb,l (max) is the credit rating limit between b and l, and I(C)(k, d) is an indicator function that defines deals and collaterals participation. For -
- Another constraint may be implemented on a maximal number of positions: ΣdεD
b,l ΣkεKθ(Pk(d))≦Nb,l (max), where Nb,l (max) is the number of positions limit between b and l. - While implementing one or more of these constraints, objective functions of the end state optimization may be performed. As shown, in some embodiments the optimization may include optimizing various values (for example, by minimizing them).
- To minimize amount short: ΣdεD
b [V(d)−A(d)·θ(V(d)−A(d)). - To minimize collateralization index:
-
- where Vb is the total loan amount of borrower b. When all deals of a borrower are fully collateralized (i.e. the amount short that may be minimized above is zero), the collateralization index measures how efficient the collaterals are used to cover the loans. It may be appreciated that Vb may be a constant during optimization, and its inclusion above would not affect optimization.
- To minimize cost of carry index:
-
- where Vb is the total loan amount and Γk,b,l is the cost of carry for collateral k for borrower b, Mk,b,l is the margin factor between borrower b and lender l for collateral k. It may be appreciated that cost of carry may represent the preference of a borrower on allocation of collaterals. Minimization of the cost of carry index may provide a mechanism for a borrower to influence allocation of collaterals based on the preference. Under reasonable assumptions, it may be shown that there exists a set of cost of carry {Γk,b,l kεK} that can drive collateral allocation to any given preference of a borrower. Again, Vb may be a constant during optimization, and its inclusion above would not affect optimization.
- To minimize upgraded amount:
-
- where Ik (U)(db,l) may be the upgrade indicator function for collateral k in deal db,l, and Mk,b,l is the margin factor between borrower b and lender l for collateral k.
- To minimize auto cash: ΣdεD
b C(d)·θ[C(d)], where C(d)=C(0)(d)+A(0)(d)−A(d), which may be determined by requiring the collateral maintenance level of the end state to be equal to that of the initial state, C(0)(d) and A(0)(d) may be the auto cash and allocation of deal d before the optimization. - To minimize short priority: ΣdεD
b ΠD·θ(V(d)−A(d)), where Πd may be a predefined priority of deal d. - To minimize position movement:
-
- where I(PM)(d) may be the indicator function for the set of deals for which position movement is to be minimized, Pk (0)(d) may be the par amount of the collateral k for deal d before the optimization, and δi,j may be the Kronecker δ-function:
-
- To minimize allocation of DTC collaterals to maturing deals:
-
- where I(M)(d) may be the maturing deal indicator function and I(DT C)(k) may be the DTC collateral indicator function.
- As indicated above, transition state optimization may be performed in some embodiments. Transition state optimization may seek to determine a set of intermediate states that facilitate transition to the optimal collateral allocation configuration for a given borrower b. Specifically, it may determine a set {Si, i=0, 1, . . . , N}, of which the elements may be defined by: Si=({Cb (i)(d), dεDb}, {Pk,b (i,f), kεK}, {Pk (i)(d), kεK and dεDb}), where S0 may be the initial state and SN may be the optimal end state of the borrower. S0 and SN may be given by: S0=({Cb (0)(d), dεDb}, {Pk,b (0,f), kεK}, {Pk (0)(d), kεK and dεDb}), and SN=({Cb (d), dεDb}, {Pk,b (f), kεK}, {Pk (d), kεK and dεDb}), where Cb (d), and Pk (d) may be respectively the minimal auto cash amount, and the optimal collateral allocation, as described above and determined by end state optimization. The free (or unallocated) par amount Pk,b (i,f) may be given by Pk,b (i,f)=Pk,b−ΣdεD
b Pk (i)(d). In an embodiment transition state optimization may be specific to a given borrower. As such, the borrower label b may be omitted when described herein if its implied usage is contextually understood. - In an embodiment, it may be appreciated that constraints associated with transition state optimization may be applied. In some embodiments, the constraints for end state optimization, as described above, might need to be satisfied by the intermediate states, because the intermediate states may be viewed potentially (under certain market conditions) as valid states for a borrower per given repo business applications.
- As a constraint where auto cash cannot exceed defined limits: τdεD
b Cb (i)(d)≦Cb (max) for i=1, 2, . . . , N−1, where Cb (max) may be a maximal amount of auto cash allowed for borrower b. - As a constraint where collateral maintenance levels may not decrease for moves between the intermediate states: Cb (i+1)(D)+A(i+1)(d)≧Cb (i)(d)+A(i)(d) for 1=0, 1, 2, . . . , N−1 and dεDb, where A(i)(d) may be the margin adjusted value (e.g., in USD) of the collaterals allocated to deal d in the state Si. The constraints may collectively imply that the collateral maintenance level of any intermediate state might not exceed that of the end state, which is determined by end state optimization.
- To constrain a number of data changes in a system transaction to not exceed defined limits: NS
i ,Si+1 ≦N(max) for i=0, 1, 2, . . . , N−1, where NSi ,S+1 may be the number of data changes to move from state Si to state Si+1 and N may be the maximal number of data changes allowed in a system transaction. It may be appreciated that in some embodiments such a constraint might not a hard constraint, as indicated by the above equation. Instead, it merely expresses the desire to restrict NSi ,Si+1 around N(max), and can be implemented as a minimization of a penalty function, as described below. - With such constraints in mind, it may be appreciated that objective functions of the transition state optimization may be implemented. As shown, in some embodiments the optimization may include optimizing various values (for example, by minimizing them).
- To minimize auto cash for all intermediate states: ΣdεD
b Cb (i)(d) for i=1, 2, . . . , N−1. - To minimize data change penalty for moves between the intermediate states: U(NS
i ,Si+1 ) for i=1, 2, . . . , N−1, where the penalty function U(N) should be continuous, reaches its minimal at N(max), and penalizes deviation from N(max), especially when N exceeds N(max). Though the exact functional form of a reasonable U(N) might be determined through experimentation, in some embodiments the U(N) described below may be applicable, in which: -
- where U(−), U(+), β>0 are parameters of the penalty function. It may be appreciated that this specific form of U(N) respectively penalizes deviations below and above N(max) linearly and exponentially.
- As noted above, in some embodiments the objective optimizations may be implemented one at a time, with the optimal value being utilized to recode the objective as a constraint while the model is re-run for a subsequent objective. The order in which the objectives are run may vary across embodiments. In one non-limiting embodiment, the auto cash may be minimized, before the amount short may be minimized, before the cost to carry index may be minimized, before the collateralization index may be minimized. In some embodiments, the ordering of the objectives may be configured independently for each dealer. In some embodiments, the ordering of objectives may be configured independently for each run of the optimization.
- According to some embodiments, collateral optimizations may be implemented associated with Delivery Verses Payment (DVP) and/or Receipt Verses Payment (RVP) models for securities trades in repurchase agreements (e.g., “DRVP models”). For example, features of such models may be found in U.S. Provisional Patent Application Ser. No. 61/647,346, incorporated by reference in its entirety above. Such optimization may again include: (1) determining the optimal collateral allocation configuration, which may be known as an end state optimization, and (2) generate and execute instructions to realize allocation changes for transitioning to the optimal allocation configuration from an existing one. A transition to the end state may be executed as multiple individual transactions involving a number of intermediate configurations that satisfy the appropriate constraints. Determining the intermediate configurations may give rise to transition state optimization.
- As with the embodiment described above, the end state optimization and the transition state optimizations described in greater detail below may make use of various conventions. Since optimization of collateral allocation may be done in the context of a given borrower, a simplified notation may be utilized to focus on the given borrower. Preference of lenders may be identified through various defined parameters. In the context of daily operation of tri-party repurchase agreement, many of the parameters and variables vary over time (e.g., during a business day). To describe the time dependent nature of the problem, t may be understood as representing time, and the parameters and variables may be a function of t when appropriate. As such, Kt represents the set of collaterals owned by the borrower at time t, while Dt represents the set of deals of the borrower at time t.
- The value νd represents the priority of a deal d in collateral allocation. In particular, it may express an aspect of a borrower's desire of how collaterals should be allocated across the deals. In some embodiments, such as those described herein, νd may have a fixed value throughout a given business day. Accordingly, the time dependence of νd has been dropped.
- Pk,b(t) represents the par amount of a collateral k allocated to the deal d at time t.
- Vd(t) represents the value (e.g., in USD) of the loan amount of a deal d at time t. It may be appreciated that V(t)=ΣdεD
t Vd(t), and may represent the total loan amount of the borrower. - {tilde over (V)}d (t) represents the settled amount for deal d at time t, and may include the cash amount already transferred from a lender to a borrower for the deal.
-
C d (t) represents the amount of tri-party cash from a lender made available for the settlement of a deal d. - Cd (t) represents the amount of tri-party cash used for settlement of a deal d, and is a decision variable of the optimization.
- Ad (t) represents the margin adjusted value (e.g., in USD) of the collaterals allocated to a deal d. It may be defined that
-
- where μk,d is the margin factor of collateral k for deal d. Because πk and μk,d may both be assumed to be fixed for a given business day (as is custom in current tri-party repurchase practice), their time dependence has been dropped.
- Pk (t) represents the par amount of collateral k owned by the borrower at time t.
- Pk (f)(t) represents the par amount of free (i.e., unallocated) of collateral k owned by the borrower.
- It may be appreciated that objective functions referring to maturing deals and collaterals that are DTC/DTCC securities may make use of the indicator functions defined above. To reiterate, the indicator functions may be defined where:
- The Maturing deal indicator function:
-
- The DTC collateral indicator function:
-
- {tilde over (C)}d (t) represents the auto cash extended to deal d.
- {tilde over (C)}(max)(t) represents the maximal amount of auto cash available to the borrower. In some embodiments (e.g., according to current tri-party practices), the available amount of auto cash may be determined by a number of factors, including but not limited to the borrower's net free equity held by the third party.
-
- represents the collateral maintenance level of deal d. When a deal is not fully collateralized, it may be appreciated that its collateral maintenance level may be the sum of the margin adjusted value (e.g., in USD) of the allocated collaterals and any auto cash extended to the deal.
- The tuple Ψ(t)=(Vd(t), {tilde over (V)}d(t), Pk(t),
C d(t), {tilde over (C)}(max)(t), Pk,d(t), Cd(t), {tilde over (C)}d (t)), where kεKt, and dεDti, represents the state of the borrower at time t, and may provide generally complete information about the borrower from tri-party repurchase agreement perspectives. In an embodiment, the first five components of the tuple may represent exogenous variables that may be determined by tri-party repurchase agreement business events such as (but not limited to) collateral release, substitution, creation and settlement of new and changed deals, and so on. The last three components may be endogenous or decision variables determined by optimization. Both end state and transition state optimization may be formulated based on Ψ(t). - The embodiments described below may again utilize the step function θ(x), where
-
- It may be appreciated that given the state Ψ(t) of the borrower at time t and the exogenous variables at time t′, the end state optimization may seek to determine the decision variables of Ψ(t′) for a given t′>t. The end state optimization may be implemented subject to the following constraints, in which:
- The allocated amount may be constrained to be a non-negative integer: Pk,d(t)εN0.
- The allocated par amount may be constrained to not be greater than what a borrower owns: EdεD
t Pk,d(t)≦Pk(t). - The allocated par amount may be constrained to be greater than a threshold if allocated: Pk(t)ε{0}∪[max(Pk,d (min), Pk (min)), +∞], where Pk,d (min) is the minimal par piece size of deal d for collateral k, and Pk (min) is the minimal par size for the collateral k.
- The collateral maintenance level may be constrained such that it cannot decrease: Md(t′)≧Md(t) for t′>t, for any dεDt∩Dt′.
- There may be a constraint on the maximal auto cash: ΣdεD
t {tilde over (C)}d(t)≦{tilde over (C)}(max)t). - There may be constraints on DVP, where Ad(t)+Cd(t)+{tilde over (C)}d(t)≧
C d(t)+{tilde over (V)}d(t) and Cd(t)≦min(Vd−{tilde over (V)}d,C d(t)) for new and non-maturing deals with an increased loan amount. It may be appreciated that these constraints might be applied specifically when optimizing the settlement index described in greater detail below. - A general concentration limit may be applied: ΣdεD
t ΣkεKt Ck,d (α)≦C (α), where α identifies a specific rule that gives rise to the concentration limit constraint, Ck,d (α) is a concentration function for collateral k and deal d, andC (α) is the concentration limit. - Examples of various concentration limit constraints may also be appreciated. For example, a currency concentration (e.g., in USD): ΣdεD
t ΣkεKt Ik,d (α,USD) πkPk,d(t)≦{tilde over (V)}(α,USD) whereV (α,USD) is the currency concentration limit (in USD), a labels a specific constraint, and Ik,d (α,USD) is an indicator function that defines deal and collateral participation. For example, -
- It may be appreciated that the currency constraint may use a collateral value that is not margin adjusted. In some implementations, margin adjusted values arguably should be used, such as in the extreme case of large margin factor limits. In this extreme case, however, the collaterals with very large margin factor will not be financially relevant. Therefore it may be omitted from the concentration limit constraints, contrary to what the above constraint illustrates.
- As an example of a maximal par concentration limit: ΣdεD
t EkεKt Ik,d (α,MP) Pk,d(t)≦P (α,MP), whereP (α,MP) is the par concentration limit, a labels a specific constraint, and Ik,d (α,MP) is an indicator function that defines deal and collateral participation. Specifically, the indicator function -
- As an example of the weighted average of maturity: ΣdεD
t ΣkεKt Ik,d (α,M)TkπkPk,d(t)≦T (α, M)·ΣdεDt ΣkεKt Ik,d (α,M)πkPk,d (t) where Tk is the months to maturity for the collateral k,T (α,M) is the maturity concentration limit, a labels a specific constraint, and Ik,d (α,M) is an indicator function that defines deal and collateral participation. Specifically, the indicator function -
- As an example of the weighed averaged of credit rating: ΣdεD
t ΣkεKt Ik,d (α,C)RkπkPk,d(t)≦R (α)·ΣdεDt ΣkεKt Ik,d (α,C)πkPk,d(t), where Rk is the credit rating of the collateral k, R(α) is the credit rating limit, a labels a specific constraint, and is an indicator function that defines deal and collateral participation. Specifically, the indicator function -
- As an example constraint on a maximal number of positions: τdεD
t ΣkεKt θ(Pk,d(t))≦N , whereN is the maximal number of positions allowed. - While implementing one or more of these constraints, objective functions of the end state optimization may be performed. As shown, in some embodiments the optimization may include optimizing various values (for example, by minimizing them).
- To minimize settlement index: ΣdεD
t ΣkεKt πkPk,d(t)+(Ξ(S)νd)Sd (t)+Ξ(T)[C d(t)−Cd (t)]+Ξ(A){tilde over (C)}d(t)+Δ(A)Id (E))Ed(t), where the allocation shortage Sd(t)=[Vd(t)−Ad(t)]·θ(Vd(t)−Ad (t)]), and auto cash excess Ed(t)=[{tilde over (C)}d(t)+Va(t)−{tilde over (V)}d(t)]. θ({tilde over (C)}d(t)+Vd(t)−{tilde over (V)}d(t)). Id (E) is an indicator function of non-maturing deals with decreased loan amount. Specifically, -
- and Δ(A) are respectively penalty factors for allocation shortage, under usage of tri-party cash, usage of auto cash, and excess of auto cash against decreased loan amount. In an embodiment, proper behavior of the objective function in the large margin factor limit may require the penalty factors to be proportional to the maximal margin. For example, Ξ(S)=ξ(S)·μ(max), μ(T)=ξ(T)·μ(max), Ξ(A)=ξ(A)·μ(max), and Δ(A)=δ(A)·μ(max)=maxkεK
t ,dεDt μk,d is the maximal margin for the collaterals involved in the deals of borrower b. The actual value of the coefficients may be determined via experimentation. In an embodiment where it is given that μ(max)˜1 for all borrowers in all existing repurchase agreement deals, the value of the penalty factors may initially be: Ξ(S)=2, μ(T)=5,μ (A)4, and Δ(A)=2. - To minimize the collateralization index and the cost of carry index, it may be appreciated that the collateralization index may be defined as:
-
- where V(t) is the total loan amount of the borrower at time t. Since V(t) is exogenous variable, its inclusion in the above equation would not affect optimization. It may additionally be appreciated that the cost of carry index may be defined as:
-
- where Sd(t) is allocation shortage determined as an outcome of optimizing the settlement index. σk,d is the cost of carry for collateral k for deal d, and pk,d is the margin factor for collateral k in deal d.
- It may be appreciated that these two objectives conflict with each other. As such, from tri-party repurchase agreement optimization perspectives, it may be more appropriate to define optimality in a Pareto or pseudo Pareto fashion.
- As noted above, transition state optimization may be performed. Again, transition state optimization may seek to determine a set of intermediate states that facilitate transition to the optimal collateral allocation configuration. Specifically, in this embodiment it may determine a set {Ψ(i), i=0, 1, . . . , N} where Ψ(0) is the state of the borrower at time t before end state optimization and Ψ(N) is the optimal state determined by the end state optimization.
- Similar to the embodiments above, it may be appreciated that constraints associated with transition state optimization may be applied. In some embodiments, the constraints for end state optimization, as described above, might need to be satisfied by the intermediate states, because the intermediate states may be viewed potentially (under certain market conditions) as valid states for a borrower per given repo business applications.
- A constraint may be applied that collateral maintenance levels cannot decrease for moves between the intermediate states. In particular, Md (i+1)(t)≧Md (i)(t) for i=1, 2, . . . , N−1 and dεDt. It may be appreciated that the constraints collectively imply that the collateral maintenance level of any intermediate state might not exceed that of the end state.
- Another constraint that might be applied that a number of data changes in a system transaction should not exceed defined limits. In particular, NΨ
(i) ,Ψ(i+1) ≦N(max) for i=1, 2, . . . , N−1, where NΨ(i) ,Ψ(i+1) is the number of data changes to move from state Ψ(i) to state Ψ(i+1) and N(max) is the maximal number of data changes allowed in a system transaction. It may be appreciated that this constraint is not necessarily a hard constraint, as indicated by the equation above, but instead merely expresses the desire to restrict, NΨ(i) ,Ψ(i+1) around N(max). The constraint may be implemented as minimization of a penalty function, as described in greater detail below. - With such constraints in mind, it may be appreciated that objective functions of the transition state optimization may be implemented. As shown, in some embodiments the optimization may include optimizing various values (for example, by minimizing them).
- To minimize auto cash for all intermediate states: ΣdεD
t {tilde over (C)}d (i)(t) for i=1, 2, . . . , N−1. - To minimize data change penalty for moves between the intermediate states: U(NΨ
(i) ,Ψ(i+1) ) for i=0, 1, 2, . . . , N−1, where the penalty function U(N) should be continuous, reaches its minimal at N(max), and penalizes deviation from N(max), especially when N exceeds N(max). As noted above, though the exact functional form of a reasonable U(N) may be determined through experimentation, the definition -
- where U(−), U(+), β>0 are parameters of the penalty function, may be applicable. Again, this specific form of U(N) respectively penalizes deviations below and above N(max) linearly and exponentially.
- It may be appreciated that various constraints and objectives may be implemented in various embodiments. In one non-limiting embodiment, the settlement index may be minimized to determine the minimal collateralization level of each deal. After doing so, the collateralization level may be re-encoded as a constraint, and the collateralization index and cost of carry index may be minimized, as described above. Minimizing the collateralization index and the cost of carry index may be utilized to determine which collateral to allocate to the deal. In an embodiment, a Pareto curve may be built between minimizing the collateralization index and minimizing the cost to carry index. In an embodiment, a user may choose a desired position on the Pareto curve, and the optimization may be modified accordingly.
- Although implementing the optimization models described above may vary across embodiments, in an embodiment one or more the models may be implemented through a greedy algorithm that makes a logically optimal choice at each stage of analysis.
FIG. 11 illustrates an embodiment of aworkflow 400 configured to implement such a greedy algorithm. As shown, in anembodiment workflow 400 may begin at 410 by receiving a message from a message queue, which may include various instructions associated with implementing theworkflow 400.Workflow 400 may then continue at 420 by loading data. In some embodiments, loading data at 420 may be similar to loading data at 210 fromprocess 200. As shown inFIG. 11 , in an embodiment the data may be retrieved from database(S) 430. The database(S) 430 may be stored on one or more storage mediums, and in some embodiments may be analogous to or comprise thedatabases 160 ofcollateral management system 140. In some embodiments, the data may be retrieved from a plurality of databases, which may be spread across one or more storage mediums. In the illustrated embodiments, the data loaded at 420 include data from asecurity master database 440, rule sets 450, source mode deals 460, source mode positions 470, target mode deals 480, and target mode positions 490. - Having loaded data at 420,
workflow 400 may continue at 500 by placing an allocation lock on dealer boxes, repo accounts and concentration limits. It may be appreciated that locking the dealer boxes, repo accounts, and concentration limits may be locked for the duration of the allocation, to ensure that another allocation or unwind processes does not access the same resources in parallel with another allocation running at the same time (which might otherwise result in double allocation of resources). -
Workflow 400 may then determine position eligibility at 510. As shown, in the illustrated embodiment determining position eligibility at 510 may include running a gross eligibility analysis at 520, before updating margins at 530. Running the gross eligibility analysis at 520 may in some embodiments be similar to initializing the data at 215 inprocess 200, while updating the margins at 530 may in some embodiments be similar to refreshing the margins at 230 ofprocess 200. The updated margins from 530 may be fed back into thetarget mode positions 490 stored in the database(S) 430. Position eligibility determinations at 510 may then continue at 540 by updating group concentrations. As shown, the group concentrations may be stored in target modegroup concentration buckets 550 in the database(S) 430. Determining position eligibility at 510 may then continue at 560 by initializing concentration buckets at 560, making use of thetarget mode positions 490 and the target modegroup concentration buckets 550. In some embodiments, updating the group concentrations at 540 and initializing the concentration buckets at 560 may comprise or otherwise be similar to populating the concentration linked list at 235 ofprocess 200. Likewise, it may be appreciated that position eligibility determination at 510 may vary across embodiments, and those features described herein are merely exemplary. For example, in some embodiments one or more features of testing position eligibility may be as disclosed in U.S. patent application Ser. No. 13/368,952, incorporated in its entirety herein by reference. -
Workflow 400 may then proceed at 570 by allocating collateral, and optimizing the allocations utilizing math models described above. In an embodiment, positions may initially be assigned within four structures: par_db (how much of each position is not allocated in memory), par_repo (how much of each position is allocated to each deal in memory), par_db_optimized (how much of each position is not allocated in the optimized state), and par_repo_optimized (how much of each position is allocated to each deal in the optimized state). These structure names are merely exemplary, and may vary across embodiments. In an embodiment, a begin transaction instruction may be generated initially, which may be executed later in the database. As shown, the allocation at 570 may begin at 580 by allocating available collateral. In an embodiment, for each position where par_db>0 and par_repo_optimized>par_repo, the allocation at 580 may comprise allocating the position in memory if it is not breaking a concentration limit. An associated instruction may also be generated during the allocation at 580. While the allocation may complete if it is then determined at 590 that all instructions have been generated, if more work is required then the allocation at 570 may proceed at 600 by substituting excess collateral. In an embodiment, the determination at 590 may include generating a commit transaction instruction. If par_repo does not equal the par_repo_optimized structure, then the allocation at 570 may end. Otherwise, a begin transaction instruction may be created for future execution. When substituting excess collateral at 600, for each position where par_repo>par_repo_optimized, the collateral may be removed up to (par_repo−par_repo_optimized), while keeping the deal fully collateralized. In an embodiment, for each position moved, a substitution instruction may be generated. In an embodiment, it may be acceptable to move positions to a tolerated level above (par_repo−par_repo_optimized), which may facilitate simpler transactions, and may result in fewer substitution instructions being generated. - If at 610 it is determined that no instructions were generated in the previous step, then the allocation at 570 may proceed at 620 by substituting to maximize cash exposure. In an embodiment, substituting excess collateral at 600 may break to 610 if more than a pre-determined number of instructions are generated, which may keep the transaction size manageable. In an embodiment, substituting to maximum cash exposure at 620 may comprise, for each position where par_repo>par_repo_optimized, removing collateral up to (par_repo−par_repo_optimized), while keeping the maximum cash exposure below a pre-defined limit. In an embodiment, for each position moved, a substitution instruction may be generated. If not all cash exposure is determined to have been maximized at 630, and some collateral remains, then allocation at 570 may proceed at 640 by substituting any remaining collateral. In an embodiment, substituting to maximum cash exposure at 620 may break to 630 if more than a pre-determined number of instructions are generated, which may keep the transaction size manageable. In an embodiment, substituting remaining collateral at 640 may comprise, for each position where par_repo>par_repo_optimized, removing collateral up to (par_repo−par_repo_optimized). For each position moved, a substitution instruction may be generated. In an embodiment, if more than a pre-determined number of instructions are generated, the allocation at 570 may break to 590 to keep the transaction size manageable. If cash exposure has been determined to have been maximized at 630 or once remaining collateral has been substituted at 640, allocation at 570 may return to 580, with allocation of available collateral. In an embodiment, if instructions were generated at 610 or 640, the allocation at 570 may return to 590, determining if all instructions are generated. If, at this point, all allocation instructions have been generated at 590, then allocation may terminate. Otherwise, if more work is still required, then excess collateral may again be substituted at 600. If it is determined at 610 that instruction were created in the previous step, then allocation at 570 may return to allocating available collateral at 580 without again substituting to maximize cash exposure at 620 (and potentially substituting any remaining collateral at 640).
- The above-discussed embodiments and aspects of this disclosure are not intended to be limiting, but have been shown and described for the purposes of illustrating the functional and structural principles of the inventive concept, and are intended to encompass various modifications that would be within the spirit and scope of the following claims.
- Various embodiments may be described herein as including a particular feature, structure, or characteristic, but every aspect or embodiment may not necessarily include the particular feature, structure, or characteristic. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it will be understood that such feature, structure, or characteristic may be included in connection with other embodiments, whether or not explicitly described. Thus, various changes and modifications may be made to this disclosure without departing from the scope or spirit of the inventive concept described herein. As such, the specification and drawings should be regarded as examples only, and the scope of the inventive concept to be determined solely by the appended claims.
Claims (20)
1. A system for managing collateral allocations in one or more Tri-Party repurchasing agreements, the system comprising:
one or more memory elements coupled to one or more processors and configured to store deal attributes including rule sets associated with a lender l, and one or more collateral characteristics for collateral provided by the borrower b that are associated with each of the Tri-Party repurchasing agreements;
at least one collateral allocation module, configured through the one or more processors to:
optimize auto cash associated with the Tri-Party repurchasing agreements;
optimize an amount short associated with the Tri-Party repurchasing agreements;
optimize a cost of carry index associated with the Tri-Party repurchasing agreements; and
optimize a collateralization index associated with the Tri-Party repurchasing agreements.
2. The system of claim 1 , wherein the collateral allocation module optimizes auto cash according to: ΣdεD b C(d)·θ[C(d)], and wherein:
Db is a set of deals d between the borrower b and the lender l;
C(d)=C(0)(d)+A(0)(d)−A(d), wherein C(0)(d) and A(0)(d) are the auto cash and allocation of deal d before the optimization, with C(d) representing intra-day cash credit extended to the borrower b so that each deal d is collateralized, and A(d) representing the margin adjusted value of collateral allocated to the deal d; and
3. The system of claim 1 , wherein the collateral allocation module optimizes the amount short according to ΣdεD b [V(d)−A(d)]·θ(V(d)−A(d)), and wherein:
Db is a set of deals d between the borrower b and the lender l;
V(d) is a monetary value of each deal d;
A(d) is a margin adjusted value of collateral allocated to the deal d; and
4. The system of claim 1 , wherein the collateral allocation module optimizes the cost of carry index according to
and wherein:
Db is a set of deals d between the borrower b and the lender l;
K is a set of collaterals k;
πk is a cash value of a mult par of collateral k;
Pk(db,l) is a par amount of the collateral k allocated to the deal d;
Vb is a total loan amount of the borrower b;
Γk,b,l is a cost of carry for each collateral k for the borrower b; and
Mk,b,l is a margin factor between the borrower b and the lender l for collateral k.
5. The system of claim 1 , wherein the collateral allocation module optimizes the collateralization index according to
and wherein:
Vb is the total loan amount of the borrower b.
Db is a set of deals d between the borrower b and the lender l;
K is a set of collaterals k;
πk is a cash value of a mult par of collateral k; and
Pk(db,l) is a par amount of the collateral k allocated to the deals d.
6. The system of claim 1 , wherein said at least one collateral allocation module is configured to: optimize auto cash by minimizing auto cash, optimize the amount short by minimizing the amount short; optimize the cost of carry index by minimizing the cost of carry index; and optimize the collateralization index by minimizing the collateralization index.
7. A system for managing collateral allocations in one or more Tri-Party repurchasing agreements, the system comprising:
one or more memory elements coupled to one or more processors and configured to store deal attributes including rule sets associated with a lender l, and one or more collateral characteristics for collateral provided by the borrower b that are associated with each of the Tri-Party repurchasing agreements;
at least one collateral allocation module, configured through the one or more processors to:
optimize a settlement index associated with the Tri-Party repurchasing agreements;
optimize a collateralization index associated with the Tri-Party repurchasing agreements; and
optimize a cost of carry index associated with the Tri-Party repurchasing agreements.
8. The system of claim 7 , wherein the collateral allocation module optimizes the settlement index according to ΣdεD t ΣkεK t πkPk,d(t)+(Ξ(S)+νd)Sd+Ξ(T)[ C d(t)−Cd(t)]+Ξ(A){tilde over (C)}d(t)+Δ(A)Id (E)Ed (t), and wherein:
Dt is a set of deals d between the borrower b and the lender l at time t;
Kt is a set of collaterals k owned by the borrower b at the time t;
πk is a cash value of a mult par of collateral k;
Pk,d(t) is a par amount of the collateral k allocated to a deal d at the time t;
Ξ(S) is a penalty factor for allocation shortage;
νd is a priority of the deal d in collateral allocation;
Sd(t) is an allocation shortage defined as Sd(t)=[Vd(t)−Ad(t)]·θ(Vd l (t)−Ad(t)]), wherein:
Vd(t) is a monetary value of the loan amount of a deal d at time t;
Ad (t) is a margin adjusted value of the collaterals allocated to the deal d;
Ξ(T) is a penalty factor for under usage of tri-party cash;
Cd(t) is an amount of tri-party cash used for settlement of the deal d;
Ξ(A) is a penalty factor for usage of auto cash;
{tilde over (C)}d(t) is the auto cash extended to the deal d;
Δ(A) is a penalty factor for excess of auto cash against a decreased loan amount;
Ed(t) is an amount of auto excess cash defined as Ed(t)=[{tilde over (C)}d (t)+Vd(t)−{tilde over (V)}d(t)]·θ({tilde over (C)}d(t)+Vd(t)−{tilde over (V)}d(t)), and wherein:
{tilde over (V)}d(t) is a settled amount for the deal d at time t; and
9. The system of claim 7 , wherein the collateral allocation module optimizes the collateralization index according to
and wherein:
V(t) is a total loan amount of the borrower b at a time t;
Dt is a set of deals d between the borrower b and the lender l at the time t;
Kt is a set of collaterals k owned by the borrower b at the time t;
πk is a cash value of a mult par of collateral k; and
Pk,d(t) is a par amount of the collateral k allocated to the deal d at the time t.
10. The system of claim 7 , wherein the collateral allocation module optimizes the cost of carry index according to
and wherein:
Dt is a set of deals d between the borrower b and the lender l at a time t;
Vd(t) is a total loan amount of the borrower b at the time t;
Sd(t) is an allocation shortage determined as an outcome of optimizes the settlement index;
Kt is a set of collaterals k owned by the borrower b at the time t;
Γk,d is a cost of carry for collateral k for the deal d and
uk,d is a margin factor for collateral k in the deal d.
11. The system of claim 7 wherein said at least one collateral allocation module is configured to: optimize the settlement index by minimizing the settlement index, optimize the collateralization index by minimizing the collateralization index, and optimize the cost of carry index by minimizing the cost of carry index.
12. A method for managing collateral allocations in one or more Tri-Party repurchasing agreements, the method comprising:
optimizing, utilizing one or more processors, auto cash associated with the Tri-Party repurchasing agreements;
optimizing, utilizing the one or more processors, an amount short associated with the Tri-Party repurchasing agreements;
optimizing, utilizing the one or more processors, a cost of carry index associated with the Tri-Party repurchasing agreements; and
optimizing, utilizing the one or more processors, a collateralization index associated with the Tri-Party repurchasing agreements;
wherein the one or more processors are coupled to one or more memory elements configured to store deal attributes including rule sets associated with a lender l, and one or more collateral characteristics for collateral provided by the borrower b that are associated with each of the Tri-Party repurchasing agreements.
13. The method of claim 12 , wherein optimizing auto cash comprises computing ΣdεD b C(d)·θ[C(d)], and wherein:
Db is a set of deals d between the borrower b and the lender l;
C(d)=C(0)(d)+A(0)(d)−A(d), wherein C(0)(d) and A(0)(d) are the auto cash and allocation of deal d before the optimization, with C(d) representing intra-day cash credit extended to the borrower b so that each deal d is collateralized, and A(d) representing the margin adjusted value of collateral allocated to the deal d; and
14. The method of claim 12 , wherein optimizing the amount short comprises computing EdεD b [V(d)−A(d)]·θ(V(d)−A(d)), and wherein:
Db is a set of deals d between the borrower b and the lender l;
V(d) is a monetary value of each deal d;
A(d) is a margin adjusted value of collateral allocated to the deal d; and
15. The method of claim 12 , wherein optimizing the cost of carry index comprises computing
and wherein:
Db is a set of deals d between the borrower b and the lender l;
K is a set of collaterals k;
πk is a cash value of a mult par of collateral k;
Pk(db,l) is a par amount of the collateral k allocated to the deal d;
Vb is a total loan amount of the borrower b;
Γk,b,l is a cost of carry for each collateral k for the borrower b; and
Mk,b,l is a margin factor between the borrower b and the lender l for collateral k.
16. The method of claim 12 , wherein optimizing the collateralization index comprises computing
and wherein:
Vb is the total loan amount of the borrower b.
Db is a set of deals d between the borrower b and the lender l;
K is a set of collaterals k;
πk is a cash value of a mult par of collateral k; and
Pk(db,l) is a par amount of the collateral k allocated to the deals d.
17. A method for managing collateral allocations in one or more Tri-Party repurchasing agreements, the method comprising:
optimizing a settlement index associated with the Tri-Party repurchasing agreements;
optimizing a collateralization index associated with the Tri-Party repurchasing agreements; and
optimizing a cost of carry index associated with the Tri-Party repurchasing agreements; wherein
wherein the one or more processors are coupled to one or more memory elements configured to store deal attributes including rule sets associated with a lender l, and one or more collateral characteristics for collateral provided by the borrower b that are associated with each of the Tri-Party repurchasing agreements.
18. The method of claim 15 , wherein optimizing the settlement index comprises computing ΣdεD t ΣkεK t πkPk,d(t)+(Ξ(S)+νd)Sd(t)+Ξ(T)[ C d(t)−Cd(t)]+Ξ(A){tilde over (C)}d(t)+Δ(A)Id (E)Ed(t), and wherein:
Dt is a set of deals d between the borrower b and the lender l at a time t;
Kt is a set of collaterals k owned by the borrower b at the time t;
πk is a cash value of a mult par of collateral k;
Pk,d(t) is a par amount of the collateral k allocated to a deal d at the time t;
Ξ(S) is a penalty factor for allocation shortage;
νd is a priority of the deal d in collateral allocation;
Sd(t) is an allocation shortage defined as Sd(t)=[Vd(t)−Ad(t)]·θ(Vd(t)−Ad(t)]), wherein:
Vd(t) is a monetary value of the loan amount of a deal d at time t;
Ad (t) is a margin adjusted value of the collaterals allocated to the deal d;
Ξ(T) is a penalty factor for under usage of tri-party cash;
Cd (t) is an amount of tri-party cash used for settlement of the deal d;
Ξ(A) is a penalty factor for usage of auto cash;
{tilde over (C)}d(t) is the auto cash extended to the deal d;
Δ(A) is a penalty factor for excess of auto cash against a decreased loan amount;
Ed(t) is an amount of auto excess cash defined as Ed(t)=[{tilde over (C)}d(t)+Vd(t)−{tilde over (V)}d(t)]·θ({tilde over (C)}d(t)+Vd(t)−{tilde over (V)}d(t)), and wherein:
{tilde over (V)}d(t) is a settled amount for the deal d at time t; and
19. The method of claim 17 , wherein optimizing the collateralization index comprises computing
and wherein:
V(t) is a total loan amount of the borrower b at a time t;
Dt is a set of deals d between the borrower b and the lender l at the time t;
Kt is a set of collaterals k owned by the borrower b at the time t;
πk is a cash value of a mult par of collateral k; and
Pk,d(t) is a par amount of the collateral k allocated to a deal d at the time t.
20. The method of claim 17 , wherein optimizing the cost of carry index comprises computing
and wherein:
Dt is a set of deals d between the borrower b and the lender l at a time t;
Vd(t) is a total loan amount of the borrower b at the time t;
Sd(t) is an allocation shortage determined as an outcome of optimizes the settlement index;
Kt is a set of collaterals k owned by the borrower b at the time t;
Γk,d is a cost of carry for collateral k for the deal d and
μk,d is a margin factor for collateral k in the deal d.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/137,441 US20140180907A1 (en) | 2012-12-21 | 2013-12-20 | System and method for optimizing collateral management |
US16/546,953 US10991040B2 (en) | 2012-12-21 | 2019-08-21 | System and method for optimizing collateral management |
US16/901,887 US11074653B2 (en) | 2011-01-31 | 2020-06-15 | System and method for optimizing data processing in cloud-based, machine learning environments through the use of self organizing map |
US17/240,719 US20210272194A1 (en) | 2012-12-21 | 2021-04-26 | System and method for optimizing collateral management |
US17/319,806 US11615474B2 (en) | 2011-01-31 | 2021-05-13 | System and method for optimizing data processing in cloud-based, machine learning environments through the use of self organizing map |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261745187P | 2012-12-21 | 2012-12-21 | |
US14/137,441 US20140180907A1 (en) | 2012-12-21 | 2013-12-20 | System and method for optimizing collateral management |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/546,953 Continuation US10991040B2 (en) | 2011-01-31 | 2019-08-21 | System and method for optimizing collateral management |
Publications (1)
Publication Number | Publication Date |
---|---|
US20140180907A1 true US20140180907A1 (en) | 2014-06-26 |
Family
ID=50975792
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/137,441 Abandoned US20140180907A1 (en) | 2011-01-31 | 2013-12-20 | System and method for optimizing collateral management |
US16/546,953 Active US10991040B2 (en) | 2011-01-31 | 2019-08-21 | System and method for optimizing collateral management |
US17/240,719 Abandoned US20210272194A1 (en) | 2012-12-21 | 2021-04-26 | System and method for optimizing collateral management |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/546,953 Active US10991040B2 (en) | 2011-01-31 | 2019-08-21 | System and method for optimizing collateral management |
US17/240,719 Abandoned US20210272194A1 (en) | 2012-12-21 | 2021-04-26 | System and method for optimizing collateral management |
Country Status (2)
Country | Link |
---|---|
US (3) | US20140180907A1 (en) |
WO (1) | WO2014100724A1 (en) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140249992A1 (en) * | 2013-03-01 | 2014-09-04 | Royal Bank Of Canada | Guarantor mortgages |
US20150081591A1 (en) * | 2013-09-18 | 2015-03-19 | The Bank Of New York Mellon | System and method for collateral data aggregation and optimization |
US20160132889A1 (en) * | 2014-03-01 | 2016-05-12 | Govindaraj Setlur | System and method for payer controlled payment processing system |
US20170069042A1 (en) * | 2015-09-08 | 2017-03-09 | Bank Of America Corporation | Communicating property data |
US20170069022A1 (en) * | 2015-09-08 | 2017-03-09 | Bank Of America Corporation | Communicating property data |
US10445830B2 (en) | 2015-09-02 | 2019-10-15 | Bank Of America Corporation | Deploying and implementing centralized trading and tracking computing platforms to support tri-party trading |
US10489858B2 (en) | 2015-09-02 | 2019-11-26 | Bank Of America Corporation | Deploying and implementing centralized trading and tracking computing platforms to support tri-party trading |
US10559033B2 (en) | 2015-09-02 | 2020-02-11 | Bank Of America Corporation | Deploying and implementing centralized trading and tracking computing platforms to support tri-party trading |
US20200175520A1 (en) * | 2016-08-23 | 2020-06-04 | Jpmorgan Chase Bank, N.A. | Systems and methods for conducting neural process-based transactions |
US10902396B1 (en) * | 2016-12-15 | 2021-01-26 | United Services Automobile Association (Usaa) | Split-the-bill feature in real-time account-to-account payments |
US20210158441A1 (en) * | 2018-05-06 | 2021-05-27 | Strong Force TX Portfolio 2018, LLC | Systems and methods for crowdsourcing a condition of collateral |
US11126978B1 (en) * | 2015-03-06 | 2021-09-21 | Wells Fargo Bank, N.A. | Status information for financial transactions |
US20220122173A1 (en) * | 2020-10-21 | 2022-04-21 | Chicago Mercantile Exchange Inc. | High efficiency inter-portfolio optimizer |
US11442780B2 (en) * | 2015-04-22 | 2022-09-13 | The Bank Of New York Mellon | Systems and methods for real-time processing |
US11488059B2 (en) | 2018-05-06 | 2022-11-01 | Strong Force TX Portfolio 2018, LLC | Transaction-enabled systems for providing provable access to a distributed ledger with a tokenized instruction set |
US11544782B2 (en) | 2018-05-06 | 2023-01-03 | Strong Force TX Portfolio 2018, LLC | System and method of a smart contract and distributed ledger platform with blockchain custody service |
US11550299B2 (en) | 2020-02-03 | 2023-01-10 | Strong Force TX Portfolio 2018, LLC | Automated robotic process selection and configuration |
US11982993B2 (en) | 2020-02-03 | 2024-05-14 | Strong Force TX Portfolio 2018, LLC | AI solution selection for an automated robotic process |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080306881A1 (en) * | 2006-12-22 | 2008-12-11 | X-Shares Advisors Llc | Portfolio selection for custom indices of public securities based on state of domicile of issuing company |
US20090299895A1 (en) * | 2002-07-30 | 2009-12-03 | Fitzpatrick David R | Method and system for providing rule-based collateral allocation and substitution |
US20110231307A1 (en) * | 2007-08-30 | 2011-09-22 | The Bank Of New York Mellon | System facilitating tri-party repurchase agreement transactions |
US20120150715A1 (en) * | 2010-12-09 | 2012-06-14 | James Boudreault | Cross Margining of Tri-Party Repo Transactions |
US20120259796A1 (en) * | 2011-01-31 | 2012-10-11 | The Bank Of New York Mellon | System and method for optimizing collateral management |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702563B2 (en) | 2001-06-11 | 2010-04-20 | Otc Online Partners | Integrated electronic exchange of structured contracts with dynamic risk-based transaction permissioning |
WO2004019255A1 (en) * | 2002-08-23 | 2004-03-04 | Turbeville Wallace C | Risk measurement management and trade decisioning system |
EP1766533A4 (en) | 2004-05-14 | 2009-04-08 | Hedgestreet Inc | Risk management contracts and method and apparatus for trading same |
US20110320340A1 (en) * | 2008-04-04 | 2011-12-29 | Falconer Stephen E | System and Method for Data Collection, Storage and Analysis For Use in Managing Risk Associated with Lending Portfolio Assets |
GB2475441A (en) | 2008-08-01 | 2011-05-18 | Jpmorgan Chase Bank Na | Rehypothecation system and method |
US20110313945A1 (en) * | 2010-06-16 | 2011-12-22 | RealOpts, LLC | Call put referenced structures (cprs) |
US9942385B2 (en) * | 2011-08-04 | 2018-04-10 | International Business Machines Corporation | System and method for preventing and/or limiting use of a mobile device |
US10026120B2 (en) * | 2012-01-06 | 2018-07-17 | Primerevenue, Inc. | Supply chain finance system |
KR101436202B1 (en) * | 2012-05-31 | 2014-09-01 | 주식회사 엘지씨엔에스 | Method for providing mobile device security management and mobile device security system there of |
WO2014165230A1 (en) * | 2013-03-13 | 2014-10-09 | Lookout, Inc. | System and method for changing security behavior of a device based on proximity to another device |
US10078425B2 (en) * | 2014-11-19 | 2018-09-18 | Imprivata, Inc. | Strong authentication via distributed stations |
US10986515B2 (en) * | 2017-02-01 | 2021-04-20 | Veniam, Inc. | Systems and methods for context-aware and profile-based security in a network of moving things, for example including autonomous vehicles |
CA3143041A1 (en) * | 2019-06-11 | 2020-12-17 | Ford Squared Technologies LLC. | Accounting platform functionalities |
-
2013
- 2013-12-20 US US14/137,441 patent/US20140180907A1/en not_active Abandoned
- 2013-12-20 WO PCT/US2013/077241 patent/WO2014100724A1/en active Application Filing
-
2019
- 2019-08-21 US US16/546,953 patent/US10991040B2/en active Active
-
2021
- 2021-04-26 US US17/240,719 patent/US20210272194A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090299895A1 (en) * | 2002-07-30 | 2009-12-03 | Fitzpatrick David R | Method and system for providing rule-based collateral allocation and substitution |
US20080306881A1 (en) * | 2006-12-22 | 2008-12-11 | X-Shares Advisors Llc | Portfolio selection for custom indices of public securities based on state of domicile of issuing company |
US20110231307A1 (en) * | 2007-08-30 | 2011-09-22 | The Bank Of New York Mellon | System facilitating tri-party repurchase agreement transactions |
US20120150715A1 (en) * | 2010-12-09 | 2012-06-14 | James Boudreault | Cross Margining of Tri-Party Repo Transactions |
US20120259796A1 (en) * | 2011-01-31 | 2012-10-11 | The Bank Of New York Mellon | System and method for optimizing collateral management |
Cited By (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9928548B2 (en) * | 2013-03-01 | 2018-03-27 | Royal Bank Of Canada | Guarantor mortgages |
US20140249992A1 (en) * | 2013-03-01 | 2014-09-04 | Royal Bank Of Canada | Guarantor mortgages |
US20150081591A1 (en) * | 2013-09-18 | 2015-03-19 | The Bank Of New York Mellon | System and method for collateral data aggregation and optimization |
US20160132889A1 (en) * | 2014-03-01 | 2016-05-12 | Govindaraj Setlur | System and method for payer controlled payment processing system |
US20230274241A1 (en) * | 2015-03-06 | 2023-08-31 | Wells Fargo Bank, N.A. | Status information for financial transactions |
US11687892B1 (en) * | 2015-03-06 | 2023-06-27 | Wells Fargo Bank, N.A. | Status information for financial transactions |
US11126978B1 (en) * | 2015-03-06 | 2021-09-21 | Wells Fargo Bank, N.A. | Status information for financial transactions |
US11442780B2 (en) * | 2015-04-22 | 2022-09-13 | The Bank Of New York Mellon | Systems and methods for real-time processing |
US10489858B2 (en) | 2015-09-02 | 2019-11-26 | Bank Of America Corporation | Deploying and implementing centralized trading and tracking computing platforms to support tri-party trading |
US11748815B2 (en) | 2015-09-02 | 2023-09-05 | Bank Of America Corporation | Deploying and implementing centralized trading and tracking computing platforms to support tri-party trading |
US10692146B2 (en) | 2015-09-02 | 2020-06-23 | Bank Of America Corporation | Deploying and implementing centralized trading and tracking computing platforms to support tri-party trading |
US11227336B2 (en) | 2015-09-02 | 2022-01-18 | Bank Of America Corporation | Deploying and implementing centralized trading and tracking computing platforms to support tri-party trading |
US10559033B2 (en) | 2015-09-02 | 2020-02-11 | Bank Of America Corporation | Deploying and implementing centralized trading and tracking computing platforms to support tri-party trading |
US10445830B2 (en) | 2015-09-02 | 2019-10-15 | Bank Of America Corporation | Deploying and implementing centralized trading and tracking computing platforms to support tri-party trading |
US20170069022A1 (en) * | 2015-09-08 | 2017-03-09 | Bank Of America Corporation | Communicating property data |
US10460385B2 (en) * | 2015-09-08 | 2019-10-29 | Bank Of America Corporation | Communicating property data |
US10467713B2 (en) * | 2015-09-08 | 2019-11-05 | Bank Of America Corporation | Communicating property data |
US20170069042A1 (en) * | 2015-09-08 | 2017-03-09 | Bank Of America Corporation | Communicating property data |
US11244389B2 (en) * | 2015-09-08 | 2022-02-08 | Bank Of America Corporation | Communicating property data |
US20200175520A1 (en) * | 2016-08-23 | 2020-06-04 | Jpmorgan Chase Bank, N.A. | Systems and methods for conducting neural process-based transactions |
US10902396B1 (en) * | 2016-12-15 | 2021-01-26 | United Services Automobile Association (Usaa) | Split-the-bill feature in real-time account-to-account payments |
US11645724B2 (en) | 2018-05-06 | 2023-05-09 | Strong Force TX Portfolio 2018, LLC | Systems and methods for crowdsourcing information on loan collateral |
US11715164B2 (en) | 2018-05-06 | 2023-08-01 | Strong Force TX Portfolio 2018, LLC | Robotic process automation system for negotiation |
US11494694B2 (en) | 2018-05-06 | 2022-11-08 | Strong Force TX Portfolio 2018, LLC | Transaction-enabled systems and methods for creating an aggregate stack of intellectual property |
US11538124B2 (en) | 2018-05-06 | 2022-12-27 | Strong Force TX Portfolio 2018, LLC | Transaction-enabled systems and methods for smart contracts |
US11544622B2 (en) | 2018-05-06 | 2023-01-03 | Strong Force TX Portfolio 2018, LLC | Transaction-enabling systems and methods for customer notification regarding facility provisioning and allocation of resources |
US11544782B2 (en) | 2018-05-06 | 2023-01-03 | Strong Force TX Portfolio 2018, LLC | System and method of a smart contract and distributed ledger platform with blockchain custody service |
US12067630B2 (en) | 2018-05-06 | 2024-08-20 | Strong Force TX Portfolio 2018, LLC | Adaptive intelligence and shared infrastructure lending transaction enablement platform responsive to crowd sourced information |
US12033092B2 (en) | 2018-05-06 | 2024-07-09 | Strong Force TX Portfolio 2018, LLC | Systems and methods for arbitrage based machine resource acquisition |
US11580448B2 (en) | 2018-05-06 | 2023-02-14 | Strong Force TX Portfolio 2018, LLC | Transaction-enabled systems and methods for royalty apportionment and stacking |
US11928747B2 (en) | 2018-05-06 | 2024-03-12 | Strong Force TX Portfolio 2018, LLC | System and method of an automated agent to automatically implement loan activities based on loan status |
US11829906B2 (en) | 2018-05-06 | 2023-11-28 | Strong Force TX Portfolio 2018, LLC | System and method for adjusting a facility configuration based on detected conditions |
US11586994B2 (en) | 2018-05-06 | 2023-02-21 | Strong Force TX Portfolio 2018, LLC | Transaction-enabled systems and methods for providing provable access to a distributed ledger with serverless code logic |
US11599940B2 (en) | 2018-05-06 | 2023-03-07 | Strong Force TX Portfolio 2018, LLC | System and method of automated debt management with machine learning |
US11599941B2 (en) | 2018-05-06 | 2023-03-07 | Strong Force TX Portfolio 2018, LLC | System and method of a smart contract that automatically restructures debt loan |
US11605125B2 (en) * | 2018-05-06 | 2023-03-14 | Strong Force TX Portfolio 2018, LLC | System and method of varied terms and conditions of a subsidized loan |
US11605124B2 (en) | 2018-05-06 | 2023-03-14 | Strong Force TX Portfolio 2018, LLC | Systems and methods of smart contract and distributed ledger platform with blockchain authenticity verification |
US11605127B2 (en) | 2018-05-06 | 2023-03-14 | Strong Force TX Portfolio 2018, LLC | Systems and methods for automatic consideration of jurisdiction in loan related actions |
US11609788B2 (en) | 2018-05-06 | 2023-03-21 | Strong Force TX Portfolio 2018, LLC | Systems and methods related to resource distribution for a fleet of machines |
US11610261B2 (en) | 2018-05-06 | 2023-03-21 | Strong Force TX Portfolio 2018, LLC | System that varies the terms and conditions of a subsidized loan |
US11620702B2 (en) | 2018-05-06 | 2023-04-04 | Strong Force TX Portfolio 2018, LLC | Systems and methods for crowdsourcing information on a guarantor for a loan |
US11625792B2 (en) | 2018-05-06 | 2023-04-11 | Strong Force TX Portfolio 2018, LLC | System and method for automated blockchain custody service for managing a set of custodial assets |
US11631145B2 (en) | 2018-05-06 | 2023-04-18 | Strong Force TX Portfolio 2018, LLC | Systems and methods for automatic loan classification |
US11636555B2 (en) * | 2018-05-06 | 2023-04-25 | Strong Force TX Portfolio 2018, LLC | Systems and methods for crowdsourcing condition of guarantor |
US11488059B2 (en) | 2018-05-06 | 2022-11-01 | Strong Force TX Portfolio 2018, LLC | Transaction-enabled systems for providing provable access to a distributed ledger with a tokenized instruction set |
US11657461B2 (en) | 2018-05-06 | 2023-05-23 | Strong Force TX Portfolio 2018, LLC | System and method of initiating a collateral action based on a smart lending contract |
US11657339B2 (en) | 2018-05-06 | 2023-05-23 | Strong Force TX Portfolio 2018, LLC | Transaction-enabled methods for providing provable access to a distributed ledger with a tokenized instruction set for a semiconductor fabrication process |
US11657340B2 (en) | 2018-05-06 | 2023-05-23 | Strong Force TX Portfolio 2018, LLC | Transaction-enabled methods for providing provable access to a distributed ledger with a tokenized instruction set for a biological production process |
US11669914B2 (en) | 2018-05-06 | 2023-06-06 | Strong Force TX Portfolio 2018, LLC | Adaptive intelligence and shared infrastructure lending transaction enablement platform responsive to crowd sourced information |
US11676219B2 (en) | 2018-05-06 | 2023-06-13 | Strong Force TX Portfolio 2018, LLC | Systems and methods for leveraging internet of things data to validate an entity |
US11681958B2 (en) | 2018-05-06 | 2023-06-20 | Strong Force TX Portfolio 2018, LLC | Forward market renewable energy credit prediction from human behavioral data |
US11688023B2 (en) | 2018-05-06 | 2023-06-27 | Strong Force TX Portfolio 2018, LLC | System and method of event processing with machine learning |
US11829907B2 (en) | 2018-05-06 | 2023-11-28 | Strong Force TX Portfolio 2018, LLC | Systems and methods for aggregating transactions and optimization data related to energy and energy credits |
US11687846B2 (en) | 2018-05-06 | 2023-06-27 | Strong Force TX Portfolio 2018, LLC | Forward market renewable energy credit prediction from automated agent behavioral data |
US11710084B2 (en) | 2018-05-06 | 2023-07-25 | Strong Force TX Portfolio 2018, LLC | Transaction-enabled systems and methods for resource acquisition for a fleet of machines |
US11715163B2 (en) | 2018-05-06 | 2023-08-01 | Strong Force TX Portfolio 2018, LLC | Systems and methods for using social network data to validate a loan guarantee |
US11494836B2 (en) | 2018-05-06 | 2022-11-08 | Strong Force TX Portfolio 2018, LLC | System and method that varies the terms and conditions of a subsidized loan |
US11720978B2 (en) * | 2018-05-06 | 2023-08-08 | Strong Force TX Portfolio 2018, LLC | Systems and methods for crowdsourcing a condition of collateral |
US11727320B2 (en) | 2018-05-06 | 2023-08-15 | Strong Force TX Portfolio 2018, LLC | Transaction-enabled methods for providing provable access to a distributed ledger with a tokenized instruction set |
US11727505B2 (en) | 2018-05-06 | 2023-08-15 | Strong Force TX Portfolio 2018, LLC | Systems, methods, and apparatus for consolidating a set of loans |
US11727506B2 (en) | 2018-05-06 | 2023-08-15 | Strong Force TX Portfolio 2018, LLC | Systems and methods for automated loan management based on crowdsourced entity information |
US11727319B2 (en) | 2018-05-06 | 2023-08-15 | Strong Force TX Portfolio 2018, LLC | Systems and methods for improving resource utilization for a fleet of machines |
US11727504B2 (en) | 2018-05-06 | 2023-08-15 | Strong Force TX Portfolio 2018, LLC | System and method for automated blockchain custody service for managing a set of custodial assets with block chain authenticity verification |
US11734620B2 (en) | 2018-05-06 | 2023-08-22 | Strong Force TX Portfolio 2018, LLC | Transaction-enabled systems and methods for identifying and acquiring machine resources on a forward resource market |
US11734619B2 (en) | 2018-05-06 | 2023-08-22 | Strong Force TX Portfolio 2018, LLC | Transaction-enabled systems and methods for predicting a forward market price utilizing external data sources and resource utilization requirements |
US11734774B2 (en) | 2018-05-06 | 2023-08-22 | Strong Force TX Portfolio 2018, LLC | Systems and methods for crowdsourcing data collection for condition classification of bond entities |
US11741553B2 (en) | 2018-05-06 | 2023-08-29 | Strong Force TX Portfolio 2018, LLC | Systems and methods for automatic classification of loan refinancing interactions and outcomes |
US11741401B2 (en) | 2018-05-06 | 2023-08-29 | Strong Force TX Portfolio 2018, LLC | Systems and methods for enabling machine resource transactions for a fleet of machines |
US11741552B2 (en) | 2018-05-06 | 2023-08-29 | Strong Force TX Portfolio 2018, LLC | Systems and methods for automatic classification of loan collection actions |
US11741402B2 (en) | 2018-05-06 | 2023-08-29 | Strong Force TX Portfolio 2018, LLC | Systems and methods for forward market purchase of machine resources |
US20210166310A1 (en) * | 2018-05-06 | 2021-06-03 | Strong Force TX Portfolio 2018, LLC | Systems and methods for crowdsourcing condition of guarantor |
US11748822B2 (en) | 2018-05-06 | 2023-09-05 | Strong Force TX Portfolio 2018, LLC | Systems and methods for automatically restructuring debt |
US11748673B2 (en) | 2018-05-06 | 2023-09-05 | Strong Force TX Portfolio 2018, LLC | Facility level transaction-enabling systems and methods for provisioning and resource allocation |
US20210158441A1 (en) * | 2018-05-06 | 2021-05-27 | Strong Force TX Portfolio 2018, LLC | Systems and methods for crowdsourcing a condition of collateral |
US11763213B2 (en) | 2018-05-06 | 2023-09-19 | Strong Force TX Portfolio 2018, LLC | Systems and methods for forward market price prediction and sale of energy credits |
US11763214B2 (en) | 2018-05-06 | 2023-09-19 | Strong Force TX Portfolio 2018, LLC | Systems and methods for machine forward energy and energy credit purchase |
US11769217B2 (en) | 2018-05-06 | 2023-09-26 | Strong Force TX Portfolio 2018, LLC | Systems, methods and apparatus for automatic entity classification based on social media data |
US11776069B2 (en) | 2018-05-06 | 2023-10-03 | Strong Force TX Portfolio 2018, LLC | Systems and methods using IoT input to validate a loan guarantee |
US11790288B2 (en) | 2018-05-06 | 2023-10-17 | Strong Force TX Portfolio 2018, LLC | Systems and methods for machine forward energy transactions optimization |
US11790286B2 (en) | 2018-05-06 | 2023-10-17 | Strong Force TX Portfolio 2018, LLC | Systems and methods for fleet forward energy and energy credits purchase |
US11790287B2 (en) | 2018-05-06 | 2023-10-17 | Strong Force TX Portfolio 2018, LLC | Systems and methods for machine forward energy and energy storage transactions |
US11810027B2 (en) | 2018-05-06 | 2023-11-07 | Strong Force TX Portfolio 2018, LLC | Systems and methods for enabling machine resource transactions |
US11816604B2 (en) | 2018-05-06 | 2023-11-14 | Strong Force TX Portfolio 2018, LLC | Systems and methods for forward market price prediction and sale of energy storage capacity |
US11823098B2 (en) | 2018-05-06 | 2023-11-21 | Strong Force TX Portfolio 2018, LLC | Transaction-enabled systems and methods to utilize a transaction location in implementing a transaction request |
US11586177B2 (en) | 2020-02-03 | 2023-02-21 | Strong Force TX Portfolio 2018, LLC | Robotic process selection and configuration |
US11586178B2 (en) | 2020-02-03 | 2023-02-21 | Strong Force TX Portfolio 2018, LLC | AI solution selection for an automated robotic process |
US11982993B2 (en) | 2020-02-03 | 2024-05-14 | Strong Force TX Portfolio 2018, LLC | AI solution selection for an automated robotic process |
US11567478B2 (en) | 2020-02-03 | 2023-01-31 | Strong Force TX Portfolio 2018, LLC | Selection and configuration of an automated robotic process |
US11550299B2 (en) | 2020-02-03 | 2023-01-10 | Strong Force TX Portfolio 2018, LLC | Automated robotic process selection and configuration |
US20220122173A1 (en) * | 2020-10-21 | 2022-04-21 | Chicago Mercantile Exchange Inc. | High efficiency inter-portfolio optimizer |
Also Published As
Publication number | Publication date |
---|---|
WO2014100724A1 (en) | 2014-06-26 |
US20210272194A1 (en) | 2021-09-02 |
US20200027159A1 (en) | 2020-01-23 |
US10991040B2 (en) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10991040B2 (en) | System and method for optimizing collateral management | |
US8762246B2 (en) | System and method for optimizing collateral management | |
US11615474B2 (en) | System and method for optimizing data processing in cloud-based, machine learning environments through the use of self organizing map | |
US11532040B2 (en) | International cash management software using machine learning | |
US20160140211A1 (en) | Segmentation and stratification of data entities in a database system | |
US20080243716A1 (en) | Investment management system and method | |
US9996502B2 (en) | High-dimensional systems databases for real-time prediction of interactions in a functional system | |
US20080162377A1 (en) | System and method of managing cash and suggesting transactions in a multi-strategy portfolio | |
US20100228665A1 (en) | Collateral Management System and Method | |
US9098878B2 (en) | Stratified composite portfolios of investment securities | |
US20150081591A1 (en) | System and method for collateral data aggregation and optimization | |
US11972485B2 (en) | Computer implemented method for compiling a portfolio of assets | |
CA2937313A1 (en) | Stratified composite portfolios of investment securities | |
US11995622B2 (en) | Method of international cash management using machine learning | |
Chen et al. | Perpetual future contracts in centralized and decentralized exchanges: Mechanism and traders’ behavior | |
JP2010524079A (en) | Method and system for multiple portfolio optimization | |
Consigli et al. | Asset liability management under sequential stochastic dominance constraints | |
US20230306517A1 (en) | Heppner Hicks ValueAlt? - Computer-Implemented Integrated Alternative Asset Valuation System for Factoring the Probability of Loss | |
US20240119519A1 (en) | Heppner Cangany AltRating™ - Computer-Implemented Integrated Simulation System for Generating Credit Ratings of Alternative Assets | |
US20230306516A1 (en) | Heppner Schnitzer AltScore? - Computer-Implemented Integrated Normalized Quality Scoring System for Alternative Assets | |
Blank et al. | BNY mellon optimization reduces intraday credit risk by $1.4 trillion | |
WO2002013097A2 (en) | Personal financial planning | |
CN114600124A (en) | System and method for investment portfolio generation based on rapid genetic algorithm | |
US20090083170A1 (en) | Product and service manipulation for opportunity pursuit | |
Kosmidou et al. | Review of the asset liability management techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: THE BANK OF NEW YORK MELLON, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BLANK, BRIAN;HE, SONG;RANA, MADHUSUDAN;AND OTHERS;SIGNING DATES FROM 20160606 TO 20160614;REEL/FRAME:039057/0040 |
|
STCV | Information on status: appeal procedure |
Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS |
|
STCV | Information on status: appeal procedure |
Free format text: BOARD OF APPEALS DECISION RENDERED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |