Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

CAPM.beta

calculate single factor model (CAPM) beta


Description

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.

Usage

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)

Arguments

Ra

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

Rb

return vector of the benchmark asset

Rf

risk free rate, in same period as your returns

Details

This function uses a linear intercept model to achieve the same results as the symbolic model used by BetaCoVariance

beta = cov(Ra,Rb)/var(R)

Ruppert(2004) reports that this equation will give the estimated slope of the linear regression of Ra on Rb and that this slope can be used to determine the risk premium or excess expected return (see Eq. 7.9 and 7.10, p. 230-231).

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

Timing Ratio = beta+/beta-

is best when greater than one in a rising market and less than one in a falling market.

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.

Author(s)

Peter Carl

References

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.

See Also

Examples

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")

PerformanceAnalytics

Econometric Tools for Performance and Risk Analysis

v2.0.4
GPL-2 | GPL-3
Authors
Brian G. Peterson [cre, aut, cph], Peter Carl [aut, cph], Kris Boudt [ctb, cph], Ross Bennett [ctb], Joshua Ulrich [ctb], Eric Zivot [ctb], Dries Cornilly [ctb], Eric Hung [ctb], Matthieu Lestel [ctb], Kyle Balkissoon [ctb], Diethelm Wuertz [ctb], Anthony Alexander Christidis [ctb], R. Douglas Martin [ctb], Zeheng 'Zenith' Zhou [ctb], Justin M. Shea [ctb]
Initial release
2020-02-05

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.