Announcement

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

  • Creating Windows for irregular meetings (federal meetings)

    Hi

    I have a dataset (time series) that includes all calendar dates "date" and Fed meeting dates "federal_date". federal_date represents the date of specific irregular events that take place throughout the year.
    The dates are Stata dates of the format "11jan1972, 12jan192, etc.

    I want to create a WINDOW dummy variable that is equal to 1 for a window before the deferal_date.

    The WINDOW will begin at the start of the second Saturday before the federal_date. For example, if the federal_date is on a Tuesday, the WINDOW will begin at the start of the Saturday that falls ten days earlier and ends the day before the federal_date.
    Note that the federal_date (i.e., the meeting) can happen on any weekday.

    Can someone help with this, please?

    Thank you
    Lisa

  • #2
    Lisa, below is an example where "meeting = 1" if the Fed meets on that date (You may merge the dataset of everyday and the dataset of the Fed meeting dates to generate the following example.).


    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input float(date meeting)
    22281 0
    22282 0
    22283 0
    22284 1
    22285 0
    22286 0
    22287 0
    22288 0
    22289 0
    22290 0
    22291 0
    22292 0
    22293 0
    22294 0
    22295 0
    22296 0
    22297 0
    22298 0
    22299 0
    22300 0
    22301 0
    22302 0
    22303 0
    22304 0
    22305 0
    22306 0
    22307 0
    22308 0
    22309 1
    22310 0
    22311 0
    22312 0
    22313 0
    22314 0
    22315 0
    22316 0
    22317 0
    22318 0
    22319 0
    22320 0
    22321 0
    22322 0
    22323 0
    22324 0
    22325 0
    22326 0
    22327 0
    22328 0
    22329 0
    22330 0
    22331 0
    22332 0
    22333 0
    22334 0
    22335 0
    22336 0
    22337 0
    22338 0
    22339 0
    22340 0
    22341 0
    22342 0
    22343 0
    22344 0
    22345 0
    22346 0
    22347 0
    22348 0
    22349 0
    22350 0
    22351 0
    22352 0
    22353 0
    22354 0
    22355 0
    22356 1
    22357 0
    22358 0
    22359 0
    22360 0
    22361 0
    22362 0
    22363 0
    22364 0
    22365 0
    22366 0
    22367 0
    22368 0
    22369 0
    22370 0
    22371 0
    22372 0
    22373 0
    22374 0
    22375 0
    22376 0
    22377 0
    22378 1
    22379 0
    22380 0
    end
    format %td date
    
    generate day_of_week = dow(date)
    
    sort date
    generate meeting_id = sum(meeting==1) - meeting
    
    bys meeting_id: gen window = _n <= _N-1 & _n >= _N-8-day_of_week[_N] if meeting[_N]
    
    drop meeting_id
    The variable "window" looks like

    Code:
                date   meeting   day_of~k   window  
      1.   01jan2021         0          5        1  
      2.   02jan2021         0          6        1  
      3.   03jan2021         0          0        1  
      4.   04jan2021         1          1        0  
      5.   05jan2021         0          2        0  
      6.   06jan2021         0          3        0  
      7.   07jan2021         0          4        0  
      8.   08jan2021         0          5        0  
      9.   09jan2021         0          6        0  
     10.   10jan2021         0          0        0  
     11.   11jan2021         0          1        0  
     12.   12jan2021         0          2        0  
     13.   13jan2021         0          3        0  
     14.   14jan2021         0          4        0  
     15.   15jan2021         0          5        0  
     16.   16jan2021         0          6        1  
     17.   17jan2021         0          0        1  
     18.   18jan2021         0          1        1  
     19.   19jan2021         0          2        1  
     20.   20jan2021         0          3        1  
     21.   21jan2021         0          4        1  
     22.   22jan2021         0          5        1  
     23.   23jan2021         0          6        1  
     24.   24jan2021         0          0        1  
     25.   25jan2021         0          1        1  
     26.   26jan2021         0          2        1  
     27.   27jan2021         0          3        1  
     28.   28jan2021         0          4        1  
     29.   29jan2021         1          5        0  
     30.   30jan2021         0          6        0  
     31.   31jan2021         0          0        0  
     32.   01feb2021         0          1        0  
     33.   02feb2021         0          2        0  
     34.   03feb2021         0          3        0  
     35.   04feb2021         0          4        0  
     36.   05feb2021         0          5        0  
     37.   06feb2021         0          6        0  
     38.   07feb2021         0          0        0  
     39.   08feb2021         0          1        0  
     40.   09feb2021         0          2        0  
     41.   10feb2021         0          3        0  
     42.   11feb2021         0          4        0  
     43.   12feb2021         0          5        0  
     44.   13feb2021         0          6        0  
     45.   14feb2021         0          0        0  
     46.   15feb2021         0          1        0  
     47.   16feb2021         0          2        0  
     48.   17feb2021         0          3        0  
     49.   18feb2021         0          4        0  
     50.   19feb2021         0          5        0  
     51.   20feb2021         0          6        0  
     52.   21feb2021         0          0        0  
     53.   22feb2021         0          1        0  
     54.   23feb2021         0          2        0  
     55.   24feb2021         0          3        0  
     56.   25feb2021         0          4        0  
     57.   26feb2021         0          5        0  
     58.   27feb2021         0          6        0  
     59.   28feb2021         0          0        0  
     60.   01mar2021         0          1        0  
     61.   02mar2021         0          2        0  
     62.   03mar2021         0          3        0  
     63.   04mar2021         0          4        0  
     64.   05mar2021         0          5        0  
     65.   06mar2021         0          6        1  
     66.   07mar2021         0          0        1  
     67.   08mar2021         0          1        1  
     68.   09mar2021         0          2        1  
     69.   10mar2021         0          3        1  
     70.   11mar2021         0          4        1  
     71.   12mar2021         0          5        1  
     72.   13mar2021         0          6        1  
     73.   14mar2021         0          0        1  
     74.   15mar2021         0          1        1  
     75.   16mar2021         0          2        1  
     76.   17mar2021         1          3        0  
     77.   18mar2021         0          4        0  
     78.   19mar2021         0          5        0  
     79.   20mar2021         0          6        0  
     80.   21mar2021         0          0        0  
     81.   22mar2021         0          1        0  
     82.   23mar2021         0          2        0  
     83.   24mar2021         0          3        0  
     84.   25mar2021         0          4        0  
     85.   26mar2021         0          5        0  
     86.   27mar2021         0          6        1  
     87.   28mar2021         0          0        1  
     88.   29mar2021         0          1        1  
     89.   30mar2021         0          2        1  
     90.   31mar2021         0          3        1  
     91.   01apr2021         0          4        1  
     92.   02apr2021         0          5        1  
     93.   03apr2021         0          6        1  
     94.   04apr2021         0          0        1  
     95.   05apr2021         0          1        1  
     96.   06apr2021         0          2        1  
     97.   07apr2021         0          3        1  
     98.   08apr2021         1          4        0  
     99.   09apr2021         0          5        .  
    100.   10apr2021         0          6        .

    Comment


    • #3
      Hi

      Thanks! I have followed the code provided by Fei Wang using my dataset but unfortunately, I was not able to get the same output.

      Here is part of my data using dataex

      Code:
      * Example generated by -dataex-. To install: ssc install dataex
      clear
      input float(date meeting) str17 final_fomc_meetings int fomc_date2
      4383 . ""                    .
      4384 . ""                    .
      4385 . ""                    .
      4386 . ""                    .
      4387 . ""                    .
      4388 . ""                    .
      4389 . ""                    .
      4390 . ""                    .
      4391 . ""                    .
      4392 . ""                    .
      4393 1 "January 11 1972"  4393
      4394 . ""                    .
      4395 . ""                    .
      4396 . ""                    .
      4397 . ""                    .
      4398 . ""                    .
      4399 . ""                    .
      4400 . ""                    .
      4401 . ""                    .
      4402 . ""                    .
      4403 . ""                    .
      4404 . ""                    .
      4405 . ""                    .
      4406 . ""                    .
      4407 . ""                    .
      4408 . ""                    .
      4409 . ""                    .
      4410 . ""                    .
      4411 . ""                    .
      4412 . ""                    .
      4413 . ""                    .
      4414 . ""                    .
      4415 . ""                    .
      4416 . ""                    .
      4417 . ""                    .
      4418 . ""                    .
      4419 . ""                    .
      4420 . ""                    .
      4421 . ""                    .
      4422 . ""                    .
      4423 . ""                    .
      4424 . ""                    .
      4425 . ""                    .
      4426 . ""                    .
      4427 1 "February 14 1972" 4427
      4428 . ""                    .
      4429 . ""                    .
      4430 . ""                    .
      4431 . ""                    .
      4432 . ""                    .
      4433 . ""                    .
      4434 . ""                    .
      4435 . ""                    .
      4436 . ""                    .
      4437 . ""                    .
      4438 . ""                    .
      4439 . ""                    .
      4440 . ""                    .
      4441 . ""                    .
      4442 . ""                    .
      4443 . ""                    .
      4444 . ""                    .
      4445 . ""                    .
      4446 . ""                    .
      4447 . ""                    .
      4448 . ""                    .
      4449 . ""                    .
      4450 . ""                    .
      4451 . ""                    .
      4452 . ""                    .
      4453 . ""                    .
      4454 . ""                    .
      4455 . ""                    .
      4456 . ""                    .
      4457 . ""                    .
      4458 . ""                    .
      4459 . ""                    .
      4460 . ""                    .
      4461 . ""                    .
      4462 . ""                    .
      4463 1 "March 21 1972"    4463
      4464 . ""                    .
      4465 . ""                    .
      4466 . ""                    .
      4467 . ""                    .
      4468 . ""                    .
      4469 . ""                    .
      4470 . ""                    .
      4471 . ""                    .
      4472 . ""                    .
      4473 . ""                    .
      4474 . ""                    .
      4475 . ""                    .
      4476 . ""                    .
      4477 . ""                    .
      4478 . ""                    .
      4479 . ""                    .
      4480 . ""                    .
      4481 . ""                    .
      4482 . ""                    .
      end
      format %td date
      format %td fomc_date2
      Here is the exact code used:

      Code:
      gen day_of_week = dow(date)
       
      sort date
       
      gen meeting_id = sum(meeting==1) - meeting
       
      bys meeting_id: gen window = _n <= _N-1 & _n >= _N-8-day_of_week[_N] if meeting[_N]
       
      sort date
      tsset date
       
       
      drop meeting_id
      Here is the final output

      Code:
      * Example generated by -dataex-. To install: ssc install dataex
      clear
      input float date str17 final_fomc_meetings int fomc_date2 float(meeting day_of_week window)
      4383 ""                    . . 6 0
      4384 ""                    . . 0 0
      4385 ""                    . . 1 0
      4386 ""                    . . 2 1
      4387 ""                    . . 3 0
      4388 ""                    . . 4 0
      4389 ""                    . . 5 0
      4390 ""                    . . 6 0
      4391 ""                    . . 0 0
      4392 ""                    . . 1 0
      4393 "January 11 1972"  4393 1 2 0
      4394 ""                    . . 3 0
      4395 ""                    . . 4 0
      4396 ""                    . . 5 0
      4397 ""                    . . 6 0
      4398 ""                    . . 0 0
      4399 ""                    . . 1 0
      4400 ""                    . . 2 0
      4401 ""                    . . 3 0
      4402 ""                    . . 4 0
      4403 ""                    . . 5 0
      4404 ""                    . . 6 0
      4405 ""                    . . 0 0
      4406 ""                    . . 1 0
      4407 ""                    . . 2 0
      4408 ""                    . . 3 0
      4409 ""                    . . 4 0
      4410 ""                    . . 5 0
      4411 ""                    . . 6 0
      4412 ""                    . . 0 0
      4413 ""                    . . 1 0
      4414 ""                    . . 2 0
      4415 ""                    . . 3 0
      4416 ""                    . . 4 0
      4417 ""                    . . 5 0
      4418 ""                    . . 6 0
      4419 ""                    . . 0 0
      4420 ""                    . . 1 0
      4421 ""                    . . 2 0
      4422 ""                    . . 3 0
      4423 ""                    . . 4 0
      4424 ""                    . . 5 0
      4425 ""                    . . 6 0
      4426 ""                    . . 0 0
      4427 "February 14 1972" 4427 1 1 0
      4428 ""                    . . 2 0
      4429 ""                    . . 3 0
      4430 ""                    . . 4 0
      4431 ""                    . . 5 0
      4432 ""                    . . 6 0
      4433 ""                    . . 0 0
      4434 ""                    . . 1 0
      4435 ""                    . . 2 0
      4436 ""                    . . 3 0
      4437 ""                    . . 4 0
      4438 ""                    . . 5 0
      4439 ""                    . . 6 0
      4440 ""                    . . 0 0
      4441 ""                    . . 1 0
      4442 ""                    . . 2 0
      4443 ""                    . . 3 0
      4444 ""                    . . 4 0
      4445 ""                    . . 5 0
      4446 ""                    . . 6 0
      4447 ""                    . . 0 0
      4448 ""                    . . 1 0
      4449 ""                    . . 2 0
      4450 ""                    . . 3 0
      4451 ""                    . . 4 0
      4452 ""                    . . 5 0
      4453 ""                    . . 6 0
      4454 ""                    . . 0 0
      4455 ""                    . . 1 0
      4456 ""                    . . 2 0
      4457 ""                    . . 3 0
      4458 ""                    . . 4 0
      4459 ""                    . . 5 0
      4460 ""                    . . 6 0
      4461 ""                    . . 0 0
      4462 ""                    . . 1 0
      4463 "March 21 1972"    4463 1 2 0
      4464 ""                    . . 3 0
      4465 ""                    . . 4 0
      4466 ""                    . . 5 0
      4467 ""                    . . 6 0
      4468 ""                    . . 0 0
      4469 ""                    . . 1 0
      4470 ""                    . . 2 0
      4471 ""                    . . 3 0
      4472 ""                    . . 4 0
      4473 ""                    . . 5 0
      4474 ""                    . . 6 0
      4475 ""                    . . 0 0
      4476 ""                    . . 1 0
      4477 ""                    . . 2 0
      4478 ""                    . . 3 0
      4479 ""                    . . 4 0
      4480 ""                    . . 5 0
      4481 ""                    . . 6 0
      4482 ""                    . . 0 0
      end
      format %td date
      format %td fomc_date2
      I hope I get further help, thanks!

      Lisa

      Comment


      • #4
        Sorry, I think I found the problem now. I need to replace the missing values for the meeting with zero. This fixes the issue.

        Comment

        Working...
        X