Compute the capital assets pricing model including a risk-free asset.
capm(x, Rf = 0.2/270, sh = FALSE, eRtn = NULL)
weight of CAPM assets
weight of risk free assets
volatility of CAPM portfolio
return of CAPM portfolio
beta coefficient of portfolio
a numeric matrix of random returns per unit of price within some holding period.
the return of the risk free, i.e. has variance 0.
a logical indicating whether shortsales on the risky securities are allowed. Default is FALSE.
a value of expected returen of portofilo. The mean of whole data defualt.
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}).\)
Pflug and Romisch (2007, ISBN: 9789812707406)
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