看到论坛中有人在问hp滤波,这里做一个总结,简单介绍一下平滑参数的选取以及Stata代码实现,关于HP滤波,有两种命令tsfilter和hprescott,结果是完全一致的。另外,我们也通过Stata代码画图,画出趋势成分、周期成分以及原始数据的变动图。
- //# 平滑参数的选取
- /*季度数据取1600,年度数据取6.25,月度数据取12900
- λs=s^4*λ1
- λquarterly=λ1=1600
- λanual=(1/4)^4*1600=6.25 //s为相对于季度数据的频率比,对于年度数据而言,s=1/4
- λmonthly=3^4*1600=12900 //对于月度数据而言,s=3,
- 对于日读数据,你可以自己算,大约是91^4*1600,一般用不上 */
- webuse gdp2,clear
- //# tsfilter
- tsfilter hp gdp_hp = gdp,smooth(1600) trend(tr) //季度数据平滑参数取1600
- #delimit ;
- twoway line gdp gdp_hp tr tq,
- legend(order(1 "gdp" 2 "Cycle" 3 "Trend") col(1) pos(10)
- ring(0) region(fc(none) lp(blank))) xtitle("") scheme(s1color);
- #delimit cr
- //#hprescott
- hprescott gdp,stub(hp) smooth(1600)
- #delimit ;
- twoway line gdp hp* tq,
- legend(order(1 "gdp" 2 "Cycle" 3 "Trend") col(1) pos(10)
- ring(0) region(fc(none) lp(blank))) xtitle("") scheme(s1color);
- #delimit cr
复制代码