mcpField
A
actuarial-risk-modeling

actuarial-risk-modeling

github.com/magnus919データ・データベース15358 回インストール1 日前に更新
リポジトリ

actuarial-risk-modeling について

保険請求や準備金から金融リターン、ポートフォリオ損失までを対象とする、精算・金融リスクの統計モデリング手法スキルです。データ構造に合うモデル選択、校正や裾の検証、不確実性と利用制限の記録を重視し、読み取り専用の確認スクリプトも含みます。

主な機能

  1. 01判断、データ契約、推定対象の整理
  2. 02結果構造に応じたモデル族の選択
  3. 03仮定、残差、感度の確認
  4. 04用途に沿った検証設計
  5. 05校正、テールリスク、不確実性の評価
  6. 06読み取り専用のデータ事前確認と時系列分割監査

活用シーン

  1. 01保険請求頻度、損害額、準備金の分析
  2. 02金融リターン、ボラティリティ、損失の評価
  3. 03モデルの校正、バックテスト、仮定の確認
  4. 04時系列データの分割とリークの監査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/magnus919/agent-skills --skill actuarial-risk-modeling

インストール後、Claude Code で/actuarial-risk-modelingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
evals/
evals.json
references/
applications-and-governance.md
diagnostics-and-communication.md
model-families.md
problem-framing.md
source-index.md
validation-and-calibration.md
scripts/
risk_preflight.py
temporal_split_audit.py
test_risk_scripts.py
templates/
model-brief.md
model-governance-record.md
model-report.md
validation-plan.md

詳細

保険数理および金融リスクモデリング

概要

分布の仮定、エクスポージャー、依存関係、裾の挙動、較正、意思決定への影響が重要となる、不確実な結果に統計モデリングを適用します。 このスキルは方法論を優先し、特定のライブラリや料率計算式ではなく、モデルの選択とエビデンスについて説明します。

使用する場面

次のようなタスクでは、このスキルを読み込んでください。

  • 保険料算定、保険金請求、責任準備金、支払能力、リスク分類、または経験料率。
  • 保険金請求頻度、損害額、純保険料、医療費、損失、またはイベント発生時点の結果。
  • 線形、一般化線形、二部、カウント、サバイバル、パネル、縦断、またはテールモデル。
  • 金融リターン、ボラティリティ、ポートフォリオ損失、リスク指標、またはシナリオ出力。
  • 較正、予測評価、バックテスト、モデル比較、または仮定の診断。
  • 意思決定者に対するモデル結果、不確実性、限界、または利用上の管理策の説明。

使用しない場面

  • 関連する作業については、上記の「意思決定の入口」表を使用してください。概要として、一般的な統計、因果関係、実験、機械学習の方法論は data-scientist が担当し、決定論的な事業運営、SaaS、資金調達、キャッシュフローのモデルは financial-modeling が担当します。
  • 予測、データベース、またはモデリングのプラットフォームを操作する場合は、該当する名称のツールスキルを使用してください。
  • 出力を、資格を要する保険数理、投資、法律、会計、または規制に関する助言として提示しないでください。重大な意思決定については、資格を有する専門家および適用される基準に判断を委ねてください。

意思決定の入口

開始時の状況最初の対応次に読み込むもの
保険契約、保険金請求、または損失データ粒度、エクスポージャー、目的変数、期間を定義するreferences/problem-framing.md
保険金請求の開発三角形または責任準備金の推定事故、開発、暦年の構造と評価境界を特定するreferences/applications-and-governance.md + references/validation-and-calibration.md
金融リターン、ボラティリティ、または順序付き観測値情報の締め切り時点と予測期間を定義するreferences/model-families.md + references/validation-and-calibration.md
決定論的なSaaS、キャッシュフロー、または資金調達モデルこのスキルの対象外として振り分けるfinancial-modeling
一般的な因果関係、実験、またはMLの方法論このスキルの対象外として振り分けるdata-scientist

