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

CAPM.dynamic

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(zt) = b0 + Bp'zt

where zt = Zt - E[Z]

- a normalized vector of the deviations of Zt, Bp

- a vector with the same dimension as Zt.

The coefficient b0 can be interpreted as the "average beta" or the beta when all infromation variables are at their means. The elements of Bp measure the sensitivity of the conditional beta to the deviations of the Zt from their means. In the similar way the time-varying conditional alpha is modeled:

alpha(zt) = a0 + Ap'zt

The modified regression is therefore:

r_{pt+1}=α_{0p}+A_{p}'z_{t}+b_{0p}r_{bt+1}+B_{p}'[z_{t}r_{bt+1}]+ μ_{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])

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.