S

Skill 详情

Security Bond Analysis

AI驱动的中国债券市场分析,涵盖估值、收益率、久期、凸性、信用利差分析及债券组合管理。

来源平台:SkillHub
来源标识:SkillHub/security-bond-analysis
源文件:原始说明
自动化与浏览器 高关注 SkillHub 高 风险 下载 206安装 1 SkillHub
来源平台SkillHub
文档版本3.0.1
热度高关注
排名信号下载 206
概述 安装 文档 下载

快速判断

AI驱动的中国债券市场分析,涵盖估值、收益率、久期、凸性、信用利差分析及债券组合管理。

最后校验2026-05-27
来源平台SkillHub
安全提示
下载副本ZIP 可用

适合任务

  • 按 SkillHub 收录说明复用成熟任务流程。
  • 通过下载包离线阅读完整 Skill 内容。
  • 结合热度指标优先评估常用 Skill。

输入与输出

输入:任务目标、上下文材料、文件路径、约束条件或需要处理的内容。

输出:按 Skill 说明生成的文档、代码、检查结果、计划、建议或操作步骤。

示例任务

  • 使用 Security Bond Analysis 帮我处理当前任务,并说明需要准备哪些输入。
  • 根据 Security Bond Analysis 的说明,先列出使用前的安全检查项。

安装方式

  1. 下载本站提供的 Skill ZIP 并解压。
  2. 把解压后的 Skill 目录放入当前 AI 工具支持的 skills 目录。
  3. 如需在线查看原始内容,可打开 GitHub 的 SKILL.md

在线原始地址:skillhub-security-bond-analysis/SKILL.md

风险边界

SkillHub 提供了源站安全报告入口,但本站不替代人工审查。使用前仍需检查权限、外部依赖和敏感数据边界。

SKILL.md 文档介绍

Bond Analysis Expert / 债券分析专家

> English: AI-powered bond analysis expert — covers bond valuation, yield analysis, duration/convexity calculation, credit spread analysis, and bond portfolio management. Built for fixed income professionals.

>

> 中文: 债券分析专家——覆盖债券估值、收益率分析、久期/凸性计算、信用利差分析、债券组合管理。适用:固收分析师、债券交易员、组合管理人。

---

证券监管最新动态 [2026-05-25更新]

| 动态类型 | 内容摘要 | 影响范围 |

|---------|---------|---------|

| 证券监管 | 2026年Q1:信用债市场分化加剧,信用风险识别要求提升 | 债券分析框架需纳入理财新规和地方债务化解动态 |

| 证券监管 | 银行理财'三清'推进,债券投资偏好可能调整 | 债券分析框架需纳入理财新规和地方债务化解动态 |

| 证券监管 | 地方债务化解持续推进,城投债分析逻辑需更新 | 债券分析框架需纳入理财新规和地方债务化解动态 |

> 数据截止: 2026-05-25 | 来源:证监会、NFRA、中证协、安永Q1分析

> 声明: 以上动态供参考,具体以官方最新发布为准

Industry Pain Points / 行业痛点

| Pain Point / 痛点 | Impact / 影响 | Solution / 本Skill解决方案 |

|------------------|-------------|------------------------|

| 收益率计算复杂 | 多种收益率指标容易混淆 | 标准化收益率计算框架 |

| 信用分析耗时 | 发行主体众多,分析量大 | 模板化信用分析框架 |

| 利率风险难测 | 久期/凸性概念抽象 | 可视化风险分析 |

| 城投债信仰 | 城投刚兑预期与违约现实冲突 | 区域财政分析模型 |

| 久期管理难 | 利率变动对组合影响大 | 久期匹配优化工具 |

---

Trigger Keywords / 触发关键词

English Triggers: bond analysis, yield curve, duration, convexity, credit spread, China bonds, fixed income, bond valuation, interest rate risk, credit risk

中文触发词(优先): 债券分析 / 收益率曲线 / 久期 / 凸性 / 信用利差 / 中国债券 / 固收 / 债券估值 / 利率风险 / 信用风险 / 国债 / 企业债 / 城投债 / 金融债 / 可转债 / 债券回购 / 债券评级 / YTM / 即期收益率 / 到期收益率

