
Last chance! 50% off unlimited learning
Sale ends in
The single factor model or CAPM Beta is the beta of an asset to the variance and covariance of an initial portfolio. Used to determine diversification potential.
CAPM.beta(Ra, Rb, Rf = 0)CAPM.beta.bull(Ra, Rb, Rf = 0)
CAPM.beta.bear(Ra, Rb, Rf = 0)
TimingRatio(Ra, Rb, Rf = 0)
an xts, vector, matrix, data frame, timeSeries or zoo object of asset returns
return vector of the benchmark asset
risk free rate, in same period as your returns
Peter Carl
This function uses a linear intercept model to achieve the same results as
the symbolic model used by BetaCoVariance
Ruppert(2004) reports that this equation will give the estimated slope of
the linear regression of
Two other functions apply the same notion of best fit to positive and
negative market returns, separately. The CAPM.beta.bull
is a
regression for only positive market returns, which can be used to understand
the behavior of the asset or portfolio in positive or 'bull' markets.
Alternatively, CAPM.beta.bear
provides the calculation on negative
market returns.
The TimingRatio
may help assess whether the manager is a good timer
of asset allocation decisions. The ratio, which is calculated as
While the classical CAPM has been almost completely discredited by the literature, it is an example of a simple single factor model, comparing an asset to any arbitrary benchmark.
Sharpe, W.F. Capital Asset Prices: A theory of market
equilibrium under conditions of risk. Journal of finance, vol 19,
1964, 425-442.
Ruppert, David. Statistics and Finance, an
Introduction. Springer. 2004.
Bacon, Carl. Practical portfolio
performance measurement and attribution. Wiley. 2004.
BetaCoVariance
CAPM.alpha
CAPM.utils
data(managers)
CAPM.alpha(managers[,1,drop=FALSE],
managers[,8,drop=FALSE],
Rf=.035/12)
CAPM.alpha(managers[,1,drop=FALSE],
managers[,8,drop=FALSE],
Rf = managers[,10,drop=FALSE])
CAPM.alpha(managers[,1:6],
managers[,8,drop=FALSE],
Rf=.035/12)
CAPM.alpha(managers[,1:6],
managers[,8,drop=FALSE],
Rf = managers[,10,drop=FALSE])
CAPM.alpha(managers[,1:6],
managers[,8:7,drop=FALSE],
Rf=.035/12)
CAPM.alpha(managers[,1:6],
managers[,8:7,drop=FALSE],
Rf = managers[,10,drop=FALSE])
CAPM.beta(managers[, "HAM2", drop=FALSE],
managers[, "SP500 TR", drop=FALSE],
Rf = managers[, "US 3m TR", drop=FALSE])
CAPM.beta.bull(managers[, "HAM2", drop=FALSE],
managers[, "SP500 TR", drop=FALSE],
Rf = managers[, "US 3m TR", drop=FALSE])
CAPM.beta.bear(managers[, "HAM2", drop=FALSE],
managers[, "SP500 TR", drop=FALSE],
Rf = managers[, "US 3m TR", drop=FALSE])
TimingRatio(managers[, "HAM2", drop=FALSE],
managers[, "SP500 TR", drop=FALSE],
Rf = managers[, "US 3m TR", drop=FALSE])
chart.Regression(managers[, "HAM2", drop=FALSE],
managers[, "SP500 TR", drop=FALSE],
Rf = managers[, "US 3m TR", drop=FALSE],
fit="conditional",
main="Conditional Beta")
Run the code above in your browser using DataLab