-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathfred.ado
52 lines (50 loc) · 1.07 KB
/
fred.ado
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
cap program drop fred
program define fred
syntax anything, key(string) [return]
local id = lower("`anything'")
tempfile temp
splitpath `temp'
local tempdirectory `r(directory)'
local tempfilename `r(filename)'`r(filetype)'
copy "https://api.stlouisfed.org/fred/series/observations?&file_type=txt&series_id=`id'&api_key=`key'" "`temp'.zip", replace
di "`temp'"
di "`tempdirectory'"
di "`tempfilename'"
!cd `tempdirectory' && unar -D `tempfilename'.zip
! sleep 1s
insheet using "`tempdirectory'`id'_1.txt", clear
gen date = date(observation_date,"YMD")
format date %td
gen datem = mofd(date)
format datem %tm
cap tsset datem
if _rc{
local date date
}
else{
gen dateq = qofd(date)
format dateq %tq
cap tsset dateq
if _rc{
local date datem
}
else{
gen year = year(date)
cap tsset year
if _rc{
local date dateq
}
else{
local date year
}
}
}
order `date' `id'
keep `date' `id'
if "`return'"~=""{
tempvar new
gen `new'= F.`id'/`id'-1
drop `id'
rename `new' `id'
}
end