---

Core Capabilities / 核心能力

1. Bond Valuation Engine / 债券估值引擎

import numpy as np
import pandas as pd

class BondAnalyzer:
    """债券分析引擎"""
    
    @staticmethod
    def calculate_price(face_value: float, coupon_rate: float, 
                       ytm: float, years: int, 
                       frequency: int = 2) -> float:
        """
        债券定价
        Args:
            face_value: 面值(元)
            coupon_rate: 年票面利率
            ytm: 到期收益率
            years: 剩余期限(年)
            frequency: 付息频率(1=年付,2=半年付)
        """
        n = years * frequency
        r_per_period = ytm / frequency
        c_per_period = (face_value * coupon_rate) / frequency
        
        # 现金流现值
        pv_coupons = sum([c_per_period / (1 + r_per_period) ** t 
                         for t in range(1, n + 1)])
        pv_face = face_value / (1 + r_per_period) ** n
        
        return pv_coupons + pv_face
    
    @staticmethod
    def calculate_ytm(price: float, face_value: float,
                     coupon_rate: float, years: float,
                     frequency: int = 2) -> float:
        """
        计算到期收益率(YTM)- 牛顿迭代法
        """
        n = years * frequency
        c = (face_value * coupon_rate) / frequency
        
        # 初始猜测
        ytm = coupon_rate
        
        for _ in range(100):
            pv = sum([c / (1 + ytm/frequency) ** t 
                     for t in range(1, n + 1)]) + face_value / (1 + ytm/frequency) ** n
            
            diff = price - pv
            
            # 导数(久期近似)
            duration = BondAnalyzer.calculate_duration(
                price, face_value, coupon_rate, ytm, years, frequency
            )
            dv = -duration / (1 + ytm/frequency) * diff
            
            ytm = ytm + diff / dv * 0.5
            
            if abs(diff) < 1e-6:
                break
        
        return ytm
    
    @staticmethod
    def calculate_duration(price: float, face_value: float,
                          coupon_rate: float, ytm: float,
                          years: float, frequency: int = 2) -> float:
        """
        计算久期(Macauley Duration)
        """
        n = int(years * frequency)
        c = (face_value * coupon_rate) / frequency
        r = ytm / frequency
        
        # 加权平均到期时间
        weighted_time = sum([t * c / (1 + r) ** t for t in range(1, n + 1)])
        weighted_time += n * face_value / (1 + r) ** n
        
        return weighted_time / price / frequency  # 转换为年
    
    @staticmethod
    def calculate_convexity(price: float, face_value: float,
                          coupon_rate: float, ytm: float,
                          years: float, frequency: int = 2) -> float:
        """
        计算凸性
        """
        n = int(years * frequency)
        c = (face_value * coupon_rate) / frequency
        r = ytm / frequency
        
        weighted_sq = sum([t * (t + 1) * c / (1 + r) ** (t + 2) 
                          for t in range(1, n + 1)])
        weighted_sq += n * (n + 1) * face_value / (1 + r) ** (n + 2)
        
        return weighted_sq / price / (frequency ** 2)
    
    @staticmethod
    def price_change_estimate(duration: float, convexity: float,
                             rate_change: float) -> dict:
        """
        利率变动对价格的影响估算
        """
        # 久期效应
        duration_effect = -duration * rate_change
        
        # 凸性效应
        convexity_effect = 0.5 * convexity * (rate_change ** 2)
        
        total_effect = duration_effect + convexity_effect
        
        return {
            "duration_effect": round(duration_effect * 100, 4),
            "convexity_effect": round(convexity_effect * 100, 4),
            "total_effect": round(total_effect * 100, 4),
            "approximate_new_price_pct": round((1 + total_effect) * 100, 4)
        }

2. Credit Analysis Framework / 信用分析框架

## 信用债分析模板

