Step 1: Excess Returns
Q1 Report the summary statistics of the monthly
excess returns by developing a function 'sum_stats'.
mean
SD
skewness
excess
kurtosis
min
median
max
Market
Stock1
Stock2
Stock3
Stock4
Stock5
Stock6
Market
0.0044
0.0456
1.0057
Stock1
0.0010
0.0529
0.9731
Stock2
-0.0065
0.0939
0.3701
Stock3
0.0167
0.1420
1.0081
Stock4
0.0143
0.1255
1.8561
Stock5
0.0042
0.0608
0.5447
Stock6
-0.0105
0.0926
0.0684
-1.1793
-0.0731
-0.0005
0.1653
1.0000
0.6738
0.4243
0.4094
0.5496
0.5714
0.4837
-0.7250
-0.0949
-0.0024
0.2005
0.6738
1.0000
0.5069
0.0814
0.3967
0.5610
0.5088
-2.5735
-0.2186
-0.0175
0.2577
0.4243
0.5069
1.0000
-0.0234
0.2017
0.2557
0.7969
-0.9076
-0.3053
0.0050
0.4643
0.4094
0.0814
-0.0234
1.0000
0.2986
0.1620
0.0379
3.7032
-0.1867
0.0056
0.5913
0.5496
0.3967
0.2017
0.2986
1.0000
0.2725
0.2558
-2.3902
-0.0977
0.0035
0.1751
0.5714
0.5610
0.2557
0.1620
0.2725
1.0000
0.2544
-3.0246
-0.2180
-0.0211
0.1920
0.4837
0.5088
0.7969
0.0379
0.2558
0.2544
1.0000
Q2 Estimate the index model for individual stocks
by developing a function 'reg_alpha_beta_sigma'
Stock 1
Stock 2
Stock 3
Stock 4
Stock 5
Stock 6
alpha
0.0069
0.0040
0.0020
0.0173
0.0179
0.0060
beta
0.2380
0.2906
0.8079
0.0581
0.3468
0.1670
std err
0.0402
0.0459
0.0572
0.1431
0.1224
0.0593
Q3 Calculate the weight of individual stocks in the
active portfolio by developing a function
'weight_stock_in_active'
Stock 1 Stock 2 Stock 3 Stock 4 Stock 5 Stock 6
Weights
0.4053
0.1807
0.0587
0.0800
0.1136
0.1618
Q4 Calculate the alpha, beta and specific risk of
the active portfolio by developing a function
'active_alpha_beta_sigma'
Active Portfolio
alpha
0.0080
beta
0.2674
specific risk
0.0008
Risk-free rate
Equity risk premium
Equity market risk
RRA value (A)
7.0%
8.0%
20.0%
3.0
Share 1
Share 2
Share 3
Share 4
Q5
A: Find Optimal Active Portfolio
Share 1
Share 2
Share 3
Share 4
Optimal Active Portfolio
B: Find Optimal Risky Portfolio
Return above CAPM
Return
Beta
Exp Rew
1.0%
1.5%
-2.0%
-0.5%
Beta
1.13
1.13
1.04
0.91
Spec Risk
13.0%
16.0%
25.0%
14.0%
Rew / Var
0.592
0.586
-0.320
-0.255
3.7%
1.27
24.8%
0.603
Active
3.7%
20.9%
Return above Rf
1.27
Spec risk
Total risk
24.8%
35.5%
corr(a,p)
0.72
Passive
8.0%
15.0%
1.00
0.0%
20.0%
Sharpe ratio
0.40
Weight
98.2%
97.2%
-53.1%
-42.3%
Solve Prob2 : Active/Passive weights
wt active
32.8%
wt passive
67.2%
Optimal risky portfolio
Xs return
Return
Alpha
Beta
Spec risk
Total risk
Sharpe ratio
9.9%
16.9%
1.2%
1.09
8.1%
23.3%
0.43
Function ActiveWeight(r1, r2, rf, sig1, sig2, corr12, rraval)
Function RiskyWeight(r1, rf, sig1, rraval)
Dim cov12, var1, var2, minvarw, w, xr1, xr2
cov12 = corr12 * sig1 * sig2
var1 = sig1 ^ 2
var2 = sig2 ^ 2
RiskyWeight = (r1 - rf) / (rraval * sig1 ^ 2)
If rf <= 0 Then
minvarw = (var2 - cov12) / (var1 + var2 - 2 * cov12)
w = minvarw + (r1 - r2) / (rraval * (var1 + var2 - 2 * cov12))
Else
xr1 = r1 - rf
xr2 = r2 - rf
w = xr1 * var2 - xr2 * cov12
w = w / (xr1 * var2 + xr2 * var1 - (xr1 + xr2) * cov12)
End If
ActiveWeight = w
End Function
End Function