US 11,900,448 B2
Liquidity engine
Qi Zhang, Foster City, CA (US); Jeremiah Clemenson, San Francisco, CA (US); Katherine Yu, San Francisco (CA); Albert Koy, San Francisco, CA (US); Andrew Straussman, Plymouth, MN (US); Eric Zhang, San Francisco, CA (US); Jordan McQueen, Seattle, WA (US); and Yiran Gao, Palo Alto, CA (US)
Assigned to STRIPE, INC., South San Francisco, CA (US)
Filed by STRIPE, INC., San Francisco, CA (US)
Filed on Jul. 21, 2021, as Appl. No. 17/382,089.
Prior Publication US 2023/0021606 A1, Jan. 26, 2023
Int. Cl. G06Q 40/02 (2023.01); G06Q 40/04 (2012.01); G06N 5/04 (2023.01); G06N 20/00 (2019.01)
CPC G06Q 40/02 (2013.01) [G06N 5/04 (2013.01); G06N 20/00 (2019.01); G06Q 40/04 (2013.01)] 12 Claims
OG exemplary drawing
 
1. A computer-implemented method, comprising:
receiving, by a network interface, streaming data for a plurality of transactions;
continuously reading in and aggregating, with an aggregator implemented at least partially in first hardware resources of a first processing system of a distributed processing system, the transactions to produce one or more netted currency positions based on a plurality of properties of the transactions and on a plurality of netting constraints, comprising:
generating, by the first processing system, a liquidity graph having one or more nodes that represent one or more currency positions, wherein each node includes an input leg associated with funds flowing into said each node and an output leg associated with funds flowing out of said each node, wherein each of the one or more currency positions is generated based on a combination of currency, location and availability date,
predicting, by the first processing system using machine learning, a machine-learning based prediction funds for the input leg of said each node as a prediction of an amount of funds to land in an account at a future date based on the streaming data, and
aggregating, with the aggregator implemented by the first processing system, funds based on input legs and output legs of said each node; and
planning, by second hardware resources of a second processing system of the distributed processing system asynchronous to the aggregating performed by the first processing system, transfer of funds based on the aggregated funds, comprising:
periodically generating one or more tasks, using a trade generator implemented at least partially by the second processing system, to route cash movements as one or more batched fund transfers based on one or more trading policies, and
sending, by the second processing system, the one or more tasks via network communications to one or more entities to execute the batched fund transfers; and
wherein an amount of the first hardware resources allocated to the first processing system scales according to a volume of the streaming data and the amount of the first hardware resources scales independent of an amount of the second hardware resources allocated to the planning performed by the second processing system.