一、数据说明

1. 实际GDP数据

在寻找数据来源的过程中,我们最初尝试使用Python的datareader从FRED数据库获取实际GDP数据。然而,我们很快发现了一个问题:FRED中的数据是以2017年为基期动态调整的。当我们结合GDP平减指数,以2017年为基期计算中国的实际GDP时,结果显示1978-1982年中国实际GDP大于美国,这显然是不合理的。因此,我们引入了CPI作为另一个衡量实际GDP的统计指标。但CEIC上的CPI数据不完整,导致统计口径不一致。最终,我们找到了世界银行数据库中以2015年为基期的中美实际GDP数据(1960-2023年),并将其作为最终的GDP数据来源。

2. 汇率换算

在单位换算过程中,我们使用了世界银行数据库提供的1978-2023年度汇率数据。

3. 美国个人消费支出数据

美国个人消费支出数据来自FRED数据库。

4. 中国宏观经济数据

中国总人口、最终消费支出、资本形成总额以及固定资产投资数据均来自国家统计局官网。

5. 数据处理

由于中国固定资产投资数据在1978-1979年这两年缺失,我们采用线性外推法进行处理。具体方法是:计算1981年与1980年的数据差值,得到年增量。然后用1980年的数据减去年增量,得到1979年的数据,并以此类推得到1978年的数据进行填充。

1.2 图表生成过程

1. 数据预处理

  • 从Excel文件economic_data.xlsx中读取数据。
  • 重命名列以使其更具描述性,例如将Year改为年份RGDP_CN改为中国实际GDP_RMB(2015年为基期)等。
  • 确保年份列是数值类型,并按年份对数据进行排序。
    构建宏观变量的定义表格以描述各个变量,便于作图
Variable Abbreviation Full Name Unit Data Source Economic Significance
RGDP_CN 中国实际GDP(2015年为基期) 亿元 世界银行 衡量中国剔除价格因素后的经济总量,反映实际经济增长趋势
POP_CN 年末总人口 万人 国家统计局 人口规模直接影响劳动力供给和消费市场潜力
CONS_CN 最终消费支出 亿元 国家统计局 反映居民和政府消费需求,是经济增长的核心驱动力之一
GFCF_CN 资本形成总额 亿元 国家统计局 衡量固定资产投资和存货变动,体现投资对经济增长的贡献
FAI_CN 全社会固定资产投资 亿元 国家统计局 反映基础设施、房地产等领域的投资强度,是政策调控的重要指标
RGDP_US 美国实际GDP(2015年为基期) 亿元 世界银行 美国经济规模的核心指标,用于国际比较和分析全球经济联动性
PCE_US 美国个人消费支出 亿元 FRED 美国居民消费能力的直接体现,占GDP约70%,是经济周期的重要风向标
UNEMP_YTH_CN 中国青年失业率(2018–2023) %% 国家统计局 反映16-24岁人口就业压力,与产业结构转型和政策效果密切相关

2. 计算增长率

  • 计算中国和美国的实际GDP增长率,通过取连续年份的GDP值的百分比变化。

3. 创建图表

  • 使用Plotly库创建三个图表:
    • 双轴折线图:展示中美实际GDP增长率的对比。
    • 堆叠面积图:展示中国消费与投资占GDP的比重演变。
    • 散点图:分析青年失业率与GDP增长的相关性。

4. 添加注释和分界线

  • 在双轴折线图中添加关键历史事件的注释,如改革开放、金融危机等。
  • 在堆叠面积图中添加注释,描述特定时期的经济特点。
  • 在散点图中添加回归线和注释,解释数据趋势。

5. 保存图表

  • 将每个图表保存为HTML文件,以便嵌入到Hexo站点。

二、图表展示

2.1 中美实际GDP增长率对比(1978-2023)

*图1:中美实际GDP增长率对比(1978-2023)*

2.2 中国消费与投资占GDP比重演变

*图2:中国消费与投资占GDP比重演变*

2.3 青年失业率与GDP增长相关性(2020-2023)

*图3:青年失业率与GDP增长相关性(2020-2023)*

三、描述性统计与扩展分析

3.1 描述性统计

表1:1978-2023年中国部分经济指标描述性统计

Variables Obs Mean Std. Dev. Min Max p1 p99 Skew. Kurt.
china gdp 46 356000 353000 6096.234 1220000 6096.234 1220000 0.875 2.618
population 46 124000 14119.853 96259 141260 96259 141260 -0.485 1.979
fce 46 171000 215000 2239.7 735000 2239.7 735000 1.257 3.281
gcf 46 133000 168000 1383.3 532000 1383.3 532000 1.129 2.887
fai 46 135000 170000 810.7 510000 810.7 510000 1.017 2.493
yur 6 14.715 3.331 10.817 19.583 10.817 19.583 0.333 1.798

表1展示了1978-2023年中国相关指标的描述性统计分析。根据上表数据指标可知,1978-2023年中国经济发展存在以下四个特征:
(1)经济增长稳定性增强:中国实际GDP的标准差为353000,且偏度为0.875,表明中国经济存在增长,且增长波动性相对较低。
(2)人口增长稳定:人口数据的偏度为-0.485,峰度较低为1.979,表明人口数据分布较为均衡,波动性较小。
(3)最终消费支出不平等加剧:FCE(最终消费支出)均值为171000,标准差215000,偏度1.257,数据右偏,表明1978-2023年中国存在较大消费不平等,少数高消费群体拉高了整体均值。
(4)资本形成波动性较大:GCF(资本形成总额)均值为133000,标准差168000,偏度1.129,显示投资增长但存在较大波动。

