How can one fit a linear model to the higher moments of CAPM in R? Fitting a linear model to the second moment (classical CAPM) would be lm(stock~market, data=example) $$R_{i,t} - R_{f,t} = \alpha_i + \beta_i(R_{M,t}-R_{f,t}) + \epsilon_t \tag{2nd}$$

But how would one fit a linear model to third and fourth moment of CAPM?

$$R_{i,t}-R_{f,t} = \alpha_i + \beta_i(R_{m,t}-R_{f,t})+\gamma_i(R_{m,t}-R_{f,t})^2 \tag{3rd}$$ $$R_{i,t}-R_{f,t} = \alpha_i + \beta_i(R_{m,t}-R_{f,t})+\gamma_i(R_{m,t}-R_{f,t})^2+\delta_i(R_{m,t}-R_{f,t})^3 \tag{4th}$$

Where the $\beta_i$ is systematic variance, $\gamma_i$ is systematic skewness and $\delta_i$ is systematic kurtosis calculated as follows, $\beta_i = Cov(R_i,R_m)/E[(R_m-E(R_m))^2] =Cov(R_i,R_m)/Var(R_m)$ ,$\gamma_i = Cov(R_i,R_m^2)/E[(R_m-E(R_m))^3]$, $\delta_i = Cov(R_i,R_m^3)/E[(R_m-E(R_m))^4]$

I have tried squaring the market excess returns and fitting a linear model as follows

market2 <- market^2
lm(stock~market+market2, data=example)
market3 <- market^3
lm(stock~market+market2+market3, data=example)

This could be right but I doubt it, it's hard to check. Any ideas about this?


1 Answer 1


The R code is correct. You could also use the I() operator. You can look here on page 53. The code then would be

lm(stock~market+I(market^2)+I(market^3), data=example)

EDIT: going more into detail:

Doing the above you define regressors $market^2$ and $market^3$. The coefficients will be calculated the usual way (covariance of response with the regressors over variance of regressors .. in the matrix sense if needed).

In the univariate case you get $$ R_i = \beta R_M^2 + \epsilon $$ with $$ \beta = cov(R_i,R_M^2)/var(R_M^2). $$ Plugging in definitions we get $$ \beta = E[(R_i-E[R_i])(R_M^2-E[R_M^2])]/E[(R_M^2-E[R_M^2])^2]. $$ Note that the term $E[R_M^2]$ will be close to $VAR(R_M)$. Thus the terms that appear are related to what you write but using the definitions we see that they are different. Your definitions look similar to the concepts of co-skewness and cokurtosis - but careful inspections again show that they are different.

  • 1
    $\begingroup$ Thanks for the I() comment, thats a nice trick. But, is the coefficients actually calculated as defined in the main question? i.e $\gamma_i = Cov(R_i,R_m^2)/E[(R_m-E(R_m))^3]$ $\endgroup$ Jul 20, 2015 at 8:39
  • $\begingroup$ No, the coefficient is caclulated in the usual way. I will edit my answer. $\endgroup$
    – Richi Wa
    Jul 20, 2015 at 8:46
  • $\begingroup$ Thanks again, but I'm not sure how one should interpret this in R so the coefficient isn't calculated in the usual way? $\endgroup$ Jul 20, 2015 at 9:37
  • $\begingroup$ The coefficients are all calculated the usual way. The regressors are defined as you do ... just your formulas are not correct for an OLS regression. $\endgroup$
    – Richi Wa
    Jul 20, 2015 at 9:40
  • $\begingroup$ Hrm, any suggestions on what would be the correct formulas for an OLS regression? $\endgroup$ Jul 20, 2015 at 9:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.