IP Library Granted Patent US 7,991,683
Granted Patent B2
US 7,991,683 · App. 11/734,153 · Granted Aug 2, 2011

Credit data processing system for controlling electronic trading based on credit arrangements

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,991,683
App. No.
11/734,153
Granted
Aug 2, 2011
Kind
B2
Abstract

A credit data processing system for controlling trades in an electronic trading system according to credit arrangements, comprising a computer-readable storage medium, an interface to an electronic trading system and a credit data processor. The computer-readable storage medium stores information representing the credit relationship network, including a plurality of credit entities in the network and a plurality of credit relationships existing between at least some of those credit entities. The system uses preferred counterparty rankings provided by the participating credit entities to determine and select the optimal credit paths to use for booking multiple-legged trades between credit entities even though the credit entities may not have a direct credit relationship. The system then checks each leg of the selected optimal credit path to verify that, taking into account the current net open positions on that leg, executing the trade required on that leg to carry out the proposed deal will not cause a credit limit associated with that leg to be exceeded. If the credit limit of any leg in the selected optimal credit path is exceeded, then the system will repeatedly try to find viable credit path based on the preferences specified by the credit entities involved in the trade, until a viable credit path is found or it is determined that no credit path that can accommodate the proposed deal without exceeding a credit limit currently exists.

Claims (100)

1. A credit data processing system for controlling trade executions carried out on an electronic trading system based on existing credit arrangements, comprising:

a non-transitory computer-readable storage medium that stores information representing a credit relationship network, the credit relationship network comprising a plurality of credit entities, a preferred counterparty ranking provided by each credit entity, and a plurality of credit relationships between at least some of said credit entities, each credit relationship comprising a credit limit and a net open position;

an interface to the electronic trading system; and

a credit data processor programmed to:

(a) receive from the electronic trading system via said interface a request to confirm a sufficient credit arrangement to permit execution of a matched pair of orders, the matched pair of orders comprising an aggressor order received from an aggressor counterparty in the credit relationship network, a passive order received from a passive counterparty in the credit relationship network, and an order amount;

(b) determine, based on the information stored in the computer-readable storage medium, a set of potential credit paths comprising a plurality of routes through the credit relationship network, wherein each route links the aggressor counterparty to the passive counterparty through one or more credit intermediaries, and each route comprises two or more credit legs corresponding respectively to two or more credit relationships existing between the aggressor counterparty, the passive counterparty and said one or more credit intermediaries

(c) select an optimal credit path from the set of potential credit paths based on the preferred counterparty rankings provided by the aggressor counterparty, the passive counterparty and said one or more credit intermediaries in the plurality of potential credit paths,

(d) determine whether sufficient credit is available on every credit leg in the selected optimal credit path by comparing the sum of the order amount and the net open position for said every credit leg to the credit limit on said every credit leg,

(e) when the sum of the order amount and the net open position on any credit leg in the selected optimal credit path exceeds the credit limit for said any credit leg, delete from the set of potential credit paths the selected optimal credit path and every other potential credit path that encompasses said any credit leg,

(f) send a credit confirmation notice to the electronic trading system when the sum of the order amount and the net open position on every credit leg in the selected optimal credit path does not exceed the credit limit for said every credit leg, and

(g) repeat steps (c) through (f) until the credit confirmation notice is sent or the set of potential credit paths is empty.

2. The credit data processing system of claim 1 , wherein the credit data processor is further configured to store the selected optimal credit path in the non-transitory computer-readable storage medium.

3. The credit data processing system of claim 2 , wherein, in response to receiving the credit confirmation notice from the credit data processor, the electronic trading system retrieves the selected optimal credit path from the non-transitory computer-readable storage medium and executes a series of trades involving all of the credit entities in the selected optimal credit path.

4. The credit data processing system of claim 3 , wherein the credit data processor is further programmed to:

calculate, based on the order amount and the net open positions for the credit legs in the selected optimal credit path, a plurality of new net open positions for said credit legs in the selected optimal credit path; and

store the plurality of new net open positions in the non-transitory computer-readable storage medium.

5. The credit data processing system of claim 1 , wherein, in response to receiving the credit confirmation from the credit data processor, the electronic trading system is programmed to: send an offer to deal from the electronic trading system to a provider trading system; receive an acceptance responsive to the offer to deal; and in response to receiving the acceptance, execute a series of trades involving all of the credit entities in the selected optimal credit path.

