We here detail how to build through variance optimization a range of portfolio over a multi risk framework factor. This methodology is much used by practitioner as the factors covariance is non singular even with few observations and more stable.
Role of Information and technology in banking and finance .pptx
Multi risk factor models for minimum variance optimization and market neutral portfolios
1. 1
Multi risk factor model
Minimum variance optimization
under constraints
Market neutrality
130/30 long short portfolio
DUPREY Stefan
2. Plan 2
Plan
1. Factor model and stochastic processes
2. Covariance matrix
3. Regressing returns over factor loading/exposure
4. Minimum variance optimization rebalancement at each date
5. Long/short 130/30 portfolio
6. Long/Short 100/100 Market Neutral portfolio
7. R code : computing factors loadings
8. R code : estimating factors covariance matrix and idiosyncratic risk
9. R code : quadratic programming, constraints and multi risk factor
models
3. Factor model and stochastic processes 3
1. Factor model and stochastic processes
We have N ∈ N stocks. Their returns Ri, ∀i ∈ {1, · · · , N} are modeled by
N random processes χi corresponding to idiosyncratic risk together with K
random processes fA :
Ri = χi +
K
A=1
ΩiAfA (1)
χi, χj = ξ2
ijδij (2)
χi, fA = 0 (3)
fA, fB = ΦAB (4)
Ri, Rj = Θij (5)
4. Covariance matrix 4
2. Covariance matrix
The Ri covariance matrix can be written as :
Θ = Ξ + ΩΦΩ⊺
(6)
where Ξij = ξ2
ijδij is the diagonal idiosyncratic part of the variance and Φ
the K × K factor covariance matrix, Ω is the K × K factor loading matrix.
Note that K << N gives more out of samples stability. Through Cholesky :
Θ = Ξ + ΩΩ⊺
(7)
where Ω = ΩΦ and ΦΦ⊺
= Φ
Note that the standard variance for a portfolio with weights ω decomposes
as :
ω⊺
Ωω =
N
i=1
ξ2
ij + f⊺
Φf (8)
where f = Ωω is the factor values for our portfolio with weights ω
5. Regressing returns over factor loading/exposure 5
3. Regressing returns over factor loading/exposure
At each observation time we have to regress our stock returns to our stock
factors :
R(t) =
K
k=1
βk(t) × Fk(t) + ǫ(t) (9)
R(t) =
K
k=1
fk(t) × Ωk(t) + ǫ(t) (10)
Ωi, Fi is the factor exposure or loading for the stock i and βi, fi is the
factor return or factor itself.
The variance of ǫ(t) is the idiosyncratic risk for stock i
The covariance of (fk(t))k∈{1,··· ,K} is the factor covariance matrix.
Here a proprietary strategy is to be defined to compute the factor matrix : a
rolling standard deviation or garch volatility estimation for idiosyncratic
variance and a rolling Ledoit-Wolf covariance matrix estimation
6. Minimum variance optimization rebalancement at each date 6
4. Minimum variance optimization rebalancement at each date
argmin
ω ∈ RN
, ωi > 0, ωi < 1
N
i=1 ωi = 1
n
i=1 ωiβi = n
i=1 ωi
Cov(Ri,Rmarket)
Var(Ri) = 1
{ωΣω⊺
− q × µ⊺
ω} , becomes
(11)
argmin
x = (f, ω) ∈ R(N+K)
, ωi > 0, ωi < 1
N
i=1 ωi = 1
n
i=1 ωiβi = n
i=1 ωi
Cov(Ri,Rmarket)
Var(Ri) = 1
Ωω = f
{xQx⊺
− q × µ⊺
x} (12)
12. R code : computing factors loadings 12
7. R code : computing factors loadings
13. R code : estimating factors covariance matrix and idiosyncratic risk 13
8. R code : estimating factors covariance matrix and idiosyncratic risk
14. R code : quadratic programming, constraints and multi risk factor models14
9. R code : quadratic programming, constraints and multi risk factor models
15. R code : quadratic programming, constraints and multi risk factor models15