Time Series Princeton University(时间序列普林斯顿大学).pdf
文本预览下载声明
Time Series
(ver. 1.5)
Oscar Torres-Reyna
Data Consultant
otorres@
/training/
PU/DSS/OTR
Date variable
For ‘date1’ type:
gen datevar = date(date1,DMY, 2099)
format datevar %td /*For daily data*/
For ‘date2’ type:
gen datevar = date(date2,MDY, 2099)
format datevar %td /*For daily data*/
For ‘date3’ type:
tostring date3, gen(date3a)
gen datevar=date(date3a,YMD)
format datevar %td /*For daily data*/
For ‘date4’ see next page
Date in integers and unbalanced
use /~otorres/Stata/date.dta, clear
drop date1 date2
rename date3 date4
*Year, month, day
tostring date4, gen(date4a)
gen len = length(date4a)
gen year = substr(date4a,1,4)
*When len=6, month is in 5th position and day in 6th
gen month = substr(date4a,5,1) if len == 6
gen day = substr (date4a,6,1) if len == 6
*When len=7 is hard to distinguish month/day, we skip
*When len=8, month is in 5th/6th positon and day in 7th/8th
replace month = substr (date4a,5,2) if len == 8
replace day = substr(date4a,7,2) if len == 8
destring month day year, replace
*Creating datevar
gen datevar = mdy (month,day,year)
format datevar %td
*Filling in the missing dates
replace datevar = datevar [_n-1] + 1 if datevar == .
Date variable (cont.)
If the original date variable is string (i.e. color red):
gen week= weekly(stringvar,wy)
gen month= monthly(stringvar,my) NOTE: Remember to format the date variable accordingly. After creating it type:
gen quarter= quarterly(stringvar,qy) format datevar %t? /*Change ‘datevar’ with your date variable*/
gen half = halfyearly(stringvar,hy) Change “?” with t
显示全部