6. The credit data processing system of claim 5 , wherein the credit data processor is further programmed to: calculate, based on the order amount and the net open positions for the credit legs in the selected optimal credit path, a plurality of new net open positions for said credit legs in the selected optimal credit path; and store the plurality of new net open positions in the non-transitory computer-readable storage medium.

7. The credit data processing system of claim 1 , wherein a sufficient credit arrangement comprises:

one or more credit relationships in the credit relationship network directly or indirectly linking the aggressor counterparty to the passive counterparty; and

sufficient credit limits for each of said one or more credit relationships to accommodate a trade for said order amount.

8. The credit data processing system of claim 1 , wherein the request comprises one or more of:

a buyer credit entity identifier, a seller credit entity identifier, a buy currency, a buy amount, a sell currency, a sell amount, a buyer order identifier, a seller order identifier, a deal type, and a value date.

9. The credit data processing system of claim 1 , wherein the request comprises all of:

a buyer credit entity identifier, a seller credit entity identifier, a buy currency, a buy amount, a sell currency, a sell amount, a buyer order identifier, a seller order identifier, a deal type, and a value date.

10. The credit data processing system of claim 1 , wherein the credit data processor is further programmed to send a credit failure notice to the electronic trading system if the set of potential credit paths is empty.

11. The credit data processing system of claim 10 , wherein the credit failure notice comprises at least one of:

a credit failure type, a credit failure party, and an order identifier.

12. The credit data processing system of claim 1 , further comprising:

a plurality of connections to a respective plurality of computers operated by the plurality of credit entities; and

a credit administrator module programmed to:

(i) receive from the plurality of credit entities via the plurality of connections credit data pertaining to the plurality of credit relationships,

(ii) generate the information representing the credit relationship network based at least in part on the credit data, and

(iii) store the information in the non-transitory computer-readable storage medium.

13. The credit data processing system of claim 12 , wherein the credit administrator module is further programmed to create the information based at least in part on data received from a centralized credit administrator.

14. The credit data processing system of claim 12 , wherein the information comprises a database comprising a plurality of records, each record being programmed to hold a plurality of values associated with a credit relationship in the plurality of credit relationships, said plurality of values including a credit maker, a credit taker, a credit account, a credit relationship type, the credit limit, the preferred counterparty ranking and the net open position.

15. The credit data processing system of claim 12 , wherein the information comprises:

a plurality of credit relationship objects, each credit relationship object comprising a plurality of data members configured to hold values associated with a credit relationship in the plurality of credit relationships, said plurality of values including a credit maker, a credit taker, a credit account, a credit relationship type, the credit limit, the preferred counterparty ranking and the net open position; and

a plurality of methods for accessing the values held in said data members in a predefined way.

16. A method of using a computer processor to control trade executions carried out on an electronic trading system based on existing credit arrangements, the method comprising:

(a) storing in a non-transitory computer-readable storage medium accessible to the computer processor information representing a credit relationship network, the credit relationship network comprising a plurality of credit entities, a preferred counterparty ranking provided by each credit entity, and a plurality of credit relationships between at least some of said credit entities, each credit relationship comprising a credit limit and a net open position;

(b) receiving from the electronic trading system a request to confirm a sufficient credit arrangement to permit execution of a matched pair of orders, the matched pair of orders comprising an aggressor order received from an aggressor counterparty in the credit relationship network, a passive order received from a passive counterparty in the credit relationship network, and an order amount;

(c) determining by the computer processor, based on the information stored in the non-transitory computer-readable storage medium, a set of potential credit paths comprising a plurality of routes through the credit relationship network, wherein each route indirectly links the aggressor counterparty to the passive counterparty through one or more credit intermediaries, and each route comprises two or more credit legs corresponding respectively to two or more credit relationships existing between the aggressor counterparty, the passive counterparty and said one or more credit intermediaries,

(d) selecting by the computer processor an optimal credit path from the set of potential credit paths based on the preferred counterparty rankings provided by the aggressor counterparty, the passive counterparty and said one or more credit intermediaries in the plurality of potential credit paths,

(e) determining by the computer processor whether sufficient credit is available on every credit leg in the selected optimal credit path by comparing the sum of the order amount and the net open position for said every credit leg to the credit limit on said every credit leg,

(f) when the computer processor determines that the sum of the order amount and the net open position on any credit leg in the selected optimal credit path exceeds the credit limit for said any credit leg, deleting from the set of potential credit paths the selected optimal credit path and every other potential credit path that encompasses said any credit leg,