3.2 扩展分析

3.2.1 基于中国1978-2023年的10年滚动标准差的评估

1978-2023年对数化处理后中国10年滚动标准差

图1:1978-2023年对数化处理后中国10年滚动标准差

图1展示了对数化处理后1978-2023年中国10年滚动标准差情况。从图1中可知,对数化处理后中国实际GDP 10年滚动标准差呈现以下趋势:

  • 1978年中国开始市场化改革,经济增速加快,波动性开始上升,并于1980年代末期达到高峰,反映出改革初期政策调整对经济发展的影响。
  • 1990年代早期由于国有企业改革、经济体制调整等因素影响,经济波动性维持在较高水平;在1997年亚洲金融危机期间,经济波动性有所下降,但整体经济波动性仍然较高。
  • 2000年后,中国经济增长模式趋于稳定,GDP波动性明显下降,反映出中国2001年加入WTO后,经济深度融入全球贸易体系,经济结构更加多元化。
  • 2010年后,GDP滚动标准差降至较低水平,说明中国经济变得更加稳定。
  • 2020年后,受疫情、全球供应链变化以及国内经济调整影响,中国GDP波动性略有回升,但整体仍低于历史高点。

综上,自1978年以来,中国经济波动呈现显著下降趋势,但未来仍需关注波动性变化。

3.2.2 应用霍德里克-普雷斯科特滤波器的中美商业周期同步性评估

1978-2023年中美实际GDP趋势性对比

图2:1978-2023年中美实际GDP趋势性对比

图2展示了对数化处理后1978-2023年中美实际GDP趋势性对比。由图2可知:

  • 中国GDP的长期趋势呈现持续稳定的增长,尤其是在1978年改革开放后,经济增速显著提高;2000年后,中国的趋势增长依然较快,但增长速率相对放缓,呈现趋于平稳的态势。
  • 美国GDP长期趋势也呈现上升态势,但增长速率在2000年后明显减缓;1990年代至2000年初,美国的趋势增长较快,但之后经济增速趋于平稳,增长放缓。
  • 2000年之前,中美两国的GDP趋势成分总体上保持较高的增长,并且在大方向上具有一定的同步性。但在2000年后,美国GDP趋势增长减缓,反映出2001年互联网泡沫破裂、2008年金融危机及2020年新冠疫情对美国经济的影响。相比之下,2000年后,中国GDP趋势依然保持较强的增长势头,虽然增速有所放缓,但相比美国更加稳定。因此可见,2000年之后,中美经济趋势增长出现明显的“脱钩”。

1978-2023年中美实际GDP周期性对比

图3:1978-2023年中美实际GDP周期性对比

图3展示了对数化处理后1978-2023年中美实际GDP周期性对比。由图3可知:

  • 1970年代至1990年代,中美商业周期有一定的同步性:1980年之前,中美两国的商业周期波动方向类似,都经历了较大幅度的衰退。1990年前后,两国的经济波动方向基本一致,都经历了短暂的经济复苏期。1990年后,美国经济周期快速上升,而中国的波动相对滞后。但整体来看,在2000年之前,中美两国的商业周期仍然有一定的同步性。
  • 2000年后,中美商业周期的同步性显著下降:2000年由于互联网泡沫破裂,美国GDP进入下降周期,但相比之下,中国GDP周期变化较小。2008年由于世界金融危机,美国GDP周期成分大幅下跌,然而中国GDP周期波动较小且恢复速度较快。上述表明,中国经济在2000年后受到美国经济冲击的影响逐渐减弱,经济周期开始独立。
  • 2010年后,美国的商业周期经历了短期的波动,但中国经济周期性波动幅度较小,两国商业周期同步性较低。2020年后,受疫情影响,美国GDP周期性成分明显下降,相比之下,中国经济周期性波动较小,恢复更快。

综上可知,2001年之前,中美的经济波动基本一致,经济衰退和复苏阶段相对同步,中美商业周期有一定同步性;2001年之后,中美商业周期明显脱钩,尤其在2008年金融危机和2020年新冠疫情后,中国经济周期的独立性增强。

四、政策分析

三架齐驱“双轮”制动:提升消费稳定性与青年就业的中国经济改革路径

摘要
基于对1978年至2023年间中国经济数据的实际分析,我们发现中国正面临着:

  1. 依赖投资驱动导致经济波动性高
  2. 青年就业率降低经济增长韧性的两大挑战,制约着中国经济的发展潜力。

对此,本简报提出:

  1. 到2030年将最终消费率从2023年的54%提升至60%,将GDP波动性(滚动标准差)降低7.68%。
  2. 到2028年将青年失业率从2023年的19.6%降至15%,对应GDP增速提高9.5%。

以上两个目标,并结合现有经济发展领域的前沿研究成果,设计了相应具体可操作的中长期产业政策,旨在通过结构性改革实现可持续增长。
关键词:经济发展;宏观经济;政策简报


挑战一:投资驱动模式导致经济波动性高,消费对经济发展驱动力不足

1.1 挑战

中国经济增长长期依赖资本、劳动、全要素生产率三大驱动力,但自改革开放以来,资本驱动的投资扩张始终占据主导地位。财政部数据显示,2000-2023年资本形成总额年均增速达12.4%,显著高于消费(9.2%)与出口(8.1%),资本形成率(资本形成总额/GDP)长期维持在40%以上,2023年仍达35.6%,远超全球平均水平的22%。这种模式虽在工业化初期推动了高速增长,却在长期来看会加剧宏观经济波动,导致债务压力攀升、经济发展动力不足等一系列问题,削弱经济发展的可持续性。

