performance-reporting について
ポートフォリオマネージャーや運用報告書の作成者向けに、リターン、ベンチマーク、リスク、要因分析、目標進捗を扱うガイドと計算ツールです。指標を適切な文脈に置き、顧客に分かりやすく説明する方法も示します。
主な機能
- 01時間加重・金額加重リターンの計算
- 02標準期間およびGIPSコンポジットリターンの算出
- 03ベンチマーク比較とアクティブリターン分析
- 04リスク指標と投資要因分析の集約
- 05目標進捗の追跡と可視化の計画
活用シーン
- 01月次・四半期・年次の運用報告書作成
- 02運用者のスキルと投資家の成果の評価
- 03ベンチマークに対する運用成績の説明
- 04リスクエクスポージャーと財務目標の進捗表示
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ joellewis/ finance_skills --skill performance-reportingインストール後、Claude Code で/performance-reportingを入力して読み込まれたか確認します。
同梱ファイルscripts/performance_reporting.py
詳細
パフォーマンス報告 — レポートとコミュニケーション
基本概念
リターンの報告
正確で一貫したリターン計算は、あらゆるパフォーマンス報告の基盤です。
期間リターン: MTD(月初来)、QTD(四半期初来)、YTD(年初来)、1Y、3Y、5Y、10Y、設定来といった標準的な期間を報告します。設定日は必ず正確な日付を明記してください。
累積リターンと年率リターン: リターンの年率換算は、1年を超える期間に限ります。3か月のリターンを年率換算すると、そのリターン率が通年で持続可能であるかのような誤解を招きます。1年未満の期間では、累積(トータル)リターンのみを報告してください。
- 年率リターンの計算式:
(1 + cumulative_return)^(1/years) - 1 - 複数年にわたる期間では、資産の累積成長と複利のリターン率を確認できるよう、累積値と年率値の両方を必ず提示してください。
手数料控除前と控除後: リターンが運用報酬、アドバイザリー手数料、取引コストの控除前か控除後かを必ず明記してください。手数料控除後のリターンは投資家が実際に得るリターンであり、主たる表示とする必要があります。手数料控除前のリターンを示す場合は、手数料による影響も併記してください。
GIPS(グローバル投資パフォーマンス基準): 機関投資家向けの報告では、コンポジットの構築、完全な開示、検証済みの計算、標準化された表示など、GIPS の要件に従ってください。GIPS に準拠しない報告でも、公正な表示と完全な開示の原則が適用されます。
時間加重リターンと金額加重リターン:
- 時間加重リターン(TWR)はキャッシュフローの影響を除外します。投資運用者の手腕を評価する際に使用してください。
- 金額加重リターン(MWR/IRR)は、拠出と引き出しのタイミングを含めた投資家の実際の運用結果を反映します。投資家の成果を評価する際に使用してください。
計算エンジン
scripts/performance_reporting.py は、これらのレポートで使用するリターン計算を実装しています。
- Modified Dietz(
ModifiedDietz): 各外部キャッシュフローに投資期間の割合を乗じて、TWR を近似します。R = (V_end - V_start - sum(CF)) / (V_start + sum(w_i * CF_i))、w_i = (D - d_i)/D です。日次評価額を利用できない場合に GIPS で許容される近似方法です。 - 真の TWR(
TimeWeightedReturn): 期間内リターンを連鎖的に結び付け、prod(1 + r_t) - 1 を計算します。1年未満の期間には対応しない年率換算ヘルパーも備えています。 - IRR/MWR(
MoneyWeightedReturn): Brent の根探索法(scipy.optimize.brentq)を使用し、区間を指定して NPV(rate) = 0 を数値的に解き、年率の金額加重リターンを返します。 - GIPS コンポジット(
CompositeReturn): 期首評価額をウェイトとする資産加重コンポジットリターンに加え、等加重リターンと、6つ以上のポートフォリオを含むコンポジットについて GIPS が求める資産加重内部分散を計算します。 - 標準期間(
PeriodReturns): 日次リターン系列から、MTD/QTD/YTD 形式の直近の期間(1M~10Y)と設定来のリターンを計算し、1年以上の期間のみを年率換算します。
ベンチマークとの比較
リターンの数値だけでは意味がありません。適切に評価するには、ベンチマークが必要です。
適切なベンチマークの選定: ベンチマークは、ポートフォリオの投資スタイル、地域、時価総額、資産クラスの構成に合致している必要があります。米国大型株のポートフォリオは、MSCI Emerging Markets Indexではなく、S&P 500またはRussell 1000と比較するべきです。
- マルチアセットポートフォリオには、複合ベンチマークを使用します(例:S&P 500を60%、Bloomberg Aggregateを40%)。
- ベンチマークは投資可能なものである必要があります。つまり、投資家がパッシブ運用の代替手段として保有できるものでなければなりません。
- ベンチマークの選定理由を文書化し、都合のよいものを選ぶことを避けるため、長期にわたって一貫して使用します。
アクティブリターン(アルファ): ポートフォリオのリターンからベンチマークのリターンを差し引いた値です。アルファがプラスの場合はアウトパフォーマンス、マイナスの場合はアンダーパフォーマンスを示します。
トラッキングエラーとインフォメーションレシオ: 定義と算出方法については、performance-metricsを参照してください。レポートでは、アウトパフォーマンスがどの程度一貫して達成されたかを読者が判断できるよう、これらをアクティブリターンと併せて示します。
リスクダッシュボード
リターンの報告にリスク指標を加え、全体像を示します。これらの指標(ボラティリティ、VaR、ドローダウンなど)の定義と算出方法については、historical-riskを参照してください。
現在のスナップショット指標:
- 年率換算ボラティリティ
- 最大ドローダウンと現在のドローダウン
- 信頼水準95%および99%でのバリュー・アット・リスク(VaR)
- ベンチマークに対するベータ
ローリング指標: 特定時点の推定値だけでなく、リスクが時間とともにどのように変化するかを示します。
- 12カ月ローリング・シャープレシオ
- 12カ月ローリング・ボラティリティ
- 36カ月ローリング・ベータ
- ローリング・ドローダウン・チャート
リスクエクスポージャーの内訳:
- セクター集中度とベンチマークに対するウェイト
- ファクターエクスポージャー(バリュー、グロース、モメンタム、クオリティ、サイズ)
- 地域別配分
- デュレーションと信用力(債券の場合)
アトリビューションの概要
ポートフォリオがアウトパフォームまたはアンダーパフォームした理由を説明します。
ブリンソン・アトリビューション(配分、銘柄選択、相互作用)とファクター分解: 手法と計算式については、performance-attributionを参照してください。レポートでは、各効果を平易な言葉で一文にまとめます(例:「セクター配分が0.2%、銘柄選択が0.4%のリターンを上乗せしました」)。
上位/下位の寄与銘柄(保有銘柄レベル):
- ポートフォリオリターンへのプラスの寄与が最も大きかった保有銘柄と、マイナスの寄与が最も大きかった保有銘柄を、それぞれ5~10銘柄列挙します。
- 保有銘柄のリターンと、ポートフォリオ全体のリターンへの寄与度(ウェイト×リターン)の両方を示します。
- 上位/下位の各寄与銘柄がそのようなパフォーマンスとなった理由を、簡潔に説明します。
目標達成状況の追跡
目標ベースの投資家には、個々の目標に向けた進捗という観点からパフォーマンスを示します。
計画どおりかの評価: 財務計画に照らして、ポートフォリオは計画どおりですか、遅れていますか、それとも先行していますか。
目標達成確率: 現在の資産、貯蓄率、期間、想定リターンとリスクの前提に基づき、モンテカルロ・シミュレーションを使用して目標達成確率を推定します。割合で表します(例:「65歳で退職後の生活資金を確保できる確率は82%」)。
予想リターンと必要リターン: 目標達成に必要なリターンを、現在のポートフォリオの期待リターンと比較します。必要リターンが現実的な水準を上回る場合は、計画上のギャップとして明示します。
マイルストーンの追跡: 目標に対する資金の充足率を割合で示します。例:「退職後の生活資金の目標:2,000,000ドル。現在のポートフォリオ:850,000ドル。残り15年で42.5%を確保済み。」
可視化のベストプラクティス
チャートは表よりもすばやく情報を伝えます。伝えたい内容に合ったチャートを選びましょう。
10,000 ドルの成長チャート: ポートフォリオとベンチマークの累積資産成長を時系列で示します。あらゆる読者にとって直感的に理解できます。長期間を扱う場合は、複利による視覚的な歪みを避けるため、対数スケールを使用します。
ローリングリターンチャート: 過去 12 か月または 36 か月のリターンを時系列で示します。一貫性や市場環境の変化が分かります。単一の年率換算リターンよりも多くの情報を得られます。
ドローダウンチャート: 時系列でのピークから底値までの下落を示します。ボラティリティの数値では伝えられないリスクを、直感的に伝えます。
資産配分の円グラフ/棒グラフ: 現在の配分と目標配分またはベンチマークを示します。両者を並べて示すには、グループ化棒グラフを使用します。
リスク・リターン散布図: ポートフォリオとベンチマーク(必要に応じて同業グループも)を、年率換算リターンと年率換算ボラティリティの平面上にプロットします。左上(高リターン、低リスク)に位置することが望ましいです。
レポートの頻度と構成
- 月次ブリーフ: 1 ページの要約 — リターンの概要、ベンチマークとの比較、主なアトリビューション要因、注目すべき出来事。
- 四半期詳細レポート: 3〜5 ページ — リターンの全表、アトリビューション、リスクダッシュボード、目標の進捗、市場コメント、見通し。
- 年次総合レポート: 8〜15 ページ — 四半期レポートの全内容に加え、年間の振り返り、税務報告の概要、プランニングの更新、IPS のレビュー。
平易な言葉でのコミュニケーション
レポート作成で最も重要なスキルは、数値を意味のある情報に置き換えることです。
- 「ポートフォリオの年初来リターンは 8.1% でした」と述べるだけでは不十分です。背景を加えましょう。「ポートフォリオの年初来リターンは 8.1% で、ベンチマークを 0.6 パーセントポイント上回りました。主な要因は、テクノロジーセクターでの優れた銘柄選択でした。」
- パフォーマンスが期待や計画に照らして良かったのか、悪かったのかを説明します。
- 読者が理解できるたとえや比較を使います。
- 技術用語は初出時に定義するか、用語集を含めます。
- まず結論を示し、詳しく知りたい人に向けて根拠を続けます。
実例
例 1:四半期パフォーマンスレポートの要約
条件: 株式 60%/債券 40% のバランス型ポートフォリオは、第 3 四半期に 3.2% のリターンを達成しました(ベンチマーク:2.8%)。年初来では、ポートフォリオのリターンは 8.1%、ベンチマークは 7.5% でした。過去 12 か月間のポートフォリオのシャープレシオは 0.85 です。主なアトリビューション要因は、テクノロジー銘柄の選択効果(+0.3%)と、エネルギーのアンダーウェイト(-0.1%)でした。
分析:
概要: ポートフォリオは第 3 四半期にベンチマークを 0.4 パーセントポイント、年初来では 0.6 パーセントポイント上回りました。主な要因は、テクノロジー銘柄の優れた選択でした。
リターンの概要表:
| 期間 | ポートフォリオ | ベンチマーク | アクティブリターン |
|---|---|---|---|
| 第 3 四半期 | +3.2% | +2.8% | +0.4% |
| 年初来 | +8.1% | +7.5% | +0.6% |
アトリビューションの主なポイント:
- テクノロジー銘柄の選択効果が +0.3% 寄与し、アウトパフォーマンスの最大の要因となりました。
- エネルギー価格が四半期中に上昇したため、エネルギーのアンダーウェイトは -0.1% のマイナス寄与となりました。
- アクティブリターンの純額は +0.4% で、規律あるボトムアップの銘柄選択を示しています。
リスクの背景:
- 過去 12 か月間のシャープレシオは 0.85 であり、ポートフォリオがリスク調整後の有意な超過リターンを生み出していることを示しています。
- ポートフォリオのボラティリティは引き続きベンチマークと同程度であり、追加のリスクを取ることでアウトパフォーマンスを達成しているわけではありません。
クライアント向けの平易な要約:「お客様のポートフォリオは今四半期に 3.2% 上昇し、ベンチマークを約 0.5% 上回りました。年初来でも、ベンチマークを同程度上回っています。主な要因は、幅広いテクノロジーセクターを上回る成績を上げた、当社が選んだテクノロジー銘柄です。お客様の長期的なファイナンシャルプランに対して、引き続き順調に進んでいます。」
例 2:目標の進捗 — 老後資金
前提: クライアントの老後資金の目標額は、現在の価値で $2,000,000 です。現在のポートフォリオ価値は $850,000 です。運用期間は 15 年です。現在の年間拠出額は $30,000 で、毎年 3% 増加します。ポートフォリオの期待リターンは名目 7%、期待ボラティリティは 12% です。インフレ率は 2.5% と仮定します。
分析:
現在の状況:
- 目標額:$2,000,000(現在の価値)
- 現在の資産:$850,000
- 目標達成率:42.5%
- 残り期間:15 年
予測(決定論的):
- 現在の資産の 15 年後の将来価値(実質リターン 4.5%):$850,000 x (1.045)^15 = 約 $1,636,000
- 拠出額(年間 $30,000、毎年 3% 増加)の将来価値(実質リターン 4.5%):約 $620,000
- 予測合計額(実質):約 $2,256,000
- 決定論的な評価:順調 — 予測では目標を約 $256,000 上回ります
予測(モンテカルロ法、シミュレーション 10,000 回):
- 中央値の結果:$2,180,000
- 25 パーセンタイル:$1,650,000
- 10 パーセンタイル:$1,320,000
- 目標額 $2,000,000 の達成確率:68%
解釈: 決定論的な予測ではクライアントは順調に進んでいるように見えますが、モンテカルロ分析では成功確率は 68% であり、妥当ではあるものの確実性が高いとは言えません。決定論的な見方と確率論的な見方の差は、リターンの順序に関するリスクとボラティリティによる目減りが要因です。
成功確率を高めるための推奨事項:
- 年間拠出額を $5,000 増やす(達成確率は約 78% に上昇します)。
- 支出目標を少し引き下げるか、退職時期に柔軟性を持たせることを検討します。
- 現在の資産配分を維持します。この段階でリスクを軽減すると、期待リターンと達成確率が低下します。
クライアント向けの要約:「現在、老後資金の目標額 $2,000,000 に向けて $850,000 を貯めており、残り 15 年で目標の 42.5% に達しています。現在の貯蓄計画に基づくと、目標を達成できる確率はおよそ 68% です。妥当な状況ですが、年間拠出額を増やすか、退職時期に柔軟性を持たせることで、達成の可能性を高められます。」
よくある落とし穴
- 有利な期間だけを選び、パフォーマンスを実態以上に良く見せること。標準的な期間と設定来リターンを必ず示してください。
- リターンと併せてリスクを示さないこと。ボラティリティ 30% で 15% のリターンを得る場合と、ボラティリティ 10% で 15% のリターンを得る場合では、状況が大きく異なります。
- パフォーマンスを良く見せるために不適切なベンチマークを使うこと。成長株が好まれる市場環境で、成長株ファンドをバリュー指数と比較するのは不誠実です。
- 専門知識のない読者に専門用語を使いすぎること。説明がなければ、ほとんどのクライアントにとってシャープレシオやトラッキングエラーは意味が分かりません。
- 数値の背景を説明しないこと。8% は良いのでしょうか、それとも悪いのでしょうか。ベンチマーク、負ったリスク、市場環境、目標によって異なります。
- 短期間のリターンを年率換算して示すこと。1 か月で 5% のリターンを「年率換算で 60%」とするのは誤解を招くため、決して示してはいけません。
- クライアントの実際の運用成績にキャッシュフローのタイミングが大きく影響しているのに、時間加重リターンだけを示すこと。大規模なキャッシュフローやタイミングの悪いキャッシュフローがある場合は、TWR と併せて金額加重リターンを示してください。
- コンポジットレポートにおける生存者バイアス:過去の運用実績から、終了した口座や成績の悪い戦略を除外すること。
- 税金を考慮しないこと:課税対象の投資家にとって、実際に重要なのは税引後リターンです。
相互参照
- statistics-fundamentals(コアプラグイン):リターンの分布、予測の信頼区間
- time-value-of-money(コアプラグイン):将来価値の予測、年率換算の計算
- performance-metrics(ウェルスマネジメントプラグイン):シャープレシオ、ソルティノレシオ、インフォメーションレシオの計算詳細
- historical-risk(ウェルスマネジメントプラグイン):リスクダッシュボード向けのボラティリティ、ドローダウン、VaRの計算
- asset-allocation(ウェルスマネジメントプラグイン):マルチアセットポートフォリオのベンチマーク構築
- quantitative-valuation(ウェルスマネジメントプラグイン):目標予測のための将来リターンの想定
- finance-psychology(ウェルスマネジメントプラグイン):パフォーマンスを顧客に提示する際のフレーミング効果
- client-review-prep(アドバイザリープラクティスプラグイン):パフォーマンスデータを顧客レビュー会議の資料にまとめます
スクリプトの実行
uv run scripts/performance_reporting.py で実行します(PEP 723 ヘッダーにより numpy/scipy が自動的に解決されます)。または、pip install numpy scipy の実行後に python3 scripts/performance_reporting.py で実行します。引数なしで実行すると、修正ディーツリターン、連鎖リンクTWR、ブレント法で求めたIRR、GIPSコンポジットの要約、標準期間リターンの表という5つのデモが出力されます。--verify を指定すると、デモの出力が期待値と一致するか検証します(PASSの場合の終了コードは0)。クラスの概要を確認するには --help を指定します。このファイルは主にモジュールとしてインポートして使用することを想定しています(例:from performance_reporting import ModifiedDietz, MoneyWeightedReturn)。