Value-at-Risk (VaR)
by Simon Benninga and Zvi Wiener
Variance Covariance Approach
This method is based on the assumption that the short term changes in the market parameters and in the value of the portfolio are normal. This method also reflects the fact that the market parameters are not independent, however it is restricted to the first degree of dependence - correlation. First based on historical data we build a vector of average daily changes in each parameter, and a historical variance-covariance matrix of these changes. Second we calculate a linear (so-called delta) approximation of our portfolio for small changes in the market (first term of the Taylor series). Third, we measure the variance of the portfolio assuming normally distributed changes in the market with this variance covariance matrix. Fourth, we
measure the lowest quantile of P&L (profit and loss) for the required level of confidence.
To calculate the additive covariance matrix we use
AddChangesMx = Drop[dataVAR,1] - Drop[dataVAR,-1];
AddMeansVec = Mean[ AddChangesMx ];
AddCovMx = CovarianceMatrix[ AddChangesMx ];
sqrtAddCovar = MatrixPower[ AddCovMx, 1/2 ];
This completes the first step. We also recommend to verify that the covariance matrix is positive definite (and well-defined), since otherwise you may experience some problems with stability.
The mean vector and covariance matrix of the market data are
AddMeansVec
{1, 0.282051, 0.000512821, - 0.0025641}
AddCovMx // MatrixForm
ÊÁÁÁÁÁÁÁÁÁË
0 0 0 0
0 6.10256 -0.0122537 -0.00328408
0 -0.0122537 0.000662888 -0.0000302294
0 -0.00328408 -0.0000302294 0.0007132
ˆ˜˜˜˜˜˜˜˜˜¯
The first line and column correspond to the time change, which is deterministic and thus uncorrelated with the rest of the data.
Since our portfolio is not linear in the market parameters we should measure its sensitivity to a small hanges in each parameter. There are different ways to do this. We demonstrate below a way when we price the portfolio under the current market data, then we increase one parameter by 1% of its value, and price the portfolio again. Then take the finite difference and estimate the derivative.
Denote the price of a portfolio by P, this is a deterministic function of the market data P(x). To measure the
sensitivity we consider P(x + Dix) - P(x) where Dix = (0, 0, ..., 0, 0.01xi , 0, ..., 0). To estimate the partial derivative of P with respect to the i-th argument we calculate
¶P(x)
¶xi
ª
P(x + Dix) - P(x)
0.01xi
.
sensitivity[ portf_, mrkt_]:=
Module[{currentPrice, unitVec,
eps=0.01, deriv, i},
currentPrice = valueP[ portf,mrkt];
unitVec = Table[ 1, {4}];
deriv = Table[(valueP[ portf,
mrkt*ReplacePart[ unitVec, 1+eps, i]]-
currentPrice)/(mrkt[[i]]*eps), {i, 4}]
];
Applying this function to our portfolio we get:
sensitivity[ portfolio, mrkt9Feb97 ]
{-0.0415553, 2., 9.26722, - 84.2265}
We will also need the matrix of second derivatives of the pricing function. Using finite differences it can be calculated as:
ClearAll[secondDeriv];
secondDeriv[portf_, mrkt_]:=
Module[{zerVec= Table[ 0, {4}],
unitVec=Table[ 1, {4}], eps=0.01, i,j},
Table[
(valueP[ portf,
mrkt*(unitVec+ReplacePart[ zerVec, eps, i]+
ReplacePart[ zerVec, eps, j])]-
valueP[ portf,
mrkt*(unitVec+ReplacePart[ zerVec, eps, i]+
ReplacePart[ zerVec, -eps, j])]-
valueP[ portf,
mrkt*(unitVec+ReplacePart[zerVec, -eps, i]+
ReplacePart[ zerVec, eps, j])]+
valueP[ portf,
mrkt*(unitVec+ReplacePart[zerVec, -eps, i]+
ReplacePart[ zerVec, -eps, j])])/4/
(mrkt[[i]]*eps)/(mrkt[[j]]*eps),{i,4},{j,4}]
];
Vol. 7 No. 4 1998 MathematicainEducationandResearch 5
VALUE-AT-RISK (VAR)
secondDeriv[ portfolio,mrkt9Feb97]//MatrixForm
ÊÁÁÁÁÁÁÁÁÁË
-6.02975 ¥ 10-6 0. -0.00649451 -0.0122218
0. 0. 0. 0.
-0.00649451 0. -0.300412 2.72799
-0.0122218 0. 2.72799 0.
ˆ˜˜˜˜˜˜˜˜˜¯
Zeros indicate that the part of our portfolio that depends on the stock market is not influenced directly by the interest and exchange rates. It still is influenced by correlations between differnt market factors, but indirectly only.
Price of a portfolio is a function of the market data, say P(x), where x is the vector of the market data. The
current parameters of the market are known x0, however tomorrow the market will move to a new vector x1. The important simplifying assumption of the variance covariance approach is that the changes of the parameter vector are assumed to be normally distributed. Then we can write
P(x1) = P(x0) + P¢(x0)(x1 - x0)+
1
2
P¢¢(x0)(x1 - x0)2 + o(x1 - x0)
,
We keep the second order term due to Ito’s lemma. Assume that the market parameter x follows a simple arithmetic Brownian motion. dx=mdt + sdB, then by Ito’s lemma we can keep only terms up to the order dt by choosing
P(x1) ª P(x0) + P¢(x0)(mDt +sDB)+
1
2
P¢¢(x0)s2 Dt +o(Dt )
We assume that all components of the vector Dx = x1 - x0 are normally distributed, and the covariance matrix is known, s2= S(x,t). Then the right hand side is a linear combination of normally distributed random variables. As soon as all means are very small (note that daily expected changes are close to zero), the change in value can be approximated by a normally distributed random variable with mean and variance defined below:
mP = E(P(x1) - P(x0)) = Jm.P¢(x0) +
1
2
tr(P¢¢(x0).S)NDt
s2
P = var(P(x1) - P(x0)) = P¢(x0).S.(P¢(x0))T Dt
Here the superscript T denotes transposition and we use the standard vector product of lists. Then the lower qquantile can be approximated by a q-quantile of the normal distribution N(mP ,sP )
VaR(q) = mP + sP × Quantile(N(0, 1), q)
The sign plus here corresponds to the lowest quantile, since, the Quantile(N(0,1), q) is negative for q < sens =" sensitivity[" secderiv="secondDeriv[">
Monday, June 02, 2008
VALUE AT RISK (VAR) (PART 5)
Subscribe to:
Post Comments (Atom)
seja o primeiro a comentar!