Learn R Programming

HDShOP (version 0.1.5)

new_GMV_portfolio_weights_BDPS19: Constructor of GMV portfolio object.

Description

Constructor of global minimum variance portfolio. new_GMV_portfolio_weights_BDPS19 is for the case p<n, while new_GMV_portfolio_weights_BDPS19_pgn is for p>n, where p is the number of assets and n is the number of observations. For more details of the method, see MVShrinkPortfolio.

Usage

new_GMV_portfolio_weights_BDPS19(x, b, beta)

new_GMV_portfolio_weights_BDPS19_pgn(x, b, beta)

Value

an object of class MeanVar_portfolio with subclass GMV_portfolio_weights_BDPS19.

ElementDescription
callthe function call with which it was created
cov_mtrxthe sample covariance matrix of the asset returns
inv_cov_mtrxthe inverse of the sample covariance matrix
meanssample mean vector estimate of the asset returns
w_GMVPsample estimator of portfolio weights
weightsshrinkage estimator of portfolio weights
alphashrinkage intensity for the weights
Port_Varportfolio variance
Port_mean_returnexpected portfolio return
Sharpeportfolio Sharpe ratio
weight_intervalsA data frame, see details

weight_intervals contains a shrinkage estimator of portfolio weights, asymptotic confidence intervals for the true portfolio weights, the value of test statistic and the p-value of the test on the equality of the weight of each individual asset to zero @see Section 4.3 of @CORRBDNT23HDShOP. weight_intervals is only computed when p<n.

Arguments

x

a p by n matrix or a data frame of asset returns. Rows represent different assets, columns -- observations.

b

a numeric vector. 1-beta is the confidence level of the symmetric confidence interval, constructed for each weight.

beta

a numeric variable. The confidence level for weight intervals.

References

BDPS2019HDShOP

BPS2018HDShOP

CORRBDNT23HDShOP

Examples

Run this code

# c<1

n <- 3e2 # number of realizations
p <- .5*n # number of assets
b <- rep(1/p,p)

# Assets with a diagonal covariance matrix
x <- matrix(data = rnorm(n*p), nrow = p, ncol = n)

test <- new_GMV_portfolio_weights_BDPS19(x=x, b=b, beta=0.05)
str(test)

# Assets with a non-diagonal covariance matrix
Mtrx <- RandCovMtrx(p=p)
x <- t(MASS::mvrnorm(n=n , mu=rep(0,p), Sigma=Mtrx))

test <- new_GMV_portfolio_weights_BDPS19(x=x, b=b, beta=0.05)
summary(test)

# c>1

p <- 1.3*n # number of assets
b <- rep(1/p,p)

# Assets with a diagonal covariance matrix
x <- matrix(data = rnorm(n*p), nrow = p, ncol = n)

test <- new_GMV_portfolio_weights_BDPS19_pgn(x=x, b=b, beta=0.05)
str(test)

Run the code above in your browser using DataLab