# WindPy 债券专用字段参考

债券数据通过 `w.wsd()`（时间序列）和 `w.wss()`（截面快照）获取。

## 债券基础行情字段

| 字段 | 含义 | 说明 |
|------|------|------|
| `close` | 收盘价 | 净价或全价（取决于参数） |
| `open` | 开盘价 |  |
| `high` | 最高价 |  |
| `low` | 最低价 |  |
| `volume` | 成交量 |  |
| `amt` | 成交额 |  |

## 债券估值字段

| 字段 | 含义 | 说明 |
|------|------|------|
| `ytm_b` | 到期收益率 | Yield to Maturity |
| `duration` | 久期 | 麦考利久期 |
| `modified_duration` | 修正久期 | Modified Duration |
| `convexity` | 凸性 | Convexity |
| `clean_price` | 净价 | 不含应计利息 |
| `dirty_price` | 全价 | 含应计利息 |
| `accrued_interest` | 应计利息 |  |
| `remaining_maturity` | 剩余期限 | 年 |
| `time_to_maturity` | 距到期日时间 |  |

## 债券信息字段

| 字段 | 含义 | 说明 |
|------|------|------|
| `issuer_rating` | 发行人评级 | 主体信用评级 |
| `credit_rating` | 债项评级 | 债券本身评级 |
| `coupon_rate` | 票面利率 | 年化利率 |
| `coupon_type` | 付息方式 | 固定/浮动等 |
| `issue_amount` | 发行规模 |  |
| `outstanding_amount` | 剩余规模 | 未偿还金额 |

---

## 使用示例

```python
from WindPy import w
w.start()

# 债券收益率时间序列
err, df = w.wsd("010107.SH", "close,ytm_b,duration,convexity",
                "2024-01-01", "2024-06-30", "PriceAdj=CP", usedf=True)

# 多只债券截面估值数据
err, df = w.wss("010107.SH,210016.IB,240001.IB",
    "sec_name,ytm_b,duration,modified_duration,convexity,clean_price",
    "", usedf=True)

# 债券基本信息
err, df = w.wss("010107.SH",
    "sec_name,coupon_rate,coupon_type,issuer_rating,remaining_maturity",
    "", usedf=True)

w.stop()
```

---

## 债券代码格式

| 市场 | 后缀 | 示例 | 说明 |
|------|------|------|------|
| 上交所 | `.SH` | `010107.SH` | 国债、公司债 |
| 银行间 | `.IB` | `210016.IB` | 国债、政金债、信用债 |
| 深交所 | `.SZ` | `149999.SZ` | 公司债 |

### 代码规则

- **国债：** `01` + 发行年份 + 期数 + `.SH` (上交所) / `.IB` (银行间)
  - 示例：`010107.SH` = 2001年发行的第7期国债
- **国开债：** `21` + 发行年份 + 期数
  - 示例：`210210.IB` = 2021年国开第10期
- **企业债/公司债：** 6位数字编码

---

## 常用债券代码示例

| 代码 | 名称 | 类型 |
|------|------|------|
| `010107.SH` | 21国债(7) | 国债(上交所) |
| `210016.IB` | 21附息国债16 | 国债(银行间) |
| `210210.IB` | 21国开10 | 政策性金融债 |
| `240001.IB` | 24附息国债01 | 最新国债 |
| `019547.SH` | 16国债19 | 长期国债 |

---

## PriceAdj 参数说明

| 值 | 含义 |
|----|------|
| `PriceAdj=CP` | 净价 (Clean Price) |
| `PriceAdj=F` | 全价前复权 |
| `PriceAdj=B` | 全价后复权 |
| 不填 | 默认全价 |

债券分析通常使用 **净价** 来排除利息影响。

---

## 注意事项

1. **净价 vs 全价：** 
   - 净价 = 全价 - 应计利息
   - 市场报价通常用净价，实际交割用全价
   
2. **银行间 vs 交易所：**
   - 银行间市场（.IB）交易量更大，机构为主
   - 交易所市场（.SH/.SZ）个人投资者可参与

