fixed-income-corporate について
社債のクレジットスプレッド、格付け遷移、デフォルト損失、コベナンツ、プライベートクレジットを扱う債券分析スキルです。計算式と例題に加え、計算を実行・検証するスクリプトを備えています。
主な機能
- 01Gスプレッド、Zスプレッド、OASの比較
- 02期待損失と回収率の計算
- 03格付け遷移とデフォルト確率の解説
- 04コーラブル債の利回り分析
- 05計算例の実行と検証
活用シーン
- 01社債のスプレッド指標の比較
- 02エクスポージャーの期待信用損失の推定
- 03コーラブル債の最悪利回りの評価
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ joellewis/ finance_skills --skill fixed-income-corporateインストール後、Claude Code で/fixed-income-corporateを入力して読み込まれたか確認します。
同梱ファイルscripts/fixed_income_corporate.py
詳細
債券 — 社債
基本概念
クレジットスプレッド
リスクフリーレートを上回る、デフォルトリスク、流動性リスク、格下げリスクに対する補償です。精度が段階的に高まる複数のスプレッド指標があります。
Gスプレッド(国債スプレッド): 債券利回りから、同じ残存期間に対応する補間後の米国債利回りを差し引いたものです。単純ですが、ベンチマークとなる残存期間の間ではイールドカーブがフラットであると仮定します。
Zスプレッド(ゼロボラティリティスプレッド): リスクフリーのスポットレートカーブの各ポイントに加える一定のスプレッドで、割引後のキャッシュフローの合計が債券の市場価格と一致するようにしたものです。イールドカーブ全体の形状を考慮するため、Gスプレッドより優れています。
OAS(オプション調整後スプレッド): オプションが組み込まれた債券の場合、OAS = Zスプレッド − 組み込みオプションの価値です。OASはオプション要素を除いた後の「真の」信用補償を表します。算出には金利モデルが必要です。
信用格付け
AAA/AA/A/BBBは投資適格です。BB/B/CCC/CC/C/Dはハイイールド(投機的格付け)です。BBBとBBの境界は最も重要な基準です。多くの機関投資家の運用規定では、投資適格未満の保有が禁じられています。この境界をまたいで格下げされると(「フォールン・エンジェル」)、投資制約のある投資家が売却を迫られます。
格付け遷移マトリックス
遷移マトリックスは、1年間にある格付けから別の格付けへ移行する確率を示します。BBB格の発行体がBBB格にとどまる確率はおよそ85~90%、格上げの確率は4~5%、格下げの確率は4~5%、デフォルトする確率はわずか(約0.2%)です。遷移マトリックスは格付け機関が毎年公表しています。
デフォルト確率、デフォルト時損失、回収率
- PD = 所定の期間におけるデフォルト確率
- LGD = デフォルト時損失(エクスポージャーの損失割合)
- Recovery Rate(RR)= 1 - LGD
- 期待損失:EL = PD × LGD × EAD(デフォルト時エクスポージャー)
回収率は債権の優先順位によって異なります。シニア担保付き(60~65%)、シニア無担保(40~50%)、劣後債(20~30%)です。
コーラブル債
発行体は債券を期限前に償還できます。コールスケジュールには価格と日付が定められています。期限前償還利回り(YTC)は、コール日とコール価格を用いて算出します。最低利回り(YTW)は、最終利回り(YTM)と、想定されるすべてのYTCのうち最も低い値です。コーラブル債には、適切なスプレッド指標としてOASを使用します(GスプレッドやZスプレッドではありません)。
財務制限条項
メンテナンス・コベナンツ: 定期的(例:四半期ごと)に検証されます。発行体は常に財務比率を維持する必要があります。銀行融資で一般的です。
インカランス・コベナンツ: 発行体が特定の行為(例:新たな債務の発行)を行う場合にのみ検証されます。社債の契約書で一般的です。主な条項には、レバレッジ比率(Debt/EBITDA)、インタレスト・カバレッジ(EBITDA/Interest)、制限付き支払いなどがあります。
プライベートクレジット
銀行以外の貸し手がミドルマーケット企業に直接融資することです。同程度のシンジケートローンと比べて、150~400bpの非流動性プレミアムが得られます。通常、公開市場の取引より強力なコベナンツによる保護が備わっています。評価はマーク方式(四半期ごと)で行われ、報告されるボラティリティが平滑化されます。
CDS(クレジット・デフォルト・スワップ)
プロテクションの買い手が定期的にスプレッドを支払い、クレジットイベント発生時に支払いを受けるデリバティブです。CDSスプレッドから、市場が織り込むデフォルト確率を導き出せます。CDSスプレッドは、債券スプレッドよりも信用状況の悪化に敏感に反応することがよくあります。
主な公式
| 公式 | 表現 | 用途 |
|---|---|---|
| Gスプレッド | 債券利回り - 補間後の米国債利回り | 単純なスプレッド指標 |
| Zスプレッド | 一定のスプレッド s:P = sum CF_t / (1+s_t+s)^t | カーブ全体を考慮したスプレッド |
| OAS | Zスプレッド - オプションコスト | コーラブル債のスプレッド |
| 期待損失 | EL = PD × LGD × EAD | 信用損失の推定 |
| 回収率 | RR = 1 - LGD | デフォルト時の回収額 |
| 最低利回り | min(YTM, YTC_1, YTC_2, ...) | 保守的な利回り指標 |
計算例
例1:ZスプレッドとGスプレッドの比較
前提: 7年物社債の利回りは5.8%です。7年物の補間後の米国債利回りは4.5%です(全スポットレート曲線を使用して算出した)Zスプレッドは118bpです。 計算: Gスプレッドを求め、Zスプレッドと比較します 解答: Gスプレッド = 5.8% - 4.5% = 1.30% = 130bp Zスプレッド = 118bp Gスプレッド(130bp)は、Zスプレッド(118bp)を12bp上回ります。この差は、Gスプレッドが補間した単一のベンチマーク点を使う一方、Zスプレッドは利回り曲線全体の形状を適切に考慮するために生じます。曲線が急勾配の環境では、Gスプレッドは実際のスプレッドを過大評価する傾向があります。
例2:期待損失の計算
前提: PD = 2%(年率)、LGD = 60%、EAD = $1,000,000 計算: 年間期待損失 解答: EL = PD × LGD × EAD EL = 0.02 × 0.60 × $1,000,000 EL = $12,000
年間の期待信用損失は$12,000、つまりエクスポージャーの1.2%です。これは信用リスクの保険数理上のコストを表します。スプレッドは、予想外の損失やリスク回避に対する追加補償に加えて、少なくともこの期待損失をカバーする必要があります。
よくある落とし穴
- コーラブル債にGスプレッドを使う — オプション要素を取り除くOASを使います
- スプレッド分析で流動性プレミアムを無視する — スプレッドの一部は、デフォルトリスクだけでなく流動性の低さも補償します
- 格付け機関の対応の遅れと市場が織り込む信用力の違い — CDSスプレッドは、格付け変更より先に動くことがよくあります
- 回収率が一定だと想定する — 回収率は優先順位や景気サイクルによって大きく変動します(景気後退時には低下します)
関連項目
- fixed-income-sovereign(wealth-management プラグイン):リスクフリーのベンチマークとして使用する米国債曲線
- fixed-income-structured(wealth-management プラグイン):CLOおよびストラクチャード・クレジット商品
- alternatives(wealth-management プラグイン):代替投資としてのプライベートクレジット
- asset-allocation(wealth-management プラグイン):マルチアセット・ポートフォリオにおけるクレジット配分
スクリプトの実行
uv run scripts/fixed_income_corporate.py # run the demo (uses PEP 723 inline deps)
uv run scripts/fixed_income_corporate.py --verify # check demo outputs against the worked examples (exit 1 on mismatch)
python3 scripts/fixed_income_corporate.py # alternative (requires: pip install numpy scipy)
デモでは上記の計算が出力され、値はこのスキルの計算例と一致します。クラスと関数の一覧は、--help を実行して確認してください。プログラムから使用する場合は、スクリプトを実行するのではなくモジュールをインポートしてください。デモは python fixed_income_corporate.py の場合にのみ実行されます。