Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • How to create a ten year rolling return window to run fama macbeth regressions on stock returns

    Dear Stata Community,

    Here's an example of my data;

    I am following Lewellen's 2015 paper on cross sectional returns, using matched monthly stock return data from CRSP with financial statement data from Compusstat.

    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input str32 companyname str8 cusip double return_monthly byte(month day) int year float date int fyear byte _merge
    ""           "00036110"        .  3 30 1972 146    . 1
    "A A R CORP" "00036110"        .  4 28 1972 147    . 1
    "A A R CORP" "00036110" -.057143  5 31 1972 148    . 1
    "A A R CORP" "00036110" -.143939  6 30 1972 149    . 1
    "A A R CORP" "00036110" -.079646  7 31 1972 150    . 1
    "A A R CORP" "00036110" -.163462  8 31 1972 151    . 1
    "A A R CORP" "00036110" -.022989  9 29 1972 152    . 1
    "A A R CORP" "00036110" -.017647 10 31 1972 153    . 1
    "A A R CORP" "00036110" -.047904 11 30 1972 154    . 1
    "A A R CORP" "00036110"  .257862 12 29 1972 155    . 1
    "A A R CORP" "00036110"      -.2  1 31 1973 156    . 1
    "A A R CORP" "00036110"     .025  2 28 1973 157    . 1
    "A A R CORP" "00036110" -.097561  3 30 1973 158    . 1
    "A A R CORP" "00036110" -.162162  4 30 1973 159    . 1
    "A A R CORP" "00036110"  -.08871  5 31 1973 160    . 1
    "A A R CORP" "00036110"  .022124  6 29 1973 161    . 1
    "A A R CORP" "00036110"  .047619  7 31 1973 162    . 1
    "A A R CORP" "00036110" -.152893  8 31 1973 163    . 1
    "A A R CORP" "00036110"  .209756  9 28 1973 164    . 1
    "A A R CORP" "00036110" -.062903 10 31 1973 165    . 1
    "A A R CORP" "00036110" -.228448 11 30 1973 166    . 1
    "A A R CORP" "00036110" -.106145 12 31 1973 167    . 1
    "A A R CORP" "00036110"      .09  1 31 1974 168    . 1
    "A A R CORP" "00036110" -.091954  2 28 1974 169    . 1
    "A A R CORP" "00036110"  .202532  3 29 1974 170    . 1
    "A A R CORP" "00036110" -.155789  4 30 1974 171    . 1
    "A A R CORP" "00036110"   .04375  5 31 1974 172    . 1
    "A A R CORP" "00036110" -.077844  6 28 1974 173    . 1
    "A A R CORP" "00036110"  .054545  7 31 1974 174    . 1
    "A A R CORP" "00036110" -.123457  8 30 1974 175    . 1
    "A A R CORP" "00036110" -.183099  9 30 1974 176    . 1
    "A A R CORP" "00036110" -.068966 10 31 1974 177 1973 3
    "A A R CORP" "00036110" -.122222 11 29 1974 178 1973 3
    "A A R CORP" "00036110" -.085106 12 31 1974 179 1973 3
    "A A R CORP" "00036110"  .186047  1 31 1975 180 1973 3
    "A A R CORP" "00036110" -.070588  2 28 1975 181 1973 3
    "A A R CORP" "00036110" -.106383  3 31 1975 182 1973 3
    "A A R CORP" "00036110" -.014286  4 30 1975 183 1973 3
    "A A R CORP" "00036110"  .414634  5 30 1975 184 1973 3
    "A A R CORP" "00036110" -.051724  6 30 1975 185 1973 3
    "A A R CORP" "00036110" -.047273  7 31 1975 186 1973 3
    "A A R CORP" "00036110"  .019231  8 29 1975 187 1973 3
    "A A R CORP" "00036110" -.018868  9 30 1975 188 1973 3
    "A A R CORP" "00036110"  .171154 10 31 1975 189 1974 3
    "A A R CORP" "00036110"  .082645 11 28 1975 190 1974 3
    "A A R CORP" "00036110" -.145038 12 31 1975 191 1974 3
    "A A R CORP" "00036110"  .232143  1 30 1976 192 1974 3
    "A A R CORP" "00036110"  .078261  2 27 1976 193 1974 3
    "A A R CORP" "00036110" -.054054  3 31 1976 194 1974 3
    "A A R CORP" "00036110"  .157143  4 30 1976 195 1974 3
    "A A R CORP" "00036110" -.054321  5 28 1976 196 1974 3
    "A A R CORP" "00036110"  .210526  6 30 1976 197 1974 3
    "A A R CORP" "00036110" -.081522  7 30 1976 198 1974 3
    "A A R CORP" "00036110"        .  8 31 1976 199 1974 3
    "A A R CORP" "00036110"  .273373  9 30 1976 200 1974 3
    "A A R CORP" "00036110" -.037383 10 29 1976 201 1975 3
    "A A R CORP" "00036110"  .015534 11 30 1976 202 1975 3
    "A A R CORP" "00036110" -.115385 12 31 1976 203 1975 3
    "A A R CORP" "00036110" -.152174  1 31 1977 204 1975 3
    "A A R CORP" "00036110"  .086154  2 28 1977 205 1975 3
    "A A R CORP" "00036110" -.047619  3 31 1977 206 1975 3
    "A A R CORP" "00036110"      .15  4 29 1977 207 1975 3
    "A A R CORP" "00036110" -.046522  5 31 1977 208 1975 3
    "A A R CORP" "00036110" -.045977  6 30 1977 209 1975 3
    "A A R CORP" "00036110" -.096386  7 29 1977 210 1975 3
    "A A R CORP" "00036110"   -.1104  8 31 1977 211 1975 3
    "A A R CORP" "00036110"  .015152  9 30 1977 212 1975 3
    "A A R CORP" "00036110" -.044776 10 31 1977 213 1976 3
    "A A R CORP" "00036110"  -.05125 11 30 1977 214 1976 3
    "A A R CORP" "00036110" -.016667 12 30 1977 215 1976 3
    "A A R CORP" "00036110"  .016949  1 31 1978 216 1976 3
    "A A R CORP" "00036110"     .062  2 28 1978 217 1976 3
    "A A R CORP" "00036110"  .047619  3 31 1978 218 1976 3
    "A A R CORP" "00036110"       .2  4 28 1978 219 1976 3
    "A A R CORP" "00036110"  .205556  5 31 1978 220 1976 3
    "A A R CORP" "00036110"  .232558  6 30 1978 221 1976 3
    "A A R CORP" "00036110"   .04717  7 31 1978 222 1976 3
    "A A R CORP" "00036110"  .187387  8 31 1978 223 1976 3
    "A A R CORP" "00036110" -.091603  9 29 1978 224 1976 3
    "A A R CORP" "00036110" -.201681 10 31 1978 225 1977 3
    "A A R CORP" "00036110"  .049474 11 30 1978 226 1977 3
    "A A R CORP" "00036110"  .050633 12 29 1978 227 1977 3
    "A A R CORP" "00036110"  .156627  1 31 1979 228 1977 3
    "A A R CORP" "00036110" -.012917  2 28 1979 229 1977 3
    "A A R CORP" "00036110"  .031915  3 30 1979 230 1977 3
    "A A R CORP" "00036110" -.092784  4 30 1979 231 1977 3
    "A A R CORP" "00036110" -.046818  5 31 1979 232 1977 3
    "A A R CORP" "00036110" -.060241  6 29 1979 233 1977 3
    "A A R CORP" "00036110"        0  7 31 1979 234 1977 3
    "A A R CORP" "00036110"  .229231  8 31 1979 235 1977 3
    "A A R CORP" "00036110"  .052632  9 28 1979 236 1977 3
    "A A R CORP" "00036110"   -.0712 10 31 1979 237 1978 3
    "A A R CORP" "00036110"   .01087 11 30 1979 238 1978 3
    "A A R CORP" "00036110"  .268817 12 31 1979 239 1978 3
    "A A R CORP" "00036110"  .226695  1 31 1980 240 1978 3
    "A A R CORP" "00036110"  .026087  2 29 1980 241 1978 3
    "A A R CORP" "00036110"  -.29661  3 31 1980 242 1978 3
    "A A R CORP" "00036110"  .009639  4 30 1980 243 1978 3
    "A A R CORP" "00036110" -.012048  5 30 1980 244 1978 3
    "A A R CORP" "00036110" -.060976  6 30 1980 245 1978 3
    end
    format %tm date
    label values _merge _merge
    label def _merge 1 "Master only (1)", modify
    label def _merge 3 "Matched (3)", modify
    I look forward to hearing from you,

  • #2
    asreg?

    Comment


    • #3
      Dear mr Ford,

      Thank you for your message!

      I was trying to use the "rolling" command and foreach, forvalues loops, while the asreg which you recommended works much more efficient.

      However, while I think I figured out how to use it for the predictions of monthly returns, I also would like to extend the rolling return windows so that the slopes can predict yearly returns as well. As Lewellen does in a latter part of his 2015 paper on the cross section of expected stock returns.

      To be clear what I also want is for each fiscal year, to predict the one year return starting five months after the fiscal year end, using a ten year rolling return window that uses yearly returns.

      Thank you already for your help so far,

      Comment


      • #4
        you could collapse the data to yearly data, but you may just want to keep the month you are interested in. frames may be useful if you want to jump back and forth.

        Comment


        • #5
          Dear professor Ford,

          Thank you for your help! I think I managed to do the analysis succesfully, yet I will post if anything changes. I am doing the predictions of monthly returns before collapsing the data and the predictions of twelve month returns after collapsing. For the collapse, I keep only one month for each twelve month return period which is connected to the fiscal year that ends five months prior to the period.

          Comment

          Working...
          X