-
Notifications
You must be signed in to change notification settings - Fork 0
/
Build_data_synthese.do
290 lines (190 loc) · 7.03 KB
/
Build_data_synthese.do
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
***********************************
** TRADE COSTS: ICEBERG, ADDITIVE, or BOTH?
** Avril 2015
if "`c(username)'" =="guillaumedaudin" {
global dir ~/dropbox/2013 -- trade_cost -- dropbox/JEGeo
global dir_data ~/Documents/Recherche/2013 -- Trade Costs -- local/data
global dir_external_data ~/Documents/Recherche/2013 -- Trade Costs -- local/external_data
global dir_temp ~/Downloads/temp_stata
}
/* Fixe Lise */
if "`c(hostname)'" =="LAB0271A" {
global dir C:\Users\lpatureau\Dropbox\trade_cost_nonpartage\database
global dir_data \\filer.windows.dauphine.fr\home\l\lpatureau\My_Work\Lise\trade_cost\database
global dir_external_data ????
global dir_temp ????
}
cd "$dir_data"
************************************************************************
** PGM 1 : construction de la base de données - COMPLETE, de 1974 à 2013
************************************************************************
*** Attention, on part de la base de données fournies par Hummels sur son site
*** http://www.krannert.purdue.edu/faculty/hummelsd/research/jep/data.html ***
** Partant des importations US en hs10, hummels.dta = agrégé au niveau 5 digits (sitc2)
version 12
* sur le serveur
*cd "C:\Echange\trade_costs\database\hummels_db"
*sur mon ordi old
*cd "E:\Lise\BQR_Lille\data\USdata_use"
*sur mon nouvel ordi
if "`c(hostname)'" =="LAB0271A" cd "C:\Echange\trade_costs\database\hummels_db"
* sur le fixe Dauphine
*cd "\\filer.windows.dauphine.fr\home\l\lpatureau\My_Work\Lise\Trade_costs\database"
clear all
set more off
*----------------------------------------------------------
**** STEP 1 - START FROM HUMMELS.dta, 1974-2004
*----------------------------------------------------------
if "`c(hostname)'" =="LAB0271A" use "C:\Lise\trade_costs\Hummels\database\raw_data\hummels.dta", clear
use "$dir_external_data/hummels.dta", replace
/*
* A faire une fois pour toutes
drop _merge
save "C:\Lise\trade_costs\Hummels\database\raw_data\hummels.dta", replace
*/
********Special Hummels******
capture drop iso_d
generate iso_d="USA"
capture drop _merge
merge m:1 iso2 using "$dir_external_data/Hummels_JEP_data/country_codes_v2.dta"
drop if _merge==2
drop _merge
rename yr year
tostring year, replace
rename iso3 iso_o
replace iso_o="SVN" if name=="Slovenia"
replace iso_o="MMR" if name=="Burma (Myanmar)"
replace iso_o="ZAR" if name =="Congo, Democratic Republic of th"
* On enlève si non renseigné pour le pays d'origine
drop if iso_o==""
*On enlève les territoires français d'Antarctique
drop if iso_o=="ATF"
merge m:1 iso_o iso_d using "$dir_external_data/dist_cepii.dta"
drop if _merge==2
drop _merge
**Il faut séparer les air et les vessels
generate mode="ves"
save $dir_temp/temp, replace
replace mode="air"
append using $dir_temp/temp
generate prix_fob=.
generate prix_caf=.
generate prix_trsp=.
generate prix_trsp2=.
foreach i in air ves {
replace prix_fob = `i'_val/`i'_wgt if mode=="`i'"
replace prix_caf = (`i'_val+`i'_cha)/`i'_wgt if mode=="`i'"
replace prix_trsp=(prix_caf-prix_fob)/prix_fob if mode=="`i'"
replace prix_trsp2=prix_caf/prix_fob
label variable prix_trsp "(prix_caf-prix_fob)/prix_fob"
}
drop if prix_fob==.
erase "$dir_temp/temp.dta"
destring year, replace
save hummels_tra.dta, replace
capture program drop Build_data_synthese
program Build_data_synthese
args year
*----------------------------------------------------------
*** STEP 2 - ADD NEW YEARS - ALL 2005-2013
*----------------------------------------------------------
**********
** Step 2.1 on va chercher les données
***************
*cd "E:\Jerome\Papier_Lise_Guillaume\2014"
*cd "E:\Lise\BQR_Lille\data\USdata_raw"
*cd "C:\Echange\trade_costs\database\hummels_db"
*cd "C:\Lise\trade_costs\Hummels\database\raw_data"
*cd "\\filer.windows.dauphine.fr\home\l\lpatureau\My_Work\Lise\trade_cost\database\rawdata"
cd "$dir_data"
unzipfile base_`year'.zip
use base_`year'.dta, replace
erase base_`year'.dta
**********
** Step 2.2 On fait un collapse par sitc rev2/year/pays d'origine
***************
** Faire un collapse par year/country o/sitc2 (est-ce vraiment une bonne idée ?)
collapse(sum) con_qy1-ves_cha, by (iso_o year sitc2)
**Remarque : on se débarasse de cnt_ du coup.
count if sitc2==""
*422 obs sans code sitc2, on drop
drop if sitc2==""
count
* pour 2005 et 2006, 130,311 obs supplémentaires
egen _ =group(iso_o)
sum _
drop _
* 213 pays origine
egen _ = group(sitc2)
sum _
drop _
* 1735 sitc2 (5 digits)
save hummels_addyears, replace
******************************************************************************
*** STEP 2.3: Construire l'écart prix cif/fob
******************************************************************************
** Attention, comme pour la base hummels, on le fait au niveau agrégé (5 digits)
**Il faut séparer les air et les vessels
** Attention, ce n'est pas "l'un ou l'autre"
** Il peut y avoir des observations qui utilisent à la fois air et ves
** On calcule un écart cif/fob pour chaque mode de transport
generate mode="ves"
save temp, replace
replace mode="air"
append using temp
generate prix_fob=.
generate prix_caf=.
generate prix_trsp=.
generate prix_trsp2=.
foreach i in air ves {
replace prix_fob = `i'_val/`i'_wgt if mode=="`i'"
replace prix_caf = (`i'_val+`i'_cha)/`i'_wgt if mode=="`i'"
replace prix_trsp=(prix_caf-prix_fob)/prix_fob if mode=="`i'"
replace prix_trsp2=prix_caf/prix_fob
label variable prix_trsp "(prix_caf-prix_fob)/prix_fob"
}
** De cette façon là, prix_fob est missing pour l'observation par mode "air" si tout le transport se fait par "ves"
** Et réciproquement
drop if prix_fob==.
erase temp.dta
destring year, replace
save hummels_addyears, replace
***************************************************
*** STEP 2.6: ADD to the whole database
***************************************************
use hummels_tra, clear
append using hummels_addyears
save hummels_tra, replace
** Attention aux anciennes versions de stata si sous Stata13
*saveold hummels_tra, replace
erase hummels_addyears.dta
************************************************************************
*** 29 mai 2015 - To be confirmed
*** Rétablir bug dans années récentes il n'y a pas les variables de gravité
*************************************************************************
* sur le fixe Dauphine
*cd "\\filer.windows.dauphine.fr\home\l\lpatureau\My_Work\Lise\Trade_costs\database"
* sur le serveur
*cd "C:\Echange\trade_costs\database"
clear all
set more off
use hummels_tra, clear
* On enlève les variables de gravité et on recommence le merge
capture drop iso_d
generate iso_d="USA"
tab year
drop contig-distwces
*merge m:1 iso_o iso_d using "E:\Lise\BQR_Lille\data\USdata_raw\dist_cepii.dta"
merge m:1 iso_o iso_d using "$dir_external_data/dist_cepii.dta"
drop if _merge==2
drop _merge
label var iso2 "ISO 2 country code (origin)"
label var iso_d "Importing country (iso3)"
label var iso_o "Exporting country (iso3)"
capture rename con_cif_yr con_cif
**Je ne sais pas pourquoi, mais c’était comme cela avant :)
save hummels_tra, replace
end
foreach year of numlist 2005(1)2019 {
Build_data_synthese `year'
}