Hi
I have daily data for stock opening and closing prices. I need to generate a variable for each week from Monday to Friday.
Here is the data example:
I want that for Monday (6th October 2008) to Friday (10th October 2008), the week variable takes a value of 2008w40, and then from the following Monday (13th October 2008) to Friday (17th October 2008), the week variable takes a value of 2008w41. I want a week variable based on the calendar week and not based on the weeks generated by Stata.
I have daily data for stock opening and closing prices. I need to generate a variable for each week from Monday to Friday.
Here is the data example:
Code:
* Example generated by -dataex-. For more info, type help dataex clear input long co_code str66 company_name str10 co_stkdate str11(bse_opening_price bse_closing_price) str8 bse_returns str13 bse_market_cap byte(date2 month) int cal_year float(f_year ddate ym) int week float(wanted WOFM) 11 "20 MICRONS LTD." "06-10-2008" "50.0000" "33.3000" "1.0000" "470.2100" 6 10 2008 2009 17811 585 2535 2535 0 11 "20 MICRONS LTD." "07-10-2008" "33.7000" "30.4000" "0.9100" "429.2607" 7 10 2008 2009 17812 585 2536 2536 0 11 "20 MICRONS LTD." "08-10-2008" "27.5500" "26.3500" "0.8700" "372.0730" 8 10 2008 2009 17813 585 2536 2536 0 11 "20 MICRONS LTD." "10-10-2008" "22.0000" "23.3500" "0.8900" "329.7118" 10 10 2008 2009 17815 585 2536 2536 0 11 "20 MICRONS LTD." "13-10-2008" "24.0000" "24.9000" "1.0700" "351.5984" 13 10 2008 2009 17818 585 2536 2536 0 11 "20 MICRONS LTD." "14-10-2008" "25.0000" "22.3500" "0.9000" "315.5914" 14 10 2008 2009 17819 585 2537 2537 0 11 "20 MICRONS LTD." "15-10-2008" "20.1000" "24.3500" "1.0900" "343.8322" 15 10 2008 2009 17820 585 2537 2537 0 11 "20 MICRONS LTD." "16-10-2008" "21.7500" "27.7500" "1.1400" "391.8416" 16 10 2008 2009 17821 585 2537 2537 0 11 "20 MICRONS LTD." "17-10-2008" "28.0000" "22.2500" "0.8000" "314.1793" 17 10 2008 2009 17822 585 2537 2537 0 11 "20 MICRONS LTD." "20-10-2008" "22.9000" "22.0500" "0.9900" "311.3552" 20 10 2008 2009 17825 585 2537 2537 0 11 "20 MICRONS LTD." "21-10-2008" "22.3000" "21.4500" "0.9700" "302.8830" 21 10 2008 2009 17826 585 2538 2538 0 11 "20 MICRONS LTD." "22-10-2008" "21.2500" "20.3500" "0.9500" "287.3505" 22 10 2008 2009 17827 585 2538 2538 0 11 "20 MICRONS LTD." "23-10-2008" "19.7000" "18.9000" "0.9300" "266.8759" 23 10 2008 2009 17828 585 2538 2538 0 11 "20 MICRONS LTD." "24-10-2008" "18.5000" "16.4000" "0.8700" "231.5749" 24 10 2008 2009 17829 585 2538 2538 0 11 "20 MICRONS LTD." "27-10-2008" "15.9000" "15.1000" "0.9200" "213.2183" 27 10 2008 2009 17832 585 2538 2538 0 11 "20 MICRONS LTD." "28-10-2008" "17.9000" "17.9000" "1.1900" "252.7555" 28 10 2008 2009 17833 585 2539 2539 0 11 "20 MICRONS LTD." "29-10-2008" "18.5000" "16.3500" "0.9100" "230.8689" 29 10 2008 2009 17834 585 2539 2539 0 11 "20 MICRONS LTD." "31-10-2008" "16.5000" "16.8000" "1.0300" "237.2230" 31 10 2008 2009 17836 585 2539 2539 0 11 "20 MICRONS LTD." "03-11-2008" "17.5000" "17.0000" "1.0100" "240.0471" 3 11 2008 2009 17839 586 2539 2539 0 11 "20 MICRONS LTD." "04-11-2008" "17.0000" "18.3000" "1.0800" "258.4037" 4 11 2008 2009 17840 586 2540 2540 0 11 "20 MICRONS LTD." "05-11-2008" "18.0500" "17.9500" "0.9800" "253.4615" 5 11 2008 2009 17841 586 2540 2540 0 11 "20 MICRONS LTD." "06-11-2008" "18.9500" "17.9500" "1.0000" "253.4615" 6 11 2008 2009 17842 586 2540 2540 0 11 "20 MICRONS LTD." "07-11-2008" "17.4500" "20.4500" "1.1400" "288.7626" 7 11 2008 2009 17843 586 2540 2540 0 11 "20 MICRONS LTD." "10-11-2008" "21.0000" "19.8000" "0.9700" "279.5843" 10 11 2008 2009 17846 586 2540 2540 0 11 "20 MICRONS LTD." "11-11-2008" "20.0000" "18.4000" "0.9300" "259.8157" 11 11 2008 2009 17847 586 2541 2541 0 11 "20 MICRONS LTD." "12-11-2008" "18.0000" "18.2500" "0.9900" "257.6976" 12 11 2008 2009 17848 586 2541 2541 0 11 "20 MICRONS LTD." "14-11-2008" "19.0000" "18.6500" "1.0200" "263.3458" 14 11 2008 2009 17850 586 2541 2541 0 11 "20 MICRONS LTD." "17-11-2008" "18.5000" "17.8500" "0.9600" "252.0495" 17 11 2008 2009 17853 586 2541 2541 0 11 "20 MICRONS LTD." "18-11-2008" "17.1000" "17.1500" "0.9600" "242.1652" 18 11 2008 2009 17854 586 2542 2542 0 11 "20 MICRONS LTD." "19-11-2008" "17.3000" "16.6500" "0.9700" "235.1050" 19 11 2008 2009 17855 586 2542 2542 0 11 "20 MICRONS LTD." "20-11-2008" "15.7000" "16.5000" "0.9900" "232.9869" 20 11 2008 2009 17856 586 2542 2542 0 11 "20 MICRONS LTD." "21-11-2008" "17.3500" "16.1000" "0.9800" "227.3387" 21 11 2008 2009 17857 586 2542 2542 0 11 "20 MICRONS LTD." "24-11-2008" "16.0000" "16.5500" "1.0300" "233.6929" 24 11 2008 2009 17860 586 2542 2542 0 11 "20 MICRONS LTD." "25-11-2008" "16.1000" "17.3000" "1.0500" "244.2832" 25 11 2008 2009 17861 586 2543 2543 0 11 "20 MICRONS LTD." "26-11-2008" "17.9500" "16.9500" "0.9800" "239.3411" 26 11 2008 2009 17862 586 2543 2543 0 11 "20 MICRONS LTD." "28-11-2008" "17.1500" "16.5000" "0.9700" "232.9869" 28 11 2008 2009 17864 586 2543 2543 0 11 "20 MICRONS LTD." "01-12-2008" "16.2000" "16.2500" "0.9800" "229.4568" 1 12 2008 2009 17867 587 2543 2543 0 11 "20 MICRONS LTD." "02-12-2008" "15.6000" "15.7500" "0.9700" "222.3966" 2 12 2008 2009 17868 587 2544 2544 0 11 "20 MICRONS LTD." "03-12-2008" "16.0000" "15.9000" "1.0100" "224.5147" 3 12 2008 2009 17869 587 2544 2544 0 11 "20 MICRONS LTD." "04-12-2008" "15.5000" "15.8500" "1.0000" "223.8086" 4 12 2008 2009 17870 587 2544 2544 0 11 "20 MICRONS LTD." "05-12-2008" "16.0000" "16.2500" "1.0300" "229.4568" 5 12 2008 2009 17871 587 2544 2544 0 11 "20 MICRONS LTD." "08-12-2008" "16.9000" "16.3500" "1.0100" "230.8689" 8 12 2008 2009 17874 587 2544 2544 0 11 "20 MICRONS LTD." "10-12-2008" "16.1000" "16.7500" "1.0200" "236.5170" 10 12 2008 2009 17876 587 2545 2545 0 11 "20 MICRONS LTD." "11-12-2008" "16.5000" "18.4500" "1.1000" "260.5217" 11 12 2008 2009 17877 587 2545 2545 0 11 "20 MICRONS LTD." "12-12-2008" "18.7000" "17.0000" "0.9200" "240.0471" 12 12 2008 2009 17878 587 2545 2545 0 11 "20 MICRONS LTD." "15-12-2008" "16.6000" "17.2500" "1.0100" "243.5772" 15 12 2008 2009 17881 587 2545 2545 0 11 "20 MICRONS LTD." "16-12-2008" "17.1500" "17.6500" "1.0200" "249.2254" 16 12 2008 2009 17882 587 2546 2546 0 11 "20 MICRONS LTD." "17-12-2008" "17.8000" "16.5500" "0.9400" "233.6929" 17 12 2008 2009 17883 587 2546 2546 0 11 "20 MICRONS LTD." "18-12-2008" "16.6000" "16.7000" "1.0100" "235.8110" 18 12 2008 2009 17884 587 2546 2546 0 11 "20 MICRONS LTD." "19-12-2008" "17.0000" "16.2500" "0.9700" "229.4568" 19 12 2008 2009 17885 587 2546 2546 0 11 "20 MICRONS LTD." "22-12-2008" "17.0000" "16.7500" "1.0300" "236.5170" 22 12 2008 2009 17888 587 2546 2546 0 11 "20 MICRONS LTD." "23-12-2008" "16.2500" "16.0500" "0.9600" "226.6327" 23 12 2008 2009 17889 587 2547 2547 0 11 "20 MICRONS LTD." "24-12-2008" "16.7500" "16.0500" "1.0000" "226.6327" 24 12 2008 2009 17890 587 2547 2547 0 11 "20 MICRONS LTD." "26-12-2008" "16.0000" "15.7500" "0.9800" "222.3966" 26 12 2008 2009 17892 587 2547 2547 0 11 "20 MICRONS LTD." "29-12-2008" "15.5500" "15.7000" "1.0000" "221.6906" 29 12 2008 2009 17895 587 2547 2547 0 11 "20 MICRONS LTD." "30-12-2008" "15.2000" "15.7000" "1.0000" "221.6906" 30 12 2008 2009 17896 587 2547 2547 0 11 "20 MICRONS LTD." "31-12-2008" "15.4000" "15.5000" "0.9900" "218.8665" 31 12 2008 2009 17897 587 2547 2547 0 11 "20 MICRONS LTD." "01-01-2009" "15.8000" "17.7000" "1.1400" "249.9314" 1 1 2009 2009 17898 588 2548 2548 0 11 "20 MICRONS LTD." "02-01-2009" "18.0000" "18.4500" "1.0400" "260.5217" 2 1 2009 2009 17899 588 2548 2548 0 11 "20 MICRONS LTD." "05-01-2009" "19.0000" "18.7000" "1.0100" "264.0518" 5 1 2009 2009 17902 588 2548 2548 0 11 "20 MICRONS LTD." "06-01-2009" "18.2500" "17.9500" "0.9600" "253.4615" 6 1 2009 2009 17903 588 2548 2548 0 11 "20 MICRONS LTD." "07-01-2009" "17.5500" "15.8000" "0.8800" "223.1026" 7 1 2009 2009 17904 588 2548 2548 0 11 "20 MICRONS LTD." "09-01-2009" "15.0000" "15.0000" "0.9500" "211.8063" 9 1 2009 2009 17906 588 2549 2549 0 11 "20 MICRONS LTD." "12-01-2009" "14.5000" "14.6000" "0.9700" "206.1581" 12 1 2009 2009 17909 588 2549 2549 0 11 "20 MICRONS LTD." "13-01-2009" "14.6500" "14.4000" "0.9900" "203.3340" 13 1 2009 2009 17910 588 2549 2549 0 11 "20 MICRONS LTD." "14-01-2009" "15.0000" "15.1500" "1.0500" "213.9243" 14 1 2009 2009 17911 588 2549 2549 0 11 "20 MICRONS LTD." "15-01-2009" "15.3000" "14.4500" "0.9500" "204.0401" 15 1 2009 2009 17912 588 2550 2550 0 11 "20 MICRONS LTD." "16-01-2009" "14.7500" "14.1500" "0.9800" "199.8039" 16 1 2009 2009 17913 588 2550 2550 0 11 "20 MICRONS LTD." "19-01-2009" "14.6000" "14.4500" "1.0200" "204.0401" 19 1 2009 2009 17916 588 2550 2550 0 11 "20 MICRONS LTD." "20-01-2009" "14.2500" "14.9000" "1.0300" "210.3942" 20 1 2009 2009 17917 588 2550 2550 0 11 "20 MICRONS LTD." "21-01-2009" "13.2500" "14.4500" "0.9700" "204.0401" 21 1 2009 2009 17918 588 2550 2550 0 11 "20 MICRONS LTD." "22-01-2009" "14.8500" "14.2500" "0.9900" "201.2160" 22 1 2009 2009 17919 588 2551 2551 0 11 "20 MICRONS LTD." "23-01-2009" "14.0000" "14.3000" "1.0000" "201.9220" 23 1 2009 2009 17920 588 2551 2551 0 11 "20 MICRONS LTD." "27-01-2009" "14.3000" "14.1500" "0.9900" "199.8039" 27 1 2009 2009 17924 588 2551 2551 0 11 "20 MICRONS LTD." "28-01-2009" "14.6500" "14.3000" "1.0100" "201.9220" 28 1 2009 2009 17925 588 2551 2551 0 11 "20 MICRONS LTD." "29-01-2009" "14.3500" "14.4500" "1.0100" "204.0401" 29 1 2009 2009 17926 588 2552 2552 0 11 "20 MICRONS LTD." "30-01-2009" "14.0500" "14.9500" "1.0300" "211.1003" 30 1 2009 2009 17927 588 2552 2552 0 11 "20 MICRONS LTD." "02-02-2009" "15.0000" "14.9400" "1.0000" "210.9591" 2 2 2009 2009 17930 589 2552 2552 0 11 "20 MICRONS LTD." "03-02-2009" "15.7500" "15.9600" "1.0700" "225.3619" 3 2 2009 2009 17931 589 2552 2552 0 11 "20 MICRONS LTD." "04-02-2009" "16.0500" "15.5800" "0.9800" "219.9961" 4 2 2009 2009 17932 589 2552 2552 0 11 "20 MICRONS LTD." "05-02-2009" "16.0500" "16.0900" "1.0300" "227.1975" 5 2 2009 2009 17933 589 2553 2553 0 11 "20 MICRONS LTD." "06-02-2009" "16.4900" "15.6400" "0.9700" "220.8434" 6 2 2009 2009 17934 589 2553 2553 0 11 "20 MICRONS LTD." "09-02-2009" "16.4000" "16.3700" "1.0500" "231.1513" 9 2 2009 2009 17937 589 2553 2553 0 11 "20 MICRONS LTD." "10-02-2009" "16.7500" "17.0200" "1.0400" "240.3295" 10 2 2009 2009 17938 589 2553 2553 0 11 "20 MICRONS LTD." "11-02-2009" "17.0000" "17.7700" "1.0400" "250.9198" 11 2 2009 2009 17939 589 2553 2553 0 11 "20 MICRONS LTD." "12-02-2009" "17.5000" "17.6500" "0.9900" "249.2254" 12 2 2009 2009 17940 589 2554 2554 0 11 "20 MICRONS LTD." "13-02-2009" "17.7000" "17.4200" "0.9900" "245.9777" 13 2 2009 2009 17941 589 2554 2554 0 11 "20 MICRONS LTD." "16-02-2009" "18.0000" "16.2900" "0.9400" "230.0216" 16 2 2009 2009 17944 589 2554 2554 0 11 "20 MICRONS LTD." "17-02-2009" "16.5000" "16.2500" "1.0000" "229.4568" 17 2 2009 2009 17945 589 2554 2554 0 11 "20 MICRONS LTD." "18-02-2009" "19.5000" "16.4200" "1.0100" "231.8573" 18 2 2009 2009 17946 589 2554 2554 0 11 "20 MICRONS LTD." "19-02-2009" "16.9000" "16.4600" "1.0000" "232.4221" 19 2 2009 2009 17947 589 2555 2555 0 11 "20 MICRONS LTD." "20-02-2009" "16.9500" "16.0700" "0.9800" "226.9151" 20 2 2009 2009 17948 589 2555 2555 0 11 "20 MICRONS LTD." "24-02-2009" "15.5500" "15.1400" "0.9400" "215.0675" 24 2 2009 2009 17952 589 2555 2555 0 11 "20 MICRONS LTD." "25-02-2009" "15.5000" "15.8600" "1.0500" "225.2952" 25 2 2009 2009 17953 589 2555 2555 0 11 "20 MICRONS LTD." "26-02-2009" "15.0000" "16.6700" "1.0500" "236.8015" 26 2 2009 2009 17954 589 2556 2556 0 11 "20 MICRONS LTD." "27-02-2009" "16.5000" "15.8200" "0.9500" "224.7270" 27 2 2009 2009 17955 589 2556 2556 0 11 "20 MICRONS LTD." "02-03-2009" "16.4500" "15.9000" "1.0100" "225.8634" 2 3 2009 2009 17958 590 2556 2556 0 11 "20 MICRONS LTD." "03-03-2009" "15.2500" "15.3500" "0.9700" "218.0506" 3 3 2009 2009 17959 590 2556 2556 0 11 "20 MICRONS LTD." "04-03-2009" "15.5000" "14.8500" "0.9700" "210.9479" 4 3 2009 2009 17960 590 2556 2556 0 11 "20 MICRONS LTD." "05-03-2009" "15.0500" "14.6500" "0.9900" "208.1069" 5 3 2009 2009 17961 590 2557 2557 0 end format %td ddate format %tm ym format %twCCYY-WW week format %tw wanted
I want that for Monday (6th October 2008) to Friday (10th October 2008), the week variable takes a value of 2008w40, and then from the following Monday (13th October 2008) to Friday (17th October 2008), the week variable takes a value of 2008w41. I want a week variable based on the calendar week and not based on the weeks generated by Stata.
Comment