Picture shows the regression from Daniel and Moskowitz (Momentum Crashes)

'Rwml' is the monthly log return

So the first column is clear, I got nearly the same values, at least the same magnitude. But: If I regress on the variance, my input values are way too low to get a coefficient like 0.009 (picture)

StdDeviation <- foreach(i=1:22666, .combine = cbind) %do% {
  B <- Fama.French.daily$Mkt[i:(125+i)]
  past24cum <- StdDev(B)

Variance <- t(StdDeviation^2)

That was my first try. (Of course just used the lagged month end values since this approach gives the "next" 126 day standard deviation). But Variance is like 0.0003... No way that multiplied by 0.009 is the solution for the regression.

My other was by using the Realized Variance of the last 126 days as an input:

Realized.Variance<-rollapply((log(Fama.French.daily$Mkt+1)^2)     ,126,sum,by=1)

Values are higher (0.002 etc.) but still not big enough to justify "0.009" as a regression coefficient. Multiplying by 12 doesn't help.

reg <-   lm(log(1+Momentum.monthly$WMLRF[25:1035]) ~ Fama.French.monthly$Real.Var.Mkt  [2:1012])

That's the regression I'm running, log Returns on Variance.

Anyone got an idea what Variance type they are using ?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.