Capital allocation and diversification
capital_allocation.RdSplits the distortion risk measure of a portfolio's total, rho(S), back
to its components, and reports each component's stand-alone measure.
Usage
capital_allocation(
x,
distortion,
method = c("euler", "covariance", "proportional", "marginal", "shapley")
)Arguments
- x
- distortion
A distortion.
- method
One of
"euler","covariance","proportional","marginal","shapley".
Value
A list with total (rho(S)), diversification_benefit
(sum(standalone) - total) and by_component, the keys data frame of
x with columns standalone, allocated and diversification
(standalone - allocated).
Details
method | Allocation to component j |
"euler" | co-measure, as allocate() (CoTVaR for TVaR) |
"covariance" | rho(S) Cov(X_j, S) / Var(S) |
"proportional" | stand-alone measures scaled to rho(S) |
"marginal" | rho(S) - rho(S - X_j) (Merton-Perold); does not add up |
"shapley" | Shapley value of v(T) = rho(sum of T); at most 12 components |
Euler is the only method consistent with marginal changes to the portfolio. The components must add up to the portfolio being allocated.
Examples
pd <- predictive_distribution(
matrix(c(1, 4, 2, 3, 2, 1, 5, 6), ncol = 2),
data.frame(lob = c("motor", "property"))
)
a <- capital_allocation(pd, distortion("tvar", 0.5), "shapley")
a$by_component
#> lob standalone allocated diversification
#> 1 motor 3.5 3 0.5
#> 2 property 5.5 5 0.5
a$diversification_benefit
#> [1] 1