capm {TSEtools} | R Documentation |
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)
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}).
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 |
References
Pflug and Romisch (2007, ISBN: 9789812707406)
Examples
## Not run:
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 )
## End(Not run)