据财政部财政科学研究院的研究发现,投资驱动型经济对政策刺激高度敏感,加剧了经济波动性风险。根据国家统计局数据,2001-2010年中国GDP年均增速达10.5%,同期基建投资占固定资产投资比重从25%升至35%,土地出让收入占地方财政比重从2001年的9.6%飙升至2021年的67.8%,驱动经济高速增长。然而2011年后政策边际效应递减:资本形成总额增速从年均18%降至10%,增量资本产出率(ICOR)从3.5升至6.0,单位GDP增长所需投资翻倍,资本利用率不断衰减。至2023年,GDP增速回落至5.2%。土地财政依赖度超过50%的省份出现债务风险,印证投资驱动模式的不可持续性。

数据支持:在控制消费占GDP比重(消费率)的情况下,对投资占GDP比重(投资率)与滚动标准差(滚动标准差)做多元回归分析,发现两者之间存在显著正相关关系。在控制消费率的情况下,投资率每增加1%,滚动标准差平均增加约7%(计算方式:回归系数×投资率平均值×1%)。
投资率与滚动标准差的关系(控制消费率)

图1:投资率与滚动标准差的关系(控制消费率)

1.2 目标:2030年提高消费率至60%

根据收集到的数据与进阶统计成果可知,我国2023年最终消费率仅54.3%,低于全球均值的75%,而固定资产投资占GDP比重达43.1%,资源错配抑制居民收入增长与消费升级。相比之下,消费驱动型经济体如美国GDP波动标准差仅为中国的1/3。在进行回归分析时,发现消费率和GDP滚动标准差之间具有非线性关系,但在偏差值低于50000的大多数情况下,两者存在较为显著的负相关关系。为了更直观地展示,对滚动标准差进行对数化处理后,在控制投资占GDP比重(投资率)的情况下,对消费占GDP比重(消费率)与经过对数化处理的滚动标准差(ln滚动标准差)做多元回归分析,发现两者之间存在负相关关系。在控制投资率的情况下,消费率每增加1%,滚动标准差平均减少约1.28%(计算方式:回归系数×消费率平均值×1%)。
消费率与对数化处理后滚动标准差的关系(控制投资率)

图2:消费率与对数化处理后滚动标准差的关系(控制投资率)

我国的最终消费率(FCE/GDP)长期徘徊于54%-55%,远低于美国的68%和欧盟的75%,内需对增长的稳定作用未充分释放。可见我国的消费市场还存在巨大的开发空间。我们制定目标为在2030年前实现最终消费率达到60%,增长6%左右,预计可以使得滚动标准差下降7.68%,在充分激活经济发展潜力的同时降低经济发展的不稳定性、不确定性。

1.3 实施

当前,传统投资引擎面临债务约束、产能过剩与全球供应链重构三重压力,亟需转向消费主导、创新驱动的高质量发展模式,以破解结构性矛盾、增强经济内生稳定性。

短期措施:运用多种政策工具促进稳健增长,提升中国经济自主性

  1. 稳定房地产市场:加大房地产收储政策力度,解决房企债务风险。增加地方政府专项债券规模,重点用于投资建设、土地收储和收购存量商品房,盘活存量用地和商办用房,推进收购存量商品房。这不仅能稳定房地产市场,还能带动上下游相关产业的发展,稳定就业和居民收入预期,进而促进消费。
  2. 加大宏观政策逆周期调节力度:实施更加积极有为的财政政策和稳健灵活的货币政策。适度提高财政赤字率,增发超长期特别国债和专项债,扩大政府支出,支持基础设施建设、民生保障等领域。同时,适时降准降息,保持流动性充裕,降低企业融资成本,刺激企业投资和居民消费。
  3. 保障企业资金链稳定:加快推进落实偿还拖欠企业账款工作,特别是中小微企业账款,做到“应付快付、应付尽付”,加强审计监督,强化失信约束,健全清欠长效机制。这有助于缓解企业资金压力,增强企业生产经营的稳定性和信心,保障产业链供应链的稳定运行。
  4. 稳定就业与居民收入:注重经济增长的就业导向,通过经济增长拉动就业,扩大居民工资性收入。同时,增加转移支付,提高对国内中低收入人群的补贴,提升他们的消费能力。此外,实施农村低收入人口提能增收行动,持续实施农业品牌精品培育计划,培育新型农业经营主体,促进农民增收。

长期措施:稳定消费者未来预期,兼顾消费增量提质,促进经济长效发展

  1. 对产业
    • 培育新的消费增长点:在“六保”政策的基础上,实施“六稳”措施,满足消费者多元化需求,培育新的经济增长点。例如,发展在线医疗、无人配送等创新领域,利用数字化手段解决传统产业瓶颈,刺激消费潜力。
    • 促进产业转型升级:调整农业结构,推动服务业发展,提高服务品质,提升就业率。着重推动人工智能、可再生能源和数字化产业的深度融合,为消费升级提供支撑。
    • 开发中高端消费客体:鼓励企业开发符合消费者需求的高品质、高附加值产品。政府可出台相关政策,引导企业注重产品创新,推动产品质量提升,鼓励企业将现代潮流与中国传统文化结合,开发具有中国特色的中高端消费品。
  2. 对社会
    • 促进高收入群体消费倾向:由task3的进阶统计结果可知,我国存在不同收入群体消费不均的现状,高收入群体是消费主力。在进一步促进收入公平化长期政策保持不变的前提下,可以通过鼓励市场创新,提升消费品质,引导高收入群体将外需转化为内需,从而推动国内市场增长。
    • 加大扶贫力度,推动乡村振兴:深化消费扶贫,发展农村电商,拓宽农产品销售渠道,支持乡村地区的家政劳务输入基地建设,提高农民收入水平,促进乡村产业转型升级。
    • 完善社会保障机制:完善全民社保体系,特别是提高农村地区的保障水平,减轻居民的后顾之忧,提升其消费信心。同时,要加大公共服务领域的改革力度,提高医疗、教育、养老等基本公共服务的质量和可及性。
    • 优化消费环境:持续优化营商环境,完善市场准入负面清单管理模式,深入清理整治各类市场准入壁垒,营造稳定公平透明可预期的市场环境。此外,严格落实带薪年休假制度,鼓励带薪年休假与小长假连休,实现弹性错峰休假,依法保障劳动者休息休假权益。

