NHRP: Nodal Hierarchical Risk Parity

Description Usage Arguments Details

View source: R/NHRP.R

Description

A modified version of Lopez de Prado's (2015) Hierarchical Risk Parity (HRP) method which incorporates the hierarchical structure of the minimum spanning tree obtained from hierarchical clustering.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
NHRP(
  asset_prices = NULL,
  asset_returns = NULL,
  Sigma = NULL,
  risk_measure = c("variance", "standard-deviation", "CVaR", "CDaR"),
  method = "ward.D2",
  w_min = NULL,
  w_max = NULL,
  lam = 1
)

Arguments

asset_prices

An XTS object of the asset prices.

asset_returns

An XTS object of the asset returns.

Sigma

Covariance matrix of returns. If none is provided, the covariance matrix will be computed from the returns.

risk_measure

String indicating the desired risk measure for assigning portfolio weights. Must be one of c('variance', 'standard-deviation', 'CVaR', 'CDaR')

method

String indicating the desired hierarchical clustering method. Must be one of c("complete", "single", "average" ,"ward.D", "ward.D2", "divisive"). If method="divisive", divisive clustering (or the DIANA algorithm)is used, otherwise agglomerative clustering is used with method referring to the desired linkage function. The default is "complete".

w_min

Scalar or vector with values between 0,1 to control the minimum value of weights.

w_max

Scalar or vector with values between 0,1 to control the maximum value of weights.

lam

Non-negative tuning parameter to control the concentration into different clusters.

Details

This portfolio allocation method is an extension of the Hierarchical Risk Parity (HRP) method which learns the minimum spanning tree from historical asset returns, then recursively allocates the portfolio weights via naive risk parity and "recursive bisection" according to the tree structure.


jackylauu/hierarchicalPortfolios documentation built on Dec. 20, 2021, 8:06 p.m.