3. **收益率曲线：**
   - 使用 `ytm_b` 获取到期收益率
   - 久期和凸性用于利率风险度量

4. **数据频率：**
   - 交易所债券每日有成交数据
   - 银行间债券可能多日无成交

---

## 中债估值获取方式

⚠️ **重要说明：** 经测试，`ytm_b`、`duration` 等债券估值字段在当前环境返回 `None`。中债估值可通过以下方式获取：

### 方法1：EDB宏观数据（推荐）

使用 `w.edb()` 获取中债收益率曲线和债券指数：

```python
# 中债国债收益率曲线
err, df = w.edb("M1001940,M1001943,M1001946", "2024-01-01", "2024-06-30", "", usedf=True)
# M1001940: 国债收益率1年
# M1001943: 国债收益率5年
# M1001946: 国债收益率10年

# 中债指数（价格型）
err, df = w.edb("M0041347", "2024-01-01", "2024-06-30", "", usedf=True)
# M0041347: 中债总指数
# M0041348: 中债国债总指数

# 中债新综合财富系列指数（财富型，含利息再投资）
err, df = w.edb("M0041351,M0041352,M0041353,M0041354", "2024-01-01", "2024-06-30", "", usedf=True)
# M0041351: 中债新综合财富指数（全市场）
# M0041352: 中债国债新综合财富指数
# M0041353: 中债金融债新综合财富指数
# M0041354: 中债企业债新综合财富指数

# 获取特定品种财富指数
err, df = w.edb("M0041355,M0041356,M0041357", "2024-01-01", "2024-06-30", "", usedf=True)
# M0041355: 中债短融新综合财富指数
# M0041356: 中债中票新综合财富指数
# M0041357: 中债城投债新综合财富指数
# M0041349: 中债金融债总指数
# M0041350: 中债企业债总指数

# 中债收益率曲线完整数据
err, df = w.edb("M1004273", "2024-01-01", "2024-06-30", "", usedf=True)
# M1004273: 中债国债收益率曲线
# M1004274: 中债国开债收益率曲线
# M1004275: 中债企业债收益率曲线
```

### 方法2：Wind终端直接查询

在 Wind 终端中：
1. 输入债券代码（如 `010107.SH`）
2. 使用 "估值分析" 或 "中债估值" 功能
3. 可查看净价、全价、收益率、久期等详细估值数据

### 中债估值EDB代码速查

#### 国债收益率

| EDB代码 | 指标名称 | 说明 |
|---------|----------|------|
| `M1001940` | 国债收益率:1年 | 中债估值 |
| `M1001943` | 国债收益率:5年 | 中债估值 |
| `M1001946` | 国债收益率:10年 | 中债估值 |

#### 中债收益率曲线

| EDB代码 | 指标名称 | 说明 |
|---------|----------|------|
| `M1004273` | 中债国债收益率曲线 | 完整曲线数据 |
| `M1004274` | 中债国开债收益率曲线 | 完整曲线数据 |
| `M1004275` | 中债企业债收益率曲线 | 完整曲线数据 |

#### 中债总指数（价格型）

| EDB代码 | 指标名称 | 说明 |
|---------|----------|------|
| `M0041347` | 中债总指数 | 反映债券价格变动 |
| `M0041348` | 中债国债总指数 | 国债价格指数 |
| `M0041349` | 中债金融债总指数 | 金融债价格指数 |
| `M0041350` | 中债企业债总指数 | 企业债价格指数 |

#### 中债新综合财富系列指数（财富型）

