CAPM.dynamic {PerformanceAnalytics} | R Documentation |
Time-varying conditional single factor model beta
Description
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:
Usage
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}
Author(s)
Andrii Babii
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
Examples
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])