The present disclosure relates to financial systems and, more particularly, to systems and methods that perform various operations and procedures related to optimizing collateral between two or more entities, individuals, or parties.
Various financial systems are used to transfer assets between different organizations, such as financial institutions. For example, in existing systems, each financial institution maintains a ledger to keep track of accounts at the financial institution and transactions associated with those accounts. Financial institutions generally cannot access the ledger of another financial institution. Thus, a particular financial institution can only see part of a financial transaction (i.e., the part of the transaction associated with that financial institution's accounts). When executing critical asset transfers, it is important that all parties to the transfer can see the details of the transfer. Further, in some situations, it is desirable to provide operations and procedures that support collateral optimization for trades between multiple entities, individuals, or parties.
Non-limiting and non-exhaustive embodiments of the present disclosure are described with reference to the following figures, wherein like reference numerals refer to like parts throughout the various figures unless otherwise specified.
It will be readily understood that the components of the present systems and methods, as generally described and illustrated in the figures herein, could be arranged and designed in a wide variety of different configurations. The following detailed description of the embodiments of the collateral optimization systems and methods is not intended to limit the scope of the invention, as claimed, but is merely representative of certain examples of presently contemplated embodiments in accordance with the invention.
Existing financial institutions typically maintain account information and asset transfer details in a ledger at the financial institution. The ledgers at different financial institutions do not communicate with one another and often use different data storage formats or protocols. Thus, each financial institution can only access its own ledger and cannot see data in another financial institution's ledger, even if the two financial institutions implemented a common asset transfer.
The systems and methods described herein enable institutions to move assets on demand by enabling authorized users to execute complex workflows. Additionally, the described systems and methods allow one or more 3rd parties to view payment activities between participants. Further, the systems and methods support a notary service that uses time stamps and other information to authenticate (or verify) data associated with all parties (e.g., principals) of a transaction, such as a financial transaction.
As used herein, a workflow describes, for example, the sequence of activities associated with a particular transaction, such as an asset transfer. In particular, the systems and methods provide a clearing and settlement gateway between, for example, multiple financial institutions. When a workflow is executed, the system generates and issues clearing and settlement messages (or instructions) to facilitate the movement of assets. A shared permissioned ledger (discussed herein) keeps track of the asset movement and provides visibility to the principals and observers in substantially real time. The integrity of these systems and methods is important because the systems are dealing with core payments that are a critical part of banking operations. Additionally, many asset movements are final and irreversible. Therefore, the authenticity of the request and the accuracy of the instructions are crucial. Further, reconciliation of transactions between multiple parties are important to the management of financial data.
As discussed herein, payments between parties can be performed using multiple asset types, including currencies, treasuries, securities (e.g., notes, bonds, bills, and equities), and the like. Payments can be made for different reasons, such as margin movements, collateral pledging, swaps, delivery, fees, liquidation proceeds, and the like. As discussed herein, each payment may be associated with one or more metadata.
As used herein, DCC refers to a direct clearing client or an individual or institution that owes an obligation. A payee refers to an individual or institution that is owed an obligation. A CCG (or Guarantor) refers to a client clearing guarantor or an institution that guarantees the payment of an obligation. A CCP refers to a central counterparty clearinghouse and a Client is a customer of the FCM (Futures Commission Merchant)/CCG guarantor. Collateral settlements refer to non-cash based assets that are cleared and settled between CCP, FCM/CCG guarantor, and DCC. CSW refers to collateral substitution workflow, which is a workflow used for the pledging and recall (including substitution) of collateral for cash. A clearing group refers to a logical grouping of stakeholders who are members of that clearing group that are involved in the clearing and settlement of one or more asset types. A workflow, when executed, facilitates a sequence of clearing and settlement instructions between members of a clearing group as specified by the workflow parameters.
When some financial transactions change state (e.g., initiated—pending—approved—cleared—settled, etc.) it may trigger one or more notifications to the principals involved in the transaction. The systems and methods described herein provide multiple ways to receive and respond to these notifications. In some embodiments, these notifications can be viewed and acknowledged using a dashboard associated with the described systems and methods or using one or more APIs.
As used herein, principals refer to the parties that are directly involved in a payment or transaction origination or termination. An observer refers to a party that is not a principal, but may be a stakeholder in a transaction. In some embodiments, an observer can subscribe for a subset of notifications generated by the systems and methods discussed herein. In some situations, one or more principals may need to agree that the observer can receive the subset of notifications. APIs refer to an application program interface that allow other systems and devices to integrate with the systems and methods described herein.
Specific examples discussed herein refer to a financial management system communicating with various systems, financial institutions, authorized systems/devices, data stores, and the like. Although particular examples are discussed with respect to transferring and settling funds between two financial institutions, the same systems and methods may facilitate or manage financial transactions between multiple parties associated with a trade finance situation. For example, the financial management system and methods discussed herein may perform various operations and procedures related to trade finance between two or more entities, individuals, or parties. In some embodiments, the trade finance may be associated with a transaction between a seller and a buyer of goods or services, a transaction between an exporter and an importer, and the like.
The systems and methods described herein use a distributed permissioned ledger (also referred to as a “permissioned ledger”) and smart workflows/contracts in a supply chain and trade finance process to enable real time visibility across multiple participants. With the use of the permissioned ledger, participants only have access to their own data. However, lineage and reconciliation of the whole trade can be achieved by using the distributed permissioned ledger.
In some embodiments, data communication network 104 includes any type of network, such as a local area network, a wide area network, the Internet, a cellular communication network, or any combination of two or more communication networks. The described systems and methods can use any communication protocol supported by a financial institution's ledger and other systems. For example, the communication protocol may include SWIFT MT (Society for Worldwide Interbank Financial Telecommunication Message Type) messages (such as MT 2XX, 5XX, 9XX), ISO 20022 (a standard for electronic data interchange between financial institutions), and proprietary application interfaces exposed by particular financial institutions. Financial institutions 106, 108 include banks, exchanges, hedge funds, and any other type of financial entity or system. In some embodiments, financial management system 102 interacts with financial institutions 106, 108 using existing APIs and other protocols already being used by financial institutions 106, 108, thereby allowing financial management system 102 to interact with existing financial institutions without significant modification to the financial institution's systems. Authorized system 110 and authorized user device 112 include any type of system, device, or component that is authorized to communicate with financial management system 102. Replicated data store 114 stores any type of data accessible by any number of systems and devices, such as the systems and devices described herein. In some embodiments, replicated data store 114 stores immutable and auditable forms of transaction data between financial institutions. The immutable data cannot be deleted or modified. In particular implementations, replicated data store 114 is an append only data store which keeps track of all intermediate states of the transactions. Additional metadata may be stored along with the transaction data for referencing information available in external systems. In specific embodiments, replicated data store 114 may be contained within a financial institution or other system.
As shown in
In some embodiments, ledger 118 is modeled after double-entry accounting systems where each transaction has two entries (i.e., one entry for each of the principals to the transaction). The entries in ledger 118 include data related to the principal parties to the transaction, a transaction date, a transaction amount, a transaction state, any relevant workflow reference, a transaction ID, and any additional metadata to associate the transactions with one or more external systems. The entries in ledger 118 also include cryptographic hashes to provide tamper resistance and auditability. Users for each of the principals to the transaction only have access to their own entries (i.e., the transactions to which the principal was a party). Access to the entries in ledger 118 can be further restricted or controlled based on a user's role or a party's role, where certain data is only available to certain roles.
In some embodiments, ledger 118 is a shared ledger that can be accessed by multiple financial institutions and other systems and devices. In particular implementations, both parties to a specific transaction can access all details related to that transaction stored in ledger 118. All details related to the transaction include, for example, the parties involved in the transaction, the type of transaction, the date and time of the transaction, the amount of the transaction, and other data associated with the transaction. Additionally, ledger 118 restricts permission to access specific transaction details based on relevant trades associated with a particular party. For example, if a specific party (such as a financial institution or other entity) requests access to data in ledger 118, that party can only access (or view) data associated with transactions to which the party was involved. Thus, a specific party cannot see data associated with transactions that are associated with other parties and do not include the specific party.
The shared permission aspects of ledger 118 provides for a subset of the ledger data to be replicated at various client nodes and other systems. The financial management systems and methods discussed herein allow selective replication of data. Thus, principals, financial institutions, and other entities do not have to hold data for transactions to which they were not a party.
It will be appreciated that the embodiment of
In some embodiments, financial management system 102 interacts with authorized systems and authorized users. The authorized set of systems and users often reside outside the jurisdiction of financial management system 102. Typically, interactions with these systems and users are performed via secured channels. To ensure the integrity of financial management system 102, various constructs are used to provide system/platform integrity as well as data integrity.
In some embodiments, system/platform integrity is provided by using authorized (e.g., whitelisted) machines and devices, and verifying the identity of each machine using security certificates, cryptographic keys, and the like. In certain implementations, particular API access points are determined to ensure that a specific communication originates from a known enterprise or system. Additionally, the systems and methods described herein maintain a set of authorized users and roles, which may include actual users, systems, devices, or applications that are authorized to interact with financial management system 102. System/platform integrity is also provided through the use of secure channels to communicate between financial management system 102 and external systems. In some embodiments, communication between financial management system 102 and external systems is performed using highly secure TLS (Transport Layer Security) with well-established handshakes between financial management system 102 and the external systems. Particular implementations may use dedicated virtual private clouds (VPCs) for communication between financial management system 102 and any external systems. Dedicated VPCs offer clients the ability to set up their own security and rules for accessing financial management system 102. In some situations, an external system or user may use the DirectConnect network service for better service-level agreements and security.
In some embodiments financial management system 102 allows each client to configure and leverage their own authentication systems. This allows clients to set their custom policies on user identity verification (including 2FA (two factor authentication)) and account verification. An authentication layer in file management system 102 delegates requests to client systems and allows the financial management system to communicate with multiple client authentication mechanisms.
Financial management system 102 also supports role-based access control of workflows and the actions associated with workflows. Example workflows may include Payment vs Payment (PVP) and Delivery vs Payment (DVP) workflows. In some embodiments, users can customize a workflow to add their own custom steps to integrate with external systems that can trigger a change in transaction state or associate them with manual steps. Additionally, system developers can develop custom workflows to support new business processes. In particular implementations, some of the actions performed by a workflow can be manual approvals, a SWIFT message request/response, scheduled or time-based actions, and the like. In some embodiments, roles can be assigned to particular users and access control lists can be applied to roles. An access control list controls access to actions and operations on entities within a network. This approach provides a hierarchical way of assigning privileges to users. A set of roles also includes roles related to replication of data, which allows financial management system 102 to identify what data can be replicated and who is the authorized user to be receiving the data at an external system.
In some embodiments, financial management system 102 detects and records all client metadata, which creates an audit trail for the client metadata. Additionally, one or more rules identify anomalies which may trigger a manual intervention by a user or principal to resolve the issue. Example anomalies include system request patterns that are not expected, such as a high number of failed login attempts, password resets, invalid certificates, volume of requests, excessive timeouts, http errors, and the like. Anomalies may also include data request patterns that are not expected, such as first time use of an account number, significantly larger than normal amount of payments being requested, attempts to move funds from an account just added, and the like. When an anomaly is triggered, financial management system 102 is capable of taking a set of actions. The set of actions may initially be limited to pausing the action, notifying the principals of the anomaly, and only resuming activity upon approval from a principal.
Financial management system 102 includes secure APIs 202 that are used by partners to securely communicate with financial management system 102. In some embodiments, the APIs are stateless to allow for automatic scaling and load balancing. Role-based access controller 204 provide access to modules, data and activities based on the roles of an individual user or participant interacting with financial management system 102. In some embodiments, users belong to roles that are given permissions to perform certain actions. An API request may be checked against the role to determine whether the user has proper permissions to perform an action. An onboarding module 206 includes all of the metadata associated with a particular financial institution, such as bank account information, user information, roles, permissions, clearing groups, assets, and supported workflows. A clearing module 208 includes, for example, a service that provides the functionality to transfer assets between accounts within a financial institution. A settlement module 210 monitors and manages the settlement of funds or other types of assets associated with one or more transactions handled by financial management system 102.
Financial management system 102 also includes a ledger manager 212 that manages a ledger (e.g., ledger 118 in
In the example of
As mentioned above, system/platform integrity is important to the secure operation of financial management system 102. This integrity is maintained by ensuring that all actions are initiated by authorized users or systems. Additionally, once an action is initiated and the associated data is created, an audit trail of any changes made and other information related to the action is recorded for future reference.
In particular embodiments, financial management system 102 includes (or interacts with) a roles database and an authentication layer. The roles database stores various roles of the type discussed herein.
In the example of
As discussed herein, financial management system 302 facilitates the transfer of funds between bank 304 and 306. Additional details regarding the manner in which the funds are transferred are provided below with respect to
In some embodiments, one or more components discussed herein are contained in a traditional infrastructure of a bank or other financial institution. For example, an HSM (Hardware Security Module) in a bank may execute software or contain hardware components that interact with a financial management system to facilitate the various methods and systems discussed herein. In some embodiments, the HSM provides security signatures and other authentication mechanisms to authenticate participants of a transaction.
Method 400 continues as the financial management system confirms 404 available funds for the transfer. For example, financial management system 302 in
If available funds are confirmed at 404, then account A101 at Bank A is debited 406 by the transfer amount and suspense account A (at Bank A) is credited with the transfer amount. Using the example of
The transferred funds are then settled 408 from suspense account A (at Bank A) to suspense account B (at Bank B). For example, financial management system 302 in
Method 400 continues as suspense account B (at Bank B) is debited 410 by the transfer amount and account B101 at Bank B is credited with the transfer amount. For example, financial management system 302 in
In some embodiments, the financial management system facilitates (or initiates) the debit, credit, and settlement activities (as discussed with respect to
The financial management system further receives 510 a transaction request from the client node, such as a request to transfer assets between two financial institutions or other entities. In response to the received transaction request, the financial management system verifies 512 the client node's identity and validates the requested transaction. In some embodiments, the client node's identity is validated based on an authentication token, and then permissions are checked to determine if the user has permissions to perform a particular action or transaction. Transfers of assets also involve validating approval of an account by multiple roles to avoid compromising the network. If the client node's identity and requested transaction are verified, the financial management system creates 514 one or more ledger entries to store the details of the transaction. The ledger entries may be stored in a ledger such as ledger 118 discussed herein. The financial management system then sends 516 an acknowledgement regarding the transaction to the client node with a server transaction token. In some embodiments, the server transaction token is used at a future time by the client when conducting audits. Finally, the financial management system initiates 518 the transaction using, for example, the systems and methods discussed herein.
In some embodiments, various constructs are used to ensure data integrity. For example, cryptographic safeguards allow a transaction to span 1-n principals. The financial management system ensures that no other users (other than the principals who are parties to the transaction) can view data in transit. Additionally, no other user should have visibility into the data as it traverses the various channels. In some embodiments, there is a confirmation that a transaction was received completely and correctly. The financial management system also handles failure scenarios, such as loss of connectivity in the middle of the transaction. Any data transmitted to a system or device should be explicitly authorized such that each entry (e.g., ledger entry) can only be seen and read by the principals who were a party to the transaction. Additionally, principals can give permission to regulators and other individuals to view the data selectively.
Cryptographic safeguards are used to detect data tampering in the financial management system and any other systems or devices. Data written to the ledger and any replicated data may be protected by:
In some embodiments, the financial management system monitors for data tampering. If the data store (central data store or replicated data store) is compromised in any way and the data is altered, the financial management system should be able to detect exactly what changed. Specifically, the financial management system should guarantee all participants on the network that their data has not been compromised or changed. Information associated with changes are made available via events such that the events can be sent to principals via messaging or available to view on, for example, a user interface. Regarding data forensics, the financial management system is able to determine that the previous value of an attribute was X, it is now Y and it was changed at time T, by a person A. If a system is hacked or compromised, there may be any number of changes to attribute X and all of those changes are captured by the financial management system, which makes the tampering evident.
In particular embodiments, the financial management system leverages the best security practices for SaaS (Software as a Service) platforms to provide cryptographic safeguards for ensuring integrity of the data. For ensuring data integrity, the handshake between the client and an API server (discussed with respect to
In some embodiments, all interactions with financial management system 602 or the API server are secured with TLS. API server 608 and audit server 610 may communicate with financial management system 602 using any type of data communication link or data communication network, such as a local area network or the Internet. Although API server 608 and audit server 610 are shown in
In some embodiments, at startup, a client sends a few checksums it has sent and transaction IDs to API server 608, which can verify the checksums and transaction IDs, and take additional traffic from the client upon verification. In the case of a new client, mutually agreed upon seed data is used at startup. A client request may be accompanied by a client signature and, in some cases, a previous signature sent by the server. The server verifies the client request and the previous server signature to acknowledge the client request. The client persists the last server signature and a random set of server hashes for auditing. Both client and server signatures are saved with requests to help quickly audit correctness of the financial management system ledger. The block size of transactions contained in the request may be determined by the client. A client SDK (Software Development Kit) assists with the client server handshake and embedding on server side signatures. The SDK also persists a configurable amount of server signatures to help with restart and for random audits. Clients can also set appropriate block size for requests depending on their transaction rates. The embedding of previous server signatures in the current client block provides a way to chain requests and provide an easy mechanism to detect tampering. In addition to a client-side signature, the requests are encrypted using standard public key cryptography to provide additional defense against client impersonation. API server 608 logs all encrypted requests from the client. The encrypted requests are used, for example, during data forensics to resolve any disputes.
In particular implementations, a client may communicate a combination of a previous checksum, a current transaction, and a hash of the current transaction to the financial management system. Upon receipt of the information, the financial management system checks the previous checksum and computes a new checksum, and stores the client hash, the current transaction, and the current checksum in a storage device, such as data store 604. The checksum history and hash (discussed herein) protect the integrity of the data. Any modification to an existing row in the ledger cannot be made easily because it would be detected by mismatched checksums in the historical data, thereby making it difficult to alter the data.
The integrity of financial management system 602 is ensured by having server audits at regular intervals. Since financial management system 602 uses chained signatures per client at the financial management system, it ensures that an administrator of financial management system 602 cannot delete or update any entries without making the ledger tamper evident. In some embodiments, the auditing is done at two levels: a minimal level which the SDK enforces using a randomly selected set of server signatures to perform an audit check; and a more thorough audit check run at less frequent intervals to ensure that the data is correct.
In some implementations, financial management system 602 allows for the selective replication of data. This approach allows principals or banks to only hold data for transactions they were a party to, while avoiding storage of other data related to transactions in which they were not involved. Additionally, financial management system 602 does not require clients to maintain a copy of the data associated with their transactions. Clients can request the data to be replicated to them at any time. Clients can verify the authenticity of the data by using the replicated data and comparing the signature the client sent to the financial management system with the request.
In some embodiments, a notarial system is used to maintain auditability and forensics for the core systems. Rather than relying on a single notary hosted by the financial management system, particular embodiments allow the notarial system to be installed and executed on any system that interacts with the financial management system (e.g., financial institutions or clients that facilitate transactions initiated by the financial management system).
The systems and methods discussed herein support different asset classes. Each asset class may have a supporting set of metadata characteristics that are distinct. Additionally, the requests and data may be communicated through multiple “hops” between the originating system and the financial management system. During these hops, data may be augmented (e.g., adding trade positions, account details, and the like) or changed.
In certain types of transactions, such as cash transactions, the financial management system streamlines the workflow by supporting rich metadata accompanying each cash transfer. This rich metadata helps banks tie back cash movements to trades, accounts, and clients.
As discussed herein, the described systems and methods facilitate the movement of assets between principals (also referred to as “participants”). The participants are typically large financial institutions in capital markets that trade multiple financial products. Trades in capital markets can be complex and involve large asset movements (also referred to as “settlements”). The systems and methods described herein can integrate to financial institutions and central settlement authorities such as the US Federal Reserve or DTCC (Depository Trust & Clearing Corporation) to facilitate the final settlement of assets. The described systems and methods also have the ability to execute workflows such as DVP, threshold based settlement, or time-based settlement between participants. Using the workflows, transactions are settled in gross or net amounts.
The systems and methods described herein include a platform and workflow to support and enable 3rd party guarantors the ability to view payment activity between participants in real time (or substantially real time), and step in to make payments on behalf of participants when necessary.
As mentioned above, the systems and methods discussed herein may perform various operations and procedures related to trade finance between two or more entities, individuals, or parties. For example, the trade finance operations and procedures may be associated with a transaction between a seller and a buyer of goods or services, a transaction between an exporter and an importer, and the like.
In some embodiments, FCM 702 can trade on an exchange on behalf of house (own funds) or on behalf of their clients. Based on some regulations, they are supposed to separate the funds of house and that of the client. A Trade (T) is a contract to buy or sell, which has a term. The term can be any of the following:
For the act of opening a trade, the FCMs come up with the following:
1. Initial Margin (IM): This is a percentage of the total value of the assets (as on the trade date), that the FCM needs to come up with. They need to post this with the CCP just for opening a position. It needs to be maintained until the position is closed. IMs are computed based on the portfolio, as explained herein. IMs can be paid in cash or collateral.
2. Variation Margin (VM): This is the ‘mark to market’ movement in price of the underlying asset. From a CCP's perspective, they are in the middle (as the counterparty) to the buyer and seller. The buyers and sellers have entered into a trade since they take opposite positions. So, when there is a movement of the underlying asset, either the buyer or the seller has made a gain and the other a loss. The responsibility of the CCP is to debit the variation margin from the party that is at a loss and credit to the party that is at a gain. Variation margin is typically collected and paid in currencies.
Margin Calculation Cycle: As the prices change, the CCPs needs to compute the margin calls based on a frequency. This is called ‘Margining process’. The margining process typically runs twice a day for most CCPs (one at the start of day and another is mid-day). At the end of the day, the CCPs compute the margin calls (IM+VMs) and issue a call to the FCMs. The FCMs need to fulfil the margin call by the beginning of the trading day (which is a few hours later). As CCPs and FCMs move to a global trading model, the window of the time when the FCMs have to post the margin is shrinking.
Netted Payments: The amounts computed by the FCMs are typically net positions after factoring the IMs and VMs. This is done to gain efficiencies. The FCM may be long 50 on IM and short 30 on VMs. In that case, no movement is necessary as the CCP would make a book entry transfer to make IM now long 20 (50−30) and the VM to be flat (0). However, they will make a margin call of 20 if the markets were highly volatile and they were long 50 on IM and short 70 on VM.
IM computed based on portfolio: The IM payment is also computed based on the product (the more volatile the product, the more IM is required) and the portfolio of the assets on deposit.
Movement Collateral
An FCM will push or pull collateral from a CCP. This will be referred to in the context of three actions:
1. Collateral Pledge: This is a one-way pledge/push of collateral from the FCM to the CCP.
2. Collateral Recall: This is a one-way recall/pull of collateral from the CCP to the FCM.
3. Collateral Substitution: This is a two-way push/pull of collateral from and to the FCM and CCP.
In all three of these actions, the FCM needs to be at least flat across IMs and VMs after the action is completed. That is, in the case of the pledge, the FCM is making the pledge to fill the short position to be at least flat. In the recall, the FCM is pulling the excess long, as long as it does not get below flat position, etc.
Acceptable Collateral (for CCP): Each of the CCPs have rules that specify what sort of collaterals it will accept as deposits to satisfy the IM calls. Assume that VM always needs to be paid in cash because it is not held by the CCP, it is just disbursed between the sides posting the gains and losses. Generally, the rules are across the FCM and defined at the CCP level. The rules may define something like, each FCM can have a maximum of $250 M in bonds and/or only 25% of the collateral can be in bonds, etc. The CCPs also define what assets are accepted.
Each of asset type (cash, security, bonds, etc.) has certain characteristics, such as liquidity (how easy it is to liquidate the asset), volatility, cost of movements, and the like. Thus, each asset (identified by cusip) could be valued differently across the CCPs.
In some embodiments, there are three variables in a collateral holding for a CCP-FCM pair:
1. Type
2. Haircut on market value. The haircut percent may differ based on the maturity date and also the asset mix in the collateral. For example, for 100 M in bonds, the haircut may be 10% and for 100 M-500 M, the haircut may be at 11%, etc. This is related to the volatility and liquidity.
Concentration limit: This is the either a maximum amount or a maximum percentage of assets on deposits for a counterparty.
When viewed from the FCM side, there are two problems:
1. An FCM making an IM Payment or a pledge/recall/substitution.
2. The treasury team of the FCM bank needs to manage liquidity across business units, as explained below. An FCM is typically a business unit in a bank. Examples of business units are FCMs, Equity Trading, Fx Desk, OTC Desk, Prime Brokerage, Asset Management, and the like. Each business unit may have a set of accounts where they have assets for the purpose of their trading activity. These accounts all roll into the Legal Entity and Global Treasury units for markets. It may be easier to think of a legal entity as synonymous with a jurisdiction. For example, a legal entity is HBEU (HSBC Europe) and HBUS (HSBC US). The FCMs may either be global (across legal entities) or regional (within a legal entity).
The sigma of all the accounts (and assets in the accounts) for the regional units is equal to the treasury position of the regional unit. The sigma of the regional units plus the sigma of accounts (and assets in the accounts) for the global units is equal to the treasury position of the global treasury for markets. Further, on top of this is the Global Treasury. This is across the entire bank and not just capital markets. This is the total assets under management of the entire bank. The capital markets treasury is a subset of this.
A problem for the regional treasury and the global markets treasury is to manage the liquidity across the business units. Thus, better prediction on the allocation amounts across the units is important. In existing systems, the regional unit ‘charges’ the business units a lending fee. This way, the global treasury is shown to make a small profit for “lending” from its books to the books of the “business unit”. This is referred to as the ‘capital charge’ on the business by the treasury department. This charge is high if they overallocated. They overallocate because the business does not have clear predictability on the supply and demand. The overallocation also is a buffer to avoid ‘failure to deliver’ scenarios where the assets are tied up and cannot be retrieved on time due to delays.
From a predictive model, the systems and methods discussed herein can build multiple models, such as:
In some embodiments, the described systems and methods find the optimal allocation for assets to pledge to meet an IM call for an FCM subject to the following:
1. Supply of assets: The assets of the FCM are custodied in various places, such as custody banks and CCPs (excesses in CCPs).
2. Demand for assets: This is the asset value that needs to be fulfilled. It has the following measures: minimum overall value that needs to be met after haircuts, and it has to be fulfilled in a certain time.
3. Constraints: The assets being pledged need to meet the following constraints:
a. Each asset should be in the list of acceptable collateral by the CCP.
b. Value being assessed is the ‘post haircut value’ and not the face value.
c. Should not violate the concentration threshold.
4. Yield or opportunity Costs: If an asset was not pledged, there is a yield for the asset. Consider only the repo rates for the assets. Repos can be for a variable period of time.
Interest Rate: the CCPs may yield an interest by posting the asset in excess at the CCPs. The banks where the assets are custodied may yield an interest rate. The central bank is considered as a special type of bank. The commercial bank (the FCM is a business unit of the commercial bank) has an account at the central bank and gets an interest rate for holding money in excess at the central bank. The central bank also has an overnight lending rate. This way the central bank can borrow from the central bank in cash and then pay back the next day. This can be used if one of the assets is held at a counterparty and there is not enough time to release it.
5. Cost of moving assets: In some embodiments, this is considered as the cost of messaging plus a constant. For example, C(m)=N(Unit Message Cost)+Constant(asset_type). The Unit Message Cost is the cost per Swift message. For example, this may be 30 cents. ‘N’ is the number of Swift messages needed to move the asset. This is different for cash versus equities. Constant(asset_type) is the wire or DTCC fee. This has the following measures: If this is an intra bank movement of assets, this fixed cost per movement is zero. If this is an interbank movement of assets, it is the cost of a FedWire or a cost per DTCC transaction. This is the same for one type of asset and is independent of the value of the asset. For example, for FedWire, compute it as $5 per transaction irrespective of the amount. For DTCC, compute it as $2 per cusip (each cusip to be charged $2) irrespective of the number of units of that cusip.
In some embodiments, the described systems and methods may attempt to minimize cost or maximize yield. Additionally, various APIs may be provided for get/set supply, get/set demand, get/set yield templates, get/set constraints per CCP, get/set C(m), get/set sensitivity parameters, and the like. Regarding the yield templates, they may be thought of as a csv file with multiple (e.g., 91) columns. The first column is the name cusip. The remaining columns are the yields over a 90 day period. Each row will have the yield for a cusip over a 90 day period. In some embodiments, there are multiple csv templates, thereby allowing switching between templates to see resulting changes in allocations.
In some embodiments, the described systems and methods may perform an optimization by taking the current set of supply, demand, yield template id, and constraints, then returning an array of cusip. It may also return data to plot a chart on the costs or yield (depending on the cost minimization or yield maximization). If there are other charts that can be displayed based on the sensitivity parameters, the systems and methods get the appropriate metadata to plot that as well.
In some embodiments, collateral optimization is similar to a supply-demand problem, where there is a supply of assets and the demand is the requirement to pledge the collateral. Additionally, each day the margin required may vary such that amount pledged might vary each day. In some situations, each FCM may already have collateral pledged which is a mix of certain asset types. In these situations, the described systems and methods may swap assets or move assets across CCPs based on the above mentioned factors for better optimization. Thus, the supply bucket can include the already pledged assets.
As discussed herein, allocation of collateral can vary based on one or more factors, such as yield, pledge amount, and market value. In some embodiments, the allocation of collateral is based on a rule that is a function of yield, demand of the asset, and market value of the asset, and also honoring the CCP's rules.
In some embodiments, the described systems and methods receive and/or provide information related to CCP rules that outline the list of accepted cusips, haircut, and concentration limit parameters. The systems and methods also receive past market value for the cusips, past yield percent, and a fraction indicating the demand for lending purposes.
A mixed-integer programming (MIP) problem is one where some of the decision variables are constrained to be integer values (i.e., whole numbers such as −1, 0, 1, 2, etc.) at the optimal solution. The use of integer variables greatly expands the scope of useful optimization problems that can be defined and solved. An important special case is a decision variable X1 that must be either 0 or 1 at the solution. Such variables are called 0-1 or binary integer variables and can be used to model yes/no decisions, such as whether to build a plant or buy a piece of equipment. However, integer variables make an optimization problem non-convex, and therefore far more difficult to solve. Memory and solution time may rise exponentially as more integer variables are added. Even with highly sophisticated algorithms and modern supercomputers, there are models with just a few hundred integer variables that have never been solved to optimality. This is because many combinations of specific integer values for the variables must be tested, and each combination requires the solution of a “normal” linear or nonlinear optimization problem. The number of combinations can rise exponentially with the size of the problem.
In some embodiments, the described systems and methods provide various graphical user interfaces to allow users to interact with the systems and methods to initiate, perform, and review the results of various collateral optimization activities. For example, a user interface may allow a user to set parameters associated with collateral optimization activities, margin calls, and the like.
In some embodiments, a user interface may include various filters that allow a user to filter data by type, time of delivery, amount, and the like. The user interface may include color coding to identify, for example, activities due soon (such as within four hours) with one color, and activities due in the future (such as within 24 hours) with another color. In some implementations certain data, such as CME, ICE, and the amounts have associated hyperlinks such that clicking on the graphical item (or data) displays information for that particular counterparty and, for example, charts showing how the margin calls changed. Similarly, margin calls and securities lending can be hyperlinks that brings up additional information, such as stacked charts that are color-coded for each counterparty.
In some embodiments, a graphical user interface (e.g., the interface shown in
In some embodiments, the user interface allows a user to click a “Refresh Inventory” button that initiates an activity to retrieve inventory data from one or more locations. In particular implementations, a user can select a “Run Optimizer” button that may request certain data (e.g., parameters) from the user. For example, the user interface may include a “Configure Optimizer” button that allows a user to select and define particular parameters and other configuration settings. In some embodiments, the configuration parameters are stored in a template or other data storage mechanism for future reference.
When the “Run Optimizer” button is activated, it may cause the described systems and methods to take the following actions:
1. Determine a margin call to make at each counterparty.
2. Get the assets of deposit.
3. Get the haircut amounts (e.g., via database lookup).
4. Get the threshold limits (e.g., via database lookup).
In some embodiments, the user interface displays various output data associated with the optimization process, which may include other possible solutions for optimization. For example, the results (or expected results) of the different possible solutions may be displayed for the user to examine. The user interface may also include an option for the user to apply one or more post-optimization filters to select a different solution.
In an example implementation, the described systems and methods provide a post-trade middleware platform that delivers the following core efficiencies:
1. Real time asset tracking
2. Collateral optimization
3. Faster clearing and settlement of assets with the network described herein
4. Extensible set of APIs to build new workflows and optimizers on the platform
Further, the platform supports the handling and analysis of assets at different exchanges, associated with different financial institutions, and the like. The data analysis and data optimization discussed herein is performed in substantially real time such that the optimization systems and methods are operating on substantially real time data to make current and timely decisions, recommendations, and the like.
The platform delivers various efficiencies described herein. Additionally, the platform is extensible so that new workflows and optimization models can be built on the platform. For example,
As shown in
1. Data Ingestion Engine
2. Analytics and Machine Learning (ML) Pipelines
3. Asset Settlement Engine
4. Distributed Workflows
5. API Gateway
Data Ingestion Engine: Platform 1000 provides a fast data ingestion engine that provides a fast data pipeline for heterogeneous data sources. The pipeline is capable of ingesting raw data at very high throughput from multiple sources. Different normalizers process this raw data and normalize at high speed. This data is then put into different topic queues for downstream systems to consume in a pub-sub or streaming protocol. The normalized data is also saved into different data stores, allowing for API based access.
Analytics and ML Pipelines: Optimization and ML models can be invoked in any of the following modes:
1. Batch (periodic or at a fixed frequency)
2. On-Demand (invoked through API)
3. Streaming Analytics (act on data in near real-time)
All three modes require a robust data pipeline for an optimal deployment in production. The described platform will allow member banks to build and test new models. Example models include:
These models include tuning parameters and API access.
Asset Settlement Engine: This consists of the all the subcomponents that will result in the movement of the assets between the counterparties. The distributed workflow engine executes this movement between the counterparties and synchronizes and orchestrates the steps across different institutions. Execution of these steps in a workflow will result in the proper messages to be sent to the depository institutions where the assets are custodied (settlement banks, custody banks, central banks, CSDs, and the like). As the described systems and methods synchronize these messages, the asset movement happens significantly faster and can be done on-demand. The system gets the drop copies of the messages for the settlement and confirmation of debits and credits. An asset transfer can be considered a state transition (from a submitted state to finished or cancelled state with all interim steps including approvals). The system records the complete state transition including the ownership change with settlement finality in the ledger (shared permissioned ledger) discussed herein.
Distributed Workflows: This is a distributed workflow engine with several complex workflows. Examples of workflows include PvP Fx Settlements, Margin Settlements (including optimization and asset transfer), Securities Lending, and the like. Workflows may have steps that are executed in parallel or in sequence. Workflows can refer to a set of rules and other metadata based on which the sequence of steps of the flow of funds can be controlled. A bank can build custom workflows using the API discussed herein.
API Gateway: The API gateway is a comprehensive set of APIs with secure access control and role-based authorizations.
A collateral optimization module shown in
1. Supply: The assets on deposit at various accounts
2. Demand: The counterparty demand for the assets to meet a margin call, or a borrow or lend requirement
3. Constraints: Each counterparty may have additional constraints such as the following: Acceptable Collateral (eligibility), Haircuts, and Concentration Limits.
4. Yield: The expected yield on an asset or an asset class
5. Costs: The cost to deliver
In some embodiments, the collateral optimization module also provides a set of relaxation and tuning parameters. In particular implementations, the collateral optimization module accesses the following data:
Example tuning parameters include:
For each legal entity and each agreement, the collateral optimization module generates an optimized list of collateral to deliver and/or post.
In particular embodiments, the collateral optimization module can execute multiple optimization processes simultaneously on substantially real time data.
Each transaction and the associated transaction states may have additional metadata. The shared ledger (e.g., ledger 118 in
In some embodiments, the transactions and the metadata recorded in the shared permissioned ledger contain information that are very sensitive and confidential to the businesses initiating the instructions. The systems and methods described herein maintain the security of this information by encrypting data for each participant using a symmetric key that is unique to the participant. In some embodiments, the keys also have a key rotation policy where the data for that node is rekeyed. The keys for each node are bifurcated and saved in a secure storage location with role-based access controls. In some embodiments, only a special service called a cryptographic service can access these keys at runtime to encrypt and decrypt the data.
As shown in
Each transaction can have two or more participants. In addition to the multiple parties involved in the transaction, there can be one or more “observers” to the transaction. The observer status is important from a compliance and governance standpoint. For example, the Federal Reserve or the CFTC is not a participant of the transaction, but may have observer rights on certain type of transactions in the system. In some embodiments the participants can subscribe to certain types of events. The transaction state in the state diagram above changes trigger events in the described systems.
Computing device 1300 includes one or more processor(s) 1302, one or more memory device(s) 1304, one or more interface(s) 1306, one or more mass storage device(s) 1308, and one or more Input/Output (I/O) device(s) 1310, all of which are coupled to a bus 1312. Processor(s) 1302 include one or more processors or controllers that execute instructions stored in memory device(s) 1304 and/or mass storage device(s) 1308. Processor(s) 1302 may also include various types of computer-readable media, such as cache memory.
Memory device(s) 1304 include various computer-readable media, such as volatile memory (e.g., random access memory (RAM)) and/or nonvolatile memory (e.g., read-only memory (ROM)). Memory device(s) 1304 may also include rewritable ROM, such as Flash memory.
Mass storage device(s) 1308 include various computer readable media, such as magnetic tapes, magnetic disks, optical disks, solid state memory (e.g., Flash memory), and so forth. Various drives may also be included in mass storage device(s) 1308 to enable reading from and/or writing to the various computer readable media. Mass storage device(s) 1308 include removable media and/or non-removable media.
I/O device(s) 1310 include various devices that allow data and/or other information to be input to or retrieved from computing device 1300. Example I/O device(s) 1310 include cursor control devices, keyboards, keypads, microphones, monitors or other display devices, speakers, printers, network interface cards, modems, lenses, CCDs or other image capture devices, and the like.
Interface(s) 1306 include various interfaces that allow computing device 1300 to interact with other systems, devices, or computing environments. Example interface(s) 1306 include any number of different network interfaces, such as interfaces to local area networks (LANs), wide area networks (WANs), wireless networks, and the Internet.
Bus 1312 allows processor(s) 1302, memory device(s) 1304, interface(s) 1306, mass storage device(s) 1308, and I/O device(s) 1310 to communicate with one another, as well as other devices or components coupled to bus 1312. Bus 1312 represents one or more of several types of bus structures, such as a system bus, PCI bus, IEEE 1394 bus, USB bus, and so forth.
For purposes of illustration, programs and other executable program components are shown herein as discrete blocks, although it is understood that such programs and components may reside at various times in different storage components of computing device 1300, and are executed by processor(s) 1302. Alternatively, the systems and procedures described herein can be implemented in hardware, or a combination of hardware, software, and/or firmware. For example, one or more application specific integrated circuits (ASICs) can be programmed to carry out one or more of the systems and procedures described herein.
In the above disclosure, reference has been made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific implementations in which the disclosure may be practiced. It is understood that other implementations may be utilized and structural changes may be made without departing from the scope of the present disclosure. References in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” “selected embodiments,” “certain embodiments,” etc., indicate that the embodiment or embodiments described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Additionally, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
Implementations of the systems, devices, and methods disclosed herein may comprise or utilize a special purpose or general-purpose computer including computer hardware, such as, for example, one or more processors and system memory, as discussed herein. Implementations within the scope of the present disclosure may also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any available media that may be accessed by a general purpose or special purpose computer system. Computer-readable media that store computer-executable instructions are computer storage media (devices). Computer-readable media that carry computer-executable instructions are transmission media. Thus, by way of example, and not limitation, implementations of the disclosure can include at least two distinctly different kinds of computer-readable media: computer storage media (devices) and transmission media.
Computer storage media (devices) includes RAM, ROM, EEPROM, CD-ROM, solid state drives (“SSDs”) (e.g., based on RAM), Flash memory, phase-change memory (“PCM”), other types of memory, other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
An implementation of the devices, systems, and methods disclosed herein may communicate over a computer network. A “network” is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired and wireless) to a computer, the computer properly views the connection as a transmission medium. Transmissions media can include a network and/or data links, which can be used to carry desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above should also be included within the scope of computer-readable media.
Computer-executable instructions include, for example, instructions and data which, when executed at a processor, cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. The computer-executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.
Those skilled in the art will appreciate that the disclosure may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, tablets, pagers, routers, switches, various storage devices, and the like. The disclosure may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks. In a distributed system environment, program modules may be located in both local and remote memory storage devices.
Further, where appropriate, functions described herein can be performed in one or more of: hardware, software, firmware, digital components, or analog components. For example, one or more application specific integrated circuits (ASICs) can be programmed to carry out one or more of the systems and procedures described herein. Certain terms are used throughout the description and claims to refer to particular system components. As one skilled in the art will appreciate, components may be referred to by different names. This document does not intend to distinguish between components that differ in name, but not function.
It should be noted that the sensor embodiments discussed above may comprise computer hardware, software, firmware, or any combination thereof to perform at least a portion of their functions. For example, a module may include computer code configured to be executed in one or more processors, and may include hardware logic/electrical circuitry controlled by the computer code. These example devices are provided herein purposes of illustration, and are not intended to be limiting. Embodiments of the present disclosure may be implemented in further types of devices, as would be known to persons skilled in the relevant art(s).
At least some embodiments of the disclosure have been directed to computer program products comprising such logic (e.g., in the form of software) stored on any computer useable medium. Such software, when executed in one or more data processing devices, causes a device to operate as described herein.
While various embodiments of the present disclosure are described herein, it should be understood that they are presented by way of example only, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the disclosure. Thus, the breadth and scope of the present disclosure should not be limited by any of the described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents. The description herein is presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise form disclosed. Many modifications and variations are possible in light of the disclosed teaching. Further, it should be noted that any or all of the alternate implementations discussed herein may be used in any combination desired to form additional hybrid implementations of the disclosure.
This application claims the priority benefit of U.S. Provisional Application Ser. No. 62/686,626, entitled “Collateral Optimization Systems and Methods,” filed on Jun. 18, 2018, the disclosure of which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
62686626 | Jun 2018 | US |