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(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

`CAPM.beta`

### 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])

[Package PerformanceAnalytics version 1.5.3 Index]