options crt; ? 2e7 in return; freq m; smpl 76:1 85:12; rpmark = market - rkfree; dot gpu dow dupont conoco; rp. = . - rkfree; enddot; msd rpgpu rpdow rpdupont rpmark; msd rpconoco; ? (a) ? tmidum = 0; set tmidum(79:4) = 1; select tmidum=0; olsq rpgpu c rpmark; select tmidum; forcst gpufit; gpures = rpgpu - gpufit; print gpures; ? (b) select 1; ? all observations in original SMPL olsq rpgpu c rpmark tmidum; ? (c) ? smpl 76:1 85:12; takedum = 0; smpl 81:6 81:9; takedum = 1; smpl 76:1 85:12; dot dow dupont; olsq rp. c rpmark; select takedum; msd(noprint) @res; rename @mean mr.; print mr.; select 1; ? restore last SMPL command, e.g. 76:1 85:12 olsq rp. c rpmark takedum; enddot; ? smpl 76:1 81:9; dot conoco; ? DOT allows us to reuse the above code, with a different ? variable (conoco) and a different "full" SMPL (76:1 81:9) olsq rp. c rpmark; select takedum; msd(noprint) @res; rename @mean mr.; print mr.; select 1; ? restore last SMPL command (now 76:1 81:9) olsq rp. c rpmark takedum; enddot;