1. 债券指数基础:定义、功能与分类
做固收量化这些年,我经常被问到同一个问题:「债券指数到底有什么用?」
说实话,我刚入行时也觉得这玩意儿挺虚的。不就是一堆债券按权重加一加嘛?直到有一次,我负责搭建一个债券组合的业绩归因系统,才发现——没有指数,你根本说不清楚你的收益到底来自哪里。
今天咱们就把这个基础打牢。我会结合自己踩过的坑,把债券指数的定义、功能、分类,以及国内外主流指数都捋一遍。
1.1 债券指数到底是什么?
官方定义我就不念了。说白了,债券指数就是一把尺子。
它衡量的是某个特定债券市场的整体表现。比如你想知道「今天中国国债涨了还是跌了」,看中债-国债总指数就够了。
我个人习惯把债券指数拆成三个要素:
- 样本空间:哪些债券能进?比如只选国债,还是包含信用债?
- 加权方式:按市值加权?还是按发行量?
- 再平衡规则:多久调整一次?新券怎么纳入?老券怎么剔除?
嗯,这三个要素搞清楚了,指数也就搞清楚了。
1.2 债券指数有哪些功能?
我遇到过不少刚入行的朋友,觉得指数就是看看涨跌。其实它的功能远不止这些。
我自己总结,债券指数有四大功能:
- 业绩基准:你管理的债券基金跑赢指数了吗?这是最常用的功能。
- 资产配置工具:通过指数可以快速了解不同债券市场的风险收益特征。
- 衍生品标的:比如国债期货、ETF,很多都是跟踪指数的。
- 市场分析参考:收益率曲线怎么变的?久期怎么调的?指数能告诉你。
我记得有一次做策略回测,发现组合收益总是跑不赢某个指数。后来一查,原来是再平衡规则没对上——指数是每月调仓,我设的是季度调仓。你看,细节决定成败。
1.3 债券指数的分类
债券指数分类方式很多。我习惯按三个维度来分:
| 分类维度 | 类型 | 举例 |
|---|---|---|
| 按发行主体 | 利率债指数、信用债指数 | 中债-国债指数、中证信用债指数 |
| 按期限 | 短债、中债、长债指数 | 中债1-3年国债指数 |
| 按评级 | 投资级、高收益债指数 | 彭博巴克莱美国高收益债指数 |
你想想看,如果你要做一只短久期的信用债基金,那你的基准大概率就是「中证短融AAA指数」这类东西。
1.4 国内外主流债券指数介绍
这部分我尽量讲得实用一些。毕竟你以后做策略,大概率会用到这些指数。
1.4.1 中债指数
国内债券指数里,中债指数是当之无愧的老大。中央结算公司发布的,覆盖了银行间市场几乎所有债券。
我个人最常用的是这几个:
- 中债-国债总指数:看利率债整体走势的首选
- 中债-信用债总指数:信用债市场的风向标
- 中债-综合指数:全市场债券的「大盘指数」
中债指数的特点是:样本全、历史长、计算透明。但有个小问题——它的再平衡频率是每月一次,对于高频策略来说可能不够用。
1.4.2 中证指数
中证指数是交易所市场的代表。如果你做的是可转债或者交易所信用债策略,中证指数会更合适。
常用的有:
- 中证全债指数:覆盖银行间和交易所
- 中证可转债指数:可转债策略的标配基准
- 中证短融指数:短久期策略的好帮手
1.4.3 彭博巴克莱指数
做全球债券策略的朋友,一定绕不开彭博巴克莱指数。现在叫彭博综合指数(Bloomberg Global Aggregate Index)。
它的特点是:
- 全球覆盖:24个国家的投资级债券
- 评级门槛高:至少BBB-/Baa3
- 流动性要求严格:避免「僵尸债券」混进来
我记得有一次做跨境策略,想用彭博巴克莱中国综合指数作为基准。结果发现它只包含部分中国债券——因为流动性要求太严了。嗯,这个坑我替你们踩过了。
1.5 知识体系总览
下面这张图,是我自己梳理的债券指数知识框架。你可以把它当作本章的「地图」:
1.6 一个小例子:如何获取指数数据
光说不练假把式。我平时做研究,经常需要拉指数数据。下面这个Python代码片段,是我常用的方法:
import pandas as pd
import requests
def get_cbond_index(index_code, start_date, end_date):
"""
获取中债指数历史数据
index_code: 指数代码,如 'CBA00601' 代表中债-国债总指数
"""
url = f"https://api.chinabond.com/index/{index_code}"
params = {
'start': start_date,
'end': end_date,
'format': 'json'
}
resp = requests.get(url, params=params)
data = resp.json()
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'])
df.set_index('date', inplace=True)
return df
# 拉取2024年国债指数
df = get_cbond_index('CBA00601', '2024-01-01', '2024-12-31')
print(df.head())
好了,关于债券指数的基础知识,咱们就聊到这儿。记住一句话:指数是你的锚,锚稳了,船才不会偏。