挑战二:GDP增速放缓增加青年失业率,威胁经济增长韧性

2.1 挑战

根据奥肯定律,GDP增长为社会创造更多就业机会,因此GDP增长与失业率存在负相关关系。然而尽管近年中国经济一直保持匀速增长,却呈现出经济增速放缓与青年失业率攀升并存的现象。根据国家统计局数据,2023年GDP增速为5.2%,较2010年的10.6%水平出现腰斩,同期16-24岁青年失业率升至19.6%,凸显出潜在的结构性矛盾。小组成员进行调查分析后发现:产生这种现象的原因一方面可能是传统制造业自动化使得低技能岗位受到压缩:根据国际机器人联合会数据显示:2018-2023年工业机器人密度年均增长20%,对青年劳动力产生了替代作用;另一方面则可能是因为失业率增长受到新冠疫情的滞后性影响,根据智联招聘数据显示:2020年第一季度企业招聘职位数同比减少27.8%,中小企业更是减少了34.5%,岗位缩减尤为明显。

数据支持:对GDP增长率与中国青年失业率进行回归分析,发现两者呈现正相关关系,当GDP增长率增加1%时,中国青年失业率就降低大约0.285%。

GDP增长率与中国青年失业率的关系

图3:GDP增长率与中国青年失业率的关系

2.2 目标:到2028年将青年失业率从2023年的19.6%降至15%

然而根据工信部数据显示,2022年数字经济人才缺口达1100万,劳动力市场对技能型人才存在巨大的需求缺口。我们制定目标为在2028年前实现青年失业率从2023年的19.6%降至15%,降低4.6%左右,为此预计需要使GDP增长率增速提升16.13%(计算方式:4.6%×0.285/1),在充分增强经济发展潜韧性的同时提升社会整体福祉和居民生活质量。

2.3 实施

2023年居民消费率仅38%,低于全球55%的均值,弱化了内需对经济增长的支撑。我国需要尽快破解低技能过剩-高技能短缺困局,避免陷入低增长-高失业恶性循环,威胁长期经济韧性。为此,中央政府和地方各级政府可以采取加强青年劳动力技能水平+企业激励和产业转型+建立就业可持续保障机制三头并举的政策工具,为青年劳动力就业创造积极环境。

  1. 精准技能培育行动

    • 实施数字经济双元制培训计划:在人工智能、新能源等战略性新兴领域,建立产教融合培训基地,联合领先企业共同制定并推行岗位技能认证标准。培养符合产业发展需求的高技能人才,提升整体行业竞争力。
    • 推广绿色技能认证体系:针对绿色低碳经济的发展,建立包括光伏运维、储能管理等在内的10类绿色职业资格认证,帮助劳动者获得绿色产业所需的专业技能。对于参与碳中和相关培训的人员,政府可以发放专项技能补贴,以激励更多人加入绿色产业,提升行业人才储备。
  2. 企业转型激励工程

    • 建立战略性新兴产业就业激励机制:对于半导体、生物医药等知识密集型企业,实施阶梯式税收优惠政策,降低企业转型升级的税负,鼓励更多企业投入研发和技术创新,促进产业高质量发展。
    • 构建产业人才需求响应机制:效仿韩国数字新政,对雇佣青年占比超20%的企业减免10%所得税,重点扶持半导体、生物医药等知识密集型产业。建立“技术攻关特训营”,针对“卡脖子”领域的紧缺人才问题,定向培养关键技术人才,弥补产业发展中的技术空白,推动自主创新。
  3. 可持续保障机制

    • 创新职业教育融资模式:设立产教融合专项债券,引导社会资本投入数字技能培训设施建设,鼓励更多民间资金参与职业教育的发展,推动职业教育和产业需求的深度融合,确保高质量技能人才的培养。
    • 构建就业动态预警系统:针对结构性失业高发区域,实施“培训+岗位”精准对接策略。通过本地化的职业培训与就业岗位的对接,帮助这些区域的劳动者迅速提升职业技能,缓解就业压力,推动区域经济平衡发展

五、分工与合作反思

Task1:
中国的总资本形成、最终消费支出、总人口、固定资产投资,美国的个人消费支出:张凯鸣
中国的青年失业率:胡雨梵
中美两国实际GDP:李炫昱
数据处理、缺失值处理:周懿如
Task2:周懿如
Task3:李炫昱
Task4:胡雨梵
封面设计:胡雨梵
博客网页搭建、网页排版:周懿如
本次小组作业存在的不足:1.task1中汇率数据没有考虑汇率波动的影响 2.可以进一步增加更多有关经济意义的解释

附录:task1-2图表生成代码&task3-4 statado文档&参考文献


以下是生成上述数据的Python和stata代码:

