Stata: 物价指数 (CPI) 的导入和转换

2019-01-12  本文已影响312人  stata连享会

文章的样本区间为 1998-2017,需要以 2017 = 100 为准,计算各期的 CPI 指数,以便对所有原始财务变量进行平减,以消除通胀的影响。

中国的 CPI 数据

   *-------------------
   *-CPI 指数数据
   *-Source: 国家统计局 
   * http://data.stats.gov.cn/easyquery.htm?cn=C01&zb=A0902&sj=2017
   * @ input:  1978==100, Range: 1998-2017
   * @ output: 2017==100, Range: 1998-2017
   *------------------------------------begin------
     clear 
     #d ;
     input cpi1978 ;
        637.5 ; 627.5 ; 615.2 ; 606.7 ; 594.8 ; 579.7 ; 565.0 ; 536.1 ; 
        519.0 ; 522.7 ; 493.6 ; 471.0 ; 464.0 ; 455.8 ; 438.7 ; 433.5 ; 
        437.0 ; 434.0 ; 432.2 ; 438.4 ;
     end ;
     #d cr 
     egen year = seq(), from(2017) to(1998)
     tsset year 
     gen p2017 = cpi1978[_N]
     gen cpi2017 = cpi1978/p2017  
     label var cpi2017 "CPI, 2017=100"
     keep year cpi2017
     qui tsset 
     save "CPI2017.dta", replace 
   *------------------------------------over------ 

Note: 后续可以考虑写一个小程序,自动从国家统计局或其他途径下载指定时间区间和pinlde数据到 Stata 中。

美国的 CPI 数据

可以在 Stata 里使用 ssc install cpigen 安装外部命令 cpigen,在线获取 1913-2012 年期间的 CPI 数据,可以自行选择数据频率 (支持月度、季度和年度)。详情参见 help cpigen

Stata 范例

webuse nlswork, clear
replace year=year+1900
cpigen
g nomwage=exp(ln_w)*cpi
su cpi if year==1978
g wage78=nomwage/cpi*r(mean)
la var wage78 "Real Wage, 1978 dollars"
g x=exp(_n/20-1) in 1/80
kdensity wage78 if year==1968, at(x) g(d68) nogr
kdensity wage78 if year==1978, at(x) g(d78) nogr
kdensity wage78 if year==1988, at(x) g(d88) nogr
la var d68 "1968 Wages"
la var d78 "1978 Wages"
la var d88 "1988 Wages"
twoway line d68 d78 d88 x, xsc(log) scheme(s2color)



关于我们

联系我们

往期精彩推文


欢迎加入Stata连享会(公众号: StataChina)
上一篇 下一篇

猜你喜欢

热点阅读