CAPM.dynamic | R Documentation |
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, ...)
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 |
\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}
Andrii Babii
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
CAPM.beta
data(managers)
CAPM.dynamic(managers[,1,drop=FALSE], managers[,8,drop=FALSE],
Rf=.035/12, Z=managers[, 9:10])
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])
CAPM.dynamic(managers[80:120,1:6], managers[80:120,8:7],
managers[80:120,10,drop=FALSE], Z=managers[80:120, 9:10])
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.