import pandas as pd
import pandas_datareader.data as pdr
from datetime import datetime

# 设置时间范围
start = datetime(1978, 1, 1)
end = datetime(2023, 12, 31)

# 从FRED获取美国实际GDP数据和个人消费支出(单位:十亿美元)
print("正在从FRED获取美国实际GDP和和个人消费支出数据...")
us_gdp = pdr.DataReader('GDPC1', 'fred', start, end)
us_pce = pdr.get_data_fred('PCECC96', start, end)


# 转换为年度数据(取每年第四季度值)
us_gdp_annual = us_gdp.resample('Y').last().dropna()
us_gdp_annual.index = us_gdp_annual.index.year
us_gdp_df = us_gdp_annual.reset_index()
us_gdp_df.columns = ['Year', 'GDP_USD_10B']
us_pce_annual = us_pce.resample('Y').last().dropna()
us_pce_annual.index = us_pce_annual.index.year
us_pce_df = us_pce_annual.reset_index()
us_pce_df.columns = ['Year', 'PCE_USD_10B']

# 从FRED获取人民币汇率数据(DEXCHUS 为人民币/美元汇率)
print("正在从FRED获取汇率数据...")
exchange_rate = pdr.DataReader('DEXCHUS', 'fred', start, end)

# 处理汇率数据为年度平均值
exchange_rate_annual = exchange_rate.resample('Y').mean()
exchange_rate_annual.index = exchange_rate_annual.index.year
exchange_rate_df = exchange_rate_annual.reset_index()
exchange_rate_df.columns = ['Year', 'Exchange_Rate']

# 合并GDP, PCE和汇率数据
merged_data01 = pd.merge(us_gdp_df, exchange_rate_df, on='Year', how='left')
merged_data02 = pd.merge(us_pce_df, exchange_rate_df, on='Year', how='left')

# 线性插值填补缺失汇率(允许向前/向后填充)
merged_data01['Exchange_Rate'] = merged_data01['Exchange_Rate'].interpolate(
    method='linear',
    limit_direction='both'  # 允许向前和向后插值
)
merged_data02['Exchange_Rate'] = merged_data02['Exchange_Rate'].interpolate(
    method='linear',
    limit_direction='both'  # 允许向前和向后插值
)

# 单位转换计算
merged_data01['GDP_USD_100M'] = merged_data01['GDP_USD_10B'] * 10  # 十亿美元 → 亿美元
merged_data01['GDP_RMB_100M'] = merged_data01['GDP_USD_100M'] * merged_data01['Exchange_Rate']
merged_data02['GDP_USD_100M'] = merged_data02['GDP_USD_10B'] * 10  # 十亿美元 → 亿美元
merged_data02['GDP_RMB_100M'] = merged_data02['GDP_USD_100M'] * merged_data02['Exchange_Rate']

# 清洗和保存结果
final_data01 = merged_data01[['Year', 'GDP_USD_100M', 'Exchange_Rate', 'GDP_RMB_100M']]
final_data01.columns = ['年份', '美国实际GDP(亿美元)', '年均汇率(人民币/美元)', '美国实际GDP(亿人民币)']
final_data02 = merged_data02[['Year', 'PCE_USD_100M', 'Exchange_Rate', 'PCE_RMB_100M']]
final_data02.columns = ['年份', '美国个人消费支出(亿美元)', '年均汇率(人民币/美元)', '美国个人消费支出(亿人民币)']

# 导出CSV
csv_path = "美国实际GDP_人民币计价_FRED汇率.csv"
final_data01.to_csv(csv_path, index=False, encoding='utf-8-sig')
csv_path = "美国个人消费支出_人民币计价_FRED汇率.csv"
final_data02.to_csv(csv_path, index=False, encoding='utf-8-sig')

print(f"\n数据已保存至:{csv_path}")
print(final_data01)
print(final_data02)

#### 附录:图表生成代码

以下是生成上述图表的Python代码:

