财新传媒
位置:博客 > 万钊 > 一个构建经济动能指标的初步尝试

一个构建经济动能指标的初步尝试

EV视点公众号的文章《不瞅GDP,你还能瞅啥?(二)》,讲到美联储的三位经济学家,Fernald, Hsu & Spiegel(2021)运用主成分分析法,从8个月度指标中提取第一主成分作为反映中国经济周期活动的指标,也就是所谓的“中国经济周期追踪指数”(China Cyclical Activity Tracker,缩写CCAT)。本文我们初步尝试来构建一下。
一、参考论文的大概思路
论文的题目叫做:Is China Fudging Its GDP Figures Evidence from Trading Partner Data。论文的第一部分,是讨论选择哪个指标,作为衡量经济波动的可靠指标。论文选择了进口,而且基于贸易伙伴出口口径的进口,来作为衡量经济波动的指标。原因之一在于,由于涉及到关税,因此贸易伙伴出口口径的数据比较准确;原因之二在于,进口仅包括国内居民的消费需求,也包括中间品加工再出口的需求,与经济关系较为密切;原因之三在于,参考统计体系完善的国家经验,进口和GDP的波动比较一致。
但是单一指标的拟合性往往不太好,而基于一篮子指标所提炼的第一主成分,往往有更好的拟合性。论文选择了14个基础指标及其组合,来寻找最优的拟合指标。从单一指标来看,发电量的拟合效果最好。但是从样本外的预测来看,基于指标组合所提炼的主成分,预测误差最小。
论文还做了其他讨论,从拟合样本时期上看,虽然时期越长,经济结构发生重大变化的可能性越大,但是从实际效果上看,始于2000年的更长样本期,拟合效果要好于2008年开始的较短样本期。
另外就是提炼主成分的指标组合并不是越多越好,随着指标的增加,拟合精度反而会变差。论文通过两种方法选择指标组合,其中一种是根据单一指标的拟合度,由高到低依次添加,这种方法所挑选的六个指标组合是:
两种方法的结果基本一致。我们本文就尝试使用这六个指标来拟合经济活动指数。
二、指标的构建步骤
论文使用的是指标的季度数据,为了排除季节性干扰,论文使用的是季度数据的年化同比。而且论文使用一个biweight filter对同比增速进行去趋势,只保留周期性的波动成份。然后再对波动成份,进行均值0-方差1的标准化处理。我们使用月度指标处理。
主要的Python代码如下:
使用biweight filter去趋势
CCAT_np = np.array(CCAT)
obs = np.linspace(0,CCAT_np.shape[0]-1,num=CCAT_np.shape[0])
for i in range(CCAT.shape[1]):
    flatten_lc, trend_lc = flatten(
        obs,                 # Array of time values
        CCAT_np[:,i],                 # Array of flux values
        method='biweight',
        window_length=60,    # The length of the filter window in units of ``time``
        return_trend=True,    # Return trend and flattened light curve
    )
    CCAT_np[:,i] = flatten_lc
对数据进行均值0-方差1的标准化
CCAT_np_std = (CCAT_np - np.mean(CCAT_np,axis=0))/np.std(CCAT_np,axis=0)
PCA建模
from sklearn.decomposition import PCA
pca = PCA(n_components=1)
pca.fit(CCAT_np_std)
reduced_CCAT=pca.fit_transform(CCAT_np_std)
CCAT_new = pd.DataFrame(reduced_CCAT*(-1),index=CCAT.index,columns=['CCAT'])
CCAT_np_std_new.iplot(title='原始数据的标准化')
CCAT_new.iplot(title='经济动能指数的表现')
我们选择第一主成分作为经济动能指数,从指数上看,2020年12月的经济动能,处于较高景气水平,与2019年末基本相当。但是从曲线上看,还是有一些毛刺状突起,背后原因可能是春节错位对同比增速的干扰。后续可以通过对原始数据进行季节性调整,来进行优化。
另外,考虑到同比增速有滞后性,我们可以考虑对环比增速做类似指数,可能对经济的变动更加灵敏。
 



推荐 0