Learn R Programming

TSEtools (version 0.2.2)

capm: Capital assets pricing model including a risk-free asset.

Description

Compute the capital assets pricing model including a risk-free asset.

Usage

capm(x, Rf = 0.2/270, sh = FALSE, eRtn = NULL)

Value

wCAPM

weight of CAPM assets

wrF

weight of risk free assets

sd.capm

volatility of CAPM portfolio

rtn.capm

return of CAPM portfolio

beta

beta coefficient of portfolio

Arguments

x

a numeric matrix of random returns per unit of price within some holding period.

Rf

the return of the risk free, i.e. has variance 0.

sh

a logical indicating whether shortsales on the risky securities are allowed. Default is FALSE.

eRtn

a value of expected returen of portofilo. The mean of whole data defualt.

Details

Let \(\xi_1 , \ldots,\xi_n\) be random asset returns and \(w_1 , \ldots, w_n\) the portfolio weights. The expected returns are \(r_m = E\xi_m , m = 1, \ldots, n.\) In addition to these risky investments, there is a risk-free asset (a bond or bank account) available, which has return \(r_0\). Denoting the weights of \(w_0\) for the risk-free asset. The return of portfolio given by $$R_p = w^t r$$ where, \(r = (r_1, \ldots, r_n)^t\).

Risk is measure by a deviation functional \(\Sigma\). It is a variance-covariance of asset returns. The risk-free component \(w_0\) ignore in the objective. So, the standard deviation of portfolio is given by \(\sigma_p = w^t \Sigma w.\)

To obtain the optimum value of \(w_i, i = 1,\ldots, n,\) we solve the following model: $$\min w^t \Sigma w,\;\;s.t:\;\; w^t r + w_0 r_0 > \mu \;\; and \;\;\sum w_i + w_0 = 1$$ Note that, the portfolio weights may be negative (selling short is allowed). Market portfolio is named MP where, the risk free weight w_0 is zero (see, the function of prtf()).

For any portfolio \(p\), $$E(R_p) = r_0 + \beta(p) (r_{MP} - r_0)$$ where, \(r_{MP}\) is return of market portfolio and \(\beta(p)\) is the beta coefficient of the portfolio \(p\). It is given by \(\beta(p) = Cov( r_{MP}, r_p )/ SD(r_{MP}).\)

References

Pflug and Romisch (2007, ISBN: 9789812707406)

Examples

Run this code
if (FALSE) {
x <- rnorm(500,0.05,0.02)
y <- rnorm(500,0.01,0.03)
z<-cbind(x, y)
colnames(z) <- c("prt1","prt2")

capm( z, sh = FALSE, Rf= 0.2/270, eRtn=0.02 )
}

Run the code above in your browser using DataLab