```python
import pandas as pd
import os
import plotly.express as px
import plotly.graph_objects as go
from plotly.subplots import make_subplots

# 指定保存路径
save_dir = r"C:\Users\79845\myblog\public"

# 确保保存路径存在
if not os.path.exists(save_dir):
    os.makedirs(save_dir)

# 数据预处理
file_path = r"C:\Users\79845\Desktop\大二下作业\economic_data.xlsx"
df = pd.read_excel(file_path)
df.rename(columns={'Year': '年份', 'RGDP_CN': '中国实际GDP_RMB(2015年为基期)',
                  'POP_CN': '总人口', 'CONS_CN': '最终消费支出',
                  'GFCF_CN': '资本形成总额', 'FAI_CN': '中国固定资产投资',
                  'RGDP_US': '美国实际GDP_RMB(以2015为基期)',
                  'PCE_US': '美国个人消费支出PCE', 'UNEMP_YTH_CN': '中国青年失业率'}, inplace=True)

# 确保数据按年份排序
df['年份'] = pd.to_numeric(df['年份'], errors='coerce')
df = df.sort_values(by='年份')

# 计算中美实际GDP增长率
df['GDP_Growth_CN'] = df['中国实际GDP_RMB(2015年为基期)'].pct_change() * 100
df['GDP_Growth_US'] = df['美国实际GDP_RMB(以2015为基期)'].pct_change() * 100

# 双轴折线图
fig1 = make_subplots(specs=[[{"secondary_y": True}]])
colors = ['#8B0000', '#0000FF']  # 中国红棕色,美国蓝色
fig1.add_trace(go.Scatter(x=df['年份'], y=df['GDP_Growth_CN'], name="中国GDP增长率", mode='lines+markers', line=dict(color=colors[0]), marker=dict(size=8, color=colors[0])), secondary_y=False)
fig1.add_trace(go.Scatter(x=df['年份'], y=df['GDP_Growth_US'], name="美国GDP增长率", mode='lines+markers', line=dict(color=colors[1]), marker=dict(size=8, color=colors[1])), secondary_y=True)

fig1.update_layout(
    title=dict(
        text="中美实际GDP增长率对比(1978–2023)<br><span style='font-size:16px'>中国和美国实际GDP增长率的变化趋势,以及关键历史事件对经济增长的影响</span>",
        font=dict(size=22, family='KaiTi')
    ),
    xaxis_title=dict(text="年份", font=dict(size=18, family='KaiTi')),
    yaxis_title=dict(text="增长率 (%)", font=dict(size=18, family='KaiTi')),
    legend_title=dict(text="国家", font=dict(size=18, family='KaiTi')),
    hovermode="x unified",
    font=dict(size=16, family='KaiTi')
)

# 设置y轴范围
fig1.update_yaxes(range=[-10, 80], secondary_y=False)  # 中国GDP增长率的y轴范围
fig1.update_yaxes(range=[-10, 80], secondary_y=True)    # 美国GDP增长率的y轴范围

# 添加关键事件注释
fig1.add_annotation(
    x=1978,
    y=df.loc[df['年份'] == 1978, 'GDP_Growth_CN'].values[0] if not pd.isna(df.loc[df['年份'] == 1978, 'GDP_Growth_CN'].values[0]) else 0,
    text="1978年改革开放",
    showarrow=True,
    arrowhead=1,
    font=dict(size=18, family='KaiTi'),
    xshift=20,
    yshift=40
)

fig1.add_annotation(
    x=1998,
    y=df.loc[df['年份'] == 1998, 'GDP_Growth_CN'].values[0] if not pd.isna(df.loc[df['年份'] == 1998, 'GDP_Growth_CN'].values[0]) else 0,
    text="1998年亚洲金融危机",
    showarrow=True,
    arrowhead=1,
    font=dict(size=18, family='KaiTi'),
    xshift=20,
    yshift=30
)

fig1.add_annotation(
    x=2008,
    y=df.loc[df['年份'] == 2008, 'GDP_Growth_CN'].values[0] if not pd.isna(df.loc[df['年份'] == 2008, 'GDP_Growth_CN'].values[0]) else 0,
    text="2008年全球金融危机",
    showarrow=True,
    arrowhead=1,
    font=dict(size=18, family='KaiTi'),
    xshift=20,
    yshift=40
)

fig1.add_annotation(
    x=2020,
    y=df.loc[df['年份'] == 2020, 'GDP_Growth_CN'].values[0] if not pd.isna(df.loc[df['年份'] == 2020, 'GDP_Growth_CN'].values[0]) else 0,
    text="2020年新冠疫情",
    showarrow=True,
    arrowhead=1,
    font=dict(size=18, family='KaiTi'),
    xshift=20,
    yshift=40
)

# 添加2001年中国加入WTO的注释
fig1.add_annotation(
    x=2001,
    y=df.loc[df['年份'] == 2001, 'GDP_Growth_CN'].values[0] if not pd.isna(df.loc[df['年份'] == 2001, 'GDP_Growth_CN'].values[0]) else 0,
    text="2001年中国加入WTO",
    showarrow=True,
    arrowhead=1,
    font=dict(size=18, family='KaiTi'),
    xshift=20,
    yshift=10
)

# 添加分界线
fig1.add_shape(type="line", x0=1978, y0=-10, x1=1978, y1=70, line=dict(color="gray", dash="dot", width=2))
fig1.add_shape(type="line", x0=1998, y0=-10, x1=1998, y1=70, line=dict(color="gray", dash="dot", width=2))
fig1.add_shape(type="line", x0=2001, y0=-10, x1=2001, y1=70, line=dict(color="gray", dash="dot", width=2))
fig1.add_shape(type="line", x0=2008, y0=-10, x1=2008, y1=70, line=dict(color="gray", dash="dot", width=2))
fig1.add_shape(type="line", x0=2020, y0=-10, x1=2020, y1=70, line=dict(color="gray", dash="dot", width=2))

# 计算消费率和投资率
df['Consumption_Rate'] = df['最终消费支出'] / df['中国实际GDP_RMB(2015年为基期)'] * 100
df['Investment_Rate'] = df['资本形成总额'] / df['中国实际GDP_RMB(2015年为基期)'] * 100

# 堆叠面积图
fig2 = px.area(df, x='年份', y=['Consumption_Rate', 'Investment_Rate'], 
              labels={"value": "占比 (%)", "年份": "年份", "Consumption_Rate": "消费率 (%)", "Investment_Rate": "投资率 (%)"},
              title="中国消费与投资占GDP比重演变")

# 设置浅色系颜色
fig2.update_traces(fillcolor='#9DC7DD', line_color='#9DC7DD', selector={'name': 'Consumption_Rate'})
fig2.update_traces(fillcolor='#9ED178', line_color='#9ED178', selector={'name': 'Investment_Rate'})

fig2.update_layout(
    title=dict(
        text="中国消费与投资占GDP比重演变<br><span style='font-size:16px'>中国消费与投资占GDP比重的变化趋势,反映经济结构的变化</span>",
        font=dict(size=22, family='KaiTi')
    ),
    xaxis_title=dict(text="年份", font=dict(size=18, family='KaiTi')),
    yaxis_title=dict(text="占比 (%)", font=dict(size=18, family='KaiTi')),
    legend_title=dict(text="指标", font=dict(size=18, family='KaiTi')),
    hovermode="x unified",
    font=dict(size=16, family='KaiTi')
)
# 设置图例项的名称为中文
fig2.data[0].name = '消费占GDP比重 (%)'
fig2.data[1].name = '投资占GDP比重 (%)'
# 添加投资驱动阶段注释(修改为在坐标轴下方显示)
fig2.add_annotation(
    x=2005,
    y=-10,  # 将注释放在y轴下方
    text="2000年后基础设施建设高峰期",
    showarrow=False,  # 不显示箭头
    font=dict(size=18, family='KaiTi'),
    xshift=0,
    yshift=-20,  # 向下偏移,确保注释在坐标轴下方
    xanchor="center",  # 水平居中对齐
    yanchor="top"  # 垂直顶部对齐
)

fig2.add_annotation(
    x=2015,
    y=-10,  # 将注释放在y轴下方
    text="房地产和基建黄金十年",
    showarrow=False,  # 不显示箭头
    font=dict(size=18, family='KaiTi'),
    xshift=0,
    yshift=-20,  # 向下偏移,确保注释在坐标轴下方
    xanchor="center",  # 水平居中对齐
    yanchor="top"  # 垂直顶部对齐
)

# 添加分界线
fig2.add_shape(type="line", x0=2000, y0=-10, x1=2000, y1=100, line=dict(color="gray", dash="dot", width=2))
fig2.add_shape(type="line", x0=2010, y0=-10, x1=2010, y1=100, line=dict(color="gray", dash="dot", width=2))

# 青年失业率与GDP增长散点图(2020–2023)
df_subset = df[df['年份'] >= 2020]
fig3 = px.scatter(df_subset, x='GDP_Growth_CN', y='中国青年失业率', trendline="ols",
                 title="青年失业率与GDP增长相关性(2020–2023)")

# 设置颜色
fig3.update_traces(marker=dict(color='#0000FF', size=10), line=dict(color='#000000'))

fig3.update_layout(
    title=dict(
        text="青年失业率与GDP增长相关性(2020–2023)<br><span style='font-size:16px'>展示2020-2023年中国青年失业率与GDP增长率的相关性,分析疫情对就业的影响</span>",
        font=dict(size=22, family='KaiTi')
    ),
    xaxis_title=dict(text="GDP增长率 (%)", font=dict(size=18, family='KaiTi')),
    yaxis_title=dict(text="青年失业率 (%)", font=dict(size=18, family='KaiTi')),
    hovermode="x unified",
    font=dict(size=16, family='KaiTi')
)
# 添加年份标签
for i, row in df_subset.iterrows():
    fig3.add_annotation(
        x=row['GDP_Growth_CN'],
        y=row['中国青年失业率'],
        text=str(row['年份']),
        showarrow=False,
        font=dict(size=14, family='KaiTi', color='red'),
        xshift=10,
        yshift=10
    )

# 添加回归结果说明
fig3.add_annotation(
    x=5,
    y=20,
    text="回归结果说明:<br>疫情期间,经济增长可能主要由特定行业(如医疗、科技)驱动,而这些行业对青年就业的吸纳能力有限。同时,传统行业(如服务业)受疫情影响较大,导致青年失业率上升。<br>疫情后恢复经济增长初期,企业可能更倾向于提高现有员工的效率,而非立即招聘新员工。因此,失业率可能在经济复苏初期仍然较高。",
    showarrow=False,
    font=dict(size=14, family='KaiTi', color='black'),
    bordercolor='black',
    borderwidth=1,
    borderpad=4,
    bgcolor='white'
)

# 保存图表为HTML文件
fig1.write_html("gdp_growth_comparison.html")
fig2.write_html("consumption_investment.html")
fig3.write_html("unemployment_gdp.html")

---

### 附录:Stata代码

以下是生成任务三分析结果的Stata代码:

```stata
* 数据手动导入
cd /Users/lixuanyu/Desktop/中宏数据作业
rename year Year
rename china_gdp China_GDP
rename us_gdp US_GDP