(g) sending by the computer processor a credit confirmation notice to the electronic trading system when the sum of the order amount and the net open position on every credit leg in the selected optimal credit path does not exceed the credit limit for said every credit leg, and

(h) repeat steps (d) through (g) until the credit confirmation notice is sent or the set of potential credit paths is empty.

17. The method of claim 16 , further comprising storing the selected optimal credit path in the non-transitory computer-readable storage medium.

18. The method of claim 17 , further comprising retrieving, by the computer processor, the selected optimal credit path from the non-transitory computer-readable storage medium and executing on the electronic trading system a series of trades involving all of the credit entities in the selected optimal credit path.

19. The method of claim 18 , further comprising:

using the computer processor to calculate, based on the order amount and the net open positions for the credit legs in the selected optimal credit path, a plurality of new net open positions for said credit legs in the selected optimal credit path; and

storing the plurality of new net open positions in the non-transitory computer-readable storage medium.

20. The method of claim 16 , further comprising:

sending from the electronic trading system to a provider trading system an offer to deal;

receiving on the electronic trading system an acceptance responsive to the offer to deal; and

responsive to the acceptance, executing a series of trades on the electronic trading system involving all of the credit entities in the selected optimal credit path.

21. The method of claim 20 , further comprising:

calculating, by the computer based on the order amount and the net open positions for the credit legs in the selected optimal credit path, a plurality of new net open positions for said credit legs in the selected optimal credit path; and

storing the plurality of new net open positions in the non-transitory computer-readable storage medium.

22. The method of claim 16 , wherein a sufficient credit arrangement comprises:

one or more credit relationships in the credit relationship network directly or indirectly linking the aggressor counterparty to the passive counterparty; and

sufficient credit limits for each of said one or more credit relationships to accommodate a trade for said order amount.

23. The method of claim 16 , wherein the request comprises one or more of:

a buyer credit entity identifier, a seller credit entity identifier, a buy currency, a buy amount, a sell currency, a sell amount, a buyer order identifier, a seller order identifier, a deal type, and a value date.

24. The method of claim 16 , wherein the request comprises all of:

a buyer credit entity identifier, a seller credit entity identifier, a buy currency, a buy amount, a sell currency, a sell amount, a buyer order identifier, a seller order identifier, a deal type, and a value date.

25. The method of claim 16 , further comprising sending from the computer processor a credit failure notice if the set of potential credit paths is empty.

26. The method of claim 25 , wherein the credit failure notice comprises at least one of:

a credit failure type, a credit failure party, and an order identifier.

27. The method of claim 16 , further comprising:

receiving from a plurality computer systems operated by the plurality of credit entities credit data comprising the plurality of credit relationships;

creating, by the computer processor, the information representing the credit relationship network based at least in part on the data; and

storing the information in the non-transitory computer-readable storage medium.

28. The method of claim 27 , further comprising creating the information representing the credit relationship network based at least in part on data provided by a centralized credit administrator.

29. The method of claim 27 , further comprising populating, with the computer processor, a plurality of database records, each database record being configured to hold a plurality of values associated with a credit relationship in the plurality of credit relationships, said plurality of values including a credit maker, a credit taker, a credit account, a credit relationship type, the credit limit, the preferred counterparty ranking and the net open position.

30. The method of claim 27 , wherein creating the information by the computer processor comprises:

creating with the computer processor a plurality of credit relationship objects, each credit relationship object comprising a plurality of data members configured to hold values associated with a credit relationship in the plurality of credit relationships, said plurality of values including a credit maker, a credit taker, a credit account, a credit relationship type, the credit limit, the preferred counterparty ranking and the net open position; and

executing on the computer processor a plurality of methods to modify the values held in said data members.

31. A credit data processing system for controlling trade executions carried out on an electronic trading system based on existing credit arrangements, comprising:

a non-transitory computer-readable storage medium that stores information representing a credit relationship network, the credit relationship network comprising a plurality of credit entities, a preferred counterparty ranking provided by each credit entity, and a plurality of credit relationships between at least some of said credit entities, each credit relationship comprising a credit limit and a net open position;

an interface to the electronic trading system; and

a credit data processor programmed to:

(a) receive from the electronic trading system via said interface a request to confirm a sufficient credit arrangement to permit execution of a matched pair of orders, the matched pair of orders comprising an aggressor order received from an aggressor counterparty in the credit relationship network, a passive order received from a passive counterparty in the credit relationship network, and an order amount;

