Skip to main content

Python for Hierarchical Risk Parity

Project description

pyhrp

A recursive implementation of the Hierarchical Risk Parity (hrp) approach by Marcos Lopez de Prado. We take heavily advantage of the scipy.cluster.hierarchy package.

Here's a simple example

import numpy as np

from pyhrp.cluster import root
from pyhrp.graph import dendrogram
from pyhrp.hrp import dist, hrp_feed

# use a small covariance matrix
cov = np.array([[1, 0.2, 0], [0.2, 2, 0.0], [0, 0, 3]])

# we compute the rootnode of a graph here
# The rootnode points to left and right and has an id attribute.
rootnode, link = root(dist(cov), 'ward')

# plot the dendrogram
ax = dendrogram(link, orientation="left")
ax.get_figure().savefig("dendrogram.png")

v, weights = hrp_feed(rootnode, cov=cov)

print(v)
print(np.linalg.multi_dot([weights, cov, weights]))
print(weights)
print(weights.sum())

Installation:

pip install pyhpr

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyhrp-0.0.4.tar.gz (4.0 kB view details)

Uploaded Source

File details

Details for the file pyhrp-0.0.4.tar.gz.

File metadata

  • Download URL: pyhrp-0.0.4.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/2.7.17

File hashes

Hashes for pyhrp-0.0.4.tar.gz
Algorithm Hash digest
SHA256 a7337a10bec0dd52d77848597b84c70fb0c07101688ed98813ecce839748ea32
MD5 916ea10d3ab550344ee83440ba46ccab
BLAKE2b-256 e70f55488a4b95fc0e744248ce29d8664a2753119f3dd1205dc9d8f79dd618b2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page