2002~2025年中债国债到期收益率数据

今天给大家分享一份 2002~2025 年中债国债到期收益率数据。由 中国债券信息网 处理得到(公开数据爬取整理)。

什么是「利率期限结构」呢?在投资市场中,人们发现,期限不同但其他条件相同的零息债券,其到期收益率是不相同的。我们把某个时点上零息债券的到期收益率(即期利率)与到期期限之间的关系,称为利率期限结构。由于零息债券的数量有限,且期限大多在一年之内,因此在研究利率期限结构时,通常用政府债券(如国债)来替代零息债券。中债国债到期收益率正是刻画这一结构最常用、最权威的日度序列。

数据概览

中国债券信息网提供了 2002 年至今各种期限的中债国债到期收益率数据,通过爬取并整理,我们得到了一份覆盖全国、日度频率的面板数据:

  • 2002~2025年中债国债到期收益率数据.dta

数据一共 5996 个观测值(交易日),包含 1 个日期变量与 21 个特定期限的到期收益率变量:

变量名 含义 变量名 含义
date 日期 rate6m 6 月期
rate0d 隔夜 rate9m 9 月期
rate1m 1 月期 rate1y 1 年期
rate2m 2 月期 rate2y 2 年期
rate3m 3 月期 rate3y 3 年期
rate4y 4 年期 rate5y 5 年期
rate6y 6 年期 rate7y 7 年期
rate8y 8 年期 rate9y 9 年期
rate10y 10 年期 rate15y 15 年期
rate20y 20 年期 rate30y 30 年期
rate40y 40 年期 rate50y 50 年期

这份数据的具体用途包括:

  • 研究利率期限结构:直接刻画即期利率与到期期限之间的关系,分析收益率曲线的形态(水平、斜率、曲率)及其时变特征;
  • 债券定价与估值:作为无风险利率基准,用于贴现现金流、计算债券理论价格与久期;
  • 货币政策与宏观经济预期分析:10 年期国债收益率是长期利率的重要锚,其变化反映市场对增长与通胀的预期,10Y-1Y 利差常被用作经济周期与衰退的领先指标;
  • 计算远期利率与利差:基于相邻期限的收益率可推导隐含远期利率,构建各类期限利差指标。

图表展示

下图展示了各期限中债国债到期收益率的走势(以 1 月期、3 月期、6 月期、1 年期、2 年期、3 年期、5 年期、7 年期、10 年期、20 年期为例):

处理代码

本数据的处理方法如下(代码位于 code/ 文件夹,由微信公众号 RStata 爬取并整理):

1. 数据获取与清洗(Stata):按年从中国债券信息网下载收益率 Excel 文件,导入后删除表头、生成日期变量,并将「期限—收益率」长表 reshape 为宽表。

*- 按年下载中国债券信息网的收益率 Excel 文件
copy "http://yield.chinabond.com.cn/cbweb-mn/yc/downYearBzqx?year=2024&&wrjxCBFlag=0&&zblx=txy&&ycDefId=2c9081e50a2f9606010a3068cae70001&&locale=zh_CN" 2024.xlsx, replace
copy "http://yield.chinabond.com.cn/cbweb-mn/yc/downYearBzqx?year=2025&&wrjxCBFlag=0&&zblx=txy&&ycDefId=2c9081e50a2f9606010a3068cae70001&&locale=zh_CN" 2025.xlsx, replace

*- 导入 Excel 并整理为面板结构
import excel using "2024.xlsx", clear
drop if A == "日期"
gen date = date(A, "YMD")
format date %tdCY-N-D
drop A
ren B stterm
ren C term
ren D rate
reshape wide term rate, i(date) j(stterm) string
drop term*
destring, replace
save 2024, replace

2. 合并拼接(Stata):将各年数据与历史 dta 合并、去重并按日期排序,调整变量顺序后保存为最终面板数据。

*- 与历史数据合并、去重并排序
use "中债国债到期收益率数据(截止2024年7月23日).dta", clear
drop if date >= mdy(1, 1, 2024)
append using 2024
append using 2025
duplicates drop _all, force
gsort date
order date rate0d rate1m rate2m rate3m rate6m rate9m rate1y rate2y rate3y rate4y rate5y rate6y rate7y rate8y rate9y rate10y rate15y rate20y rate30y rate40y rate50y
label data "爬取 & 整理:微信公众号 RStata"
save "2002~2025年中债国债到期收益率数据", replace

3. 三维利率期限结构曲面(R 语言):使用 plotly 包绘制「日期 × 期限 × 收益率」的三维曲面。

# 读取数据并整理为矩阵
library(tidyverse)
library(plotly)

haven::read_dta("2002~2025年中债国债到期收益率数据.dta") -> df

df %>%
select(-date) %>%
as.data.frame() %>%
as.matrix() -> data

df %>%
select(date) %>%
pull(date) -> date

row.names(data) <- date
colnames(data) -> term

# 绘制三维利率期限结构曲面
plot_ly() %>%
add_surface(x = ~date, y = ~term, z = ~data) %>%
layout(
scene = list(
xaxis = list(title = "日期"),
yaxis = list(title = "期限"),
zaxis = list(title = "中债国债到期收益率")
)
)

4. 动态图表合成(R 语言):先用 Stata 批量绘制一系列静态图,再用 cowplot + av 合成为动态视频(中债国债到期收益率期限结构动态变化.mp4)。

# 将静态图序列合成为 mp4 动态视频
library(cowplot)
library(av)
library(tidyverse)
library(fs)

# 静态图渲染的表达式
makeplot <- function(){
datalist <- as.list(fs::dir_ls('pic'))
lapply(datalist, function(data){
p <- ggdraw() +
draw_image(data)
print(p)
})
}

av_capture_graphics(expr = makeplot(),
output = "中债国债到期收益率期限结构动态变化.mp4",
res = 120, width = 1200,
height = 800, framerate = 11)

附件中也提供了该数据的处理代码供参考:

数据引用格式

由于该数据包含较多 RStata 处理的内容,在研究中使用该数据请使用清晰的方式注明数据来源于 RStata 或者 RStata 数据中心,并使用如下格式引用:

RStata 数据中心: 2002~2025年中债国债到期收益率数据. 2026. https://tidyfriday.cn/rsdb2/

英文文献可以使用下面的格式引用:

RStata Data Center: ChinaBond Treasury Bond Yield to Maturity Data, 2002–2025. 2026. https://tidyfriday.cn/rsdb2/

原始数据来源于中国债券信息网:https://yield.chinabond.com.cn/cbweb-mn

关联课程/数据推荐

Stata 绘制动态图表:中债国债到期收益率期限结构动态变化:https://rstata.duanshu.com/#/course/ea1257b6f931439fb14e9d03633ddf75

从原始数据到动态图表 —— 在 R 中完成所有操作:https://rstata.duanshu.com/#/course/75834e56e77e477698a5683e9f556579

Stata 网络数据爬取:JSON 篇:https://rstata.duanshu.com/#/course/c6de9fae65df4eeb814d2275545e224d

点击这里跳转到 RStata 短书平台获取附件:2002~2025年中债国债到期收益率数据

评论