So we have the basic structure:
$\sigma^2_{Pxy} = w_x^2 \sigma_x^2 + w_y^2 \sigma_y^2 + 2 w_x w_y \sigma_{xy}$
$\sigma^2_{Px} = w_x^2 \sigma_x^2 + w_x w_y \sigma_{xy}$
$\sigma^2_{Py} = w_y^2 \sigma_y^2 + w_x w_y \sigma_{xy}$
$\sigma^2_{Pxy} = \sigma^2_{Px} + \sigma^2_{Py}$
The problem is that this structure leaves the risk measure in terms of variance, so if we want to find percentage contribution to risk, it doesn't easily translate from variance to standard deviation.
Meaning, it is easy to solve for:
$ \cfrac{\sigma^2_{Px}}{\sigma^2_{Pxy}} =$ percentage contribution to risk (variance), as
$ \cfrac{\sigma^2_{Px}}{\sigma^2_{Pxy}} + \cfrac{\sigma^2_{Py}}{\sigma^2_{Pxy}} = 1$
But, it is not easy to solve for:
$ \cfrac{\sigma_{Px}}{\sigma_{Pxy}} =$ percentage contribution to risk (std dev), as
$ \cfrac{\sigma_{Px}}{\sigma_{Pxy}} + \cfrac{\sigma_{Py}}{\sigma_{Pxy}} \ne 1$
Additionally, it isn't right to just scale it to whatever the square root of the percentages happen to sum to.
If $ x = \cfrac{\sigma_{Px}}{\sigma_{Pxy}}$ and $ y = \cfrac{\sigma_{Py}}{\sigma_{Pxy}}$, it is not clear what $ \cfrac{x}{x + y}$ equals.
Does anyone have a solution to this problem?