IP Library Patent Application 15721279
Patent Application
App. No. 15/721,279

HIERARCHICAL CONSTRUCTION OF INVESTMENT PORTFOLIOS 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/721,279
Abstract

Described herein are methods and system for generating a hierarchical data structure. A cluster of server computing devices receives a matrix of observations, derives a robust covariance matrix, and divides the matrix of observations into a plurality of computation tasks. Each processor in the cluster generates a first data structure for a distance matrix based upon a corresponding task, 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 reorganizes rows and columns of the linkage matrix to generate a quasi-diagonal matrix and recursively bisects the quasi-diagonal matrix. Each processor generates a third data structure containing the clusters and assigned weights. Each third data structure is consolidated into a solution vector, which is transmitted to a remote computing device.

Claims (64)

1 . A system for generating a hierarchical data structure using clustering machine learning algorithms, the 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) derive a robust covariance matrix from the matrix of observations;

c) divide the matrix of observations into a plurality of computation tasks and transmit each of the plurality of computation tasks to a corresponding machine learning processor;

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

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

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

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

h) 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;

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

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

k) reorganize, by each machine learning processor, rows and columns of the linkage matrix to generate a quasi-diagonal matrix;

l) recursively bisect, by each machine learning processor, the quasi-diagonal matrix by: assigning a weight to each cluster in the quasi-diagonal matrix, bisecting the quasi-diagonal matrix into two subsets, defining a variance for each subset, and rescaling the weight of each cluster in a subset based upon the defined variance;

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

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

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

generating robust covariance and correlation matrices based upon the corresponding computation task;

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 proper distance metric, such as the 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 mathematical criterion, such as the nearest point algorithm.

5 . 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.

6 . 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.

7 . The system of claim 1 , wherein each processing core of each machine learning processor receives and processes a portion of the corresponding computation task.

8 . A computerized method of generating a hierarchical data structure using clustering machine learning algorithms, the 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) deriving, by the cluster of server computing devices, a robust covariance matrix from the matrix of observations;

c) dividing, by the cluster of server computing devices, the matrix of observations into a plurality of computation tasks and transmitting each of the plurality of computation tasks to a corresponding machine learning processor;

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

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

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

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

h) 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;

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

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

k) reorganizing, by each machine learning processor, rows and columns of the linkage matrix to generate a quasi-diagonal matrix;

l) recursively bisecting, by each machine learning processor, the quasi-diagonal matrix by: assigning a weight to each cluster in the quasi-diagonal matrix, bisecting the quasi-diagonal matrix into two subsets, defining a variance for each subset, and rescaling the weight of each cluster in a subset based upon the defined variance;

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

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

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

generating robust covariance and correlation matrices based upon the corresponding computation task;

defining a distance measure using the correlation matrix; and

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

10 . The method of claim 8 , wherein the distance between any two column-vectors of the distance matrix comprises a proper distance metric, such as the Euclidian distance.

11 . The method of claim 8 , wherein the distance between the cluster and unclustered items of the distance matrix is determined using a mathematical equation, such as the nearest point algorithm.

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

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

14 . The method of claim 14 , wherein each processing core of each machine learning processor receives and processes a portion of the corresponding computation task.

15 . A computer program product, tangibly embodied in a non-transitory computer readable storage device, for generating a hierarchical data structure using clustering machine learning algorithms, 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) derive a robust covariance matrix from the matrix of observations;

c) divide the matrix of observations into a plurality of computation tasks and transmit each one of the plurality of computation tasks to a corresponding machine learning processor;

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

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

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

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

h) 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;

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

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

k) reorganize, by each machine learning processor, rows and columns of the linkage matrix to generate a quasi-diagonal matrix;

l) recursively bisect, by each machine learning processor, the quasi-diagonal matrix by: assigning a weight to each cluster in the quasi-diagonal matrix, bisecting the quasi-diagonal matrix into two subsets, defining a variance for each subset, and rescaling the weight of each cluster in a subset based upon the defined variance;

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

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

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2019
From: LOPEZ DE PRADO, MARCOS
To: AQR CAPITAL MANAGEMENT, LLC
Reel/Frame 049037/0322 →