smpl @all





!window = 24

' set step size
!step = 1

' get size of workfile
!length = @obsrange

'variable keeping track of how many rolls we've done
!j=0


table(10000, 100)  mod_all
mod_all(1, 1) = "date"
mod_all(1, 2) = "alpha1"
mod_all(1, 3) = "alpha1 t"
mod_all(1, 4) = "mkt1"
mod_all(1, 5) = "mkt1 t"
mod_all(1, 6) = "smb1"
mod_all(1, 7) = "smb1 t"
mod_all(1, 8) = "hml1"
mod_all(1, 9) = "hml1 t"
mod_all(1, 10) = "r2_1"

mod_all(1, 11) = "alpha2"
mod_all(1, 12) = "alpha2 t"
mod_all(1, 13) = "mkt2"
mod_all(1, 14) = "mkt2 t"
mod_all(1, 15) = "smb2"
mod_all(1, 16) = "smb2 t"
mod_all(1, 17) = "hml2"
mod_all(1, 18) = "hml2 t"
mod_all(1, 19) = "r2_2"

mod_all(1, 20) = "alpha3"
mod_all(1, 21) = "alpha3 t"
mod_all(1, 22) = "mkt3"
mod_all(1, 23) = "mkt3 t"
mod_all(1, 24) = "smb3"
mod_all(1, 25) = "smb3 t"
mod_all(1, 26) = "hml3"
mod_all(1, 27) = "hml3 t"
mod_all(1, 28) = "r2_3"

mod_all(1, 29) = "alpha4"
mod_all(1, 30) = "alpha4 t"
mod_all(1, 31) = "mkt4"
mod_all(1, 32) = "mkt4 t"
mod_all(1, 33) = "smb4"
mod_all(1, 34) = "smb4 t"
mod_all(1, 35) = "hml4"
mod_all(1, 36) = "hml4 t"
mod_all(1, 37) = "r2_4"

mod_all(1, 38) = "alpha5"
mod_all(1, 39) = "alpha5 t"
mod_all(1, 40) = "mkt5"
mod_all(1, 41) = "mkt5 t"
mod_all(1, 42) = "smb5"
mod_all(1, 43) = "smb5 t"
mod_all(1, 44) = "hml5"
mod_all(1,45) = "hml5 t"
mod_all(1, 46) = "r2_5"

mod_all(1, 47) = "c(1)-c(17)"
mod_all(1,48)="f test p-value"


!rowcounter = 2

' move sample !step obs at a time
for !i = 1  to  !length-!window+1 step !step
   !j=!j+1

   ' set sample to estimation period
   smpl @first+!i-1 @first+!i+!window-2


mod_all(!rowcounter, 1)=!i 

port.sur

mod_all(!rowcounter, 2)=port.c(1)
mod_all(!rowcounter, 3)=port.tstats(1)
mod_all(!rowcounter, 4)=port.c(2)
mod_all(!rowcounter, 5)=port.tstats(2)
mod_all(!rowcounter, 6)=port.c(3)
mod_all(!rowcounter, 7)=port.tstats(3)
mod_all(!rowcounter, 8)=port.c(4)
mod_all(!rowcounter, 9)=port.tstats(4)
mod_all(!rowcounter, 10)=port.r2(1)

mod_all(!rowcounter, 11)=port.c(5)
mod_all(!rowcounter, 12)=port.tstats(5)
mod_all(!rowcounter, 13)=port.c(6)
mod_all(!rowcounter, 14)=port.tstats(6)
mod_all(!rowcounter, 15)=port.c(7)
mod_all(!rowcounter, 16)=port.tstats(7)
mod_all(!rowcounter, 17)=port.c(8)
mod_all(!rowcounter, 18)=port.tstats(8)
mod_all(!rowcounter, 19)=port.r2(2)

mod_all(!rowcounter, 20)=port.c(9)
mod_all(!rowcounter, 21)=port.tstats(9)
mod_all(!rowcounter, 22)=port.c(10)
mod_all(!rowcounter, 23)=port.tstats(10)
mod_all(!rowcounter, 24)=port.c(11)
mod_all(!rowcounter, 25)=port.tstats(11)
mod_all(!rowcounter, 26)=port.c(12)
mod_all(!rowcounter, 27)=port.tstats(12)
mod_all(!rowcounter, 28)=port.r2(3)


mod_all(!rowcounter, 29)=port.c(13)
mod_all(!rowcounter, 30)=port.tstats(13)
mod_all(!rowcounter, 31)=port.c(14)
mod_all(!rowcounter, 32)=port.tstats(14)
mod_all(!rowcounter, 33)=port.c(15)
mod_all(!rowcounter, 34)=port.tstats(15)
mod_all(!rowcounter, 35)=port.c(16)
mod_all(!rowcounter, 36)=port.tstats(16)
mod_all(!rowcounter, 37)=port.r2(4)

mod_all(!rowcounter, 38)=port.c(17)
mod_all(!rowcounter, 39)=port.tstats(17)
mod_all(!rowcounter, 40)=port.c(18)
mod_all(!rowcounter, 41)=port.tstats(18)
mod_all(!rowcounter, 42)=port.c(19)
mod_all(!rowcounter, 43)=port.tstats(19)
mod_all(!rowcounter, 44)=port.c(20)
mod_all(!rowcounter, 45)=port.tstats(20)
mod_all(!rowcounter, 46)=port.r2(5)

mod_all(!rowcounter, 47)=port.c(17)-port.c(1)

freeze(waldtable) port.wald c(17)=c(1)
mod_all(!rowcounter, 48)=waldtable(6,4)
delete waldtable

!rowcounter=!rowcounter+1

next

