GetGroupWeight: Computing First and Second Level Portfolio Weights

Description Usage Arguments Details Value References See Also Examples

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

1
GetGroupWeight(pi, group.index)

Arguments

pi

a portfolio weight vector.

group.index

a list whose components form a partition of 1, 2, ..., n, where n is the length of pi.

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.

Value

A list containing the following components.

group.weight

a vector of first level portfolio weights.

cond.weight

a list whose components are the second level portfolio weights.

References

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

See Also

FreeEnergy, RelativeEntropy

Examples

1
2
3
4
5
6
7
8
# 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)

RelValAnalysis documentation built on May 2, 2019, 3:09 a.m.