### 一、发债主体概况
| 项目 | 内容 |
|-----|------|
| 公司名称 | |
| 实际控制人 | |
| 主体评级 | |
| 行业分类 | |
| 主营业务 | |

### 二、财务分析

CREDIT_ANALYSIS_RATIOS = {

"盈利能力": {

"毛利率": ">30%为优质",

"净利率": ">15%为优质",

"ROE": ">10%为优质"

},

"偿债能力": {

"资产负债率": "<70%为稳健",

"流动比率": ">1.5为稳健",

"利息保障倍数": ">3倍为稳健"

},

"现金流": {

"经营现金流/带息债务": ">15%为稳健",

"经营现金流/资本支出": ">100%为稳健"

}

}


### 三、信用利差分析

def analyze_credit_spread(bond_yield: float, treasury_yield: float,

rating: str) -> dict:

"""

信用利差分析

"""

spread = bond_yield - treasury_yield

# 评级对应利差参考

SPREAD_REFERENCE = {

"AAA": 0.50, # 50bp

"AA+": 0.80,

"AA": 1.20,

"AA-": 1.50,

"A+": 2.00,

"A": 2.50

}

reference = SPREAD_REFERENCE.get(rating, 2.0)

return {

"credit_spread": round(spread * 100, 2),

"reference_spread": reference,

"relative_value": "低估" if spread < reference else "高估",

"spread_premium": round((spread - reference) * 100, 2)

}

3. Bond Portfolio Management / 债券组合管理

class BondPortfolio:
    """债券组合管理"""
    
    def __init__(self):
        self.bonds = []
    
    def add_bond(self, bond: dict):
        """添加债券"""
        # 计算关键指标
        bond["price"] = self._calculate_bond_price(bond)
        bond["ytm"] = self._calculate_ytm(bond)
        bond["duration"] = self._calculate_duration(bond)
        bond["convexity"] = self._calculate_convexity(bond)
        bond["dv01"] = bond["duration"] * bond["price"] / 100 / 100  # 每bp变化
        
        self.bonds.append(bond)
    
    def portfolio_duration(self) -> float:
        """组合久期"""
        total_value = sum(b["market_value"] for b in self.bonds)
        weighted_duration = sum(
            b["duration"] * b["market_value"] for b in self.bonds
        ) / total_value
        return weighted_duration
    
    def portfolio_credit_breakdown(self) -> dict:
        """组合信用分布"""
        breakdown = {}
        for bond in self.bonds:
            rating = bond.get("rating", "Unknown")
            if rating not in breakdown:
                breakdown[rating] = {"count": 0, "value": 0}
            breakdown[rating]["count"] += 1
            breakdown[rating]["value"] += bond.get("market_value", 0)
        
        return breakdown
    
    def interest_rate_risk(self, rate_shock: float) -> dict:
        """利率风险分析"""
        port_duration = self.portfolio_duration()
        
        # 纯久期效应
        duration_pnl = -port_duration * rate_shock / 100
        
        # 凸性调整
        port_convexity = sum(
            b["convexity"] * b["market_value"] for b in self.bonds
        ) / sum(b["market_value"] for b in self.bonds)
        convexity_pnl = 0.5 * port_convexity * (rate_shock/100) ** 2
        
        return {
            "portfolio_duration": round(port_duration, 3),
            "rate_shock_bp": round(rate_shock * 100, 0),
            "duration_pnl_pct": round(duration_pnl * 100, 2),
            "convexity_pnl_pct": round(convexity_pnl * 100, 2),
            "total_pnl_pct": round((duration_pnl + convexity_pnl) * 100, 2)
        }

---

Quick Command Templates / 快速指令模板

债券定价:

计算债券价格:
- 面值:100元
- 票面利率:4%
- 到期收益率:3.5%
- 剩余期限:5年
- 付息频率:年付

久期分析:

分析债券组合的久期风险:
- 组合总规模:1000万
- 利率上升50bp时的损益

---

Disclaimer

Bond analysis involves various risks including interest rate risk and credit risk. This skill provides analysis tools for educational purposes only and does not constitute investment advice.

建议反馈