(b) determine, based on the information stored in the non-transitory computer-readable storage medium, a potential credit path comprising a route through the credit relationship network, wherein the route links the aggressor counterparty to the passive counterparty through one or more credit intermediaries, and the route comprises two or more credit legs corresponding respectively to two or more credit relationships existing between the aggressor counterparty, the passive counterparty and said one or more credit intermediaries,

(c) determine whether sufficient credit is available on every credit leg in the potential credit path by comparing the sum of the order amount and the net open position for said every credit leg to the credit limit on said every credit leg,

(d) send a credit rejection notice to the electronic trading system when the sum of the order amount and the net open position on any credit leg in the potential credit path exceeds the credit limit for said any credit leg, and

(e) send a credit confirmation notice to the electronic trading system when the sum of the order amount and the net open position on every credit leg in the potential credit path does not exceed the credit limit for said every credit leg.

32. A credit data processing system for controlling trade executions carried out on an electronic trading system based on existing credit arrangements, comprising:

(a) a memory;

(b) a computer processor coupled to the memory;

(c) a credit administrator module, stored in the memory, the credit administrator module having program instructions that, when executed by the computer processor, cause the computer processor to store information representing a credit relationship network on a non-transitory computer-readable medium, the credit relationship network comprising a plurality of credit entities, a preferred counterparty ranking provided by each credit entity, and a plurality of credit relationships between at least some of said credit entities, each credit relationship comprising a credit limit and a net open position;

(d) an application programming interface, stored in the memory, having program instructions that, when executed by the computer processor, cause the computer processor to receive a request to confirm a credit arrangement to permit execution of a matched pair of orders, the matched pair of orders comprising an aggressor order received from an aggressor counterparty in the credit relationship network, a passive order received from a passive counterparty in the credit relationship network, and an order amount;

(e) a credit path generator module, stored in the memory, having program instructions that, when executed by the computer processor, cause the computer processor to:

(1) determine, based on the information stored in the computer- readable storage medium, a set of potential credit paths comprising a plurality of routes through the credit relationship network, wherein each route indirectly links the aggressor counterparty to the passive counterparty through one or more credit intermediaries, and each route comprises two or more credit legs corresponding respectively to two or more credit relationships existing between the aggressor counterparty, the passive counterparty and said one or more credit intermediaries, and

(2) select an optimal credit path from the set of potential credit paths based on the preferred counterparty rankings provided by the aggressor counterparty, the passive counterparty and said one or more credit intermediaries in the plurality of potential credit paths, and

(f) a credit checking module, stored in the memory, having program instructions that, when executed by the computer processor, cause the computer processor to:

(1) determine whether sufficient credit is available on every credit leg in the selected optimal credit path by comparing the sum of the order amount and the net open position for said every credit leg to the credit limit on said every credit leg, and

(2) when the sum of the order amount and the net open position on any credit leg in the selected optimal credit path exceeds the credit limit for said any credit leg, delete from the set of potential credit paths the selected optimal credit path and every other potential credit path that encompasses said any credit leg, and

(3) send a credit confirmation notice to the electronic trading system when the sum of the order amount and the net open position on every credit leg in the selected optimal credit path does not exceed the credit limit for said every credit leg.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS NOTES COLLATERAL AGENT
To: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.)
Reel/Frame 055174/0811 →
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.)
Reel/Frame 055174/0836 →
CHANGE OF NAME Recorded Mar 22, 2019
From: THOMSON REUTERS (GRC) LLC
To: REFINITIV US ORGANIZATION LLC
Reel/Frame 048676/0110 →
CHANGE OF NAME Recorded Dec 19, 2018
From: THOMSON REUTERS (GRC) INC.
To: THOMSON REUTERS (GRC) LLC
Reel/Frame 048553/0148 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2018
From: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
To: THOMSON REUTERS (GRC) INC.
Reel/Frame 047909/0874 →
SECURITY AGREEMENT Recorded Oct 3, 2018
From: THOMSON REUTERS (GRC) INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 047187/0316 →
SECURITY AGREEMENT Recorded Oct 2, 2018
From: THOMSON REUTERS (GRC) INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 047185/0215 →
CHANGE OF NAME Recorded Aug 15, 2017
From: THOMSON REUTERS GLOBAL RESOURCES
To: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
Reel/Frame 043296/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2014
From: FX ALLIANCE LLC,
To: THOMSON REUTERS GLOBAL RESOURCES
Reel/Frame 034150/0081 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2007
From: SETZ, KAREN, MS.
To: FX ALLIANCE, LLC
Reel/Frame 019471/0945 →