* ---- 计算中国 GDP 的 10 年滚动标准差 ---- *
* 设置时间序列
tsset Year, yearly

* 计算 10 年滚动标准差
* 未进行对数化处理,标准差过大,不便观察
save temp_data.dta, replace
rolling China_GDP_rolling_std = r(sd), window(10): summarize China_GDP
save "economic_data_with_rolling_std.dta", replace

* 进行对数化处理
gen lcgdp = ln(China_GDP)
save temp2_data.dta, replace
rolling lChina_GDP_rolling_std = r(sd), window(10): summarize lcgdp
save "economic_data_with_rolling_std2.dta", replace

* 绘制 10 年滚动标准差时间变化趋势 (注:生成后标题等文字在 graph editor 中直接编辑)
twoway (scatter lChina_GDP_rolling_std end)
graph export rolling.png, as(png)

* ---- HP 滤波 (使用 lambda = 1600) ---- *
gen lcgdp = ln(China_GDP)
gen lugdp = ln(US_GDP)
tsset Year, yearly

hpfilter lcgdp, cycle(lChina_GDP_cycle) trend(lChina_GDP_trend) smooth(1600)
hpfilter lugdp, cycle(lUS_GDP_cycle) trend(lUS_GDP_trend) smooth(1600)
save /Users/lixuanyu/Desktop/中宏数据作业/hpfilter.dta, replace

