fixed-income-structured について
MBS、ABS、CLOの評価とリスク分析を扱う金融実務者向けスキルです。基本概念や計算式、例題、注意点に加え、実行可能なPythonデモを収録しています。
主な機能
- 01MBSの期限前返済と負のコンベクシティ
- 02PSA、CPR、SMMの計算
- 03WALとトランシェ構造の分析
- 04ストラクチャード商品におけるOAS評価
- 05出力検証付きPythonデモ
活用シーン
- 01PSAの想定から月次期限前返済を推定
- 02CMOトランシェ間のリスクを比較
- 03CLOの劣後保護とキャッシュフロー・ウォーターフォールを分析
- 04付属の計算例を実行して検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ joellewis/ finance_skills --skill fixed-income-structuredインストール後、Claude Code で/fixed-income-structuredを入力して読み込まれたか確認します。
同梱ファイルscripts/fixed_income_structured.py
詳細
債券 — ストラクチャード商品
基本概念
MBS パススルー証券
住宅ローンのプールから生じるキャッシュフロー(元本、利息、期限前返済)が、持分に応じて投資家に分配されます。エージェンシー MBS(Ginnie Mae、Fannie Mae、Freddie Mac)は、信用損失に対する政府または GSE の保証が付いているため、主な懸念事項は期限前返済リスクです。ノンエージェンシー MBS にはこの保証がなく、信用リスクと期限前返済リスクの両方を伴います。
期限前返済リスク
金利が下がると、借り手は借り換えを行い、元本を早期に返済することがあります。これにより、負のコンベクシティが生じます。金利が下がったとき、期限前返済が加速して債券の実効年限が短くなるため、MBS の価格上昇幅は同等の米国債より小さくなります。期限前返済リスクには 2 つの側面があります。
コンストラクションリスク: 金利が下がり、期限前返済が加速して、デュレーションが短くなります。投資家は再投資金利が低いときに元本の返済を受けます。
エクステンションリスク: 金利が上がり、期限前返済が鈍化して、デュレーションが長くなります。投資家は予想より長い期間、市場金利を下回るクーポンに拘束されます。
PSA 期限前返済モデル
Public Securities Association モデルは、期限前返済速度のベンチマークを示します。
100% PSA = 最初の 30 か月間に CPR が 0% から 6% まで直線的に上昇し、その後は CPR 6% で一定になります。
150% PSA では、すべての速度に 1.5 を掛けます(例:定常水準は CPR 9%)。200% PSA では、定常水準は CPR 12% です。
CPR と SMM
CPR(Conditional Prepayment Rate): 残存プール残高に対する年率換算の期限前返済率です。
SMM(Single Monthly Mortality): 月次の期限前返済率です。
SMM = 1 - (1 - CPR)^(1/12)
加重平均残存年数(WAL)
WAL = sum(t × Principal_t) / Total Principal。満期とは異なり、WAL は元本返済(約定返済と期限前返済の両方)のタイミングを考慮します。償却型証券の WAL は満期より短く、期限前返済の前提に左右されます。
CMO トランシェ
担保付モーゲージ債務(CMO)は、MBS のキャッシュフローを異なるリスク特性を持つトランシェに再配分します。
順次償還型: 元本は第 1 トランシェに全額返済されるまで配分され、その後、第 2 トランシェなどに配分されます。先順位のトランシェほどデュレーションが短く、後順位のトランシェほど長くなります。
PAC(計画償還クラス): 期限前返済速度が一定の範囲内(例:100~250% PSA)であれば、予測可能な元本返済スケジュールを提供します。その安定性は、期限前返済の変動を吸収するコンパニオン/サポートトランシェの負担によって実現します。
サポート/コンパニオントランシェ: PAC トランシェを保護するため、過剰または不足する期限前返済を吸収します。デュレーションの変動が非常に大きくなります。
ABS(アセットバック証券)
モーゲージ以外の資産を証券化したプールです。
- 自動車ローン:償却型で、キャッシュフローは比較的予測しやすいです
- クレジットカード:リボルビング型で、リボルビング期間の後に管理された償却期間が続きます
- 学生ローン:デュレーションが長く、所得連動型返済によって不確実性が生じます
CLO(ローン担保証券)
レバレッジドローン(通常 150~250 件)のトランシェ化ポートフォリオです。AAA トランシェは、下位に構造全体の 30~40%に相当する大幅な劣後部分があることで保護されています。エクイティトランシェは、すべてのシニアトランシェへの支払い後に残ったキャッシュフローを受け取ります。ウォーターフォールテスト(超過担保比率テストとインタレストカバレッジテスト)は、ポートフォリオの状況が悪化した際、シニアトランシェを保護するためにキャッシュフローの配分先を変更します。
ウォーターフォール構造
キャッシュフローは優先順位に従って分配されます。シニアトランシェが最初に利息と元本を受け取り、次にメザニントランシェ、最後にエクイティトランシェが受け取ります。プールのパフォーマンスが悪化した場合、下位トランシェが最初に損失を吸収します(劣後構造がシニアトランシェを保護します)。超過担保(OC)テストとインタレストカバレッジ(IC)テストに抵触すると、キャッシュフローの振り替えが発動します。
ストラクチャード商品の OAS
期限前返済オプションを捉える OAS は、MBS に不可欠です。標準的な修正デュレーションは MBS に適さないため、実効デュレーション(OAS モデルで算出)または実績デュレーションを使用します。金利経路と、それに対応する期限前返済の反応をモンテカルロ・シミュレーションする方法が、MBS の標準的な評価手法です。
主な計算式
| 計算式 | 数式 | 用途 |
|---|---|---|
| CPRからSMMを計算 | SMM = 1 - (1-CPR)^(1/12) | 月次期限前返済率 |
| SMMからCPRを計算 | CPR = 1 - (1-SMM)^12 | 月次金利の年率換算 |
| PSA CPR(t月目、t<=30) | CPR = 6% × (t/30) × PSA/100 | 逓増型期限前返済モデル |
| PSA CPR(t月目、t>30) | CPR = 6% × PSA/100 | 定率型期限前返済モデル |
| WAL | sum(t × Principal_t) / Total Principal | 元本の平均返済時期 |
| OAS価格 | P = E[sum CF_t(path) / (1+s_t+OAS)^t] | MBSの評価 |
計算例
例1:PSAをCPRに変換する
条件: 150% PSA、20か月目
計算: 20か月目のCPRとSMM
解答:
100% PSAの場合、20か月目:CPR = 6% × (20/30) = 4.0%
150% PSAの場合:CPR = 4.0% × 1.5 = 6.0%
SMM = 1 - (1 - 0.06)^(1/12) = 1 - (0.94)^(0.0833) = 1 - 0.99486 = 0.00514 = 0.514%
150% PSAの20か月目では、残存プール残高の約0.514%が毎月期限前返済されます。これは年率換算で6.0%に相当します。
例2:CLOトランシェ分析
条件: 総資産5億ドルのCLO。AAAトランシェ=3億2,500万ドル(65%)、AA=5,000万ドル(10%)、A=3,750万ドル(7.5%)、BBB=2,500万ドル(5%)、BB=1,250万ドル(2.5%)、エクイティ=5,000万ドル(10%)。
計算: AAAトランシェの劣後比率
解答:
AAAより下位の劣後部分 = AA + A + BBB + BB + エクイティ
= 5,000万ドル + 3,750万ドル + 2,500万ドル + 1,250万ドル + 5,000万ドル = 1億7,500万ドル
劣後比率 = 1億7,500万ドル / 5億ドル = 35%
AAAトランシェの劣後比率は35%です。AAA投資家に元本損失が発生するには、ポートフォリオの価値が35%を超えて減少する必要があります。この大幅な信用補完があるため、CLOのAAAトランシェでは歴史的にデフォルトが発生していません。
よくある落とし穴
- MBSのネガティブ・コンベクシティを無視すること。MBSは金利低下時(期限前返済の加速)にも金利上昇時(デュレーションの伸長)にも米国債をアンダーパフォームします。
- MBSに修正デュレーションを使うこと。キャッシュフローは金利によって変化するため、実効デュレーションまたはOASデュレーションを使います。
- 期限前返済速度が一定だと仮定すること。速度は金利、季節性、借り手の属性、住宅の売買動向によって変化します。
- ウォーターフォールの仕組みがトランシェごとに異なるリスクに影響することを理解しないこと。同じ案件のシニアトランシェと劣後トランシェでも、リスク特性は大きく異なります。
関連項目
- fixed-income-sovereign(wealth-managementプラグイン):米国債の利回り曲線とデュレーション/コンベクシティの概念
- fixed-income-corporate(wealth-managementプラグイン):ノンエージェンシーMBSやCLOに適用する信用スプレッドの概念
- real-assets(wealth-managementプラグイン):MBSの基盤となる不動産市場のファンダメンタルズ
- asset-allocation(wealth-managementプラグイン):マルチアセット・ポートフォリオにおける仕組み商品
スクリプトの実行方法
uv run scripts/fixed_income_structured.py # run the demo (uses PEP 723 inline deps)
uv run scripts/fixed_income_structured.py --verify # check demo outputs against the worked examples (exit 1 on mismatch)
python3 scripts/fixed_income_structured.py # alternative (requires: pip install numpy)
デモでは、上記で説明した計算が出力されます。値はこのスキルの計算例と一致します。クラスと関数の一覧を表示するには、--helpを実行してください。プログラムから使用する場合は、スクリプトを実行するのではなく、モジュールをインポートしてください。デモが実行されるのはpython fixed_income_structured.pyを実行した場合のみです。