CAPM is estimated assuming that betas and alphas change over time. It is assumed that the market prices of securities fully reflect readily available and public information. A matrix of market information variables, \(Z\) measures this information. Possible variables in \(Z\) could be the divident yield, Tresaury yield, etc. The betas of stocks and managed portfolios are allowed to change with market conditions:

CAPM.dynamic(Ra, Rb, Rf = 0, Z, lags = 1, ...)

Arguments

Ra

an xts, vector, matrix, data frame, timeSeries or zoo object of the asset returns

Rb

an xts, vector, matrix, data frame, timeSeries or zoo object of the benchmark asset return

Rf

risk free rate, in same period as your returns

Z

an xts, vector, matrix, data frame, timeSeries or zoo object of k variables that reflect public information

lags

number of lags before the current period on which the alpha and beta are conditioned

any other passthrough parameters

Details

$$\beta_{p}(z_{t})=b_{0p}+B_{p}'z_{t}$$

where \(z_{t}=Z_{t}-E[Z]\)

- a normalized vector of the deviations of \(Z_{t}\), \(B_{p}\)

- a vector with the same dimension as \(Z_{t}\).

The coefficient \(b_{0p}\) can be interpreted as the "average beta" or the beta when all infromation variables are at their means. The elements of \(B_{p}\) measure the sensitivity of the conditional beta to the deviations of the \(Z_{t}\) from their means. In the similar way the time-varying conditional alpha is modeled: $$\alpha_{pt}=\alpha_{p}(z_{t})=\alpha_{0p}+A_{p}'z_{t}$$ The modified regression is therefore: $$r_{pt+1}=\alpha_{0p}+A_{p}'z_{t}+b_{0p}r_{bt+1}+B_{p}'[z_{t}r_{bt+1}]+ \mu_{pt+1}$$

References

J. Christopherson, D. Carino, W. Ferson. Portfolio Performance Measurement and Benchmarking. 2009. McGraw-Hill. Chapter 12. Wayne E. Ferson and Rudi Schadt, "Measuring Fund Strategy and Performance in Changing Economic Conditions," Journal of Finance, vol. 51, 1996, pp.425-462

See also

CAPM.beta

Examples

data(managers) CAPM.dynamic(managers[,1,drop=FALSE], managers[,8,drop=FALSE], Rf=.035/12, Z=managers[, 9:10])
#> Average alpha US 10Y TR alpha at t - 1 US 3m TR alpha at t - 1 #> HAM1 to SP500 TR 0.0070965 -0.196351 0.1665381 #> Average beta US 10Y TR beta at t - 1 US 3m TR beta at t - 1 #> HAM1 to SP500 TR 0.3248015 3.493336 -63.74814
CAPM.dynamic(managers[80:120,1:6], managers[80:120,7,drop=FALSE], Rf=managers[80:120,10,drop=FALSE], Z=managers[80:120, 9:10])
#> Average alpha US 10Y TR alpha at t - 1 #> HAM1 to EDHEC LS EQ -0.0001741347 -0.23890464 #> HAM2 to EDHEC LS EQ -0.0027673634 -0.06632217 #> HAM3 to EDHEC LS EQ 0.0062624783 -0.21733015 #> HAM4 to EDHEC LS EQ -0.0033262023 0.16135997 #> HAM5 to EDHEC LS EQ 0.0043380559 0.26882960 #> HAM6 to EDHEC LS EQ -0.0053865004 0.05000616 #> US 3m TR alpha at t - 1 Average beta #> HAM1 to EDHEC LS EQ -0.4385012 1.1793098 #> HAM2 to EDHEC LS EQ -4.0176982 0.7067390 #> HAM3 to EDHEC LS EQ 7.6804829 0.4260623 #> HAM4 to EDHEC LS EQ -0.2091890 1.6367609 #> HAM5 to EDHEC LS EQ 3.8497148 1.2224547 #> HAM6 to EDHEC LS EQ -3.0664314 1.6281908 #> US 10Y TR beta at t - 1 US 3m TR beta at t - 1 #> HAM1 to EDHEC LS EQ 3.861212 -51.01409 #> HAM2 to EDHEC LS EQ 5.682080 171.16658 #> HAM3 to EDHEC LS EQ 1.507916 -705.20354 #> HAM4 to EDHEC LS EQ -7.622136 -565.85196 #> HAM5 to EDHEC LS EQ 7.083956 39.70358 #> HAM6 to EDHEC LS EQ -11.035136 343.52891
CAPM.dynamic(managers[80:120,1:6], managers[80:120,8:7], managers[80:120,10,drop=FALSE], Z=managers[80:120, 9:10])
#> Average alpha US 10Y TR alpha at t - 1 #> HAM1 to SP500 TR 0.0036316941 -0.03538369 #> HAM2 to SP500 TR 0.0016901086 -0.05484988 #> HAM3 to SP500 TR 0.0072668556 -0.05978008 #> HAM4 to SP500 TR -0.0015875926 0.41314240 #> HAM5 to SP500 TR 0.0083363515 0.35300102 #> HAM6 to SP500 TR 0.0012839717 0.03521033 #> HAM1 to EDHEC LS EQ -0.0001741347 -0.23890464 #> HAM2 to EDHEC LS EQ -0.0027673634 -0.06632217 #> HAM3 to EDHEC LS EQ 0.0062624783 -0.21733015 #> HAM4 to EDHEC LS EQ -0.0033262023 0.16135997 #> HAM5 to EDHEC LS EQ 0.0043380559 0.26882960 #> HAM6 to EDHEC LS EQ -0.0053865004 0.05000616 #> US 3m TR alpha at t - 1 Average beta #> HAM1 to SP500 TR 0.08506313 0.51861197 #> HAM2 to SP500 TR -2.91835013 0.05157528 #> HAM3 to SP500 TR 4.10231175 0.17720080 #> HAM4 to SP500 TR -6.04090381 1.20562924 #> HAM5 to SP500 TR 1.56695525 0.57212866 #> HAM6 to SP500 TR -1.72313785 0.59611332 #> HAM1 to EDHEC LS EQ -0.43850123 1.17930984 #> HAM2 to EDHEC LS EQ -4.01769818 0.70673900 #> HAM3 to EDHEC LS EQ 7.68048289 0.42606233 #> HAM4 to EDHEC LS EQ -0.20918897 1.63676093 #> HAM5 to EDHEC LS EQ 3.84971482 1.22245465 #> HAM6 to EDHEC LS EQ -3.06643145 1.62819081 #> US 10Y TR beta at t - 1 US 3m TR beta at t - 1 #> HAM1 to SP500 TR -1.181057 -65.73676 #> HAM2 to SP500 TR 2.075534 -23.79983 #> HAM3 to SP500 TR 1.063350 -256.19346 #> HAM4 to SP500 TR -1.812210 162.03456 #> HAM5 to SP500 TR 4.277306 183.06200 #> HAM6 to SP500 TR -5.106318 189.51371 #> HAM1 to EDHEC LS EQ 3.861212 -51.01409 #> HAM2 to EDHEC LS EQ 5.682080 171.16658 #> HAM3 to EDHEC LS EQ 1.507916 -705.20354 #> HAM4 to EDHEC LS EQ -7.622136 -565.85196 #> HAM5 to EDHEC LS EQ 7.083956 39.70358 #> HAM6 to EDHEC LS EQ -11.035136 343.52891