* 绘制 GDP 趋势 (注:生成后标题等文字在 graph editor 中直接编辑)
twoway (line lChina_GDP_trend Year, lpattern(dash)) (line lUS_GDP_trend Year) 
graph export trend.png, as(png)

* 绘制 GDP 周期性 (注:生成后标题等文字在 graph editor 中直接编辑)
twoway (line lChina_GDP_cycle Year) (line lUS_GDP_cycle Year, lpattern(dash))
graph export cycle.png, as(png)

* ---- 对中国相关数据指标的描述性统计分析 ---- *
clear
drop us_gdp pce
label var fce "Final consumption expenditure"
label var gcf "Gross capital formation"
label var fai "fixed asset investment"
label var yur "Youth unemployment rate in China"
sum china_gdp population fce gcf fai yur, detail
asdoc sum china_gdp population fce gcf fai yur, detail save(summary_stats.doc)
---

#### 附录:Stata代码

以下是生成任务四分析结果的Stata代码:

```stata
* 导入经济数据工作表 "economic_data"
import excel "D:\中宏数据分析作业\economic_data.xlsx", sheet("economic_data") firstrow clear

* 手动加入GDP标准差数据与对数化处理后的GDP标准差数据并进行重命名
rename lChina_gdp_rolling_std ln滚动标准差

* 计算中国消费占GDP比重
gen consumption_to_gdp_ratio = 最终消费支出 / 中国实际GDP_RMB

* 计算中国投资占GDP比重
gen investment_to_gdp_ratio = 中国固定资产投资 / 中国实际GDP_RMB

* 重命名消费率
rename consumption_to_gdp_ratio 消费率

* 重命名投资率
rename investment_to_gdp_ratio 投资率

* 查看消费率和投资率确认是否正确
browse

* 在以消费率为控制变量的情况下,对投资率和GDP标准差进行多元回归分析
regress 滚动标准差 投资率 消费率

* 生成散点图和回归线
twoway (scatter 滚动标准差 投资率, mcolor(blue) msize(medium)) ///
       (lfit 滚动标准差 投资率), ///
       title("投资率与滚动标准差的关系(控制消费率)") ///
       xtitle("投资率") ytitle("滚动标准差") ///
       legend(label(1 "散点图") label(2 "回归线"))

* 在以投资率为控制变量的情况下,对消费率和GDP标准差进行多元回归分析
regress ln滚动标准差 消费率 投资率

* 生成散点图和回归线
twoway (scatter ln滚动标准差 消费率, mcolor(blue) msize(medium)) ///
       (lfit ln滚动标准差 消费率), ///
       title("消费率与ln滚动标准差的关系(控制投资率)") ///
       xtitle("消费率") ytitle("ln滚动标准差") ///
       legend(label(1 "散点图") label(2 "回归线"))

* 发现消费率与GDP标准差呈现非线性关系,在GDP标准差小于50000时,两者呈负相关关系

* 在以投资率为控制变量的情况下,对消费率和对数化处理后的GDP标准差进行多元回归分析
regress ln滚动标准差 消费率 投资率

* 生成散点图和回归线
twoway (scatter ln滚动标准差 消费率, mcolor(blue) msize(medium)) ///
       (lfit ln滚动标准差 消费率), ///
       title("消费率与ln滚动标准差的关系(控制投资率)") ///
       xtitle("消费率") ytitle("ln滚动标准差") ///
       legend(label(1 "散点图") label(2 "回归线"))

* 进行回归分析
regress 滚动标准差 消费率 投资率

* 导入数据
import excel "D:\中宏数据分析作业\economic_data.xlsx", firstrow clear

* 设置年份变量为时间变量
tsset Year

* 计算 GDP 增长率
gen GDP_growth_rate = (中国实际GDP_RMB2015年为基期 - L.中国实际GDP_RMB2015年为基期) / L.中国实际GDP_RMB2015年为基期 * 100

* 检查 GDP 增长率
list GDP_growth_rate in 1/10

* 重命名GDP增长率
rename GDP_growth_rate GDP增长率

* 进行回归分析
regress 中国青年失业率 GDP增长率

* 生成散点图和回归线
twoway (scatter 中国青年失业率 GDP增长率, mcolor(blue) msize(medium)) ///
       (lfit 中国青年失业率 GDP增长率,), ///
       title("GDP增长率与中国青年失业率的关系") ///
       xtitle("GDP增长率 (%)") ytitle("中国青年失业率 (%)") ///
       legend(label(1 "散点图") label(2 "回归线"))

* 导出图形为PNG格式
graph export "GDP增长率与中国青年失业率的关系.png", replace
#### 附录:参考文献
1. 隋璐遥. 习近平关于消费经济的重要论述研究[D]. 山东:青岛大学,2021.
2. 邹红,喻开志. 消费需求拉动:基于中国经济增长的反思与启示[J]. 消费经济,2007,23(5):20-23. DOI:10.3969/j.issn.1007-5682.2007.05.005.
3. 莫荣,陈云,王晓梅,熊颖.中国就业发展报告(2023)[M].北京:社会科学文献出版社.2023年.
4. 郭冉,田丰,王露瑶. 量减质升:青年就业状况变化及分析(2006-2021)——基于CSS的调查数据[J]. 中国青年研究,2022(11):110-119,78.DOI:10.3969/j.issn.1002-9931.2022.11.012.
5. 王海军,葛晨. 数字素养促进了青年高质量充分就业吗?[J]. 上海财经大学学报(哲学社会科学版),2024,26(3):49-64. DOI:10.16538/j.cnki.jsufe.2024.03.004.
---