#delimit; clear; set more off; global temp /Sastemp; global path ~; set mem 5000m; capture log close; log using $path/research/abortion/logs/birthfines.log, replace; /*================================================ Program: birthfines.do Author: Avi Ebenstein Created: June 2008 Purpose: Take census mothers, assign fines to them, and then estimate the reduced form relationship between fines and fertility outcomes (table 6) =================================================*/ use ~/research/abortion/datafiles/moms_china; keep if mage>=35 & mage<=40; reshape long b g ager, i(serial pernum) j(birthorder); keep if birthorder<=3; drop if b==0 & g==0; gen birthyear=year-ager; sort province birthyear; bysort serial pernum: egen earliest=min(birthyear); *drop if earliest<=1978; sort province birthyear; ************; * Fine data ; ************; merge province birthyear using ~/research/abortion/datafiles/fines.dta; tab birthyear _merge; keep if _merge==1|_merge==3; capture drop _merge; for numlist 1964(1)1978: bysort province: egen fineX=max(fine*(birthyear==X)); for numlist 1979(1)2000: bysort province: egen fineX=max(fine*(birthyear==X)); ******************; * Reshape to wide ; ******************; drop bonus premium; reshape wide fine birthyear ager b g, i(serial pernum) j(birthorder); sort serial pernum; merge serial pernum using ~/data/china/china1982/china1982, nokeep; capture drop _merge; /* rename prefect variable */ rename prefect prefect1980; sort serial pernum; merge serial pernum using ~/data/china/china1990/china1990, nokeep; capture drop _merge; /* rename prefect variable */ rename prefect prefect1990; sort serial pernum; merge serial pernum using ~/data/china/china2000/china2000, nokeep; /* rename prefect variable */ rename prefect prefect2000; gen farmer=.; replace farmer=(ind==0|ind==11) if year==1982; replace farmer=(industry==0|industry==11) if year==1990; replace farmer=(indu_r19==11) if year==2000; gen urbhukou=.; replace urbhukou=farmer==0 if year==1982; replace urbhukou=(hhtype==2) if year==1990; replace urbhukou=(nhukou_r7==2) if year==2000; **************************; * Assign fine on basis ; * of sex, birth, province ; * and urban/rural ; **************************; gen finerate1=0; gen finerate2=0; replace finerate1=fine2 if k2==1; replace finerate2=fine3 if k3==1; *****************************************************************************; * For mothers who never have a 2nd/3rd birth, assign fine from 35th birthday ; *****************************************************************************; gen mrage=round(mage,1); replace finerate1=fine2000 if k2==0 & year==2000; replace finerate2=fine2000 if k3==0 & year==2000; replace finerate1=fine1990 if k2==0 & year==1990; replace finerate2=fine1990 if k3==0 & year==1990; replace finerate1=fine1982 if k2==0 & year==1982; replace finerate2=fine1982 if k3==0 & year==1982; for num 1975/1978: capture gen fineX=0; for num 2001/2005: capture gen fineX=fine2000; forvalues j=30/40{; local k=2000+35-`j'; replace finerate1=fine`k' if k2==0 & mrage==`j' & year==2000; replace finerate2=fine`k' if k3==0 & mrage==`j' & year==2000; local l=1990+35-`j'; replace finerate1=fine`l' if k2==0 & mrage==`j' & year==1990; replace finerate2=fine`l' if k3==0 & mrage==`j' & year==1990; local l=1982+35-`j'; replace finerate1=fine`l' if k2==0 & mrage==`j' & year==1982; replace finerate2=fine`l' if k3==0 & mrage==`j' & year==1982; }; ******************************************************; * Dump 2 and 3 child policies and minorities together ; ******************************************************; replace policy=2 if policy==3|mrace>1; ***************************************; * Discount on kid 2 if G1 or policy>=2 ; ***************************************; replace finerate1=finerate1*1 if policy==1 & famtype1==1; replace finerate1=finerate1*.75 if policy==1.5 & famtype1==1; replace finerate1=finerate1*.25 if policy==1.5 & famtype1==2; replace finerate1=finerate1*.10 if policy==2; *************************; * Premium for 3rd births ; *************************; replace finerate2=finerate2*2 if policy==1; replace finerate2=finerate2 if policy==1.5; replace finerate2=finerate2*.50 if policy>=2; ***************************; * Non-agricultural premium ; ***************************; replace finerate1=finerate1*1.5 if urbhukou==1; replace finerate2=finerate2*1.5 if urbhukou==1; summ finerate1 finerate2; drop fine19*; save ~/research/abortion/datafiles/birthfines, replace; ******************************************************; * Regressions of demographic outcoems on fines ; ******************************************************; use ~/research/abortion/datafiles/birthfines; drop if birthyear<1964; replace finerate1=0 if finerate1==.; replace finerate2=0 if finerate2==.; egen myk2=mean(k2) if famtype1==2; egen myk3=mean(k3) if famtype2==4; egen myb2=mean(b2) if famtype1==2 & k2; egen myb3=mean(b3) if famtype2==4 & k3; for any k2 k3 b2 b3 : egen mX=mean(myX); ***************************************; * Reduced form models of sex selection ; ***************************************; gen finevar=.; forvalues i=1/4{; local temp=1; if `i'==1{; replace finevar=ln(finerate1); replace finevar=0 if finevar==.; xi: reg k2 finevar myrsed farmer mage hage hyrsed i.province i.birthyear1 if famtype1==2 [w=mperwt], robust cluster(province); outreg using $path/research/abortion/outfiles/birthfines, addstat(Average prediction, mk2) adec(3) 3aster coefastr se nor2 bdec(3) tdec(3) replace; }; if `i'==2{; replace finevar=ln(finerate2); replace finevar=0 if finevar==.; xi: reg k3 finevar myrsed farmer mage hage hyrsed i.province i.birthyear2 if famtype2==4 [w=mperwt], robust cluster(province); outreg using $path/research/abortion/outfiles/birthfines, addstat(Average prediction, mk3) adec(3) 3aster coefastr se nor2 bdec(3) tdec(3) append; }; if `i'==3{; replace finevar=ln(finerate1); replace finevar=0 if finevar==.; xi: reg b2 finevar myrsed farmer mage hage hyrsed i.province i.birthyear1 if famtype1==2 & k2==1 [w=mperwt], robust cluster(province); outreg using $path/research/abortion/outfiles/birthfines, addstat(Average prediction, mb2) adec(3) 3aster coefastr se nor2 bdec(3) tdec(3) append; }; if `i'==4{; replace finevar=ln(finerate2); replace finevar=0 if finevar==.; xi: reg b3 finevar myrsed farmer mage hage hyrsed i.province i.birthyear2 if famtype2==4 & k3==1 [w=mperwt], robust cluster(province); outreg using $path/research/abortion/outfiles/birthfines, addstat(Average prediction, mb3) adec(3) 3aster coefastr se nor2 bdec(3) tdec(3) append; }; }; type $path/research/abortion/outfiles/birthfines.out; ex; Source: See Table 1. The regressions are performed using all births that occurred between 1979 and 2000 that were matched to a mother. The census data for 1982, 1990, and 2000 are pooled together to perform this calculation. Note: The fine is measured in years of household income, taken from Scharping (2003). The first two regressions examine the partial correlation between the fine for a 2nd/3rd birth and the chance parents have a 2nd/3rd child. The second two regressions are restricted to those who have a 2nd/3rd birth and examine the partial correlation between the fine paid for the 2nd/3rd birth and the chance the birth is male. Note that higher birth fines are associated with lower fertility rates and higher sex ratios among those who have another child. Farming families are more likely to have a 2nd and 3rd birth due to regulations allowing additional fertility. The year of child's birth indicates that during this window fertility is declining but the male fraction of births is rising, possibly due to increasingly stringent enforcement of fines in recent years (Scharping 2003). Additional control variables for the age and years of education of both the mother and father are included in all specifications, as well as province fixed effects. Year of child's birth for fertility regressions is based on the year of the mother's previous birth.