| EDB代码 | 指标名称 | 说明 |
|---------|----------|------|
| `M0041351` | 中债新综合财富指数 | 全市场债券财富指数（含利息再投资） |
| `M0041352` | 中债国债新综合财富指数 | 国债财富指数 |
| `M0041353` | 中债金融债新综合财富指数 | 金融债财富指数 |
| `M0041354` | 中债企业债新综合财富指数 | 企业债财富指数 |
| `M0041355` | 中债短融新综合财富指数 | 短期融资券财富指数 |
| `M0041356` | 中债中票新综合财富指数 | 中期票据财富指数 |
| `M0041357` | 中债城投债新综合财富指数 | 城投债财富指数 |
| `M0041358` | 中债商业银行债新综合财富指数 | 商业银行债财富指数 |
| `M0041359` | 中债铁道债新综合财富指数 | 铁道债财富指数 |
| `M0041360` | 中债央票新综合财富指数 | 央票财富指数 |

**指数类型说明：**
- **价格型指数**（M0041347-M0041350）：反映债券价格变动，不含利息收入
- **财富型指数**（M0041351-M0041360）：反映债券总回报，包含利息再投资，更适合业绩基准

**使用建议：**
- EDB数据为宏观层面数据，不针对单只债券
- 如需单只债券的中债估值，建议使用 Wind 终端直接查询
- 财富型指数更适合作为债券投资组合的业绩比较基准
- 或者联系 Wind 客服开通中债估值数据权限

---

## 中债指数 — 通过 wsd/wss 获取（CBA*.CS 系列）

除 EDB 宏观方式外，中债指数还可通过标准行情代码（`CBA*.CS` 后缀）直接使用 `wsd()` / `wss()` 获取，支持 `close`、`pct_chg` 等标准行情字段。

### 综合类指数

| 代码 | 名称 | 最新值（参考） |
|------|------|---------------|
| `CBA00101.CS` | 中债-新综合财富(总值)指数 | 250.60 |
| `CBA00201.CS` | 中债-综合财富(总值)指数 | 256.92 |
| `CBA00301.CS` | 中债-总财富(总值)指数 | 247.12 |

### 债券类型指数

| 代码 | 名称 | 最新值（参考） |
|------|------|---------------|
| `CBA00601.CS` | 中债-国债总财富(总值)指数 | 246.87 |
| `CBA01201.CS` | 中债-金融债券总财富(总值)指数 | 249.10 |
| `CBA02001.CS` | 中债-企业债总财富(总值)指数 | 251.46 |
| `CBA02101.CS` | 中债-固定利率企业债财富(总值)指数 | 249.92 |
| `CBA02401.CS` | 中债-商业银行债券财富(总值)指数 | 220.99 |
| `CBA03801.CS` | 中债-高收益企业债财富(总值)指数 | 308.21 |

### 评级分类指数

| 代码 | 名称 | 最新值（参考） |
|------|------|---------------|
| `CBA04201.CS` | 中债-企业债AAA财富(总值)指数 | 227.25 |
| `CBA04001.CS` | 中债-企业债AA财富(总值)指数 | 295.39 |

### 利率类型/期限指数

| 代码 | 名称 | 最新值（参考） |
|------|------|---------------|
| `CBA00401.CS` | 中债-固定利率债券财富(总值)指数 | 249.70 |
| `CBA00501.CS` | 中债-浮动利率债券财富(总值)指数 | 219.64 |
| `CBA00701.CS` | 中债-中短期债券财富(总值)指数 | 236.19 |
| `CBA01001.CS` | 中债-交易所国债财富(总值)指数 | 280.15 |
| `CBA01601.CS` | 中债-七年期国债财富(总值)指数 | 215.55 |

### 使用示例

```python
# 通过 wind_client 获取中债指数
from wind_client import wsd, wss

# 时间序列 — 新综合财富指数近 1 年走势
df = wsd("CBA00101.CS", "close", "-1Y")

# 截面快照 — 多个指数最新值
df = wss("CBA00101.CS,CBA00601.CS,CBA02001.CS,CBA04201.CS", "sec_name,close")
```

### CBA 代码规律

- `CBA001xx.CS` — 综合类
- `CBA006xx.CS` — 国债
- `CBA012xx.CS` — 金融债
- `CBA020xx.CS` — 企业债
- `CBA038xx.CS` — 高收益
- `CBA042xx.CS` — AAA级
- `CBA040xx.CS` — AA级