コアワークフロー

  1. 意思決定を明確にします。 意思決定の内容、対象者、期間、観測単位、推定対象または予測対象、行動のしきい値、偽陽性と偽陰性のコストを示します。記述的な問い、予測的な問い、因果的な問いを区別します。

  2. データ契約を作成します。 粒度、曝露量またはオフセット、アウトカムの値域、観測期間と開発期間、打ち切り/切断、ポリシーまたはアカウントの境界、情報漏洩のリスク、欠損状態、来歴を定義します。

  3. モデリングの前にプロファイリングを行います。 分布、ゼロ、負の値、歪度、裾への集中、依存性、反復エンティティ、時間順序、カテゴリのスパース性、曝露量のバランス、データ品質の例外を調べます。読み取り専用の初回確認には scripts/risk_preflight.py を使用します。

  4. 妥当性を説明できる最も単純なモデルファミリーを選びます。 アルゴリズムを比較する前に、アウトカムとデータ生成構造に適合させます。判断表は references/model-families.md を読み込んで確認してください。

    モデル選択の早見表: 曝露量を伴うカウント → オフセット付きカウント GLM、ゼロと正の損失 → 2 部構成/頻度・重大度モデル、打ち切りを伴うイベント時間 → 生存時間モデル、順序のある観測値 → 動的モデル/時系列モデル、裾に関する意思決定 → 裾を考慮したモデルまたは分位点モデルにストレス感度分析を加えます。特定の分布またはリンク関数を選ぶ前に、references/model-families.md を読み込んでください。

  5. 評価を汚染せずに適合します。 変換、補完、特徴選択、較正、リサンプリング、ハイパーパラメーターの選択を、適合手順の一部として扱います。許可された学習用パーティションのみで適合してください。

  6. 診断し、検証します。 残差構造、リンク関数と分散の仮定、過分散、ゼロ過剰、レバレッジ、多重共線性、完全分離、較正、依存性、打ち切り、裾の適合、妥当な代替案に対する感度を確認します。収束フラグは検証を意味しません。

  7. 用途に合わせて検証します。 導入時の境界に応じて、グループ分割、ブロック分割、またはローリング分割を使用します。点予測の精度、確率スコア、較正、ランキング、裾または集計損失の挙動、セグメント間の安定性、不確実性を報告します。時間順のパーティションを監査するには scripts/temporal_split_audit.py を使用します。

    検証設計の早見表: 交換可能な観測値 → ランダムなホールドアウト、反復エンティティまたはクラスター → グループ分割、順序のある導入 → ブロック分割または起点をずらすローリング分割、開発期間またはラベルの重複 → ギャップ/エンバーゴ、広範なチューニングまたは候補間の比較 → ネストされた検証です。最終設計を確定する前に、references/validation-and-calibration.md を読み込んでください。

  8. 比較し、ガバナンスを徹底します。 より複雑なモデルが意思決定に関わる指標で優位性を示し、安定性、十分な解釈可能性、監視可能性を保てる場合を除き、透明性の高いモデルを優先します。仮定、上書き設定、制約、承認、ロールバックまたはレビューの開始条件を記録します。

  9. 意思決定を伝えます。 templates/model-report.md を使用し、何が観測され、推論され、仮定され、推定され、特定できず、検証されなかったのかを示します。単位、区間、シナリオの定義、診断結果、平易な言葉による推奨事項を含めます。

必須の区別

  • 頻度は重大度ではありません。 カウントモデルと正の損失額を扱うモデルでは、値域、曝露量、診断、集計ルールが異なります。
  • 予測は因果関係を意味しません。 有用な料率設定変数であっても、公正な因果的説明や使用が認められた分類要因であるとは限りません。
  • 較正は識別性能ではありません。 モデルは良好に順位付けできても、確率を系統的に誤って算出することがあります。
  • バックテストは証明ではありません。 過去の成功は、レジーム、選択、情報漏洩、または利用できなかった情報を反映している場合があります。
  • 不確実性には複数の層があります。 サンプリング誤差、パラメーターの不確実性、プロセス分散、モデル形式の不確実性、シナリオの不確実性、データ品質の不確実性を区別します。
  • 準備金またはリスクの推定値は意思決定への入力です。 期間、仮定、意図する用途と無関係な客観的事実ではありません。

最低限の分析契約

推奨を示す前に、判断と推定対象、行の粒度、期間、エクスポージャー、情報のカットオフ、候補となるモデルファミリーとその支持・依存性の仮定が適合する理由、検証の境界と指標、不確実性と感度、制限事項と許容される用途を明示してください。これらのいずれかが不明な場合は、慣例を暗黙に選ぶのではなく、未解決の入力として明記してください。

失敗モードのクイックマップ

症状最初に確認する項目参照先
ゼロが多い、または分散が平均を上回るエクスポージャー、構造的ゼロ、過分散、依存性references/model-families.md
順位付けは強いが、確率が正しくないセグメントごとのキャリブレーション、母集団の変化、再キャリブレーションの境界references/validation-and-calibration.md
ランダム CV の成績が次期の性能を上回る特徴量の利用可能性、エンティティ/時間のリーク、改訂、ドリフトreferences/validation-and-calibration.md
少数の大きな損失によって推定値が変動するデータの来歴、裾の適合度、しきい値、ストレスとシナリオへの感度references/applications-and-governance.md
開発期間が満了する前に「イベントなし」となる打ち切り、観測期間、報告の遅延references/problem-framing.md

