Scaling Long-Short Positions for Portfolio Variance
Summary
The document explains how to calculate portfolio variance from position exposures and a covariance matrix. It distinguishes dollar exposures from normalized weights: dividing by net asset value can produce misleading signs when a portfolio is net short, while adding a cash position does not make arbitrary exposure vectors equivalent. The variance calculation uses the exposure vector in consistent units on both sides of the covariance matrix, yielding variance in squared units of that exposure; its square root is the corresponding standard deviation.
It also compares possible normalizations, such as scaling to unit Euclidean length or dividing by gross absolute exposure, and says the appropriate choice depends on the purpose. The example shows that changing exposures by a non-proportional amount changes the portfolio itself and can therefore change its risk. The note does not prescribe one universal normalization; the meaningful scale depends on what portfolio quantity is being measured.
Key ideas
- Use position exposures in consistent units when multiplying through the covariance matrix.
- The variance of dollar exposures is measured in squared dollars, and its square root is dollar volatility.
- Net-value normalization can give counterintuitive signs for a net-short portfolio.
- Different normalizations represent different exposure scales unless they differ by a common factor.
Tags
Full text
# Calculating variance of long/short portfolio
# Calculating variance of long/short portfolio
Say I have a portfolio of stocks, stock A, stock B and stock C, with the below positions:
- stock A: long 100 USD
- stock B: long 50 USD
- stock C: short 200 USD
How do I calculate the portfolio variance given the covariance matrix?
I guess this question boils down to: how do I obtain the weights for each stock?
If I divide the value of each position by the net portfolio value (-50 USD) so that the weights sum to 1 then I get [-2, -1, 4] which makes no sense since I now have negative weights for long positions and positive weights for short positions.
If I introduce a 4th asset, a risk-less cash component, of which I am long 51 USD then I have weights [100, 50, -200, 51]. Great, the weights sum to 1 and are the correct sign, however [10, 5, -20, 6] would be an equally valid weights vector but would give a completely difference variance when multiplied out with the covariance matrix.
So what's the correct way to obtain the weights for each asset in this portfolio and thus what's the correct way to calculate the portfolio variance?
## Answer by krkeane (score 1)
https://quant.stackexchange.com/a/74457
I think your are really asking how to normalize the weights. For example,
$$ \begin{align} w_\textrm{usd} &= \begin{bmatrix} 100 \\ 50\\ -200\\ 51 \end{bmatrix},\\ &~\\ w^\prime &= \frac{w}{\sqrt{w^\textrm{T} w}} \quad \textrm{provides a unit length weight vector}, \\ &~\\ w^{\prime\prime} &= \frac{w}{\sum\limits_i |w_i|} \quad \textrm{provides another weight vector}. \end{align} $$ The "right" choice depends upon your intended usage of the weights.
For any set of portfolio weights (in consistent units of measure, e.g. USD), the variance calculation is straight forward. In your example, the USD volatility of your portfolio is:
$$ \begin{align} \hat{\sigma}_\textrm{usd}^2 &= w_\textrm{usd}^\textrm{T} \hat\Sigma w_\textrm{usd} \quad \textrm{estimated portfolio variance in USD}, \textrm{or}\\ &~\\ \hat{\sigma}_\textrm{usd} &= \sqrt{\hat{\sigma}_\textrm{usd}^2} \quad \textrm{estimated portfolio standard deviation in USD.}\end{align} $$
> equally valid weights vector but would give a completely difference variance
No. Its not the same portfolio. The answer is likely different unless you enumerated two distinct portfolios with the same estimated risk as defined by your estimated variance matrix $\hat{\Sigma}$. Its not even a change of units, e.g. from one currency to another, or a normalization shown above. $$ \begin{bmatrix} 10 \\ 5\\ -20\\ 6 \end{bmatrix}\neq \alpha \begin{bmatrix} 100 \\ 50\\ -200\\ 51 \end{bmatrix} $$Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.