IP Library Patent Application 15391764
Patent Application
App. No. 15/391,764

Hierarchical Capital Allocation Using Clustered Machine Learning

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 None
App. No.
15/391,764
Abstract

A cluster of server computing devices receives a matrix of observations and divides the matrix into a plurality of input data sets. Each processor in the cluster generates a first data structure for a distance matrix based upon a corresponding input data set, the distance matrix comprising a plurality of items, and clusters the items to generate a clustered distance matrix. Each processor generates a second data structure for a linkage matrix using the clustered matrix. Each processor analyzes the linkage matrix to determine a number of items per cluster and analyzes the linkage matrix to assign a weight to each cluster based upon a distance of the cluster to other clusters and a size of the cluster. Each processor generates a third data structure containing the clusters and assigned weights. Each third data structure is consolidated into a hierarchical data structure, which is transmitted to a remote computing device.

Claims (73)

1 . A system comprising:

a cluster of server computing devices communicably coupled to each other and to a database computing device, each server computing device having one or more machine learning processors, the cluster of server computing devices programmed to:

a) receive a matrix of observations;

b) divide the matrix of observations into a plurality of input data sets and transmit each of the plurality of input data sets to a corresponding machine learning processor;

c) generate, by each machine learning processor, a first data structure for a distance matrix based upon the corresponding input data set, the distance matrix comprising a plurality of items;

d) determine, by each machine learning processor, a distance between any two column-vectors of the distance matrix;

e) generate, by each machine learning processor, a cluster of items using a pair of columns associated with the two column-vectors;

f) define, by each machine learning processor, a distance between the cluster and unclustered items of the distance matrix;

g) update, by each machine learning processor, the distance matrix by appending the cluster and defined distance to the distance matrix and dropping clustered columns each rows of the distance matrix;

h) append, by the machine learning processor, one or more additional clusters to the distance matrix by repeating steps e)-g) for each additional cluster;

i) generate, by each machine learning processor, a second data structure for a linkage matrix using the clustered distance matrix;

j) analyze, by each machine learning processor, the linkage matrix to determine a number of items per cluster;

k) analyze, by each machine learning processor, the linkage matrix to assign a weight to each cluster based upon a distance of the cluster to other clusters and a size of the cluster;

l) generate, by each machine learning processor, a third data structure containing the clusters and assigned weights; and

m) consolidate each third data structure from each machine learning processor into a hierarchical data structure and transmit the hierarchical data structure to a remote computing device.

2 . The system of claim 1 , wherein generating a first data structure for a distance matrix further comprises:

generating a correlation matrix based upon the corresponding input data set;

defining a distance measure using the correlation matrix; and

generating the first data structure based upon the correlation matrix and the distance.

3 . The system of claim 1 , wherein the distance between any two column-vectors of the distance matrix comprises a Euclidian distance.

4 . The system of claim 1 , wherein the distance between the cluster and unclustered items of the distance matrix is determined using a nearest point algorithm.

5 . The system of claim 1 , wherein analyzing the linkage matrix to determine a number of items per cluster further comprises:

assigning a unit size to each item; and

determining a size of each cluster based upon the unit size assigned to each item in the cluster.

6 . The system of claim 5 , wherein analyzing the linkage matrix to assign a weight to each cluster further comprises:

assigning an equal weight to clusters that are separated by a distance that falls below a predetermined threshold; and

assigning a weight that is proportional to the size of each cluster where the clusters are separated by a distance that falls above a predetermined threshold.

7 . The system of claim 1 , wherein the remote computing device uses the weights in the hierarchical data structure to rebalance an asset allocation for a financial portfolio.

8 . The system of claim 1 , wherein each server computing device includes a plurality of machine learning processors, each machine learning processor having a plurality of processing cores.

9 . The system of claim 1 , wherein each processing core of each machine learning processor receives and processes a portion of the corresponding input data set.

10 . A method comprising:

a) receiving, by a cluster of server computing devices communicably coupled to each other and to a database computing device and each server computing device comprising one or more machine learning processors, a matrix of observations;

b) dividing, by the cluster of server computing devices, the matrix of observations into a plurality of input data sets and transmit each of the plurality of input data sets to a corresponding machine learning processor;

c) generating, by each machine learning processor, a first data structure for a distance matrix based upon the corresponding input data set, the distance matrix comprising a plurality of items;

d) determining, by each machine learning processor, a distance between any two column-vectors of the distance matrix;

e) generating, by each machine learning processor, a cluster of items using a pair of columns associated with the two column-vectors;

f) defining, by each machine learning processor, a distance between the cluster and unclustered items of the distance matrix;

