I have a 30-year unbalanced panel data, with firm and year.
I wish to do a 10-year rolling regression with a quadratic time trend.
I wrote something like following, and it works...but it took quite a while, I am wondering if rangestat could do faster?
Code:
forvalues j = 1(1)4107{ forvalues i = 1(1)30{ gen t = 1 if n == `i' replace t = 2 if n == `i' + 1 replace t = 3 if n == `i' + 2 replace t = 4 if n == `i' + 3 replace t = 5 if n == `i' + 4 replace t = 6 if n == `i' + 5 replace t = 7 if n == `i' + 6 replace t = 8 if n == `i' + 7 replace t = 9 if n == `i' + 8 replace t = 10 if n == `i' + 9 gen t2 = t^2 cap reg x t t2 if id == `j' & n >= `i' & n <= `i' + 9 if c(rc) == 0 { gen m1=e(rmse) } else if inlist(c(rc), 2000, 2001) { display "Insufficient results for i == `i': skipping to next value of i" continue } else { display "Unanticipated error in regression with i = `i'" exit `c(rc)' } } }
0 Response to fit a quadratic time trend using rangestat
Post a Comment