参照先の案内

参照先読み込むタイミング
問題の定義目的変数、粒度、エクスポージャー、推定対象、または判断が曖昧な場合
モデルファミリー回帰、GLM、計数、重大度、生存、パネル、時系列、または裾のモデルを選択する場合
検証とキャリブレーション分割、バックテスト、指標、キャリブレーション、不確実性、またはストレステストを設計する場合
適用とガバナンス価格設定、準備金の計上、ソルベンシー、信頼度、リスク分類、またはモデル利用の管理に取り組む場合
診断と伝達仮定を検討する場合、出力を解釈する場合、または判断に安全なレポートを作成する場合
出典一覧権威ある参照資料、適用範囲、または最新性を確認する場合

テンプレートとスクリプト

段階に応じてテンプレートを使用してください。データ作業の前には model-brief.md、適合またはリリースの前には validation-plan.md、調査結果と判断には model-report.md、管理されたデプロイ、レビュー、監視、または廃止には model-governance-record.md を使用します。

最初に実行するスクリプトは読み取り専用です。適合の前に python3 scripts/risk_preflight.py input.csv --output preflight.json を実行し、時系列データまたは予測リークの可能性がある場合は python3 scripts/temporal_split_audit.py observations.csv --time-column observed_at --output splits.json を実行してください。

  • templates/model-brief.md — 判断、データ契約、推定対象、受け入れ基準。
  • templates/validation-plan.md — 分割設計、指標、キャリブレーション、ストレステスト、リリース基準。
  • templates/model-report.md — エビデンスに基づく分析と報告の構成。
  • templates/model-governance-record.md — 責任者、仮定、制限事項、承認、監視、廃止のトリガー。
  • scripts/risk_preflight.py — 依存関係不要で、読み取り専用の CSV/JSONL プロファイリングを行い、機械可読形式で出力します。
  • scripts/temporal_split_audit.py — 時系列の学習/テスト期間とリーク境界を、依存関係なしで監査します。

利用可能なスクリプト

スクリプト目的実行方法
scripts/risk_preflight.pyCSV または JSONL 入力に対する読み取り専用のプロファイリング処理です。分布、ゼロ、負の値、歪度、繰り返し登場するエンティティ、エクスポージャーのバランス、データ品質上の例外を、機械可読な JSON として出力します。ワークフローのステップ 3 で、モデリングを始める前に実行し、モデルの種類を決める前にデータをプロファイリングしてください。python3 scripts/risk_preflight.py input.csv --output preflight.json
scripts/temporal_split_audit.py順序付けされた観測データファイルの時系列の訓練/テスト期間とリーク境界を監査します(--time-column は必須、--test-size、--step、--gap、--output は任意)。観測データが時系列順の場合、または予測時のリークが起こり得る場合は、検証結果を信頼する前に、ワークフローのステップ 7 で実行してください。python3 scripts/temporal_split_audit.py observations.csv --time-column observed_at --output splits.json
scripts/test_risk_scripts.py上記 2 つのスクリプトを対象とするオフラインの pytest テストスイートです。いずれかのスクリプトを変更した場合、またはその出力に対する変更を監査する場合に実行してください。python3 -m pytest scripts/test_risk_scripts.py

どちらの分析スクリプトも依存関係はなく、入力を変更することはありません。

完了の条件

意思決定とデータ契約が明確で、評価設計が意図した用途に合致し、診断結果と感度分析が記録され、不確実性と限界が明示され、独立した読者が引用されたデータ、コード、前提条件、環境から報告結果を再現できるようになるまでは、モデル分析が完了したと判断しないでください。

前提条件

  • 標準ライブラリのみを使用する Python 3。どちらの分析スクリプトも依存関係がなく、サードパーティ製パッケージは不要です。
  • データ契約(粒度、エクスポージャーまたはオフセット、アウトカムのサポート、観測期間、分割監査用の時間列)が文書化された CSV または JSONL 入力。スクリプトがプロファイリングするのは指定されたデータであり、データの意味ではありません。
  • 同梱のスクリプトテストを実行する場合に限り pytest が必要です。

制限事項

  • スクリプトが行うのは初回のプロファイリングと分割監査のみです。ここではモデルの適合、選択、較正、検証指標の算出は行われず、プリフライトに問題がなくてもモデルが検証されたことにはなりません。
  • どちらのスクリプトも入力を変更しません。どちらもレポートを標準出力または --output のパスに書き込みます。レポートは、上記の「必須の区別」に照らして解釈してください。
  • 出力はデータと分割設計に関する証拠であり、資格を要する保険数理、投資、法律、会計、規制に関する助言ではありません(「使用しない場合」を参照)。

コメント