g) updating, by each machine learning processor, the distance matrix by appending the cluster and defined distance to the distance matrix and dropping clustered columns and rows of the distance matrix;

h) appending, by each machine learning processor, one or more additional clusters to the distance matrix by repeating steps e)-g) for each additional cluster;

i) generating, by each machine learning processor, a second data structure for a linkage matrix using the clustered distance matrix;

j) analyzing, by each machine learning processor, the linkage matrix to determine a number of items per cluster;

k) analyzing, by each machine learning processor, the linkage matrix to assign a weight to each cluster based upon a distance of the cluster to other clusters and a size of the cluster;

l) generating, by each machine learning processor, a third data structure containing the clusters and assigned weights; and

m) consolidating the third data structure from each machine learning processor into a hierarchical data structure and transmitting the hierarchical data structure to a remote computing device.

11 . The method of claim 10 , wherein generating a first data structure for a distance matrix further comprises:

generating a correlation matrix based upon the corresponding input data set;

defining a distance measure using the correlation matrix; and

generating the first data structure based upon the correlation matrix and the distance.

12 . The method of claim 10 , wherein the distance between any two column-vectors of the distance matrix comprises a Euclidian distance.

13 . The method of claim 10 , wherein the distance between the cluster and unclustered items of the distance matrix is determined using a nearest point algorithm.

14 . The method of claim 10 , wherein analyzing the linkage matrix to determine a number of items per cluster further comprises:

assigning a unit size to each item; and

determining a size of each cluster based upon the unit size assigned to each item in the cluster.

15 . The method of claim 14 , wherein analyzing the linkage matrix to assign a weight to each cluster further comprises:

assigning an equal weight to clusters that are separated by a distance that falls below a predetermined threshold; and

assigning a weight that is proportional to the size of each cluster where the clusters are separated by a distance that falls above a predetermined threshold.

16 . The method of claim 10 , wherein the remote computing device uses the weights in the hierarchical data structure to rebalance an asset allocation for a financial portfolio.

17 . The method of claim 10 , wherein each server computing device includes a plurality of machine learning processors, each machine learning processor having a plurality of processing cores.

18 . The method of claim 17 , wherein each processing core of each machine learning processor receives and processes a portion of the corresponding input data set.

19 . A computer program product, tangibly embodied in a non-transitory computer readable storage device, the computer program product comprising instructions that when executed, cause a cluster of server computing devices communicably coupled to each other and to a database computing device, each server computing device comprising one or more machine learning processors, to:

a) receive a matrix of observations;

b) divide the matrix of observations into a plurality of input data sets and transmit each one of the plurality of input data sets to a corresponding machine learning processor;

c) generate, by each machine learning processor, a first data structure for a distance matrix based upon the corresponding input data set, the distance matrix comprising a plurality of items;

d) determine, by each machine learning processor, a distance between any two column-vectors of the distance matrix;

e) generate, by each machine learning processor, a cluster of items using a pair of columns associated with the two column-vectors;

f) define, by each machine learning processor, a distance between the cluster and unclustered items of the distance matrix;

g) update, by each machine learning processor, the distance matrix by appending the cluster and defined distance to the distance matrix and dropping clustered columns and rows of the distance matrix;

h) append, by each machine learning processor, one or more additional clusters to the distance matrix by repeating steps e)-g) for each additional cluster;

i) generate, by each machine learning processor, a second data structure for a linkage matrix using the clustered distance matrix;

j) analyze, by each machine learning processor, the linkage matrix to determine a number of items per cluster;

k) analyze, by each machine learning processor, the linkage matrix to assign a weight to each cluster based upon a distance of the cluster to other clusters and a size of the cluster;

l) generate, by each machine learning processor, a third data structure containing the clusters and assigned weights; and

m) consolidate each third data structure from each machine learning processor into a hierarchical data structure and transmitting the hierarchical data structure to a remote computing device.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2019
From: LOPEZ DE PRADO, MARCOS
To: AQR CAPITAL MANAGEMENT, LLC
Reel/Frame 049037/0322 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2018
From: GROUP ONE THOUSAND ONE, LLC (F.K.A. DELAWARE LIFE HOLDINGS, LLC)
To: LOPEZ DE PRADO, MARCOS
Reel/Frame 047469/0606 →
CHANGE OF NAME Recorded May 2, 2018
From: DELAWARE LIFE HOLDINGS, LLC
To: GROUP ONE THOUSAND ONE, LLC
Reel/Frame 046054/0462 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2017
From: JPMORGAN CHASE BANK, N.A., AS PERSONAL REPRESENTATIVE OF THE JEFFREY S. LANGE ESTATE
To: DELAWARE LIFE HOLDINGS, LLC
Reel/Frame 043487/0563 →