Learn R Programming

RelValAnalysis (version 1.0)

GetGroupWeight: Computing First and Second Level Portfolio Weights

Description

Given a portfolio weight vector and a grouping, the function GetGroupWeight decompose the portfolio into a portfolio of portfolios. See the decription below for more details.

Usage

GetGroupWeight(pi, group.index)

Arguments

Value

A list containing the following components.group.weighta vector of first level portfolio weights.cond.weighta list whose components are the second level portfolio weights.

Details

This function is mainly intended to be used internally in EnergyEntropyDecomp. We explain the main idea with an example. For more details, see Section 3 of Pal and Wong (2013). Consider the portfolio pi = (0.1, 0.2, 0.3, 0.4) for four stocks. To fix ideas, suppose the first two stocks are financial stocks, and the other two are utility stocks. The first two stocks can be regarded to form a "sub-portfolio" of financial stocks, and the other two form a sub-portfolio of utility stocks. Hence, the portfolio pi can be regarded as a portfolio of two portfolios. The portfolio puts 0.3 weight into financial stocks and 0.7 weight into utility stocks. Hence the first level portfolio weights are 0.3 and 0.7. Restricting to the finanical sector, the second level portfolio weights are 0.1/(0.1 + 0.2) and 0.2/(0.1 + 0.2) respectively. Hence the (normalized) weights for the financial sector portfolio are 1/3 and 2/3. Similarly, the weights for the utility sector portfolio are 3/7 and 4/7. The function GetGroupWeight performs this decomposition.

References

Pal, S. and T.-K. L. Wong (2013). Energy, entropy, and arbitrage. arXiv preprint arXiv:1308.5376.

See Also

FreeEnergy, RelativeEntropy

Examples

Run this code
# The example described above
pi <- c(0.1, 0.2, 0.3, 0.4)

group.index <- list()
group.index[[1]] <- c(1, 2)
group.index[[2]] <- c(3, 4)

GetGroupWeight(pi, group.index)

Run the code above in your browser using DataLab