(57)【特許請求の範囲】
【請求項１】
演算手段とセクター関数データ記憶手段を含む記憶手段とを備えるコンピュータを用いて実現される、複数の企業に対する債権を含むポートフォリオの損失についてのリスク指標を求める計算方法であって、
損失指標関数算出手段が、損失指標関数のデータを企業ごとに算出するステップであって、前記損失指標関数とは、前記ポートフォリオに含まれる企業を分けるセクターごとのセクターリスク因子の実現値であるセクター変数の各値に対し与えられる各企業の損失生起確率と、ラプラス変換のための助変数に企業に対する債権のエクスポージャを乗じた値の指数関数とを用いて企業ごとに定義される関数であり、前記セクターリスク因子とは、前記損失生起確率の決定に用いられる企業価値に影響しうる複数のリスク因子である共通リスク因子の一次結合として前記セクターに含まれる企業に共通する確率変数であり、前記損失生起確率とは、当該企業の属するセクターのセクターリスク因子が前記セクター変数の各値となる条件における、前記企業価値に基づく当該企業の損失の発生の可能性を示す条件付き確率であり、前記損失指標関数の前記定義は、該損失生起確率の関数を含み、前記損失指標関数のデータは、前記損失指標関数の前記定義における前記セクター変数の各値の代わりに、離散化評価点の値を用いて算出され、前記離散化評価点とは、前記セクター変数の分布範囲に対応する範囲にあって前記演算手段によって算出され又は予め前記記憶手段に記憶された有限個の離散的な点である、損失指標関数のデータを企業ごとに算出するステップと、
セクター関数データ算出手段が、前記離散化評価点のそれぞれについてセクター関数データを算出し、算出したセクター関数データをセクターごと前記離散化評価点ごとに前記セクター関数データ記憶手段に記憶するステップであって、前記セクター関数とは、前記セクターごとに定義される関数であって該セクター内の全ての企業にわたる前記損失指標関数の積を含む関数であり、前記セクター関数データとは、セクター関数の前記離散化評価点における値であり、前記セクター関数データは、前記損失指標関数の前記データを各セクター内の全ての企業について乗算した値を用いて算出され、前記セクター関数データ算出手段は、算出された前記セクター関数データを少なくともセクターと離散化評価点とに対応させて前記セクター関数データ記憶手段に記憶する、セクター関数データ算出ステップと、
セクター乗算手段が、前記共通リスク因子に関する実現値である共通リスク変数についての積分を行うための各積分点について、セクターごとに、当該積分点の成分の一次結合であるセクター変数の近傍にある前記離散化評価点の一つを特定して、セクターおよび該特定された一つの離散化評価点に対応する前記セクター関数データを前記セクター関数データ記憶手段から呼び出して、呼び出された前記セクター関数データを全セクターについて乗じることにより、条件付ポートフォリオ関数の各積分点における近似値を算出するセクター乗算ステップであって、前記条件付ポートフォリオ関数とは、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積を含む関数である、セクター乗算ステップと、
ポートフォリオ関数算出手段が、ポートフォリオ関数データを算出するステップであって、前記ポートフォリオ関数とは、前記条件付ポートフォリオ関数の共通リスク因子に関する平均と、前記助変数の関数であるポートフォリオ助変数関数との積として定義される関数であり、前記ポートフォリオ関数算出手段は、前記条件付ポートフォリオ関数を含む被積分関数の前記共通リスク変数についての積分を前記積分点における前記条件付ポートフォリオ関数の前記近似値を用いて数値計算することによって前記条件付ポートフォリオ関数の共通リスク因子に関する平均を算出し、算出した該平均と前記助変数の関数である前記ポートフォリオ助変数関数の値との積を計算することによって、前記ポートフォリオ関数データを算出する、ポートフォリオ関数算出ステップと、
ラプラス逆変換手段が、前記ポートフォリオ関数データに基づいて、前記助変数についての積分を数値計算することにより該ポートフォリオ関数をラプラス逆変換した関数の値のデータを算出するラプラス逆変換ステップと、
リスク指標算出手段が、該ポートフォリオ関数をラプラス逆変換した関数の値のデータから前記ポートフォリオの損失についてのリスクを示すリスク指標を算出するリスク指標算出ステップと
を含むリスク指標の計算方法。
【請求項２】
前記セクター関数が、前記セクター内の全ての企業にわたる前記損失指標関数の積であり、
前記条件付ポートフォリオ関数が、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積である、請求項１に記載のリスク指標の計算方法。
【請求項３】
前記セクター関数が、前記セクター内の全ての企業にわたる前記損失指標関数の積と、セクターごとに定義される前記助変数の関数であるセクター助変数関数との積であり、
前記セクター関数データは、前記損失指標関数の前記データを各セクター内の全ての企業について乗算した値と前記セクター助変数関数の値とを乗算することにより算出され、
前記条件付ポートフォリオ関数が、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積と、助変数の関数である条件付ポートフォリオ助変数関数との積である、請求項１に記載のリスク指標の計算方法。
【請求項４】
前記ポートフォリオ関数算出ステップは、
各積分点について、前記条件付ポートフォリオ関数の前記近似値に、当該積分点に関連するウエイト値を乗じて重み付けデータを得るウエイト乗算ステップと、
全ての積分点について前記重み付けデータを合算して前記条件付ポートフォリオ関数の前記共通リスク因子に関する平均を算出し、該平均と前記助変数の関数である前記ポートフォリオ助変数関数の値との積を計算することにより前記ポートフォリオ関数のデータを算出するステップと
を含む、請求項１に記載のリスク指標の計算方法。
【請求項５】
前記ポートフォリオ関数算出ステップは、各積分点について、前記条件付ポートフォリオ関数の前記近似値を合算し積分点数により除算して前記条件付ポートフォリオ関数の前記共通リスク因子に関する平均を算出し、該平均と前記助変数の関数である前記ポートフォリオ助変数関数の値との積を計算することにより前記ポートフォリオ関数のデータを算出するステップを含む、請求項１に記載のリスク指標の計算方法。
【請求項６】
損失指標関数のデータを企業ごとに算出する前記ステップは、前記ラプラス逆変換ステップの数値計算において用いる前記助変数の値ごとに損失指標関数の前記データを算出するステップであり、
前記セクター関数データ算出ステップは、各セクターと各離散化評価点と前記助変数の各値とに対応するセクター関数データである助変数毎セクター関数データを、前記セクターと前記離散化評価点と前記助変数の各値とに対応させて前記セクター関数データとして前記セクター関数データ記憶手段に記憶するステップであり、
前記セクター乗算ステップは、前記助変数の各値に対して、セクターごとに特定された一つの離散化評価点について、前記セクター関数データ記憶手段から前記助変数毎セクター関数データを、前記セクター関数データとして呼び出して全セクターについて乗じるステップであり、
前記ポートフォリオ関数算出ステップが、前記助変数の各値に対して実行され、
前記ラプラス逆変換ステップは、前記助変数の各値に対する前記ポートフォリオ関数のデータにより前記助変数についての積分計算の数値計算を実行するステップである、請求項１に記載のリスク指標の計算方法。
【請求項７】
前記損失指標関数が、前記セクターリスク因子が前記離散化評価点となる条件における企業ごとの条件付きモーメント母関数であり、前記セクター関数がセクター内の全ての企業にわたる該損失指標関数の積であり、前記条件付ポートフォリオ関数が前記ポートフォリオに含まれる全てのセクターにわたる該セクター関数の積であり、前記ポートフォリオ助変数関数が恒等関数であり、前記ポートフォリオ関数をラプラス逆変換した関数が前記損失の確率分布を与える確率密度関数であり、前記リスク指標算出ステップにおいて該確率密度関数の値のデータに基づいて前記リスク指標が算出される、請求項１に記載のリスク指標の計算方法。
【請求項８】
前記損失指標関数が、前記セクターリスク因子が前記離散化評価点となる条件における企業ごとの条件付きモーメント母関数であり、前記セクター関数がセクター内の全ての企業にわたる該損失指標関数の積であり、前記条件付ポートフォリオ関数が前記ポートフォリオに含まれる全てのセクターにわたる該セクター関数の積であり、前記ポートフォリオ助変数関数が前記助変数による除算関数であり、前記ポートフォリオ関数をラプラス逆変換した関数が前記損失の確率分布を与える分布関数であり、前記リスク指標算出ステップにおいて該分布関数の値のデータに基づいて前記リスク指標が算出される、請求項１に記載のリスク指標の計算方法。
【請求項９】
前記リスク指標が信用バリューアットリスク額を含むものであり、
前記演算手段が、前記ウエイト乗算ステップで得られた前記重み付けデータを、セクターごとに前記セクター乗算ステップで特定された離散化評価点と当該セクターとに対応付けて、セクター別離散化評価点別に、全ての積分点にわたって和をとって和データを算出する第１の追加計算ステップと、
前記演算手段が、前記和データを少なくともセクターと離散化評価点とに対応させて和データ記憶手段に記憶する追加記憶ステップと、
前記演算手段が、前記ポートフォリオ内の全ての企業について、離散化評価点ごとに、前記損失生起確率と、前記助変数に各企業に対する債権のエクスポージャを乗じた値の指数関数とを用いて定義されるリスク寄与度指標関数のデータを算出し、当該企業のセクターと当該離散化評価点とにより特定される前記和データを前記和データ記憶手段から呼び出して前記リスク寄与度指標関数のデータと乗算して、全ての離散化評価点にわたる当該乗算結果の和をとって当該企業のエクスポージャによる分布関数の偏微分値のラプラス変換データを求める第２の追加計算ステップと、
前記演算手段が、前記第２の追加計算ステップによって得られた各企業のエクスポージャによる分布関数の偏微分値のラプラス変換データから、各企業のエクスポージャによる分布関数の偏微分の前記信用バリューアットリスク額における値のデータを、前記ポートフォリオに含まれる全ての企業に対して算出する追加のラプラス逆変換ステップと、
前記演算手段が、該追加のラプラス逆変換ステップにより得られた全ての企業のエクスポージャによる分布関数の偏微分の前記信用バリューアットリスク額における値のデータと、全ての企業のエクスポージャと、前記信用バリューアットリスク額とから、各企業のエコノミックキャピタルを算出するステップと
をさらに含む請求項４に記載のリスク指標の計算方法。
【請求項１０】
前記リスク指標が信用バリューアットリスク額を含み、
前記演算手段が、各企業のエクスポージャによる分布関数の偏微分値の前記ラプラス変換データを助変数で除算して企業別のデータを得る第３の追加計算ステップと、
前記演算手段が、該第３の追加計算ステップにより得られた企業別のデータから、各企業のエクスポージャによる分布関数の偏微分を、０から前記信用バリューアットリスク額までの区間において損失額によって積分した値である積分値データを、ラプラス逆変換により算出する第２の追加のラプラス逆変換ステップと、
前記演算手段が、該第２の追加のラプラス逆変換ステップにより得られた各企業の前記積分値データと当該企業の前記損失生起確率の前記セクターリスク因子に関する平均値である平均デフォルト確率との和をとり、該和を、全区間からの信頼区間の残余によって除算して、各企業の条件付きバリューアットリスク額に基づくリスク寄与度を算出するステップと
をさらに含む請求項９に記載のリスク指標の計算方法。
【請求項１１】
前記損失生起確率は、企業がデフォルトとなる前記企業価値の上限であるデフォルト閾値を含む基準に基づいて前記セクター変数の各値に対して与えられるものであり、前記損失生起確率は、前記セクター変数が与えられた条件での当該企業の条件付デフォルト確率である、請求項１に記載のリスク指標の計算方法。
【請求項１２】
前記基準は、企業の格付が変化する前記企業価値についての格付閾値を少なくとも一つさらに含む基準であり、
前記損失指標関数が、格付推移時の損益と、前記セクター変数が与えられた条件での当該企業の条件付格付推移確率とをさらに含んで定義されている、請求項１１に記載のリスク指標の計算方法。
【請求項１３】
前記ラプラス逆変換ステップは、ラプラス逆変換の無限区間積分を近似する級数の係数のデータから該級数の項ごとの和よりも速く該級数の値に収束する計算法を与える収束加速法を用いて、該級数の近似値を求める収束加速ステップを含む、請求項１〜６、９または１０のいずれかに記載のリスク指標の計算方法。
【請求項１４】
前記ラプラス逆変換ステップは、ラプラス逆変換の無限区間積分を近似する級数の係数のデータから該級数を表現する連分数の係数を算出するステップと、該係数を用いて該連分数の値の数値計算を行うステップとを含む、請求項１〜６、９または１０のいずれかに記載のリスク指標の計算方法。
【請求項１５】
ラプラス逆変換の無限区間積分を近似する前記級数として、ラプラス逆変換の無限区間積分の積分にポアソン法を適用して得られる無限級数を用いる、請求項１４に記載のリスク指標の計算方法。
【請求項１６】
前記連分数の係数を算出するステップは、ＱＤ法に基づいて連分数の係数を求めるステップを含む、請求項１４に記載のリスク指標の計算方法。
【請求項１７】
前記級数がポアソン法に基づいて得られた無限級数であり、
前記連分数の係数を算出するステップがＱＤ法に基づいて連分数の係数を求めるステップである、請求項１４に記載のリスク指標の計算方法。
【請求項１８】
前記リスク指標が予測損失額を含み、該予測損失額が、前記確率密度関数または前記分布関数から算出される請求項７または８に記載のリスク指標の計算方法。
【請求項１９】
前記リスク指標が所定の信頼区間に対応する信用バリューアットリスク額を含み、該信用バリューアットリスク額が、前記分布関数から算出される請求項８に記載のリスク指標の計算方法。
【請求項２０】
前記セクター乗算ステップは、セクター変数との差の絶対値を最小にするよう前記離散化評価点の集合から一つの前記離散化評価点を特定する、請求項１に記載のリスク指標の計算方法。
【請求項２１】
演算手段とセクター関数データ記憶手段を含む記憶手段とを備えるコンピュータを用いて実現される、複数の企業に対する債権を含むポートフォリオの損失についてのリスク指標を求める計算方法であって、
損失指標関数算出手段が、損失指標関数のデータを企業ごとに算出するステップであって、前記損失指標関数とは、前記ポートフォリオに含まれる企業を分けるセクターごとのセクターリスク因子の実現値であるセクター変数の各値に対し与えられる各企業の損失生起確率と、フーリエ変換のための助変数に企業に対する債権のエクスポージャと虚数単位を乗じた値の指数関数とを用いて企業ごとに定義される関数であり、前記セクターリスク因子とは、前記損失生起確率の決定に用いられる企業価値に影響しうる複数のリスク因子である共通リスク因子の一次結合として前記セクターに含まれる企業に共通する確率変数であり、前記損失生起確率とは、当該企業の属するセクターリスク因子が前記セクター変数の各値となる条件における前記企業価値に基づく当該企業の損失の発生の可能性を示す条件付き確率であり、前記損失指標関数の前記定義は、該損失生起確率の関数を含み、前記損失指標関数のデータは、前記損失指標関数の前記定義における前記セクター変数の各値の代わりに、離散化評価点の値を用いて算出され、前記離散化評価点とは、前記セクター変数の分布範囲に対応する範囲にあって前記演算手段によって算出され又は予め前記記憶手段に記憶された有限個の離散的な点である、損失指標関数のデータを企業ごとに算出するステップと、
セクター関数データ算出手段が、前記離散化評価点のそれぞれについてセクター関数データを算出し、算出したセクター関数データをセクターごと前記離散化評価点ごとに前記セクター関数データ記憶手段に記憶するステップであって、前記セクター関数とは、前記セクターごとに定義される関数であって該セクター内の全ての企業にわたる前記損失指標関数の積を含む関数であり、前記セクター関数データとは、セクター関数の前記離散化評価点における値であり、前記セクター関数データは、前記損失指標関数の前記データを各セクター内の全ての企業について乗算した値を用いて算出され、前記セクター関数データ算出手段は、算出された前記セクター関数データを少なくともセクターと離散化評価点とに対応させて前記セクター関数データ記憶手段に記憶する、セクター関数データ算出ステップと、
セクター乗算手段が、前記共通リスク因子に関する実現値である共通リスク変数についての積分を行うための各積分点について、セクターごとに、当該積分点の成分の一次結合であるセクター変数の近傍にある前記離散化評価点の一つを特定して、セクターおよび該特定された一つの離散化評価点に対応する前記セクター関数データを前記セクター関数データ記憶手段から呼び出して、呼び出された前記セクター関数データを全セクターについて乗じることにより、条件付ポートフォリオ関数の各積分点における近似値を算出するセクター乗算ステップであって、前記条件付ポートフォリオ関数とは、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積を含む関数である、セクター乗算ステップと、
ポートフォリオ関数算出手段が、ポートフォリオ関数データを算出するステップであって、前記ポートフォリオ関数とは、前記条件付ポートフォリオ関数の共通リスク因子に関する平均と、前記助変数の関数であるポートフォリオ助変数関数との積として定義される関数であり、前記ポートフォリオ関数算出手段は、前記条件付ポートフォリオ関数を含む被積分関数の前記共通リスク変数についての積分を前記積分点における前記条件付ポートフォリオ関数の前記近似値を用いて数値計算することによって前記条件付ポートフォリオ関数の共通リスク因子に関する平均を算出し、算出した該平均と前記助変数の関数である前記ポートフォリオ助変数関数の値との積を計算することによって、前記ポートフォリオ関数データを算出する、ポートフォリオ関数算出ステップと、
逆フーリエ変換手段が、前記ポートフォリオ関数データに基づいて、前記助変数についての積分を数値計算することにより該ポートフォリオ関数を逆フーリエ変換した関数の値のデータを算出する逆フーリエ変換ステップと、
リスク指標算出手段が、該ポートフォリオ関数を逆フーリエ変換した関数の値のデータから前記ポートフォリオの損失についてのリスクを示すリスク指標を算出するリスク指標算出ステップと
を含むリスク指標の計算方法。
【請求項２２】
前記セクター関数が、前記セクター内の全ての企業にわたる前記損失指標関数の積であり、
前記条件付ポートフォリオ関数が、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積である、請求項２１に記載のリスク指標の計算方法。
【請求項２３】
前記セクター関数が、前記セクター内の全ての企業にわたる前記損失指標関数の積と、セクターごとに定義される前記助変数の関数であるセクター助変数関数との積であり、
前記セクター関数データは、前記損失指標関数の前記データを各セクター内の全ての企業について乗算した値と前記セクター助変数関数の値とを乗算することにより算出され、
前記条件付ポートフォリオ関数が、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積と、助変数の関数である条件付ポートフォリオ助変数関数との積である、請求項２１に記載のリスク指標の計算方法。
【請求項２４】
前記ポートフォリオ関数算出ステップは、
各積分点について、前記条件付ポートフォリオ関数の前記近似値に、当該積分点に関連するウエイト値を乗じて重み付けデータを得るウエイト乗算ステップと、
全ての積分点について前記重み付けデータを合算して前記条件付ポートフォリオ関数の前記共通リスク因子に関する平均を算出し、該平均と前記助変数の関数であるポートフォリオ助変数関数との積を計算することにより前記ポートフォリオ関数のデータを算出するステップと
を含む、請求項２１に記載のリスク指標の計算方法。
【請求項２５】
前記ポートフォリオ関数算出ステップは、各積分点について、前記条件付ポートフォリオ関数の前記近似値を合算し積分点数により除算して前記条件付ポートフォリオ関数の前記共通リスク因子に関する平均を算出し、該平均と前記助変数の関数であるポートフォリオ助変数関数との積を計算することにより前記ポートフォリオ関数のデータを算出するステップを含む、請求項２１に記載のリスク指標の計算方法。
【請求項２６】
損失指標関数のデータを企業ごとに算出する前記ステップは、前記逆フーリエ変換ステップの数値計算において用いる前記助変数の値ごとに損失指標関数の前記データを算出するステップであり、
前記セクター関数データ算出ステップは、各セクターと各離散化評価点と前記助変数の各値とに対応するセクター関数データである助変数毎セクター関数データを、前記セクターと前記離散化評価点と前記助変数の各値とに対応させて前記セクター関数データとして前記セクター関数データ記憶手段に記憶するステップであり、
前記セクター乗算ステップは、前記助変数の各値に対して、セクターごとに特定された一つの離散化評価点について、前記セクター関数データ記憶手段から前記助変数毎セクター関数データを、前記セクター関数データとして呼び出して全セクターについて乗じるステップであり、
前記ポートフォリオ関数算出ステップが、助変数の各値に対して実行され、
前記逆フーリエ変換ステップは、前記助変数の各値に対する前記ポートフォリオ関数のデータにより前記助変数についての積分計算の数値計算を実行するステップである、請求項２１に記載のリスク指標の計算方法。
【請求項２７】
演算手段と記憶手段を備えるコンピュータに請求項１または２１に記載のリスク指標の計算方法を実行させるためのコンピュータプログラム。
【請求項２８】
演算装置とセクター関数データ記憶部を含む記憶装置を備えるコンピュータによって実現される、複数の企業に対する債権を含むポートフォリオの損失についてのリスク指標を求める計算装置であって、
損失指標関数のデータを企業ごとに算出する損失指標関数算出部であって、前記損失指標関数とは、前記ポートフォリオに含まれる企業を分けるセクターごとのセクターリスク因子の実現値であるセクター変数の各値に対し与えられる各企業の損失生起確率と、ラプラス変換のための助変数に企業に対する債権のエクスポージャを乗じた値の指数関数とを用いて企業ごとに定義される関数であり、前記セクターリスク因子とは、前記損失生起確率の決定に用いられる企業価値に影響しうる複数のリスク因子である共通リスク因子の一次結合として前記セクターに含まれる企業に共通して定義される確率変数であり、前記損失生起確率とは、当該企業の属するセクターのセクターリスク因子が前記セクター変数の各値となる条件における、前記企業価値に基づく当該企業の損失の発生の可能性を示す条件付き確率であり、前記損失指標関数の前記定義は、該損失生起確率の関数を含み、前記損失指標関数のデータは、前記損失指標関数の前記定義における前記セクター変数の各値の代わりに、離散化評価点の値を用いて算出され、前記離散化評価点とは、前記セクター変数の分布範囲に対応する範囲にあって前記演算手段によって算出され又は予め前記記憶手段に記憶された有限個の離散的な点である、損失指標関数算出部と、
前記離散化評価点のそれぞれについてセクター関数データを算出して、算出したセクター関数データをセクターごと前記離散化評価点ごとに前記セクター関数データ記憶手段に記憶するセクター関数データ算出部であって、前記セクター関数とは、前記セクターごとに定義される関数であって該セクター内の全ての企業にわたる前記損失指標関数の積を含む関数であり、前記セクター関数データとは、セクター関数の前記離散化評価点における値であり、前記セクター関数データを前記損失指標関数の前記データを各セクター内の全ての企業について乗算した値を用いて算出し、算出した前記セクター関数データを少なくともセクターと離散化評価点とに対応させて前記セクター関数データ記憶手段に記憶する、セクター関数データ算出部と、
前記共通リスク因子に関する実現値である共通リスク変数についての積分を行うための各積分点について、セクターごとに、当該積分点の成分の一次結合であるセクター変数の近傍にある前記離散化評価点の一つを特定して、セクターおよび該特定された一つの離散化評価点に対応する前記セクター関数データを前記セクター関数データ記憶部から呼び出して、呼び出された前記セクター関数データを全セクターについて乗じることにより、条件付ポートフォリオ関数の各積分点における近似値を算出するセクター乗算部であって、前記条件付ポートフォリオ関数とは、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積を含む関数である、セクター乗算部と、
ポートフォリオ関数データを算出するポートフォリオ関数算出部であって、前記ポートフォリオ関数とは、前記条件付ポートフォリオ関数の共通リスク因子に関する平均と、前記助変数の関数であるポートフォリオ助変数関数との積として定義される関数であり、前記条件付ポートフォリオ関数を含む被積分関数の前記共通リスク変数についての積分を前記積分点における前記条件付ポートフォリオ関数の前記近似値を用いて数値計算することによって前記条件付ポートフォリオ関数の共通リスク因子に関する平均を算出し、算出した該平均と前記助変数の関数である前記ポートフォリオ助変数関数の値との積を計算することによって、前記ポートフォリオ関数データを算出する、ポートフォリオ関数算出部と、
前記ポートフォリオ関数データに基づいて、前記助変数についての積分を数値計算することにより該ポートフォリオ関数をラプラス逆変換した関数の値のデータを算出するラプラス逆変換部と、
該ポートフォリオ関数をラプラス逆変換した関数の値のデータから前記ポートフォリオの損失についてのリスクを示すリスク指標を算出するリスク指標算出部と
を備えているリスク指標の計算装置。
【請求項２９】
演算装置とセクター関数データ記憶部を含む記憶装置を備えるコンピュータによって実現される、複数の企業に対する債権を含むポートフォリオの損失についてのリスク指標を求める計算装置であって、
損失指標関数のデータを企業ごとに算出する損失指標関数算出部であって、前記損失指標関数とは、前記ポートフォリオに含まれる企業を分けるセクターごとのセクターリスク因子の実現値であるセクター変数の各値に対し与えられる各企業の損失生起確率と、フーリエ変換のための助変数に企業に対する債権のエクスポージャと虚数単位を乗じた値の指数関数とを用いて企業ごとに定義される関数であり、前記セクターリスク因子とは、前記損失生起確率の決定に用いられる企業価値に影響しうる複数のリスク因子である共通リスク因子の一次結合として前記セクターに含まれる企業に共通して定義される確率変数であり、前記損失生起確率とは、当該企業の属するセクターのセクターリスク因子が前記セクター変数の各値となる条件における、前記企業価値に基づく当該企業の損失の発生の可能性を示す条件付確率であり、前記損失指標関数の前記定義は、該損失生起確率の関数を含み、前記損失指標関数のデータは、前記損失指標関数の前記定義における前記セクター変数の各値の代わりに、離散化評価点の値を用いて算出され、前記離散化評価点とは、前記セクター変数の分布範囲に対応する範囲にあって前記演算手段によって算出され又は予め前記記憶手段に記憶された有限個の離散的な点である、損失指標関数算出部と、
前記離散化評価点のそれぞれについてセクター関数データを算出して、算出したセクター関数データをセクターごと前記離散化評価点ごとに前記セクター関数データ記憶手段に記憶するセクター関数データ算出部であって、前記セクター関数とは、前記セクターごとに定義される関数であって該セクター内の全ての企業にわたる前記損失指標関数の積を含む関数であり、前記セクター関数データとは、セクター関数の前記離散化評価点における値であり、前記セクター関数データを前記損失指標関数の前記データを各セクター内の全ての企業について乗算した値を用いて算出し、算出した前記セクター関数データを少なくともセクターと離散化評価点とに対応させて前記セクター関数データ記憶手段に記憶する、セクター関数データ算出部と、
前記共通リスク因子に関する実現値である共通リスク変数についての積分を行うための各積分点について、セクターごとに、当該積分点の成分の一次結合であるセクター変数の近傍にある前記離散化評価点の一つを特定して、セクターおよび該特定された一つの離散化評価点に対応する前記セクター関数データを前記セクター関数データ記憶部から呼び出して、呼び出された前記セクター関数データを全セクターについて乗じることにより、条件付ポートフォリオ関数の各積分点における近似値を算出するセクター乗算部であって、前記条件付ポートフォリオ関数とは、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積を含む関数である、セクター乗算部と、
ポートフォリオ関数データを算出するポートフォリオ関数算出部であって、前記ポートフォリオ関数とは、前記条件付ポートフォリオ関数の共通リスク因子に関する平均と、前記助変数の関数であるポートフォリオ助変数関数との積として定義される関数であり、前記条件付ポートフォリオ関数を含む被積分関数の前記共通リスク変数についての積分を前記積分点における前記条件付ポートフォリオ関数の前記近似値を用いて数値計算することによって前記条件付ポートフォリオ関数の共通リスク因子に関する平均を算出し、算出した該平均と前記助変数の関数である前記ポートフォリオ助変数関数の値との積を計算することによって、前記ポートフォリオ関数データを算出する、ポートフォリオ関数算出部と、
前記ポートフォリオ関数データに基づいて、前記助変数についての積分を数値計算することにより該ポートフォリオ関数を逆フーリエ変換した関数の値のデータを算出する逆フーリエ変換部と、
該ポートフォリオ関数を逆フーリエ変換した関数の値のデータから前記ポートフォリオの損失についてのリスクを示すリスク指標を算出するリスク指標算出部と
を備えているリスク指標の計算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信用リスク管理を適切に行うための信用リスクの計算方法、計算プログラムおよび計算装置に関する。具体的には、本発明は、貸付等を含む、多数の与信取引の集合であるポートフォリオの管理においてデフォルトを含むリスクを定量的に把握するためのリスク指標を算出する計算に関する方法、プログラムおよび装置に関する。
【背景技術】
【０００２】
金融機関にとっての「リスク」とは、一般に将来における資産価値の不確実性を意味しており、各種金融取引におけるリスクを適切に管理することが金融機関にとっての大きな課題である。金融機関の中でも、特に銀行が抱える最大のリスクは信用リスクであり、銀行はその財務健全性を維持するべく、堅固な信用リスク管理体制を自主的に構築する必要がある。また、銀行監督手法に係る国際合意である「バーゼルＩＩ」第二の柱に基づき、監督当局は銀行の信用リスク管理体制の適切性につき検証を行うことが求められている。こうした銀行内外からの要請に鑑みれば、信用リスクを適切に管理することが、銀行経営においてリスク管理部門が果たすべき重要な機能であるといえる。この信用リスク管理を適切に実施するためには、例えば、「あるポートフォリオから、今後一年間にいくらの損失がどのくらいの確率で発生するか」という情報を定量的に把握することが必要である。
【０００３】
このような情報を定量的に把握するためには、確率を考慮したリスクの管理が有効である。これは、そのポートフォリオから想定される一定期間後の損失額ごとにその損失額の発生確率を適切に把握することによって達成することができる。図３は、将来の一定の期間の後に発生しうる損失額を確率のグラフとして示す説明図である。図３には、一定期間後に想定される損失額の各々に対してその発生確率が描かれている。このような確率分布を定量的に予測することにより、上記の信用リスク管理に必要な情報が把握できる。このような確率分布を与える確率密度関数あるいは分布関数を各種のデータから合理的に予測する数学的手続は、金融工学の分野において「リスクの計測（または計量）」と呼ばれている。
【０００４】
損失額の確率密度や分布関数が正確に予測される（すなわち、リスクが計測される）と、ポートフォリオの管理実務上の指標として、各種のリスク指標が算出される。例えば、「予測損失額（Ｅｘｐｅｃｔｅｄ  Ｌｏｓｓ；ＥＬ）」が算出され、「信用ＶａＲ（Ｖａｌｕｅ  ａｔ  Ｒｉｓｋ）」が算出され、また、「予測損失変動額（Ｕｎｅｘｐｅｃｔｅｄ  Ｌｏｓｓ；ＵＬ）」が算出される。予測損失額（ＥＬ）は、その期間後の平均として期待される損失を表し、信用ＶａＲは、金額によって表現される単一の指標であって、分布関数がある一定値となる損失額を表している。この一定値は、信頼率または信頼区間といい、例えば、９９％や９９．９７％といった値が選ばれる。実際に、信用ＶａＲは、その期間運用した後に運用管理上想定すべき損失の上限であると考えることができる。なお、本明細書において、信用ＶａＲを単にＶａＲと呼ぶことがある。予測損失変動額（ＵＬ）は上記信用ＶａＲと予測損失額との差によって算出される。これらの具体的な指標が求められると、リスク管理部門は、例えば、予測損失額に相当する引当金が準備できるか、あるいは、その引当金を超える予測損失変動額分の損失について、自己資本での充当が可能かどうかについて事前に定量的に把握することが可能となる。また、ポートフォリオ運用部門は、自己のポートフォリオの信用リスク指標を参考情報とすることにより、そのポートフォリオを保有するべきかどうか、あるいはポートフォリオの組換えを行うべきかを合理的に決定することができる。
【０００５】
損失額の確率分布の予測、すなわちリスクの計測の際には、損失額をどのように認識するか、すなわち、どのようなイベントを損失と考えるか、という前提となる損失の認識の態様により、主として二つの考え方が知られている。一つは、債務不履行（デフォルト）によって発生する債権価値の低下のみを損失ととらえるものであり、デフォルトモードと呼ばれる。もう一つは、デフォルトに加えて与信先の信用力の低下に伴う債権価値の下落も損失ととらえるものであり、ＭｔＭ（Ｍａｒｋｅｔ  ｔｏ  Ｍａｒｋｅｔ）モードと呼ばれる。
【０００６】
図４は、デフォルトモードとＭｔＭモードの特徴をまとめた表である。デフォルトモードは、債務不履行が発生することのみを損失とする発生主義のとらえ方をするものであり、主に満期取引を目的とする取引者が、例えば貸出や保証を主体としたポートフォリオを評価する際に用いる。これに対して、ＭｔＭモードは、個々の債権の時価の下落を原因とする損失をも考慮する時価主義のとらえ方をするものであり、主に短期売買を目的とする取引者が、例えば、債券やデリバティブ等の取引を主体としたポートフォリオを評価する際に用いる。
【０００７】
債権価値については、デフォルトモードの場合では簿価ベースで認識されるのに対し、ＭｔＭモードでは、時価ベースで認識される。信用リスクとして損失が認識されるイベントについては、前述のようにデフォルトモードでは債務不履行（デフォルト）であり、ＭｔＭモードでは、デフォルトに加えて市場における格付低下をも含む。
【０００８】
このような違いにより、デフォルトモードとＭｔＭモードとではリスクの計測に用いる数学的手続に用いる主要なパラメータの選択にも違いが生じる。デフォルトモードでは、パラメータとして、各企業に対するエクスポージャ、デフォルト確率（Ｐｒｏｂａｂｉｌｉｔｙ  ｏｆ  Ｄｅｆａｕｌｔ；ＰＤ）、信用力変化に関する相関などが考慮される。なお、企業に対するエクスポージャとは、当該企業がデフォルトした場合に発生する損失額のことであり、取引残高とデフォルト時損失率から算出することもできる。また、信用力変化に関する相関とは、複数の企業の信用力の連動性を表すパラメータであり、例えば、株価や社債価格の時系列データから算出される。他方、ＭｔＭモードでは、取引のキャッシュフローの情報、市場情報、格付遷移確率、信用力変化に関する相関などが考慮される。ここで、取引のキャッシュフロー情報は、ポートフォリオを構成する社債等の利払い（クーポン）によって生じるキャッシュフローの情報をいう。また、市場情報は、社債の格付別に与えられるイールドカーブ等の時価に影響する市場の情報をいう。そのような市場の時価が格付に依存するため、ＭｔＭモードでのリスク計測においては、一定期間後に現時点の格付から各格付へと遷移する確率である格付遷移確率が必要となる。
【０００９】
以上に説明したようなデフォルトモードをモデルとして採用する損失の考え方の例としては、ＣｒｅｄｉｔＲｉｓｋ＋  （Ｃｒｅｄｉｔ  Ｓｕｉｓｓｅ  Ｆｉｎａｎｃｉａｌ  Ｐｒｏｄｕｃｔｓ社）が知られており、ＭｔＭモードをモデルとして採用する例としては、ＣｒｅｄｉｔＭｅｔｒｉｃｓ（ＪＰＭｏｒｇａｎ社）が知られている。
【００１０】
次に、信用リスクの計測について説明する。信用リスクの計測は、二つのステップによって行われる。信用リスクの計測においては、まず、各企業の損失の確率を記述するステップがあり、次に、ポートフォリオに含まれる各企業の損失について合算するステップがある。図５および図６は、企業の損失の概念を示す図であり、図５はデフォルトモードの場合を示し、図６はＭｔＭモードの場合を示す。前述のように、デフォルトモードでは、デフォルトが生じた場合のみ損失が発生すると考え、ＭｔＭモードでは、デフォルトに加え、リスク計測期間後に格付が低下することによっても損失が発生すると考える。なお、ＭｔＭモードにおいては、発生する損失額は、リスク計測期間後の格付によって異なり、損失ではなく利益が発生することもありうる。
【００１１】
図７は、企業の損失を合算する概念を示す説明図である。以下、デフォルトモードに限定して説明する。まず、複数の企業（企業ｉ、企業ｊ）それぞれについて、損失額ごとのデフォルトの確率が分かっているとする。つまり、図７は、企業ｉがデフォルトとなる確率は５％であり、そのときの損失額は１００であることを示し、企業ｊがデフォルトとなる確率も同様に５％であり、そのときの損失額が５０であることを示している。このような場合であっても、複数の企業の損失を合算して損失額の確率分布を明らかにするためには、さらに企業間のデフォルト事象についての相関を考慮する必要がある。これは、現実のポートフォリオに含まれる企業間の業績等の相関を正確に反映するためである。図７に示したように、企業に全く相関がない場合（相関＝０の場合）には、デフォルト事象が独立に生起するため、両社がともにデフォルトとなって合計の損失額が１５０となる確率は、企業ｉのデフォルト確率と企業ｊのデフォルト確率の積によってあらわされ、０．２５％となる。一方、企業間に完全な相関がある場合（相関＝１の場合）には、一方の企業のデフォルトが他方の企業のデフォルトにつながるため、合計の損失額が１５０となる確率は一方の企業のデフォルト確率５％と同じになる。図７には、これらの場合以外にも、部分的な相関がある場合、すなわち相関係数が０．２と０．５の場合も記載されている。このように、複数の企業についても、相関を適切に取り入れた上で各損失額にその損失額を与える確率を算出することができる。
【００１２】
図８には、このような損失額ごとの確率を、一つの企業（企業ｉ）について、および２つの企業（企業ｉ、企業ｊ）を含む場合の相関が０．２の例について示す。このグラフは、各損失額に対してその損失が生じる確率を与える確率密度関数を示しており、図３に与えた確率密度に相当する。原理的には、任意の数の企業についてもポートフォリオの損失の確率分布を求めることができることは明らかである。一旦確率密度関数が求まれば、それを積分することにより、図９に示すような分布関数が計算できる。例えば、分布関数が９９％の値を示すような金額は、信用ＶａＲの額となるため、確率分布を求めることにより、前述のＥＬ，ＵＬ，信用ＶａＲ等の指標を算出することができる。実際には、図８に示した例とは異なり、現実のポートフォリオの運用や銀行の経営においては、そこに含まれる数万〜数百万件の債権の全てを考慮することは、容易ではない。
【００１３】
次に、信用リスク計測モデルについて説明する。上述のように、ポートフォリオの信用リスクを把握するためには、デフォルトや信用力変化にみられる企業間（債務者間）の相関を適切に考慮する必要がある。したがって、相関を考慮することができるように、信用リスクを数学的にモデル化する必要が生じ、その際、企業間のデフォルトや信用力変化に見られる相関を適切に反映することができるようにモデル化する必要がある。このような企業間の相関を取り入れた信用リスク計測モデルとして、近年では、「企業価値モデル（Ｆｉｒｍ−Ｖａｌｕｅ  Ｍｏｄｅｌ）」と呼ばれるモデルが用いられることが多い。
【００１４】
企業価値モデルには、ワン・ファクター（ｏｎｅ−ｆａｃｔｏｒ）企業価値モデルやマルチ・ファクター（ｍｕｌｔｉ−ｆａｃｔｏｒ）企業価値モデルがある。ワン・ファクター企業価値モデルは、次式によって、一定期間後の企業価値を表現する。
【数１】
0004443619.tif 000002
ここで、ｉは企業（個社）を示すサフィックスであり、Ｚｉは企業ｉの企業価値を表す。右辺のＸを共通リスク因子もしくは共通リスクファクターとよび、αｉを感応度係数とよぶ。共通リスク因子Ｘは、信用リスク計測モデルによってリスクを計測しようとする企業に共通する因子である。企業価値モデルの仮定として、共通リスク因子Ｘは標準正規分布Ｎ（０，１）に従う確率変数であるとする。また、εｉは、企業に共通する因子Ｘでは説明できない企業ごとのバラツキを表す因子であり、個別因子という。個別因子εｉも標準正規分布Ｎ（０，１）に従うものと仮定する。個別因子の前の係数は、企業価値Ｚｉが標準正規分布Ｎ（０，１）に従うように定められたものである。
【００１５】
企業価値モデルにおける重要な仮定として、Ｘとεｉは、すべて互いに独立な確率変数とする。すなわち、
【数２】
0004443619.tif 000003
となる。これより、企業価値の間の相関を計算することができ、
【数３】
0004443619.tif 000004
となる。これは、ワン・ファクター企業価値モデルでは、異なる企業の企業価値の間の相関は、全ての企業の企業価値に影響を与える共通リスク因子Ｘの存在を通して発生することを示している。
【００１６】
マルチ・ファクター企業価値モデルは、共通リスク因子が複数存在するものとしてモデル化したものである。この場合の企業ｉの企業価値Ｚｉは、
【数４】
0004443619.tif 000005
と表現される。ただし、ＮＦは共通リスク因子の数である。ここで、企業価値モデルでは、異なる共通リスク因子ＸｋとＸｌは互いに独立であると仮定する。すなわち、
【数５】
0004443619.tif 000006
が成り立つ。ここで、δｋｌはクロネッカのデルタであり、ＮＦは共通リスク因子Ｘｊの数である。なお、数１に現れるαｉや数４に現れるαｉｊは企業価値間の相関に関する情報を担うパラメータであり、業種別株価インデックスの時系列データの主成分分析から推定する方法等が知られている。
【００１７】
このような仮定に基づくワン・ファクターまたはマルチ・ファクターの企業価値モデルでは、企業価値Ｚｉが一定水準を下回ると、企業ｉがデフォルトを起こすと考える。例えば、デフォルトモードの場合、デフォルトを生起させる企業価値の値（デフォルト閾値）をＣｉとすると、企業価値Ｚｉが標準正規分布に従うため、当該企業がデフォルトする確率ＰＤｉは、
【数６】
0004443619.tif 000007
となる。ここで、企業価値Ｚｉは確率変数である共通リスク因子に依存しているが、このＰＤｉは、共通リスク因子に関する平均値である。このため、ＰＤｉを企業ｉの平均デフォルト確率と呼ぶ。逆に、この平均デフォルト率ＰＤｉが与えられると、デフォルト閾値Ｃｉは
【数７】
0004443619.tif 000008
として決定される。ここで、右辺のΦ−１は標準正規分布の分布関数の逆関数である。この企業ｉについてのデフォルト確率は、例えば、別途企業ｉについて与えられる格付などから推定される。このように、平均デフォルト率を与えることによって、デフォルト閾値を設定することができる。図１０は、このようにして与えられるデフォルト閾値の概念を示す説明図である。標準正規分布に従う企業価値Ｚが一定期間（例えば１年）の後にデフォルト閾値Ｃｉを下回るときにデフォルトとなる。
【００１８】
平均デフォルト率からデフォルト閾値Ｃｉが決定されると、共通リスク因子の値が決まったという条件の下での条件付デフォルト率が計算できる。例えば、企業ｉの条件付デフォルト率は、次式によって与えられる。
【数８】
0004443619.tif 000009
ここで、ｘは、共通リスク因子Ｘの実現値であって、条件付デフォルト率を与えるための条件を表現している。このｘは、ワン・ファクター企業価値モデルではスカラー量であり、マルチ・ファクター企業価値モデルでは各共通リスク因子を要素とするベクトル量である。ワン・ファクターおよびマルチ・ファクターの企業価値モデルでは、個別因子（ε）が企業ごとに互いに独立であることから、共通リスク因子がある実現値ｘとなった条件では、各企業のデフォルトは独立に発生する。この性質は条件付独立と呼ばれており、数値計算上非常に有益な性質である。
【００１９】
ＭｔＭモードでは、デフォルトモードの場合におけるデフォルトに加えて、格付遷移に伴う時価変動を損益認識の際に勘案するため、格付遷移確率に基づいて閾値を設定して企業価値Ｚｉを階層に分ける。すなわち、
【数９】
0004443619.tif 000010
とする。数９の上段は、格付ｒから格付ｓへの企業ｉの遷移確率であり、下段は、格付ｓと格付ｓ−１を隔てる閾値である。図１１は、一年後の企業価値によって、企業の格付やデフォルトを判定する様子を説明する説明図である。この図に示されたような閾値と遷移確率を考えることにより、デフォルトモードに対して行った定式化は、容易にＭｔＭモードの場合に拡張することができる。
【００２０】
次に、モデル化を行った後の信用リスク計測の具体的手法について説明する。損失額の確率分布を求めるには、原理的には一定期間後の貸出先企業の仮定としての信用状態（シナリオ）を考え、全てのシナリオについて損失額と発生確率を求めればよい。しかし、これを実行しようとすると、現実には非常に困難な計算が必要となる。例えば、計算するポートフォリオが１００００社の貸出先に対する債権の組み合わせである場合には、１年後の各貸出先の状態として考慮すべき組み合わせの数は２の１００００乗（一兆の２５０乗）であり、全てのシナリオでの損失額と発生確率を求めるのは事実上不可能といえる。このため、損失額分布を作成するためには、何らかの近似計算が必要となる。この近似計算のための標準的な手法としては、モンテカルロシミュレーション法が挙げられる。
【００２１】
モンテカルロシミュレーション法は、乱数を用いた数値上の模擬実験によって確率的現象の解析を行う一般的な手法である。企業価値モデルにおいてモンテカルロシミュレーション法を適用するには、例えば次のようなステップ１〜５を順次実行することによって行われる。ステップ１として、まず共通リスク因子の決定が行われる。この処理は、標準正規分布に従う乱数を発生させて、共通リスク因子の値を決定する処理である。次にステップ２として、各企業のデフォルト確率の算出が行われる。これは、ステップ１で決定した共通リスク因子の値の下での、各企業の条件付デフォルト確率を算出する処理である。そして、ステップ３として、デフォルトシナリオの作成が行われる。この処理は、一年後の企業の信用状態を表すシナリオを作成する処理である。具体的には、企業ごとに［０，１］区間の一様乱数を発生させ、ステップ２で求めたデフォルト確率を下回った場合にデフォルトと判定する。続くステップ４として、損失額の算出が行われる。ここでは、ステップ３によって作成したシナリオに基づいて、ポートフォリオ全体から生じる損失額を算出する。モンテカルロシミュレーション法では、このようなステップ１〜４ステップを多数回繰り返すステップ５を実行して、損失額ごとに、その損失額を生じさせる事象の発生の頻度を数えることにより、損失額分布を作成することができる。
【００２２】
モンテカルロシミュレーション法以外にも、ラプラス変換を用いて損失額の分布を算出する手法が知られている。以下、このラプラス変換を用いる損失額分布の算出過程を、デフォルトモードの例について説明する。まず、損失額分布の密度関数をｆＬ（ｔ）とすると、そのラプラス変換は、
【数１０】
0004443619.tif 000011
により与えられる。
【００２３】
特にこの式の最右辺は、確率統計の分野においてモーメント母関数と呼ばれる関数である。なお、ここで用いられている各表現は、
【数１１】
0004443619.tif 000012
を意味している。
【００２４】
この結果から、モーメント母関数をラプラス逆変換することによって、損失額の分布を求めることができる。企業間の相関がない場合には、モーメント母関数は、
【数１２】
0004443619.tif 000013
となる。ここで、ｐｉは企業ｉのデフォルト確率であり、数６におけるＰＤｉと同じものである。
【００２５】
一方、企業価値モデルによって企業間の相関を考慮した場合、条件付独立の性質から、モーメント母関数は、
【数１３】
0004443619.tif 000014
のようになる。ただし、
【数１４】
0004443619.tif 000015
である。
【００２６】
このようなラプラス変換法を用いた損失額分布の算出は２つのステップによって行うことができる。まずステップ１として、モーメント母関数の算出を行い、次にステップ２として、そのモーメント母関数のラプラス逆変換を実行する。なお、デフォルトモードを例としてラプラス変換法の説明を行ってきたが、モーメント母関数を変更することにより、ＭｔＭモードのリスク計測もラプラス変換法により実行することができる。また、企業価値モデル以外のモデルを用いた場合であっても、モーメント母関数を計算することができればラプラス変換法によって損失額の確率分布を与える確率密度関数や分布関数を求めることができるので、ポートフォリオの信用リスクを計測することが可能となる。
【００２７】
なお、上記のラプラス変換法ではなくフーリエ変換を用いて解析的手法によって信用リスク計算を実行する技術の例が、特許文献１に開示されている。また、ラプラス変換を用いて信用リスクの計算を実行する理論研究の例が、非特許文献１および非特許文献２に開示されている。
【特許文献１】特開２０００−１４８７２１号公報
【非特許文献１】Ｍａｒｔｉｎ，  Ｒ．，  Ｋ．  Ｔｈｏｍｐｓｏｎ  ａｎｄ  Ｃ．  Ｂｒｏｗｎｅ，  ”Ｔａｋｉｎｇ  ｔｏ  ｔｈｅ  ｓａｄｄｌｅ，”  Ｒｉｓｋ，  １４（６），  ２００１，  ｐｐ．９１−９４
【非特許文献２】Ｇｌａｓｓｅｒｍａｎ，  Ｐ．  ａｎｄ  Ｊ．  Ｒｕｉｚ−Ｍａｔａ，  ”Ｃｏｍｐｕｔｉｎｇ  ｔｈｅ  ｃｒｅｄｉｔ  ｌｏｓｓ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｉｎ  ｔｈｅ  Ｇａｕｓｓｉａｎ  ｃｏｐｕｌａ  ｍｏｄｅｌ：  ａ  ｃｏｍｐａｒｉｓｏｎ  ｏｆ  ｍｅｔｈｏｄｓ，”  Ｊｏｕｒｎａｌ  ｏｆ  ｃｒｅｄｉｔ  ｒｉｓｋ，  ２（４），  ２００６，  ｐｐ．３３−６６
【発明の開示】
【発明が解決しようとする課題】
【００２８】
上述のモンテカルロシミュレーション法では、膨大な回数の計算を行わなくては必要な精度が得られない。特に、確率密度関数の値が小さな領域（例えば、分布関数の値が１に近い領域）での計算精度が問題になるような計算（例えば、信用ＶａＲを高い精度で算出する計算）においては、シミュレーションにおいて出現頻度が少なくなる部分で高い数値精度を確保する必要があり、計算量が膨大になる。
【００２９】
また、上述のラプラス変換を用いる方法については、ポートフォリオの構成や分布の形状に仮定を置いて近似式を導くという理論研究が中心である。マルチ・ファクターの場合は現状では理論研究でさえ殆ど手が付けられていない。そして、その数少ない理論研究の方法は、実務に用いるには限定的過ぎる仮定を含んでおり、現実のポートフォリオに用いると大きな誤差が発生し得るという問題点がある（非特許文献１参照）。
【００３０】
本発明は、上記の少なくともいずれかの課題を解決するためになされたものである。
【課題を解決するための手段】
【００３１】
本発明は、解析的な計算式に基づき、数値計算上の工夫を行うことによって、高速、高精度に信用リスク計算を実行することを可能にする。本発明のある態様では、計算の理論的な基礎としてラプラス変換を用いているが、ラプラス変換法によって損失額分布を算出する際には、次の２つが技術面におけるポイントとなる。第１のポイントは、モーメント母関数の計算をいかに高速かつ精緻に行うかである。特に、共通リスク因子に関する多次元数値積分を実行する処理があるため、これを適切に計算する必要がある。また、第２のポイントは、複素平面上の無限区間の積分で表されるラプラス逆変換をいかに高速、かつ高精度に行うかである。本願発明者は、第１点目に対してセクターリスク因子の離散化を行い、第２点目には高速ラプラス変換を用いることとした。本発明においては、現実の計算機において十分に実用性のある速度で処理可能なように計算途中の処理に特有のアルゴリズムや計算機の処理上での工夫を行い、また、数値上の模擬実験に伴う数値誤差を排除して精度を確保するための工夫を行うことにより、上記ラプラス変換法に基づいて信用リスクの計測を行う情報処理のための専用計算機が実現され、その情報処理の方法及びコンピュータプログラムが提供される。
【００３２】
すなわち、本発明のある態様においては、複数の企業に対する債権を含むポートフォリオの損失についてのリスク指標を求める計算方法であって、該ポートフォリオに含まれる企業を分けるセクターごとのセクターリスク因子（Ｙ）の実現値であるセクター変数の各値に対し与えられる各企業の損失生起確率（ｐｉ´（ｙ））と、ラプラス変換のための助変数（λ）に企業の債権のエクスポージャを乗じた値の指数関数とを用いて定義される損失指標関数（数３１第二式の右辺の中括弧内）のデータを企業ごとに算出するステップであって、前記セクターリスク因子は、前記損失生起確率の決定に用いられる企業価値に影響しうる複数のリスク因子である共通リスク因子の一次結合として前記セクターに含まれる企業に共通する確率変数であり、前記損失生起確率は、当該企業の属するセクターのセクターリスク因子が前記セクター変数の各値となる条件における、前記企業価値に基づく当該企業の損失の発生を示す条件付き確率であり、前記損失指標関数の前記定義は、該損失生起確率の関数を含み、前記損失指標関数のデータは、前記セクター変数の各値（ｙＳ）の代わりに、離散化評価点（ｇｍ）における前記セクター変数のための数値データを損失指標関数の前記定義（数３１第二式の右辺の中括弧内）に用いて算出され、前記離散化評価点は、前記セクター変数の分布範囲に対応する範囲にある、損失指標関数のデータを企業ごとに算出するステップと、前記セクター内の全ての企業にわたる前記損失指標関数の積を含んでセクターごとに定義されるセクター関数の前記離散化評価点における値であるセクター関数データを、前記損失指標関数の前記データを各セクター内の全ての企業について乗算した値を用いて算出し、少なくともセクターと離散化評価点とに対応させてセクター関数データ記憶手段に記憶するセクター関数データ算出ステップと、前記共通リスク因子に関する実現値である共通リスク変数についての積分を行うための各積分点（数２６）について、セクター（Ｓ）ごとに、当該積分点の成分の一次結合であるセクター変数（数３２のｙＳｌ）の近傍にある前記離散化評価点の一つを特定して、該特定された一つの離散化評価点についての前記セクター関数データを、前記セクター関数データ記憶手段から呼び出して全セクターについて乗じることにより、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積を含む条件付ポートフォリオ関数の各積分点における近似値を算出するセクター乗算ステップと、前記条件付ポートフォリオ関数を含む被積分関数の前記共通リスク変数についての積分計算を前記積分点（数２６）における前記条件付ポートフォリオ関数の前記近似値を用いて数値計算し、前記条件付ポートフォリオ関数の前記共通リスク因子に関する平均と前記助変数の関数であるポートフォリオ助変数関数関数との積であるポートフォリオ関数のデータを算出するポートフォリオ関数算出ステップと、該ポートフォリオ関数のデータに基づいて、前記助変数（λ）についての積分計算を数値計算することにより該ポートフォリオ関数をラプラス逆変換した関数の値のデータを算出するラプラス逆変換ステップと、該ポートフォリオ関数をラプラス逆変換した関数の値のデータから前記ポートフォリオの損失についてのリスクを示すリスク指標を算出するリスク指標算出ステップとを含むリスク指標の計算方法が提供される。
【００３３】
上記発明において、複数の企業に対する債権を含むポートフォリオとは、企業に対する貸出債権や社債などの証券としての債権を含むような債権の集合を一般にさす。例えば銀行などの金融機関の貸出債権全体は、このポートフォリオの一例である。また、本明細書において、企業とは必ずしも法人格を持った営利企業に限定されるものではなく、金融機関の貸出先を広く指すものとする。例えば、法人格を持たない個人事業主や、個人、あるいは国や地方公共団体なども本明細書における企業に含まれる。このため、個人向けの住宅ローンや国債、地方債といった債権が含まれていているポートフォリオも本発明によるリスク指標の算出対象となる。なお、以下の説明においては、企業の代わりに債務者という言葉を用いることがある。
【００３４】
本発明における企業価値とは、信用リスク管理の実務において幅広く用いられている企業価値モデルで用いられる企業価値のことをいう。すなわち、企業価値とは、企業ごとに定められる標準正規分布に従う確率変数であって、共通リスク因子と個別因子の一次結合として表されるものである。共通リスク因子は、一般には複数存在し、それぞれ互いに独立に標準正規分布に従う確率変数である。共通リスク因子は全ての企業の企業価値に影響を及ぼすことから、企業価値の間には相関が生じる。個別因子は、企業ごとに１つ定められる、それぞれ互いに独立に標準正規分布に従う確率変数である。また、全ての個別因子は、全ての共通リスク因子と互いに独立である。数４において、Ｚｉは企業価値、Ｘｊは共通リスク因子、εｉは個別リスク因子の例にそれぞれなっている。ここで、Ｘｊとεｉは数５の関係を満たす。企業価値に表れる共通リスク因子に対する係数を感応度係数と呼ぶ。数４におけるαｉｊは感応度係数の例である。
【００３５】
セクターとは、企業価値モデルにあらわれる感応度係数を与える企業グループの単位である。すなわち、感応度係数は、セクター内の企業についてすべて共通の値となる。また、セクターリスク因子とは、共通リスク因子の一次結合として表される、セクター内の全ての企業の企業価値に共通に影響を与える確率変数である。セクターリスク因子の具体例は、後に数３０のＹＳによって与えられる。セクター変数とは、セクターリスク因子の実現値のことである。リスク管理の実務において企業価値モデルを用いてリスク計測を行う場合には、何らかの企業属性によって企業をいくつかのセクターに分類した上で、セクターごとに感応度係数を推定することが多い。なぜなら、上場企業のように感応度係数を推定するための情報が多い企業ばかりではなく、感応度係数を精密に推定するだけの情報が得られない企業もポートフォリオには多数含まれており、また、仮に個別に感応度係数が推定できたとしても、数万から数百万に及ぶポートフォリオの構成企業全てに対して個別に感応度係数を与えてリスク指標を計算することは計算負荷の観点から困難なためである。本発明のある態様を実施した際の計算速度はセクターの数に依存するが、実務上はセクター数を数十から数百程度とすることが多い。この場合、本発明のある態様における計算は非常に高速に実行することが可能である。ただし、特別な場合として、セクター数が企業数に等しいとして、全てのセクターが個別企業１社のみからなるものとすれば、本発明は個社別に感応度係数が推定されている場合にも適用できる。
【００３６】
損失生起確率（ｐｉ´（ｙ））とは、共通リスク因子の値が決まったという条件の下での、リスク計測期間における企業の損失の発生確率のことである。この損失生起確率は、リスク計測期間終了時点における企業価値の確率分布と、損失に対する認識を反映した判定基準に基づいて算出される。企業価値モデルでは、リスク計測期間終了時点における企業価値の確率分布は、共通リスク因子の実現値である共通リスク変数を与えれば決まる。また、損失判定基準は、デフォルトモードの場合にはデフォルトという事象を何らかの形で判定可能にした基準を反映するように定められ、ＭｔＭモードの場合には、さらに格付の変化という事象を何らかの形で判定可能にした基準を反映するように定められる。数７に示されるデフォルト閾値Ｃｉは、デフォルトモードにおける損失判定基準の例である。前述のように企業価値は共通リスク因子に依存するため、損失生起確率は共通リスク変数の関数となる。また、企業価値は当該企業が属するセクターのセクターリスク因子によって表現することもできるため、損失生起確率は企業が属するセクターのセクター変数の関数として表現することもできる。
【００３７】
助変数λとは、典型的にはある関数のラプラス変換によって得られる関数の変数であり、ラプラス変換のような積分変換を行った後に表れる変数をいう。通常のラプラス変換の場合と同様に、助変数λは、ラプラス逆変換の積分計算の際にエクスポネンシャル（指数関数）の変数として用いられて、積分変数とされる。
【００３８】
損失指標関数とは、上述の損失生起確率と、助変数に企業の債権のエクスポージャもしくはリスク計測期間後の企業の状態に応じた損益額を乗じた値の指数関数値とを用いて、企業ごとに定義される関数である。ここで、エクスポージャとは、企業がデフォルトした際に当該企業に対する債権から発生する損失額のことであり、デフォルト時損失額ともいう。損失指標関数の関数形は企業ごとに異なっていても構わない。上述のように、損失生起確率はセクター変数の関数であるから、損失指標関数は企業が属するセクターのセクター変数および助変数の関数である。本発明のある態様においては、この損失指標関数の関数形を変更することにより、様々なリスク指標を算出することが可能となる。損失指標関数の例は、後に数６７右辺の中括弧内に示される。
【００３９】
セクター関数とは、セクター内の全ての企業にわたる損失指標関数の積を含む関数である。本発明のある態様におけるセクター関数は、セクター内の全ての企業にわたる損失指標関数の積そのものである。後に示す数２７は、セクター関数の例となっている。なお、セクター内の全ての企業にわたる損失指標関数の積に、セクターごとに定義される助変数の関数であるセクター助変数関数を乗じた関数もセクター関数となり得る。
【００４０】
条件付ポートフォリオ関数とは、全てのセクターにわたるセクター関数の積を含む関数である。この定義から、条件付ポートフォリオ関数はポートフォリオに含まれる全ての企業にわたる損失指標関数の積を含む関数となる。本発明のある態様における条件付ポートフォリオ関数は、全てのセクターにわたるセクター関数の積そのものである。後に示す数６７は、条件付ポートフォリオ関数の例となっている。なお、全てのセクターにわたるセクター関数の積に助変数の関数である条件付ポートフォリオ助変数関数を乗じた関数も条件付ポートフォリオ関数となり得る。
【００４１】
ポートフォリオ関数とは、条件付ポートフォリオ関数の共通リスク因子に関する平均（条件付ポートフォリオ関数と共通リスク因子の確率密度関数の積を、共通リスク変数に関して積分した関数）と、助変数の関数であるポートフォリオ助変数関数との積として定義される関数である。ポートフォリオ関数の定義より、数１３に示したモーメント母関数はポートフォリオ関数に含まれる。また、後に数２８によって示される、分布関数をラプラス変換した関数もポートフォリオ関数に含まれる。さらに、後に数７０によって示される、リスク寄与度算出時に用いられる関数も、企業ｉのみ損失指標関数の形が異なると考えることにより、ポートフォリオ関数の定義を満たす。このように、リスク計測上重要な関数のラプラス変換がポートフォリオ関数の形で表現できるのは、企業価値モデルが条件付独立という性質を備えているためである。
【００４２】
なお、セクター助変数関数、条件付ポートフォリオ助変数関数、ポートフォリオ助変数関数の各関数には、助変数に明示的に依存する関数のほか、助変数に対して依存性を持たない恒等関数（１の数値）や定数関数も含む。これらの関数を定義した理由は、例えばポートフォリオ関数が後に示す数２８である場合に、１／λの乗算処理を様々なステップで行い得るためである。この乗算処理に関する注意点については、後に詳述する。
【００４３】
リスク指標とは、リスクの程度を判定するためのデータとなりうる指標をいう。本発明においては、このリスク指標は、ポートフォリオ関数をラプラス逆変換したものに基づいて算出する。例えば、ポートフォリオ関数をラプラス逆変換したものが損失額分布の分布関数であれば、リスク指標として予測損失額（ＥＬ）や信用ＶａＲを算出することができる。このように、確率分布を示す密度関数や分布関数から算出可能な数値的な指標はすべて本願のリスク指標となりうる。
【００４４】
積分点とは、共通リスク変数に関する積分を級数で近似する際に用いられる、共通リスク変数の値の空間における座標点であり、共通リスク変数の値を成分とするベクトルによって表現される。また、積分点に関連するウエイト値ｗｌとは、当該級数に用いられる係数であり、一般には積分点ごとに異なる値をとる。この積分点および積分点に関連するウエイト値ｗｌは、ポートフォリオ関数の積分を近似する級数の決定に用いる数値積分アルゴリズムによって与えられる。また、セクター変数は共通リスク変数の一次結合であるため、積分点ごとに、全てのセクターのセクター変数が与えられる。
【００４５】
離散化評価点とは、セクター変数の分布範囲に応じて設定される点列である。本発明のある態様では、計算過程において離散化評価点をセクター変数の代替として用いることにより、計算の大幅な高速化を実現する。なお、離散化評価点の集合は必ずしも全てのセクターで同一である必要はなく、セクターごとに異なる離散化評価点の集合を用いて本発明を実施することもできる。
【００４６】
本発明のある態様における損失指標関数のデータは、セクター変数が各離散化評価点の値となる場合の、損失指標関数の値である。損失指標関数は助変数およびセクター変数の関数であり、助変数の値および離散化評価点を与えることによって、損失指標関数のデータを算出することが可能となる。
【００４７】
セクター関数データ算出ステップでは、各セクターに対し、セクター内の全ての企業について、離散化評価点ごとに損失指標関数のデータを乗算する処理が行われる。セクター関数が、セクター内の全ての企業にわたる損失指標関数の積である場合には、この処理によって得られる乗算値そのものがセクター関数データとなる。なお、セクター関数が、セクター内の全ての企業にわたる損失指標関数の積と、セクター助変数関数との積である場合には、セクター関数データ算出ステップにおいて、前記乗算値にセクター助変数関数の値を乗じる処理も行われる。
【００４８】
セクター関数データ記憶手段とは、例えばコンピュータに備えられる記憶装置において論理的に他と区別されてセクター関数データを格納し呼び出すことのできる記憶手段である。本発明のある態様においては、セクター関数データはセクターと離散化評価点に対応付けてセクター関数データ記憶手段に記憶される。
【００４９】
セクター乗算ステップでは、セクターごとに、積分点からセクター変数の値を算出し、当該セクター変数の値の近傍から一つの離散化評価点を特定し、この特定する処理によって得られた離散化評価点におけるセクター関数データをセクター関数データ記憶手段から呼び出す。そして、こうして呼び出したセクター関数データを、全てのセクターにわたって乗算する処理が行われる。条件付ポートフォリオ関数が、全てのセクターにわたるセクター関数の積である場合、上述の処理によって算出される値は、当該積分点における条件付ポートフォリオ関数の近似値となる。このように、本来はセクター変数を用いて都度算出すべきセクター関数データの代わりに、予め算出されてセクター関数データ記憶手段に格納されているセクター関数データの値を呼び出して用いることにより、計算の大幅な高速化が可能となる。なお、条件付ポートフォリオ関数が、全てのセクターにわたるセクター関数の積と、条件付ポートフォリオ助変数関数との積である場合には、セクター乗算ステップにおいて、上述のセクター関数データの全てのセクターにわたる積に、条件付ポートフォリオ助変数関数の値を乗じる処理も行われる。
【００５０】
ポートフォリオ関数算出ステップでは、セクター乗算ステップで得られた条件付ポートフォリオ関数の近似値を用いて、共通リスク変数に関する積分計算を数値計算により行う。この積分計算にあたっては、各積分点について、条件付ポートフォリオ関数の近似値に、当該積分点に関連するウエイト値を乗じて重み付けデータを得るウエイト乗算ステップと、全ての積分点について前記重み付けデータを合算して、条件付ポートフォリオ関数の共通リスク因子に関する平均を算出するステップとを用いることができる。あるいは、積分点に関連したウエイト値が全ての積分点について等しい場合には、条件付ポートフォリオ関数の前記近似値を全ての積分点について合算したうえで、積分点の数で除することにより、条件付ポートフォリオ関数の共通リスク因子に関する平均を算出する処理とすることもできる。このようにして得られた平均と助変数の関数であるポートフォリオ助変数関数との積を計算することにより、ポートフォリオ関数のデータが算出される。なお、セクター乗算ステップで得られた条件付ポートフォリオ関数の近似値の代わりに、積分点ごとに、当該近似値にポートフォリオ助変数関数の値を乗じた値を用いて、上述した積分計算の処理を行うことによってもポートフォリオ関数のデータを算出できるが、このような処理を行う場合も本発明の実施態様に含まれる。
【００５１】
ここで、ポートフォリオ助変数関数に関する計算上の注意点について、ポートフォリオ関数が分布関数のラプラス変換（数２８）である場合を例にとって説明を行う。この場合、本発明のある態様では、全ての企業の損失指標関数を数６７の中括弧内とし、セクター関数をセクター内の全ての企業にわたる損失指標関数の積（数２７）とし、条件付ポートフォリオ関数を、セクター関数の全てのセクターにわたる積（数６７）とし、ポートフォリオ助変数関数を１／λとしたうえで、上述した各ステップの処理を行うことにより、ポートフォリオ関数のデータを算出する。この実施態様では、全てのセクターのセクター助変数関数および条件付ポートフォリオ助変数関数は恒等関数となっている。しかし、１／λの乗算処理は、様々なステップで実行可能である。例えば、ポートフォリオ助変数関数、各セクターのセクター助変数関数、条件付ポートフォリオ助変数関数のうち、いずれか一つが１／λで与えられ、その他は恒等関数によって与えられるものとして上述した各ステップの処理を行っても、ポートフォリオ関数のデータを算出することができる。あるいは、損失指標関数のデータを算出するステップにおいて、ある一社の損失指標関数のみ数６７の中括弧内に１／λを乗じた関数であるとし、そのほかの企業の損失指標関数は数６７の中括弧内であるとし、助変数に関する各関数が全て恒等関数であるものとしても、ポートフォリオ関数のデータを算出することができる。このように、１／λを乗じる処理は様々なステップで行い得るが、それらは全て本願発明の範囲に含まれる。また、どのステップにおいて１／λを乗じる処理を行うかは本願発明の効果であるリスク指標の高速計算や高精度計算にとって本質的ではなく、この処理方法の違いをもって本願発明の範囲を限定するものではない。
【００５２】
本発明のある態様では、複数の助変数の値に対するポートフォリオ関数のデータを用いて、ポートフォリオ関数のラプラス逆変換の計算を行う。どのような助変数の値に対するポートフォリオ関数の値が必要となるかは、ラプラス逆変換に用いる無限級数化手法および収束加速法によって決まる。上述のポートフォリオ関数の計算方法は任意の助変数の値に対して適用可能であり、高速にポートフォリオ関数のデータを算出できる。このため、本発明は様々なラプラス逆変換手法を用いて実施することが可能である。
【００５３】
さらに、本発明の別の態様では、ラプラス変換法を用いた計算だけではなく、フーリエ変換法を用いる手法も含む。すなわち、本発明においては、複数の企業に対する債権を含むポートフォリオの損失についてのリスク指標を求める計算方法であって、該ポートフォリオに含まれる企業を分けるセクターごとのセクターリスク因子の実現値であるセクター変数の各値に対し与えられる各企業の損失生起確率と、フーリエ変換のための助変数に企業の債権のエクスポージャと虚数単位を乗じた値の指数関数とを用いて定義される損失指標関数のデータを企業ごとに算出するステップであって、前記セクターリスク因子は、前記損失生起確率の決定に用いられる企業価値に影響しうる複数のリスク因子である共通リスク因子の一次結合として前記セクターに含まれる企業に共通する確率変数であり、前記損失生起確率は、当該企業の属するセクターリスク因子が前記セクター変数の各値となる条件における前記企業価値に基づく当該企業の損失の発生を示す条件付き確率であり、前記損失指標関数の前記定義は、該損失生起確率の関数を含み、前記損失指標関数のデータは、前記セクター変数の各値の代わりに、離散化評価点における前記セクター変数のための数値データを損失指標関数の前記定義に用いて算出され、前記離散化評価点は、前記セクター変数の分布範囲に対応する範囲にある、損失指標関数のデータを企業ごとに算出するステップと、前記セクター内の全ての企業にわたる前記損失指標関数の積を含んでセクターごとに定義されるセクター関数の前記離散化評価点における値であるセクター関数データを、前記損失指標関数の前記データを各セクター内の全ての企業について乗算した値を用いて算出し、少なくともセクターと離散化評価点とに対応させてセクター関数データ記憶手段に記憶するセクター関数データ算出ステップと、前記共通リスク因子に関する実現値である共通リスク変数についての積分を行うための各積分点について、セクターごとに、当該積分点の成分の一次結合であるセクター変数の近傍にある前記離散化評価点の一つを特定して、該特定された一つの離散化評価点についての前記セクター関数データを、前記セクター関数データ記憶手段から呼び出して全セクターについて乗じることにより、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積を含む条件付ポートフォリオ関数の各積分点における近似値を算出するセクター乗算ステップと、前記条件付ポートフォリオ関数を含む被積分関数の前記共通リスク変数についての積分計算を前記積分点における前記条件付ポートフォリオ関数の前記近似値を用いて数値計算することによって、前記条件付ポートフォリオ関数の前記共通リスク因子に関する平均と前記助変数の関数であるポートフォリオ助変数関数との積であるポートフォリオ関数のデータを算出するポートフォリオ関数算出ステップと、該ポートフォリオ関数のデータに基づいて、前記助変数についての積分計算を数値計算することにより該ポートフォリオ関数を逆フーリエ変換した関数の値のデータを算出する逆フーリエ変換ステップと、該ポートフォリオ関数を逆フーリエ変換した関数の値のデータから前記ポートフォリオの損失についてのリスクを示すリスク指標を算出するリスク指標算出ステップとを含むリスク指標の計算方法が提供される。さらに、助変数ごとに、セクター関数データがセクター関数データ記憶手段に助変数毎セクター関数データとして記憶されていても良い。なお、この実施形態の場合、ラプラス変換とフーリエ変換とは、互いの間に変換としての数学的な相違点があることから、ラプラス変換を用いる実施形態とフーリエ変換を用いる実施形態との間で、助変数と損失指標関数が相違するものとなる。しかしながら、両実施形態においてセクター関数データ記憶手段を利用して計算を高速化するという発明の技術的思想において共通するため、同一の用語により表現している。両実施形態においては、これらの相違するものを用いて算出されるセクター関数データ、ポートフォリオ関数、助変数毎セクター関数データも相違するが、最終的に算出されるリスク指標は、両実施形態の間の数学的形式の違いにもかかわらず、形式の違いによる数値計算上の相違による非本質的な誤差を除き、実質的に同様の値となる。
【００５４】
また、本発明のある態様では、上述のように方法として実施できるほか、コンピュータプログラムや装置としても実施することができる。実施形態の説明によってこの点が明らかにされる。
【００５５】
なお、上述の説明において各要素に付した括弧内の記号や数式は、例示のためにのみ付したものであり、限定のために付したものではない。
【発明の効果】
【００５６】
本発明を実施するいずれかの態様によって、リスク指標の計算において計算誤差につながる過度なモデルの単純化や過度な計算の簡略化を排除しつつ、十分に実用性のある速度によってポートフォリオのリスク指標を計算することができる。また、本発明を実施するいずれかの態様によって、これまで計算自体が著しく困難であったリスク指標（例えばリスク寄与度）の計算が可能になる。
【発明を実施するための最良の形態】
【００５７】
本発明の実施の形態について、まず、計算の全体像を明示するため、数式を利用して解析計算上の工夫や数値計算上の工夫について計算手法を説明する。そして、かかる工夫をソフトウエアとして計算機に実装する場合の具体的な構成について実施例として説明する。
【００５８】
［第１の実施形態：リスク計測］
本発明の実施の形態においては、数値計算上の工夫を行うことにより、解析的な方法に基づいてリスク指標の算出を高速かつ高精度に算出する。本実施の形態においては、モーメント母関数を算出し、それに基づいてポートフォリオの損失についての確率分布（確率密度関数や分布関数）を算出する。モーメント母関数は確率密度関数のラプラス変換であるため、モーメント母関数から確率密度関数を算出するためにラプラス逆変換の計算を利用する。
【００５９】
ここで、本実施の形態の数値計算における工夫では、リスク指標の算出の過程に用いられるラプラス逆変換のための数式自体は簡略化しない。その代わり、計算手法や計算手順を工夫することによって、現実の計算機を用いて計算を行う場合に高速かつ高精度に計算を実行するための手法を提供する。なお、この実施形態においてはポートフォリオの構成には何らの仮定を設けない。したがって、本発明の実施の形態は、任意の構成を有するポートフォリオに適用することができる。例えば、十分に与信が分散されたポートフォリオであっても、与信集中が進んだポートフォリオであっても、高速かつ高精度にリスク指標の計算を実施することができる。
【００６０】
本実施の形態では、エクスポージャやデフォルト率などのデータからまずモーメント母関数の算出を行い、そしてそれをラプラス逆変換することにより損失額の確率分布（確率密度関数）を算出する。なお、ここでのモーメント母関数は、本発明におけるポートフォリオ関数の一例である。以下、モーメント母関数の算出過程とラプラス逆変換の計算過程に分けて計算手法を説明する。
【００６１】
［モーメント母関数の算出］
モーメント母関数を算出するためには、共通リスク因子Ｘの実現値である共通リスク変数ｘに関する積分を実行する必要がある（数１３参照）。本願発明者の検討では、共通リスク因子の数が少ない場合、例えばファクター数が１の場合には、Ｇａｕｓｓ−Ｌｅｇｅｎｄｒｅ法や、Ｇａｕｓｓ−Ｈｅｒｍｉｔｅ法によって高精度にモーメント母関数を算出できることを確認しており、ファクター数が２〜４である場合には、優良格子点法（ＧＬＰ法）によって高精度にモーメント母関数を算出できることを確認している。しかしながら、信用リスク管理の実務で用いられるマルチ・ファクター企業価値モデルにおける共通リスク因子の数は、5個以上（例えば、十数個から数十個）とする場合が多く、そのような場合には、上記の数値積分アルゴリズムは適用することができないか、またはできたとしても計算時間が多大になる。特に、債務者数が非常に多い場合（数十万から数百万件）には、計算時間の増大のために実用性に乏しい。
【００６２】
ここで、数値積分の一般論についてごく簡単に説明する。数値積分を実行するにあたっては、様々な数値積分アルゴリズムが知られているが、ほとんどのものは、
【数１５】
0004443619.tif 000016
という形式を用いて表現することができる。ここで、
【数１６】
0004443619.tif 000017
である。すなわち、数値積分では、積分領域の中から適当に積分点とそれに関連付けされたウエイトからなる点列
【数１７】
0004443619.tif 000018
を与え、それらの点における被積分関数の値の適当な加重和により積分の近似値を求めるということになる。したがって、数値積分の精度は
【数１８】
0004443619.tif 000019
という点列をどのように選ぶかによって決まることとなる。別の言い方をすれば、数値積分アルゴリズムとは、この点列を決めるための手続きを示したものである。
【００６３】
数値積分アルゴリズムの中には、積分領域が有限な場合にしか適用できないものも多い。しかし、実際には無限領域上の積分を数値的に求めたい場合がある。無限領域上の積分を有限領域上の積分で表現する方法として、積分への寄与が小さい領域を無視する方法や、変数変換により積分領域を有限化する方法がある。前者の方法では、積分領域を無視することによる誤差が発生するが、積分領域を有限化することによって精度の高い数値積分アルゴリズムが利用できる場合があり、結果として元の積分領域で考えるよりも高い精度で数値積分を実行できる可能性がある。
【００６４】
モーメント母関数は共通リスク変数に関する積分として書かれており、積分領域はＮＦ次元のユークリッド空間全体に及ぶ。しかし、この積分については、共通リスク因子が正規分布に従うことに起因する性質の良い収束因子
【数１９】
0004443619.tif 000020
が含まれており、数値計算上扱いやすい性質を備えている。実際、この因子が含まれているおかげで、原点から十分離れた領域からの積分への寄与は極めて小さい。このため、数値積分上の積分領域を、原点を含んだ超球や超立方体に限定しても、それによって生じる誤差を極めて小さくすることができる。例えば、原点を中心とした一辺の長さが２ａの超立方体上に積分領域を制限する近似：
【数２０】
0004443619.tif 000021
においては、ａを十分に大きく取ることにより、この近似による誤差は任意に小さくすることが可能となる。
【００６５】
また、変数変換によって積分領域を有限化することも可能である。例えば、
【数２１】
0004443619.tif 000022
という変換を考える。ここでｘｊは積分変数のベクトル
【数２２】
0004443619.tif 000023
の第ｊ成分である。この変換によって積分領域を［０，１］区間の直積とすることができ、モーメント母関数は次のように表すことができる。
【数２３】
0004443619.tif 000024
ここで、右辺のｐｉの引数は
【数２４】
0004443619.tif 000025
というベクトルであり、この右辺に現れるΦ−１は、標準正規分布の分布関数の逆関数である。
【００６６】
ポートフォリオ関数に現れる共通リスク変数に関する積分を数値計算するにあたっては、元の積分の表式に、上述のような何らかの変形を行った上で数値積分アルゴリズムを適用することができる。どのような変形を行ったとしても、数値積分アルゴリズムを用いて得られる式は、
【数２５】
0004443619.tif 000026
という形で表すことができる。ここで
【数２６】
0004443619.tif 000027
は積分点であり、ｗｌは当該積分点に関連したウエイト値である。積分点は、数値積分アルゴリズムによって決められる積分点から、積分の変形の過程で行った変数変換の式を用いて算出され、共通リスク変数としての意味を持つものである。また、各積分点に関連するそれぞれのウエイト値は、積分点における標準正規分布の密度関数の値と、数値積分アルゴリズムから決定される積分点に付随したウエイト、および、必要に応じて含まれる積分変数の変数変換に伴うヤコビアンの積である。このように、数値積分の方法によって、積分点や積分点に関連するウエイト値の与え方は異なるが、本発明は数２５の計算を高速化する手法を提供するため、数値積分の手法によらず適用することが可能である。
【００６７】
モンテカルロ積分とは、積分点を乱数によって選び、すべてのウエイトを一律ｗｌ＝１／ＮＩとする、という手続きで積分を評価するものである。ここで、ＮＩは積分点の数である。モンテカルロ積分は、収束の速度が積分の次元に依存しないという著しい特徴があり、高次元の積分を数値的に求める際にはしばしば有力な選択肢となる。しかしながら、収束速度が遅いため、高い精度で積分値を求めるためには非常に計算時間がかかることが多い。実際にモーメント母関数の表式中の共通リスク変数に関する積分をモンテカルロ積分によって実行する場合、高信頼区間（例えば９９．９７％）でのＶａＲを高い精度で算出するためには、最低でも積分点の数を１００万個程度以上にする必要がある。積分点およびそれに関連するウエイトを用いてモーメント母関数を表すと、数２５となるが、この式に基づいてモーメント母関数を算出する場合、積分点毎に、すべての企業にわたる積を計算する必要がある。銀行全体のポートフォリオに含まれる企業数は典型的には数万から数百万程度であり、モンテカルロ積分によってこのような計算を実行した場合、膨大な時間がかかる。例えば、積分点の数を１００万個として１００万社のポートフォリオに対して計算するためには、累計一兆回のループ計算が必要になり、このような計算は実用性に乏しい。
【００６８】
本願発明者は、モーメント母関数の計算においてセクターリスク因子を利用し、またそのセクターリスク因子を離散化することにより、与えられた助変数に対するモーメント母関数の値を極めて高速に計算する方法を見出した。具体的には、本実施の形態においては、次の二つのステップにより計算を行う。すなわち、まず離散化評価点におけるセクター別条件付モーメント母関数の値を計算する。ここで、セクター別条件付モーメント母関数は、
【数２７】
0004443619.tif 000028
により定義される。次いで、その結果を用いて全体のモーメント母関数を近似的に計算することにより、計算を大幅に高速化する。この計算方法をコンピュータによって実施する形態においては、セクター別条件付モーメント母関数の計算と全体のモーメント母関数の計算を分離して、まずセクター別条件付モーメント母関数の計算を各離散化評価点について行い、その結果を記憶手段に記憶しておいて、全体のモーメント母関数の計算ではその記憶手段中のセクター別条件付モーメント母関数のデータを用いる。以下、この計算方法を用いるモーメント母関数の値の算出法について詳述する。ただし、本発明は、ポートフォリオ関数の定義に合致していれば、モーメント母関数以外の関数の計算に対しても適用することができる。例えば、被積分関数が分布関数のラプラス変換である、
【数２８】
0004443619.tif 000029
の計算にも、本発明を適用することができる。実際、以下の方法でモーメント母関数を計算した後、助変数による除算を行うことによって数２８を計算することができる。数値計算上は密度関数よりも分布関数の方が扱いやすいことが多いが、以下では説明を簡単にするため、モーメント母関数の計算方法を例として取り上げる。なお、リスク管理の実務では、セクターの設定にあたって、債務者の業種を用いることが多い。
【００６９】
［モーメント母関数の書き換え］
まず、上記の二つのステップのための準備として、モーメント母関数の書換えを行う。感応度係数はセクターごとに与えられるため、
【数２９】
0004443619.tif 000030
と書くことができる。この式は、感応度係数が企業ごとに異なる値を取るのではなく、セクターごとに異なる値をとることを表している。
【００７０】
企業ｉの企業価値Ｚｉは、互いに独立な共通リスク因子Ｘｊの一次結合によって与えられる単一のファクターＹＳによって表現することができ、
【数３０】
0004443619.tif 000031
となる。ファクターＹＳはセクターＳごとに定められる確率変数であり、セクターリスク因子という。
【００７１】
セクターリスク因子を導入することにより、それぞれのセクターに属するすべての企業の企業価値が、一つの共通因子であるセクターリスク因子によって記述することが可能となる。これは、セクターＳに属する企業の条件付デフォルト率が、セクターリスク因子ＹＳの実現値であるセクター変数ｙＳにのみ依存することを意味する。このため、以下では企業ｉの条件付デフォルト率をｐｉ´（ｙＳ）と表す。また、数２７に示したセクター別条件付モーメント母関数も、ｙＳのみの関数となる。これは、特定のセクターだけに注目すると、損失額分布はワン・ファクターモデルによって完全に記述することができることを意味する。
【００７２】
セクター変数ｙＳは共通リスク因子Ｘの実現値ｘ（一般にはベクトル）によって表現できるので、適当な積分点と積分点に関連するウエイトの列をとることにより、求めるべきモーメント母関数は、
【数３１】
0004443619.tif 000032
と表現することができる。ここで、セクター変数ｙＳｌは、積分点が与えられると、
【数３２】
0004443619.tif 000033
という式によって算出することができる。なお、βＳは数３０の第二式によってセクターごとに決まる値であり、ｘｌ，ｊは数２６のベクトルの第ｊ成分である。
【００７３】
さらに、次に説明する計算上の工夫によって、十分な精度を保ちつつ本発明が対象とする積分の計算量を大幅に削減する近似計算が可能となる。
【００７４】
［条件付モーメント母関数の計算の高速化］
数値積分を高速化する方法は、大きく分けて２つある。一つは、数値積分アルゴリズムの工夫などによって、少ない積分点においても高い精度で積分値を求めるようにする方法であり、もう一つは、被積分関数の値を算出する計算を高速化し、積分点一つあたりの計算にかかる時間を短縮する方法である。本発明における高速化は、後者の方法によるものを含む。すなわち、本発明のある態様においては、積分点ごとの条件付ポートフォリオ関数の計算を高速化することにより、ポートフォリオ関数に表れる共通リスク変数に関する積分を高速に計算している。このような方法は、多数の積分点を用いた場合にも有効であることから、高次元の積分に対しても適用することが可能となる。
【００７５】
本実施形態におけるモーメント母関数の計算方法について、数式を交えて説明する。まず、セクター別条件付モーメント母関数の計算に用いる離散化評価点を決定する。本実施形態における離散化評価点とは、実数直線上に取られた点のことである。ここで、離散化評価点の個数をＮｇと表す。そして、離散化評価点の集合をＧを、Ｇ＝｛ｇ１，ｇ２，…，ｇＮｇ｝（ｇ１＜ｇ２＜…＜ｇＮｇ）と表す。この集合Ｇの決定方法については後ほど述べる。次に、各離散化評価点におけるセクター別条件付きモーメント母関数の値を計算する。すなわち、
【数３３】
0004443619.tif 000034
を、セクターごとに、全ての離散化評価点に対して計算する。その結果をセクターと離散化評価点に関連付けて記憶装置に記憶する。そして、次の近似式に基づいて共通リスク変数に関する積分の計算を実行する。
【数３４】
0004443619.tif 000035
つまり、数値積分の過程において現れるセクター別条件付モーメント母関数について、
【数３５】
0004443619.tif 000036
という置き換えを実施するということである。ここで、ｇｍＳｌは、上記点列のｍＳｌ番目の値であり、ｙＳｌは、ｌ番目の積分点から決まるセクターＳに対するセクター変数の値である。数３４の近似による誤差を少なくするには、ｇｍＳｌがｙＳｌの値に近くなるようにｍＳｌを特定する必要があるが、この特定方法の例については後に述べる。数３５の右辺の値は記憶装置に記憶されており、セクターＳとｍＳｌを特定すれば呼び出すことができる。これを用いて数３４の計算を進めることにより、積分点毎にセクター別条件付モーメント母関数を計算する必要がなくなり、積分の計算が大幅に高速化される。なお、本実施形態では、全てのセクターについて離散化評価点の集合は同一であるものとして計算方法を示しているが、ｇｍＳｌをｙＳｌから決定する処理はセクターごとに行われるため、離散化評価点の集合はセクターごとに異なっていても本発明は実施可能である。例えば、離散化評価点の個数や値がセクター毎に異なっていても、本実施形態と同様の計算方法により、積分計算の大幅な高速化を実現することができる。
【００７６】
上述の計算方法の説明から、モーメント母関数の計算精度が集合Ｇの取り方およびｍＳｌの特定方法に依存することが分かる。一般に数値計算においては、計算精度と計算時間はトレードオフの関係があり、どちらか一方を犠牲にした上で他方を改善することは容易である。本発明の大きな特徴の一つは、高い計算精度を保ちつつ、計算時間の大幅な高速化を実現したことである。ここでは、数３４式の近似による誤差が十分に小さくできることを示す。まず、ｇ１＜ｙＳｌ＜ｇＮｇの場合について考える。Ｎｇを大きくすれば、離散化評価点を十分に小さな間隔で設定することができる。このように離散化評価点を設定した上で、適切にｍＳｌを特定すれば、
【数３６】
0004443619.tif 000037
は必ず一定値以下に収めることができる。
【数３７】
0004443619.tif 000038
がｙに関する連続関数であることから、これは、
【数３８】
0004443619.tif 000039
を
【数３９】
0004443619.tif 000040
にいくらでも近づけることができることを意味する。次にｙＳｌ＜ｇ１もしくはｙＳｌ＞ｇＮｇの場合を考える。この場合、数３６を一定値以下に抑えることはできない。しかし、ＹＳが標準正規分布に従う確率変数であるため、ｇ１を絶対値が十分に大きい負の値とし、ｇＮｇを十分に大きな正の値とすれば、このようなセクター変数に対応する積分領域からの積分への寄与は、非常に小さくすることができる。これは、ｇ１およびｇＮｇとして適切な値をとり、十分な精度を持つ数値積分法を用いれば、数３５の置換えが数値積分の結果に与える誤差を非常に小さくすることができることを意味している。以上のことから、Ｎｇを十分に大きくして適切に集合Ｇをとれば、数３４の右辺は非常によい精度で左辺を近似することができる。
【００７７】
離散化評価点の存在範囲は、セクター変数ｙが分布する範囲のほとんどをカバーできるように設定する。幸い、セクターリスク因子は標準正規分布に従うため、［−５，５］の区間を取ると、その実現値は９９．９９９９％以上の確率でこの範囲に収まる。これは、有限範囲に分布する離散化評価点ｇｍをセクター変数ｙの代替として用いたとしても、それによって生じる誤差を極めて小さく抑えられることを意味する。また、数３４の近似に伴う誤差は、離散化評価点の個数や、有限区間内におけるｇｍの分布によっても影響を受ける。本願発明者の検討では、［−５，５］の区間内に、例えば均等に６４個の離散化評価点を取ることにより、十分な精度でリスク指標を算出することができる。また、離散化評価点の数をさらに増やせば、より高精度にリスク指標を算出することができる。本発明は離散化評価点の数を数百個とした場合でも高速に実施することができるため、実用上十分な高い精度を確保することができる。
【００７８】
本実施形態の精度に関する性質について実用上の観点からの検討を行い、以下のように離散化評価点の数や範囲を設定し、セクター変数の積分点の代わりに用いる離散化評価点を特定することによって、十分に高い精度でモーメント母関数を求めることができることを見出している。
（１）点列の個数、Ｎｇ：６４個〜２５６個程度とする
（２）Ｇのとり方：区間［−５，５］に等間隔にｇｍを配置する
（３）ｍの決定方法：｜ｙＳｌ−ｇｍ｜を最小とするｍをｍＳｌとする。
これらの方法を用いると、計算速度についても十分に高速にモーメント母関数を計算することが可能である。また、これらの方法は、積分点の選び方とは無関係であり、任意の数値積分アルゴリズムに対して用いることができる。例えば、共通リスク因子の数が少ない場合には、数値積分アルゴリズムに優良格子点法を用いて計算することができる。また、モンテカルロ積分の手法、すなわち、積分点を乱数によって発生させて数値積分を行うこともできる。なお、上記（２）で用いる区間は標準正規分布に従う確率変数の実現値のほとんどをカバーできるような区間であれば良く、［−５，５］に限定されるものではない。この区間を［Ｍｉｎ＿ｇ，Ｍａｘ＿ｇ］とし、等間隔で離散化評価点を配置する場合、離散化評価点の具体的な値は、
【数４０】
0004443619.tif 000041
で与えられる。
【００７９】
［ラプラス逆変換の計算過程］
本実施の形態では、上述の計算過程によって算出したモーメント母関数の値を用いて、ラプラス逆変換の計算を行う。この数値計算を効率よく行うために、まずラプラス逆変換の無限区間での積分を無限級数によって表現し、次いで、その無限級数を計算する際に収束加速法を用いる。
【００８０】
［ラプラス逆変換の無限区間での積分］
ラプラス逆変換は、以下のような積分によって行われる。
【数４１】
0004443619.tif 000042
ここでγは、ラプラス逆変換を行う際の積分経路を決めるパラメータである。この式の積分区間は無限区間であり、無限大を含む遠方の積分区間においても被積分関数が減衰することは期待できない。したがって、数値積分を実行するには工夫が必要となる。
【００８１】
本発明では、ラプラス逆変換に含まれる無限区間を含む積分計算を、まず無限級数によって表現する。そしてその無限級数の計算を実現するために収束加速法を用いる。ラプラス逆変換にあらわれる無限区間を含む積分を無限級数により表現するアルゴリズムはいくつか知られており、ゲイバー（Ｇａｖｅｒ）法、ポアソン法、ラゲール法、ポスト＝ウィッダー（Ｐｏｓｔ−Ｗｉｄｄｅｒ）法などがある。本実施の形態では、特にポアソン法を用いる場合について説明するが、本発明がこれに限定されるものではない。
【００８２】
ポアソン法を用いて、ラプラス逆変換の式を無限級数として近似すると、
【数４２】
0004443619.tif 000043
となる。ここで、ｈは積分区間の分割幅である。このポアソン法は、形式的には台形公式と同じであり積分計算を無限級数によって近似するものであるが、その近似の誤差はしばしば非常に小さくなることが知られている。例えば、分布関数のポアソン法による近似
【数４３】
0004443619.tif 000044
では、０≦ｔ≦２π／ｈにおける近似誤差はｅｘｐ（−２πγ／ｈ）／（１−ｅｘｐ（−２πγ／ｈ））で抑えられ、積分区間の分割幅ｈを小さく取れば非常に良好な近似となる。ただし、この近似誤差は数４３の無限級数が正確に計算できると仮定した場合の表式であり、実際の数値計算においては、無限級数を有限項で打ち切ることにより生じる打ち切り誤差も考慮しなければならない。しかしながら、ポアソン法によって得られる無限級数自体の収束は非常に遅いため、打ち切り誤差を十分に小さくするためには、多大な計算量が必要となるという問題がある。このため、更に収束加速法を用いてこの計算の速度を速くする工夫を行う。
【００８３】
［収束加速法］
収束加速法とは、級数を効率よく算出するための計算上の技術である。この収束加速法には様々なものが知られており、代表的なものとしてε法やρ法、ＱＤ法などが挙げられる。本実施例では、特にＱＤ法を用いる場合について説明するが、本発明がこれに限定されるものではない。
【００８４】
一般に、無限級数の値を数値的に求めるには、無限級数の各項を数値計算して和をもとめて算出するよりも、無限級数の式を変形して対応する連分数の形式にしてから式の値を算出するほうが、収束が早い。この収束の程度を説明する一例として、ａｒｃｔａｎ（ｘ）を無限級数で表示した
【数４４】
0004443619.tif 000045
と、連分数で表示した
【数４５】
0004443619.tif 000046
との二つの表現を用いて、それぞれで４ａｒｃｔａｎ（１）＝πの公式によって円周率πの数値計算を行う場合を考える。この例において級数による計算方法を用いると、１００万項までの級数の計算を行っても、正確な値となるのは小数点以下５桁までである。これに対し、連分数による計算方法では、１０階層まで計算すれば小数点以下６桁まで正確な値が求められる。このように、無限級数による計算において収束が緩慢な場合であっても、連分数による計算では収束が速くなる場合がある。本実施の形態においては、収束を加速させるために連分数の表現の有するこの性質を利用する。
【００８５】
ポアソン法によって無限級数により表現されたラプラス逆変換の公式は、連分数を用い
て、
【数４６】
0004443619.tif 000047
と表現することができる。ここで、γとｈを
【数４７】
0004443619.tif 000048
と設定すれば（ｔｍａｘは正の実数、ｎは正の整数）、損失額ｔが区間［０，４ｔｍａｘ］にある場合のポアソン法による分布関数の近似の誤差を１０−ｎ以下に抑えることができる。ここで、数４６によってラプラス逆変換の値を数値的に求めるためには、数４７に現れるｔｍａｘおよびｎを決定する必要がある。本願発明者の検討によれば、ｎ＝９〜１５程度にした上で数４７によってγとｈを与えれば、ポアソン法とＱＤ法を用いて損失額分布を算出した際の損失額ｔの区間［０，ｔｍａｘ］における誤差を十分に小さくすることができる。ただし、本発明におけるγとｈのとり方は、数４７に限定されるものではない。ここで、損失額分布を算出する区間から（ｔｍａｘ，４ｔｍａｘ］を除外したのは、この区間では打切り誤差の影響で誤差が大きくなる可能性があるためである。数４７に現れるｔｍａｘについては、密度関数や分布関数の算出範囲に応じて値を設定する。この値を大きくすると計測可能な損失額の範囲が広がる一方で、無限級数の収束速度が遅くなる。このため、ｔｍａｘに必要以上に大きな値を用いると、一定の計算精度を達成するために必要な計算量は多くなる。
【００８６】
本実施形態では、無限級数から連分数を求めるために特にＱＤ（ｑｕｏｔｉｅｎｔ  ｄｉｆｆｅｒｅｎｃｅ  ａｌｇｏｒｉｔｈｍ）法と呼ばれる手法を用いる。なお、数４６において、ｚにのみ損失額ｔが表れ、ｃｋにｔが含まれないことから、連分数の係数ａｋにもｔは含まれない。このため、損失額を変更しても効率よく計算を行うことができる。
【００８７】
ＱＤ法などによって連分数の係数｛ａ０、ａ１、ａ２、・・・｝を求めてしまうと、任意の損失額ｔに対して密度関数の値をよい精度で高速に求めることができる。つまり、損失額ｔのそれぞれの値に対して
【数４８】
0004443619.tif 000049
という計算をすればよい。
【００８８】
ここで、ＱＤ法とは、連分数展開を行う場合の連分数の係数を求める数学的手法である。具体的には、ＱＤ法によれば、
【数４９】
0004443619.tif 000050
を満たす連分数の係数は、
【数５０】
0004443619.tif 000051
によって与えられる。ここで、
【数５１】
0004443619.tif 000052
である。また、連分数の表記にあたって、
【数５２】
0004443619.tif 000053
との表現を用いている。ここに記載したＱＤアルゴリズムによる係数の算出手順を図１２に示す。この計算手順によれば、連立された漸化式よって順次入力データから出力データの値が決まり、それと数５０の式を組み合わせることにより、求めたい連分数の係数が算出されることが分かる。
【００８９】
実際の数値計算においては、連分数は有限の階層で打ち切る必要がある。数５０および数５１によれば、Ｍ個の連分数の係数を算出するためには、Ｍ個の級数の係数を初期値として与える必要がある。以下の説明では、級数の計算を打ち切る項数のことをＮｋと表すこととする。上で述べたことから、求める連分数の係数の個数をＭとすれば、Ｎｋ＝Ｍである。連分数の方法を用いることにより、Ｎｋ項の和で無限級数を近似するより、遥かに高い精度で無限級数の近似値を求めることができる。一般には、このＮｋを大きくするほど計算精度は高くなるが、一方で計算時間も多くかかることとなる。このため、Ｎｋは計算速度と計算精度のトレードオフを考慮した上で決めるべきものである。なお、本願発明者の検討によれば、Ｎｋを５０から２００程度にすれば、十分に高い精度でリスク計測を行うことが可能である。ポアソン法ではｃｋが数４６の下段第一式で与えられることから、ポアソン法とＱＤ法を組み合わせてラプラス逆変換を行うためには、Ｎｋ個の異なる助変数の値に対してモーメント母関数の値を求める必要がある。このように、数値的にラプラス逆変換を行うためには、複数の助変数の値に対するモーメント母関数の値を計算する必要があるが、このモーメント母関数の計算は前述したモーメント母関数の高速計算手法を用いて実行する。
【００９０】
ＱＤ法によって連分数の係数が算出された後は、数４８の右辺の計算を行うことにより、損失額ｔに対する密度関数の値を求めることができる。この計算に必要となる連分数の評価にあたっては、漸化式を用いる方法が知られている。具体的には、
【数５３】
0004443619.tif 000054
とするとき、数列｛Ａ−１、Ａ０、Ａ１、・・・、ＡＭ｝および｛Ｂ−１、Ｂ０、Ｂ１、・・・、ＢＭ｝を
【数５４】
0004443619.tif 000055
によって定めると、
【数５５】
0004443619.tif 000056
が成り立つ。この方法をモーメント母関数の算出に適用するには、数５４の漸化式の計算において、｛ａ０、ａ１、ａ２、・・・｝としてポアソン法とＱＤ法によって得られた連分数の係数である数５０の値を用い、ｚとして数４６の下段の式によって損失額ｔから決定されるｚを用いればよい。このように、連分数の係数が決まれば、連分数の値を求める計算は漸化式による計算に帰着できる。数５４や数５５の計算は、四則演算のみによって実行可能であることから、連分数の値を求める計算は極めて高速に実行することが可能である。
【００９１】
［密度関数の算出］
以上のようなポアソン法とＱＤ法を組み合わせたラプラス逆変換の計算手法（ポアソン−ＱＤ法）は、発案者の名前をとってｄｅ  Ｈｏｏｇのアルゴリズムと呼ばれている。本願発明者らは、このｄｅ  Ｈｏｏｇのアルゴリズムを用いて密度関数あるいは分布関数を計算することにより、分布の裾に至るまで高精度に計算できることを見出した。また、この計算手法はパラメータに対する安定性が高く、例えば数４６の下段の式のＣｋを打ち切る項数Ｎｋを増やしても、突然誤差が大きくなる等の不具合は生じにくいことも確認している。さらに、ｄｅ  Ｈｏｏｇのアルゴリズムでは、ひとたび連分数の係数を求めると任意の損失額に対する確率が即座に計算できるため確率分布全体を非常に高速に算出することが可能である。
【００９２】
前述のモーメント母関数の計算法とｄｅ  Ｈｏｏｇのアルゴリズムを組み合わせることにより、密度関数を高速に算出することができる。このためには、Ｎｋ個の助変数λ０，  λ１，・・λＮｋ−１に対するモーメント母関数の値を求める必要がある。ただし、λｋは
【数５６】
0004443619.tif 000057
で与えられる。Ｎｋ個の助変数λ０，λ１，・・λＮｋ−１に対するモーメント母関数の値の計算は、単純にモーメント母関数の計算をＮｋ回反復することによっても達成することができる。また、数値積分を実行するために必要となるすべてのセクター別条件付モーメント母関数の値を予め計算しておき、一度の数値積分のループ中でＮｋ個のモーメント母関数を並行して計算するという手法でも実現可能である。
【００９３】
一度の数値積分のループ中でＮｋ個のモーメント母関数を並行して計算する場合、数値積分のループの中で必要となるセクター別条件付モーメント母関数の値すべてを記憶装置に保持する。具体的には、離散化評価点の値ごと、助変数の値ごとに、すべてのセクターのセクター別条件付モーメント母関数の値を記憶する。このためには、記憶装置に、Ｎｇ×Ｎｋ×Ｎｓ個の複素数データを記憶しておく必要があるが、Ｎｇ，Ｎｋ，Ｎｓの典型的な大きさが、それぞれ数十から数百程度であることから、これはメインメモリ中に十分に格納できるサイズである。特に、本発明を計算機によって実現しようとする場合、計算過程で必要とされる記憶領域のサイズが債務者数にも積分点の数にも依存しない実装とすることが可能である。このため、債務者数が数百万件から一千万件にのぼる大規模ポートフォリオに対するリスク計測や、積分点の数を百万個以上必要とするような数値積分アルゴリズムを用いた場合にも、装置の構成を変更することなくリスク計測が実施できる。このように、計算過程で使用する記憶領域が少ない実装が可能である点も、本発明の大きな利点の一つである。
【００９４】
ＱＤ法によって連分数の係数が求められると、数４８にしたがって密度関数の値を算出でき、その密度関数の値を利用して各種のリスク指標を通常の数値計算の手法によって求めることができる。このリスク指標は、例えば、予測損失額などであり、実際のポートフォリオの管理に用いられる数値指標であることから、必要に応じて、表示装置によって表示されて計算手法を実装したコンピュータからユーザーが認識可能な態様で表示されることができる。その際、数値やグラフとして表示されたり、あるいはプリンターなどにプリントされることや、また、後の利用のために適当な記憶手段に格納されることも可能である。したがって、この実施の形態に体現される本発明が十分に役に立つものであることは明らかである。
【００９５】
また、数４１を数４２によって近似し、数４６によって値を求める手法は、密度関数を求める場合以外にも用いることができる。分布関数を求めるには、数４２の代わりに数４３を用いて同様の計算を実施すればよい。また、後述するＶａＲベースおよびＣＶａＲベースのリスク寄与度を算出する場合であっても、それぞれに応じた被積分関数を用いて数４１に相当する表現が行えるため、これらに合わせて数４８までの手法も同様に適用することができる。
【００９６】
［本実施形態の計算法の性質］
以上に示した計算手法の性質を、計算速度と計算精度の点からさらに説明する。まず、計算速度について説明するため、ある与えられた助変数λに対するモーメント母関数の値を計算することを考える。数３１に基づいて条件付モーメント母関数
【数５７】
0004443619.tif 000058
を計算するには、それぞれの積分点について（Ｎ−１）回の複素数データの積の計算が必要である。ここで、Ｎは債務者数（ポートフォリオ全体に含まれる企業数）である。条件なしのモーメント母関数
【数５８】
0004443619.tif 000059
を算出するためには、さらに共通リスク変数ｘｊの空間における積分点に対応したウエイトを掛け合わせて、すべての積分点について和を取る必要がある。これを単純にプログラム化すれば、債務者数Ｎと積分点の数ＮＩとを用いると、助変数１つあたり、Ｎ×ＮＩ回のループを実行することとなる。
【００９７】
ここで、実際のポートフォリオの場合について考えると、債務者数Ｎや積分点の数ＮＩはかなり大きな数となり得る。債務者数が数百件程度の小規模ポートフォリオの場合や共通リスク因子の数が数個程度の場合には、このような計算方法でもモーメント母関数の算出は不可能ではない。しかし、現実のポートフォリオを運用する業務において考えた場合、債務者数や共通リスク因子の数に関するこれらの条件は大きな制約となる。実際、銀行全体のポートフォリオを考えると、債務者数Ｎが数万〜数百万件に達するのが一般的であり、共通リスク因子も十数個から数十個用いられていることが少なくない。このような場合にはモンテカルロ積分が有力な選択肢となるが、モンテカルロ積分で９９．９７％といった高い信頼区間での信用ＶａＲを精度高く計測するためには、少なくとも１００万個程度以上の積分点を用意する必要がある。このため、信用リスク管理の実務においては、数３１に基づく計算手法によってモーメント母関数を計算すると計算時間が膨大になり実用性に乏しい。
【００９８】
これらの従来の手法に対し、本実施形態の数３４の右辺に基づく近似計算における重要なポイントの一つは、
【数５９】
0004443619.tif 000060
は積分点に依存せず、離散化評価点を決めれば計算することができる点である。数値計算の観点からは、本実施形態の手法は、積分点についての反復計算の外で数５９を予め計算しておいて計算機の記憶手段に保存しておくことが可能になるという利点を有している。このとき積分点に関するループの中では、単にセクターごとにｍＳｌを特定して
【数６０】
0004443619.tif 000061
という積を計算するだけである。これはＮＳ個の複素数データの積であり、非常に高速に計算することができる。このように、数３４に基づいた計算では、債務者に関するループと積分点に関するループとを完全に分離することができ、反復計算の回数を大幅に減らすことが可能になる。実際、ここで述べた方法で計算した場合、助変数１つあたりのループの回数を離散化評価点の数Ｎｇとセクター数ＮＳとを用いて見積もると、おおよそ（Ｎｇ×Ｎ＋ＮＳ×ＮＩ）回である。ＮｇやＮＳの典型的な値は数十〜数百程度であるため、比較のために例示した上述の例におけるループ回数（Ｎ×ＮＩ）と比較して大幅に計算量を削減し得ることは明らかである。
【００９９】
なお、ラプラス逆変換を実行する段階では、Ｎｋ個の助変数の値それぞれに対してモーメント母関数の値を求める必要がある。このため、密度関数や分布関数を算出するためには、いずれもの方法でも上述のループ回数をＮｋ倍した回数のループが必要となる。
【０１００】
次に、本発明の計算精度について説明する。一般に、信用リスク管理においては損失額分布の裾を高精度で求めることが重要であるが、このためには、共通リスク変数に関する数値積分を非常に高精度に実行する必要がある。上記の説明から明らかなように、数３１に基づくモーメント母関数の計算と比較して、本発明の手法は積分点一つあたりに必要な計算量が非常に少なくてすむ。このため、積分点の数を大幅に増やした場合でも、計算時間は大きくは増加しない。実際、本実施形態の手法は積分点の数を数百万個とした場合にも十分に高速に実行可能であり、収束が遅いモンテカルロ積分を用いた場合でもモーメント母関数を高精度に計算することができる。モンテカルロ積分は収束が遅い数値積分アルゴリズムであるが、一方で収束速度が積分の次元に依存しないという性質を持つ。このため、数値積分アルゴリズムとしてモンテカルロ積分を採用した場合、計算速度や計算精度の共通リスク因子数への依存性を非常に小さくすることができる。一般に高次元の数値積分を高速かつ高精度に実行することは非常に難しいため、多次元の確率変数ベクトルＸｉの空間で積分を行うことは多大な困難を伴う。本発明の手法とモンテカルロ積分を組み合わせることにより、すなわち、共通リスク変数に関する積分の算出にモンテカルロ積分を用いることにより、マルチ・ファクターモデルにおける高次元積分の困難さをも克服することができる。
【０１０１】
さらに、リスク計測で一般的な手法であるモンテカルロシミュレーションと比較して、本発明の計測精度について述べる。モンテカルロシミュレーションでは、乱数で発生させた一組の共通リスク変数に対して、一つの損失シナリオを発生させる。これに対し、本発明の手法では、一組の共通リスク変数（積分点）について、条件付モーメント母関数を計算している。条件付モーメント母関数には、共通リスク変数が与えられた下での条件付損失額分布と同等の情報が含まれていることから、一組の共通リスク変数に対する情報量は本発明の手法の方が圧倒的に多い。このため、モーメント母関数の算出に用いる積分点数と同じシナリオ数のモンテカルロシミュレーションと比較した場合、本発明の手法の方がポートフォリオから発生する損失に関する情報量が多く、より高い精度での計測が可能となる。
【０１０２】
加えて、本実施形態の計算手法は、大規模ポートフォリオのリスク計測を実施する場合に、特にメリットが大きい手法である。上述の計算時間に関する説明から明らかなように、本実施形態では、非常に時間がかかる数値積分の計算がポートフォリオの債務者数とは無関係に実施できる。このため、全体の計算時間の債務者数に対する依存性が非常に緩やかであり、大規模なポートフォリオであっても高速に計算を実行することが可能である。これに対し、数２５に基づいた計算やモンテカルロシミュレーション法では、全体の計算時間が債務者数にほぼ比例する。このため、ポートフォリオの債務者数が増えるほど、本発明による計算時間の短縮の効果はより大きくなる。
【０１０３】
なお、上述のように複素数を用いた数式によって表現されている本発明の手法をコンピュータを用いて実現するために、本発明の各実施形態においては、複素数による数値計算を行う必要がある場合がある。具体的には、複素数の四則演算の処理、および複素数に対する指数関数の値を算出する処理が挙げられる。この際、複素数の実部と虚部はそれぞれが実数で表されるから、複素数の実部と虚部のそれぞれにメモリー領域を確保し、実部と虚部に分けて演算を行うことにより、コンピュータ上で複素数に関する処理を記述することができる。なお、本発明の手法は、コンピュータ上で複素数を扱うその他の方法を用いて実現することもできる。また、本発明の説明に用いた複素数の計算をコンピュータによって実施する際のプログラムミング手法は特定のもの限定されるものではなく、数値計算が実施可能な種々の実装形態、種々のプログラミング手法によって本実施形態を実現することが可能である。例えばＣ＋＋言語では、複素数型のデータ型を定義し、関数および演算子のオーバーロード機能を利用することにより、複素数に対する処理を実数に対する処理と同じように記述することもできる。
【０１０４】
［第２の実施形態］
本発明の他の実施形態においては、ポートフォリオに関する情報からリスク計測を行う上記の過程と同じ工夫が有効な他のリスク指標の計算においても実施できる。このリスク指標として、リスク寄与度を算出する例を以下で説明する。
【０１０５】
リスク寄与度とは、
【数６１】
0004443619.tif 000062
によって定義される数値である。すなわち企業ｉのエクスポージャＥｉの微小変化に対する信用ＶａＲの変化額の比のことである。ここでＶａＲがエクスポージャＥ１，Ｅ２，・・・ＥＮの一次同次関数であることから、同次関数に関するＥｕｌｅｒの定理を適用することにより、
【数６２】
0004443619.tif 000063
が得られる。数６２の左辺の和を構成する各項は、個社ごとのリスク量を表していると解釈することが可能である。このため、この量
【数６３】
0004443619.tif 000064
は個社ｉのエコノミックキャピタルと呼ばれ、信用リスク管理上、重要な意味を持つ。
【０１０６】
以下では、損失額分布の分布関数をＦＬ（Ｅｉ，ｔ）と表記する。ただし、ｔはポートフォリオ全体から発生する損失額であり、Ｅｉは企業ｉのエクスポージャである。ここで、ＶａＲの算出に用いた信頼区間をｐとすれば、
【数６４】
0004443619.tif 000065
が成り立つ。この式をＥｉによって微分することにより、リスク寄与度の表式
【数６５】
0004443619.tif 000066
を得る。この式の右辺の分子は分布関数の偏微分の形で書かれているが、数２８から
【数６６】
0004443619.tif 000067
のように明示的に書くことができる。ただし、
【数６７】
0004443619.tif 000068
とした。ここで、数６５等を計算するために必要となるＶａＲの値は、第１の実施形態の手法に基づく分布関数の計算方法によって算出することができる。
【０１０７】
ここで、数６２及び数６５から、
【数６８】
0004443619.tif 000069
を示すことができる。このため、個社ｉのエコノミックキャピタルは、
【数６９】
0004443619.tif 000070
と書くこともできる。
【０１０８】
数６５の分母は密度関数そのものであるから、実施形態１の方法で計算することができる。また、すべての債務者のリスク寄与度を算出する場合には、数６９を用いて計算することもできる。さらに、数６６の右辺はラプラス逆変換の形式で書かれており、
【数７０】
0004443619.tif 000071
の計算方法が与えられれば、実施の形態１に関連して説明したポアソン−ＱＤ法（ｄｅ  Ｈｏｏｇのアルゴリズム）等を用いることにより計算することができる。実際、以下に述べるように、数７０は非常に高速に算出することが可能である。
【０１０９】
本発明のセクターリスク因子の離散化を応用することにより、数７０の計算を高速に実行する方法を示す。まず、次の量を定義する。
【数７１】
0004443619.tif 000072
この量を用いると、数７０は、適当なウエイトと積分点の列
【数７２】
0004443619.tif 000073
を用いることにより、
【数７３】
0004443619.tif 000074
と表すことができる。ここで、
【数７４】
0004443619.tif 000075
は企業ｉの損失生起確率しか含まないため、企業ｉが属するセクターのセクターリスク因子を通じてのみ共通リスク因子に依存する。このため、次のようにしてセクター変数に関する関数
【数７５】
0004443619.tif 000076
を定義することができる。なお、数７１および数７５で表される関数は、リスク寄与度指標関数の例となっている。
【０１１０】
上式に現れるセクターリスク変数を離散化して計算を高速化するため、次のような記号を導入する。
【数７６】
0004443619.tif 000077
すると、数７３に対する次の近似式が得られる。
【数７７】
0004443619.tif 000078
【０１１１】
ここで、数７７の右辺に現れる
【数７８】
0004443619.tif 000079
は、数６０に現れたｍＳｌと同じものであり、離散化評価点を特定するためのサフィックスである。これは、高々
【数７９】
0004443619.tif 000080
個の異なる値しか取らない。リスク寄与度算出を高速化するポイントは、数７７の和で
【数８０】
0004443619.tif 000081
が同一の値をとる項を括ってしまう、ということである。次のような記号を導入する。
【数８１】
0004443619.tif 000082
【０１１２】
これらを用いると、数７７の右辺は次のように書き換えることができる。
【数８２】
0004443619.tif 000083
ところで、
【数８３】
0004443619.tif 000084
には個別企業を表す添字ｉは含まれていない。これは、
【数８４】
0004443619.tif 000085
は企業毎に計算する必要がなく、ポートフォリオに対して一度計算しておけばよいことを意味する。更に言えば、
【数８５】
0004443619.tif 000086
を計算するために必要な
【数８６】
0004443619.tif 000087
は、リスク計測時（すなわち、第１の実施形態の実施時）に計算されるものである（数３４および数３５参照）。このため、
【数８７】
0004443619.tif 000088
をリスク計測を行う際に同時に計算してメモリーに保存しておくことにより、効率的に数７０の計算を実行することができる。
【０１１３】
また、数８２の右辺で項の数がＮｇ個になっており、Ｎｇ回のループで計算できることもこの計算方法の大きな利点である。これに対し、数７３に基づいた計算では、積分点数ＮＩ回のループが必要となる。ＮＩは数万から数百万のオーダーになる可能性がある一方、Ｎｇは数十から数百のオーダーであるため、これは計算の高速化の大きな要因となる。このようにループの回数を積分点の数と無関係にできるのは、セクターリスク変数の離散化、すなわち離散化評価点を用いた近似を行ったためである。
【０１１４】
これまで述べてきた数７０の計算方法とポアソン−ＱＤ法（ｄｅ  Ｈｏｏｇのアルゴリズム）を組み合わせることにより、数６６を計算することが可能となる。このためには、数５６で与えられるＮｋ個の助変数λ０、λ１、・・λＮｋ−１に対して数７０の計算を行い、ＱＤ法に用いる係数を求める必要がある。この計算を実行するには、まず、リスク計測時に次の配列
【数８８】
0004443619.tif 000089
を計算して記憶装置に保持しておく。そして、例えば企業ｉについての計算を行うには、ｋ＝０，１，・・・Ｎｋ−１に対して
【数８９】
0004443619.tif 000090
を求め、これを用いてＱＤアルゴリズム数５０および数５１を実行する。その上で連分数の評価の計算である数５４および数５５を実行し、数４６の連分数の前に現れる係数を掛ければよい。
【０１１５】
ここで数８８の配列は、Ｎｇ×Ｎｋ×Ｎｓ個の複素数であり、十分にメインメモリ中に格納することができるサイズである。このように数８８を保持する記憶装置としてメインメモリを用いれば、高速に配列を呼び出すことができ、計算自体も非常に高速に実行可能となる。さらに、数８８の計算量は積分点の数に依存しないため、ひとたびリスク計測時に数８８を求めてしまえば、リスク寄与度の算出に必要な計算時間は積分点の数には依存しない。このため、本発明による計算方法を用いると、極めて高速かつ高精度にリスク寄与度を算出することが可能である。
【０１１６】
このように、本発明によるリスク寄与度の算出方法は極めて高速であるため、数百万件規模のポートフォリオであっても、すべての債務者に対してリスク寄与度あるいはエコノミックキャピタルを求めることができる。
【０１１７】
［第３の実施形態］
本発明のさらに他の実施形態として、ＣＶａＲベースのリスク寄与度を算出する計算方法について説明する。ＣＶａＲの場合も、数６１と類似の表現によって、リスク寄与度が    
【数９０】
0004443619.tif 000091
と表現される。このＣＶａＲベースのリスク寄与度については、モンテカルロシミュレーション法での算出法が知られている。しかし、そのモンテカルロシミュレーション法にしても、特に高い信頼区間でのリスク寄与度を精確に求めるためには莫大な試行回数が必要となるため実務向きの方法ではない。ここでも高速ラプラス変換の方法を用いることにより、高速かつ高精度にＣＶａＲベースのリスク寄与度を算出することが可能となる。
【０１１８】
まず、ＣＶａＲを次のように書換えておく。
【数９１】
0004443619.tif 000092
ただし、
【数９２】
0004443619.tif 000093
である。これにより、
【数９３】
0004443619.tif 000094
と計算できる。数９３の第２行目の右辺の括弧内第２項は、数６６と積分のラプラス変換の公式から、
【数９４】
0004443619.tif 000095
と表すことができる。ここで第二式のＬλ−１［・・・］は、括弧内の式をλについてラプラス逆変換することを表す。この括弧内の式は、数６６の右辺の被積分関数を助変数λによって割っただけであるから、数９４も数６６の計算と全く同様に、本発明の計算によって高い精度で高速に計算することができる。
【０１１９】
［第４の実施形態：フーリエ変換による実施］
本発明においては、さらなる実施形態として、ラプラス変換の代わりに、フーリエ変換を用いた実施形態も可能である。すなわち、当業者には明らかであるように、確率密度関数をフーリエ変換した特性関数を用いれば、確率密度関数についてラプラス変換を実行することによって示された上記数学的議論が同様に展開できる。確率密度関数以外の損失額の確率分布に関連した関数を算出する場合も同様である。本実施形態においては、上記各実施形態におけるラプラス変換を実行するための処理をすべてフーリエ変換を実行するための処理とし、ラプラス逆変換を実行するための処理を全て逆フーリエ変換を実行するための処理とすることにより処理の流れは同様となる。なお、フーリエ変換においては、ラプラス変換に用いる助変数の代わりに、同様の助変数に虚数単位を乗じたものを用いる。このため、逆変換の積分経路も異なる。これらの違いから、上記各実施形態によって示したラプラス変換に基づく処理とは一部の処理が異なるが、ラプラス変換のための処理をフーリエ変換のための処理とするための変更は当業者には容易である。また、フーリエ変換法に特有の計算上の工夫を行うことも可能である。例えば、逆フーリエ変換を高速に実行するために、バタフライ演算などの高速フーリエ変換の手法を用いることも可能である。以下、特に断りのない記載は、ラプラス変換を用いる実施形態について記載しているが、フーリエ変換を用いる本実施の形態についても同様に当てはまる。
【０１２０】
［実施例］
以上に説明した各実施形態の計算手法をコンピュータ上に実装するための具体的手法およびその結果について、以下、図面を参照して説明する。
【０１２１】
［実施例１］
実施例１は、本発明の実施の形態を実装する実施例であり、デフォルトモードの場合の実装の態様を示している。しかしながら、特に断りのない限り、ＭｔＭモードにも適用可能な特徴が含まれている。図１は、本発明のラプラス変換を用いる実施の形態の実施例において共通に使用されるコンピュータの構成を示すブロック図である。適当なマイクロプロセッサユニット（ＭＰＵ）などの演算手段１０２が、メモリーやグラフィックカードや入出力とのインターフェースを提供するブリッジ回路１１２、１１４が接続されている。ブリッジ回路１１２は、十分なバンド幅を有するＣＰＵバス１０４、１０６によって演算手段１０２をメインメモリ１０８およびグラフィック処理部１１０に接続する。ブリッジ回路１１４は、ブリッジ回路１１２と専用バス１１６によって接続されて、ブリッジ回路１１４は、更にハードディスクドライブ１１８、光学ドライブ１２０とＩＤＥインターフェースなどのバス１３２、１３４によって接続され、ＵＳＢなどの外部入出力端子１２２、１２４とバス１３６，１３８によって接続される。音声処理回路１２８、ネットワークインターフェース１３０、カードスロット１２６が、ＰＣＩバスなどのバス１４０によってブリッジ回路１１４に接続される。
【０１２２】
なお、本発明の各実施の形態を実装するためのコンピュータのハードウエア構成は特段この構成に限定されるものではなく、複数のＭＰＵによって連携して演算を行うように構成されていたり、数値演算の形式に併せて専用の数値演算ユニットを一つ以上有していたり、複数の筐体に分かれて互いにネットワークにより接続されているクラスタ構成にされていたりすることができる。なお、本実施例のみならず、本発明全般に、区別して記載された機能手段は、実質的にそのような区別された機能を果たす任意の構成要素によって実現される。このとき、その構成要素が、物理的にいくつの数を有するか、あるいは、複数であり互いにどのような位置関係にあるかなどの機能を果たす上で制限とならない属性によって本発明が制限されることはない。例えば、複数の区別された機能が単一の構成要素によって継時的に異なるタイミングで実行されることも本発明の実施形態として含まれる。
【０１２３】
本発明の各実施の形態の機能処理を実装するコンピュータにおいて数値計算をするためのソフトウエア構成は、本発明の各実施の形態の数値情報処理を実現する限り任意の構成とすることができる。そのコンピュータは、基本入出力システム（ＢＩＯＳ）などのハードウエア制御のためのソフトウエアを搭載しており、これと連携して動作し、ファイル入出力やハードウエアリソースの割り振りを担当するオペレーティングシステム（ＯＳ）によって管理されている。当該ＯＳは、ＯＳやハードウエアと連携して動作するアプリケーションプログラムを、例えばユーザーからの明示の命令や、ユーザーからの間接的な命令や他のプログラムからの命令に基づいて実行することができる。アプリケーションプログラムは、このような動作を可能とし、ＯＳと関連して動作するように、ＯＳの規定する手続に依存して、あるいはＯＳに依存しないように適切にプログラムされている。本発明の各実施の形態を実装する場合には、一般に、専用のアプリケーションプログラムの形式で数値計算やファイル入出力等の処理を実装するが、本発明がそれのみに限定されるものではなく、複数の専用または汎用アプリケーションプログラムを用いたり、既成の数値計算ライブラリを部分的に用いたり、他のコンピュータのハードウエアによって処理されるようにネットワークプログラミング手法によって実現されていたり、その他の任意の実装形態によって実現されうる。したがって、本発明の各実施の形態の計算手法をコンピュータ上に実装するための一連の命令を表現するソフトウエアを、単に計算プログラムと呼ぶ。計算プログラムは、コンピュータにより実行可能な任意の形式あるいはそのような形式に最終的に変換可能な任意の形式によって表現される。
【０１２４】
本発明の各実施の形態の計算プログラムは、ハードウエア資源であるＭＰＵなどの演算手段が、ＯＳを介してあるいはＯＳを介することなく計算プログラムからの指令を受け、ハードウエア資源であるメインメモリや補助記憶装置などの記憶手段と協働して、ハードウエア資源である適当なバスなどを通じて演算処理を行うように構成される。つまり、本発明の各実施の形態の計算手法を実現するソフトウエアによる情報処理が、これらのハードウエア資源によって実現されるように実装される。記憶手段あるいは記憶部は、任意の単位によって論理的に区分されているコンピュータが可読な情報記憶媒体の一部または全部またはそれらの組み合わせをいう。この記憶手段は、例えば、ＭＰＵ内のキャッシュメモリや、ＭＰＵと接続されたメインメモリや、ＭＰＵと適当なバスによって接続されたハードディスクドライブなどの不揮発性記憶媒体など、任意のハードウエア資源によって実現される。ここで、記憶手段は、ＭＰＵのアーキテクチャによって規定されるメモリー内の領域や、ＯＳが管理するファイルシステム上のファイルやフォルダ、同じコンピュータ内やネットワーク上のいずれかのコンピュータにあってアクセス可能なデータベースマネージメントシステム内のリストやレコード、リレーショナルデータベースによって相互にリレーションがある複数のリストで管理されたレコードなど任意の形式によって実現され、論理的に他と区分され、情報を識別可能に少なくとも一時的に記憶または記録できる任意のものを含む。
【０１２５】
図２は、上記コンピュータ内において機能的に実現されるラプラス変換を用いるある実施の形態のリスク指標の計算装置３００の機能的構成を示すブロック図であり、本発明を実施する態様のひとつとして機能的処理をハードウエアとの関連において具体的に示すものである。複数の企業に対する債権を含むポートフォリオの損失についてのリスク指標計算装置３００は、機能手段として、離散化評価点算出部３０４と、損失指標関数算出部３０６と、セクター関数データ算出部３０８と、セクター関数データ記憶部３５０と、セクター乗算部３１２と、ウエイト乗算部３１４と、狭義ポートフォリオ関数算出部３１６と、ラプラス逆変換部３１８と、リスク指標算出部３２０とを含む。なお、ウエイト乗算部３１４と狭義ポートフォリオ関数算出部３１６とをあわせてポートフォリオ関数算出部と呼ぶ。実施態様における任意選択として、ポートフォリオ関数データ記憶部３６０や、パラメータ記憶部３７０、和データ記憶部３８０、セクターリスク因子係数算出部３０２が設けられていても良い。パラメータ記憶部３７０に記憶されるデータは、例えばキーボード３７２などの入力装置によってユーザーから受け付けられたり、他の手段によって準備されてパラメータ記憶部３７０に格納されたりする。また、任意の選択としてパラメータ算出部（図示しない）を用意し、ユーザーから受け付けたデータをで加工した上でパラメータ記憶部３７０に格納する構成とすることもできる。
【０１２６】
損失指標関数算出部３０６、セクター関数データ算出部３０８、セクター乗算部３１２、ウエイト乗算部３１４、狭義ポートフォリオ関数算出部３１６、ラプラス逆変換部３１８、リスク指標算出部３２０は、それぞれに特有の数値情報処理を実現する機能手段をいい、典型的には、予めそれらの機能手段を実現するためのコンピュータプログラムを格納する記憶手段から、そのプログラムが呼び出され、演算手段にそのプログラムの少なくとも一部がロードされ、そのプログラムが演算手段内のデコーダによってデコードされ、デコーダからの指示に基づいて命令が発行され、演算手段内の実行ユニットによってその命令が実行されることにより、機能的に実現される。演算処理部は、ＡＬＵ（算術論理ユニット）などの数値演算処理部を用いて構成されることができるが、実装されるアーキテクチャは特定のものには限定されない。そのコンピュータプログラムが実行されることによって、演算装置と記憶手段が協働して実現される各算出部の特有の数値計算が実現されるが、本発明は同等の機能をコンパイルされた実行可能プログラムやプログラム中の関数やプロシージャなどのサブルーチン類、ダイナミックリンクライブラリなどの動的にリンクされる計算モジュールによって実現されるものを含み、また、同等の機能をハードウエアによって実現する任意の特定目的のプロセッサ、ＡＳＩＣ（特定用途向け集積回路）やＤＳＰ（デジタル信号プロセッサ）、または、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などを一部にあるいは全部に含むものを含むことができる。
【０１２７】
パラメータ記憶部３７０に記憶されるデータは、他の機能手段によって計算に用いられるデータである。そのデータとしては、ラプラス逆変換の計算に用いられる助変数の値を決めるためのパラメータや、離散化評価点の決定に必要となるパラメータ、級数の係数の算出数を決めるパラメータ、リスク指標の算出に用いられるパラメータ、などが挙げられる。本発明を実施するために必要となるパラメータは、ラプラス逆変換を級数近似する方法や収束加速法、計算するリスク指標、あるいは他の機能手段の実施方法によって異なる。パラメータ記憶部３７０には、本発明の実施態様に応じて必要となるパラメータを格納する。他の機能手段は、必要となった時点でパラメータ記憶部３７０からパラメータを呼び出す。パラメータ記憶部３７０は、メインメモリ１０８中の所定の領域またはハードディスクドライブ１１８においてＯＳにより管理されるファイルにより実現される。
【０１２８】
本発明を実施するにあたって、パラメータ記憶部３７０に記憶されるデータを与える手段は、特定の方法に限定されない。例えば、計算過程で必要となるパラメータを外部ファイルとして用意しておき、それを読込む構成とすることもできる。また、キーボード３７２によってユーザーがパラメータを入力もしくは選択する構成とすることもできる。さらに、キーボードで入力された数値から、計算に必要となるパラメータをパラメータ算出部（図示しない）において算出する構成とすることもできる。さらに、これらの方法のうちいくつかを組み合わせてパラメータを与える構成とすることもできる。
【０１２９】
本実施例において、パラメータ記憶部３７０に記憶されるデータの例として、ラプラス逆変換の計算に用いる助変数の集合｛λｋ｝およびその個数Ｎｋ、離散化評価点の決定に用いるパラメータであるＭａｘ＿ｇ（離散化評価点の最大値）、Ｍｉｎ＿ｇ（離散化評価点の最小値）およびＮｇ（離散化評価点の個数）、算出対象とする損失額の集合｛ｔ０、ｔ１、・・・、ｔＮＴ｝およびその個数を特定するパラメータであるＮＴ、などが挙げられる。また、リスク指標としてＶａＲを算出する場合には、追加のデータとして信頼区間ｐが記憶される。さらに、計算に利用するラプラス逆変換法や数値積分法によって、追加のデータが記憶されることもある。例えば、ラプラス逆変換法にポアソン法とＱＤ法を用いる場合、ラプラス逆変換の計算に用いるパラメータγおよびｈ（数４７）、算出する損失額の最大値ｔＭＡＸが記憶される。このうちγおよびｈについては、キーボードからｔＭＡＸとｎを入力し、パラメータ算出部で数４７にしたがって算出した上でパラメータ記憶部３７０に格納する構成とすることができる。また、ポートフォリオ関数を算出する際の数値積分法としてモンテカルロ積分を用いる場合、積分点発生に必要となる積分点数ＮＩおよび乱数シードｒｓが記憶される。なお、本実施例においては、ポートフォリオ関数を逆変換した関数は、損失額分布の密度関数や分布関数のような損失額の関数であるとしている。
【０１３０】
セクターリスク因子Ｙは、複数の企業価値に影響する少なくとも一つの共通リスク因子Ｘの一次結合として表される。セクターリスク因子Ｙを定義するための係数α（数３０下段）は、他の手段を用いて予め計算されて、あるいは、任意選択としてセクターリスク因子係数算出部３０２によって、セクターごとに与えられる。係数αはセクターごとに異なる値の組であるため、セクターリスク因子は、セクターを定めれば一つに決まる（数３０下段第二式、Ｙの表式参照）。本実施例では、予めセクターごとに感応度係数が計算されて記憶手段に格納されており、それが呼び出される構成としている。記憶手段に格納されているデータの例としては、共通リスク因子に対する各セクターの感応度係数（数３０下段、α）のデータが挙げられる。図１３にこの例を示す。また、別の実施態様として、セクターリスク因子係数算出部３０２が備えられている構成とすることもできる。この場合、セクターリスク因子係数算出部３０２は、セクター別の株価インデックスの時系列データやセクター別のデフォルト率の時系列データなどを入力データとして、主成分分析等の統計分析を実施することにより、図１３と同様のデータを算出する。
【０１３１】
図１３にはセクター番号またはセクターＩＤによって区別される各セクターに対して、そのセクターにおいて用いられるセクターリスク因子Ｙを共通リスク因子Ｘから生成するための係数（感応度係数）が与えられている。
【０１３２】
離散化評価点算出部３０４は、パラメータ記憶部から離散化評価点の決定に必要なパラメータを呼び出して離散化評価点の集合Ｇを定める。離散化評価点の集合Ｇは、計算の過程でセクター変数ｙの代替として用いられる有限個の点列である。本発明で用いることのできる離散化評価点Ｇの決定方法は、特定方法に限定されるものではない。例えば、離散化評価点算出部３０４の処理を、パラメータ記憶部３７０から離散化評価点の最大値Ｍａｘ＿ｇ、および最小値Ｍｉｎ＿ｇ、離散化評価点の個数Ｎｇを呼び出し、数４０によって離散化評価点の値を算出する処理とすることができる。なお、具体的な数値として、Ｍｉｎ＿ｇ＝−５、Ｍａｘ＿ｇ＝５として、Ｎｇを６４から２５６程度の整数値とすれば、高精度にリスク指標を算出することができる。なお、本実施例では、全てのセクターについて離散化評価点の集合は同一であるものとして計算方法を示しているが、離散化評価点の集合がセクターごとに異なるものとしても本発明は実施可能である。
【０１３３】
ポートフォリオ関数を高精度に計算するために必要となる積分点の数は数百万個に達することがあるが、本発明で十分な精度を実現するために必要となる離散化評価点の数は、数十〜数百程度である。このため、セクター変数ｙの代替として離散化評価点を用いることにより、計算機の記憶領域などのリソースを節約することができ、大幅な計算の高速化が可能である。なお、上記のセクターリスク因子係数算出部３０２の場合と同様に、本実施形態のリスク指標の計算装置３００においては離散化評価点算出部３０４が備えられているが、本発明はそのような離散化評価点算出部３０４が用いられる場合に限定されない。例えば予め離散化評価点が計算されて記憶手段に格納されており順次呼び出されるように構成する実施態様も本発明の実施態様となり得る。
【０１３４】
損失生起確率は、リスク計測期間終了時点における企業価値の確率分布と、損失に対する認識を反映した判定基準に基づいて算出される。ある企業の企業価値は、当該企業が属するセクターリスク因子を用いて書けることから、セクターＳに属する企業の損失生起確率はセクター変数ｙＳの関数となる。判定基準については、本実施例のデフォルトモードの場合、判定基準については数７のＣｉによって与えられ、損失生起確率は数３１第三式によって与えられる。ここで数７の右辺の引数であるＰＤｉは、企業ｉの平均デフォルト率であり、企業ｉが属する格付のデフォルト発生率の時系列データなどから算出されるものである。なお、後述するＭｔＭモードの場合には、一期間における平均格付推移確率の情報から判定基準が算出される。判定基準の算出に必要なこれらの情報は予め準備されていて、損失指標関数算出部３０６に入力として与えられる。本実施例においては、平均デフォルト率は企業ごとではなく、各企業が属する格付ごとに決まる値としている。ただし、本発明は企業ごとに平均デフォルト率が与えられる場合にも実施可能である。損失認識にあたり、デフォルトのみを考慮する本実施例のデフォルトモードと、比較のため、格付も考慮するＭｔＭモードのそれぞれの場合について、本実施形態で利用する入力データを図１５に示す。図１５（ａ）は、デフォルトモードにおいて利用される平均デフォルト率データの例を示し、各欄は、リスク計測期間における格付別の平均デフォルト率を示す。格付番号は、コンピュータ内で格付を識別するために使用され、格付ＩＤは、格付を識別するための任意の識別符号であり、例えば金融機関がその組織内で利用している任意の識別符号とすることができる。図１５（ａ）によれば、例えば、Ｄの格付ＩＤに分類される企業は、リスク計測期間中にデフォルトとなる確率が０．６５％であることを示している。このように、どの格付ＩＤの企業がどれだけのデフォルト確率を有するかは、データとして与えられる。なお、図１５（ｂ）は、後述するＭｔＭモードにおいて利用される平均格付遷移確率を示している。
【０１３５】
ポートフォリオ関数は助変数の関数であり、ポートフォリオ関数算出部によって得られるポートフォリオ関数のデータは、助変数の値に対応して算出される。本実施例では、ラプラス逆変換部３１８の処理において、助変数の集合｛λｋ｝の各要素に対応したポートフォリオ関数のデータが用いるが、以下で述べる損失指標算出部３０６から狭義ポートフォリオ関数算出部３１６の説明においては、集合｛λｋ｝のある要素λ´に対応したポートフォリオ関数のデータを算出する処理について述べる。
【０１３６】
損失指標関数算出部３０６は、損失生起確率と、助変数に企業のエクスポージャを乗じた値の指数関数とを用いて企業ごとに定められる損失指標関数のデータを算出する。ここで、セクターＳに属する企業の損失生起確率はセクター変数ｙＳの関数であるから、その企業の損失指標関数もセクター変数ｙＳの関数である。損失指標関数算出部３０６では、パラメータ記憶部から助変数の集合｛λｋ｝の要素であるλ´および離散化評価点算出部３０４によって得られた離散化評価点の集合｛ｇｍ｝が入力され、企業ごとに、各離散化評価点に対し、助変数の値がλ´であり、セクター変数の値が当該離散化評価点の値である場合の損失指標関数の値を算出する。本実施例のデフォルトモードの場合、損失生起確率は数３１の第三式によって与えられるため、その計算にあたっては標準正規分布の分布関数の逆関数の計算を行う必要があるが、損失指標関数算出部３０６は、この計算を実行することができるようなサブルーチン又はモジュールを含む。また、損失生起確率を求めるためには、企業ごとに、その企業がどこのセクターに属するかを示すデータ、セクターごとの感応度係数を与えるデータ、その企業のエクスポージャ、およびその企業の平均デフォルト率に関するデータが必要となる。損失指標関数算出部３０６には、これらのデータが入力情報として与えられる。図１４に企業ごとに与えられる情報の例を示す。企業（債務者）ごとに、その企業が属する格付およびセクターがデータとして与えられ、さらに、その企業がデフォルトとなった場合の損失額（エクスポージャ）も与えられる。この表における格付ＩＤから、図１５に示したデータを用いて、各企業の平均デフォルト率の情報が得られる。また、セクター別に感応度係数を与えるデータの例を図１３に示す。図１４におけるセクターＩＤとこのセクター別感応度係数の情報によって、各企業の感応度係数が特定される。なお、エクスポージャの代わりに取引残高とデフォルト時損失率を入力情報とし、取引残高とデフォルト時損失率からエクスポージャを算出する構成とすることもできる。
【０１３７】
なお、本実施例のように格付別に平均デフォルト率が与えられている場合、セクター変数の値が与えられた下では、同一セクターに属する同一格付の企業の損失生起確率はすべて同じ値となる。これは、セクターごと、格付ごと、離散化評価点ごとの損失生起確率のデータを算出しておけば、上述の計算に用いる損失生起確率は、必ずこのどれかの値と一致することを意味する。このため、格付を通じて平均デフォルト率を与える場合には、計算装置３００の構成に損失生起確率データ算出部（図示しない）および損失生起確率データ記憶部（図示しない）を追加し、上述の損失生起確率のデータを記憶させる構成とすることもできる。この場合、損失生起確率データ算出部には、図１３に示したセクター情報、図１５に示した格付別デフォルト率情報、および離散化評価点算出部３０４によって得られた離散化評価点の集合｛ｇｍ｝が入力データとして与えられる。このような構成とすることにより、企業ごとに損失生起確率の計算を行う必要がなくなり、損失指標関数の計算をより高速に実行することが可能となる。
【０１３８】
セクター関数データ算出部３０８は、損失指標関数算出部３０６によって算出された損失指標関数のデータを、セクターごと離散化評価点ごとに、セクター内の全ての企業について乗算する処理を行う。その結果を用いて、各セクターについて、離散化評価点ｇｍごとにセクター関数データの値が算出される。例えば損失指標関数が企業ごとの条件付モーメント母関数（数３１第二式の右辺の中括弧内）であれば、数３１の第二式で定義されるセクター別条件付モーメント母関数が、すべての離散化評価点ｇｍに対して算出される。
【０１３９】
セクター関数データ記憶部３５０は、セクター関数データ算出部３０８によって算出されたセクター関数データの値を、セクターＳと離散化評価点ｇｍとに対応させてデータとして記憶する。ここで、一例として、セクター関数データ記憶部３５０は図１のメインメモリ１０８中の所定の領域またはハードディスクドライブ１１８においてＯＳにより管理されるファイルにより実現されることができる。セクター関数データ記憶部３５０をハードディスクドライブ１１８のファイルによって構成する場合には、図１に示したように、各セクターＳ、各離散化評価点ｇｍに対応してセクター関数データの値が格納される。なお、図では、ｇｍの値そのものを明示して例示しているが、離散化評価点ｇｍはサフィックスｍを指定することにより特定されるため、ｍの値とともに格納されていてもよい。またセクターＳ、離散化評価点ｇｍ（またはサフィックスｍ）との対応付けが可能な他の態様によって格納されて実現されることもできる。
【０１４０】
本発明を実施するにあたっては、必ずしも全ての企業に対して損失指標関数のデータを算出した上でセクター関数データ算出部の処理を行う必要はなく、企業ごとに、損失指標関数のデータの算出とセクター関数データ算出の処理を行っていく実施態様とすることも可能である。このためには、損失指標関数のデータの算出処理を行う前に、セクター関数データ記憶部３５０にセクターと離散化評価点に対応したセクター関数データの記憶領域を確保し、全てのセクター関数データの値を実数値の１に初期化しておく。その上で、一つの企業に対する処理として、全ての離散化評価点に対して損失指標関数のデータを算出し、離散化評価点ごとに、当該企業のセクターと当該離散化評価点に対応するセクター関数データに、当該離散化評価点に対応する損失指標関数のデータを乗算する処理を行う。この処理を全ての企業に対して行うことにより、全てのセクター関数データを算出することができる。このような実施態様では、全ての企業の損失指標関数の値を記憶する必要がなく、処理過程で利用するメモリー等の記憶領域を少なくすることができる。なお、ここで示した例では、セクター関数データ算出部から損失指標算出部が呼び出されて計算が行われることとなるが、このような処理方法も本発明の実施態様となり得る。
【０１４１】
セクター関数データ記憶部３５０を用いることにより、後の計算においては、セクターＳと離散化評価点とを指定するだけで、損失指標関数算出部３０６とセクター関数データ算出部３０８とによって予め算出されたセクター関数データの値を得ることができ、その都度新たな計算を行う必要がなくなる。ここで、このセクター関数データの値を得るためには、セクター関数データ算出部３０８による計算を、セクターＳの数ＮＳと離散化評価点の集合｛ｇｍ｝の元の数Ｎｇとの積の回数だけ行う。損失指標関数算出部３０６におけるセクターごとの計算では、各セクターについてそのセクターに属する企業数だけの計算が実行されるため、セクター関数データ記憶部３５０に必要な値が格納されるまでには、結局、企業の数Ｎと離散化評価点の集合｛ｇｍ｝の元の数Ｎｇとの積の回数の計算が実行される。
【０１４２】
セクター乗算部３１２は、各積分点について、セクターＳごとに、当該積分点に対応したセクター変数ｙＳｌ（数３２、なおβＳは数３０第二式より算出）に対応する離散化評価点ｇｍＳｌを離散化評価点の集合から特定し、当該セクターおよび特定された当該離散化評価点に対応するセクター関数データをセクター関数データ記憶部から呼び出し、全セクターのセクター関数データを乗じる処理を行う。その結果を用いて、積分点ごとに条件付ポートフォリオ関数の近似値が算出される。例えば、セクター関数がセクター別条件付モーメント母関数（数３１第二式）であれば、積分点ごとに、数３４の右辺中の積の値が算出される。ここで、本発明の計算手法によらない場合には、各積分点についてセクター変数の値ｙＳｌに対するセクター関数データを算出する必要がある。しかし、本実施の形態では、このような計算を毎回繰り返さず、予めセクター関数データ記憶部３５０に格納しておいた各離散化評価点におけるセクター関数データを用いることにより、極めて高速な計算を可能にしている。予め記憶手段に格納されたセクター関数データは、損失指標関数の離散化評価点における値から算出されるため、セクター変数が離散化評価点と一致する場合以外は、セクター変数と離散化評価点が完全には一致しないことから生じる若干の誤差を含む近似値である。ただし、この近似による誤差は、離散化評価点の集合｛ｇｍ｝の設定とセクター変数ｙＳｌに対応する離散化評価点ｇｍＳｌの特定を適切に行えば、十分に小さくすることができる。
【０１４３】
セクター乗算部３１２には、積分点に関する情報が入力として与えられる。本発明は、積分点や積分点に関連するウエイトを算出する数値積分アルゴリズムとして、任意のものを用いて実施することができる。無論、算出されるリスク指標の精度は選択した数値積分アルゴリズムに依存するが、例えば数値積分アルゴリズムにモンテカルロ積分を用い、積分点の数を１００万個以上とすれば、非常に精度高く各種リスク指標を算出することが可能である。また、本発明においては、積分点や積分点に関連するウエイトの情報を与える手段は、特定のものによらない。例えば、積分点と積分点に関連するウエイトを同時に外部ファイルから読込む構成とすることができる。このような構成では、外部ファイルを変更することにより、任意の数値積分アルゴリズムで発生させた積分点とそれに関連するウエイトを用いて、セクター乗算部３１２およびウエイト乗算部３１４の処理を実行することが可能となる。図１６は、外部ファイルから読込む積分点情報の例を示す。図１６において、積分点番号とは、積分点を特定するサフィックスｌに対応する整数を示している。また、ウエイトは積分点に関連するウエイト値を示す。また、最上段に示された共通リスク因子ＩＤに対応付けることにより、積分点番号ごとに各共通リスク変数の値が与えられている。この他、セクター乗算部３１２の内部に積分点を発生させるモジュールを組み込んでおき、そのモジュールと協働してセクター乗算の処理を実行する構成とすることも可能である。このような構成では、積分点を発生するためにいくつかのパラメータが必要となるが、それらのパラメータはパラメータ記憶部に記憶しておき、セクター乗算部３１２の処理を実行する際に呼び出される。例えば、数値積分アルゴリズムとして優良格子点法を用いる場合には、積分点の個数と優良格子ベクトルのデータをパラメータ記憶部に与えておき、これを呼び出すことによって積分点の算出を行う。
【０１４４】
ここでは、数値積分アルゴリズムとしてモンテカルロ積分を用いる場合のセクター乗算部３１２での積分点およびウエイトの算出処理について説明する。まず、共通リスク因子の数ＮＦ個の一様乱数を発生させ、これを標準正規分布の分布関数の逆関数で変換したものを各共通リスク変数とすることにより、積分点を決定する。この際、セクター乗算部３１２はメルセンヌ・ツイスター法によって一様乱数を発生するモジュール、および標準正規分布の分布関数の逆関数値を算出するモジュールを含む構成とすることができる。また、積分点に関連したウエイトは全ての積分点に対してｗｌ＝１／ＮＩとする。ここでＮＩは積分点の数である。ウエイトの計算および正規乱数の発生にあたっては、パラメータ記憶部３７０に記憶されている積分点の数ＮＩ、および乱数のシードｒｓのデータを用いる。また、共通リスク因子の数ＮＦは、図１３に示したセクター情報から得られる。
【０１４５】
セクター乗算部３１２では、積分点ごとに決まるセクター変数の値から、セクター関数データを呼び出す際に用いる離散化評価点ｇｍＳｌを特定する処理も行われる。セクター変数ｙＳｌに対するセクター関数の値を用いて計算すべきところを、ｇｍＳｌに対するセクター関数データで置き換えることによって生じる誤差を小さくするためには、ｇｍＳｌはｙＳｌの十分近くに存在する必要がある。本発明は、離散化評価点ｇｍＳｌを特定する方法は、特に限定するものではない。例えば、｜ｙＳｌ−ｇｍ｜を最小とするｍをｍＳｌとして｛ｇｍ｝からｇｍＳｌを選ぶ実施態様とすることができる。このような特定方法を用いることにより、離散化評価点の間隔が十分に小さくなるよう離散化評価点の集合を決定しておけば、上述の置換えによって生じる誤差も十分に小さくすることが可能である。なお、セクター関数データが、離散化評価点の値ではなく離散化評価点を特定するサフィックスｍと対応付けてセクター関数データ記憶部３５０に記憶されている場合には、ｇｍＳｌではなく、ｍＳｌを用いてセクター関数データの呼び出しが行われる。
【０１４６】
ウエイト乗算部３１４は、サフィックスｌによって特定される積分点ごとに、条件付ポートフォリオ関数の近似値をセクター乗算部３１２から得て、当該積分点に関連するウエイト値ｗｌを乗じる処理を行う。これにより、重み付けデータが得られる。例えば、セクター関数がセクター別条件付モーメント母関数（数３１第二式）の場合、重み付けデータは、数３４の右辺の和の各項となる。
【０１４７】
狭義ポートフォリオ関数算出部３１６は、ウエイト乗算部３１４で算出された重み付けデータを全ての積分点について合算する処理と、当該合算値とポートフォリオ助変数関数のλ´における値との積を算出する処理を行う。合算の処理は、全ての積分点の重み付けデータを算出した後に総和を取る処理としてもよいし、予めポートフォリオ関数データを記憶する領域を確保して０に初期化しておき、積分点ごとに、セクター乗算部３１２の処理とウエイト乗算部３１４の処理を行って重み付けデータを算出し、ポートフォリオ関数データの記憶領域のデータに、当該重み付けデータを加えていく処理としてもよい。後者の場合にはポートフォリオ関数算出部からセクター関数データ算出部が呼び出されて処理が進むが、このような処理方法も本発明の実施態様となり得る。助変数の値をλ´としてポートフォリオ助変数関数の値を算出し、当該合算値に乗じることにより、λ´に対応したポートフォリオ関数データが算出される。ポートフォリオ関数は、例えばポートフォリオ全体のモーメント母関数（数１３）や、損失額分布の分布関数をラプラス変換した関数（数２８）とすることができる。なお、モンテカルロ積分のように、全ての積分点のウエイトが等しい場合には、ウエイト乗算部３１４の処理を行わずに、ポートフォリオ関数算出部３１６で全ての積分点に対するセクター関数データを合算した後に積分点の数ＮＩで除算を行って得られる値に、ポートフォリオ助変数関数のλ´における値との乗算を行うことによって、ポートフォリオ関数のデータを算出する処理とすることもできる。
【０１４８】
以上で述べた処理によって、助変数λ´に対応したポートフォリオ関数のデータが算出される。ポートフォリオ関数のラプラス逆変換を数値的に計算するためには、助変数の集合｛λｋ｝の全ての要素に対応するポートフォリオ関数のデータが必要となるが、上述の処理をλ´の値を変えながら実行することにより、そのデータを算出することができる。また、本発明のある実施態様では、助変数の集合｛λｋ｝の全ての要素に対するポートフォリオ関数のデータを並行して算出する処理とすることもできる。このような実施態様の例については、実施例２、実施例１０、実施例１１、および実施例１２で示す。
【０１４９】
ポートフォリオ関数データ記憶部３６０は、ポートフォリオ関数算出部３１６によって算出されたポートフォリオ関数のデータを、助変数λの値もしくは助変数を特定するサフィックスｋに対応させてデータとして記憶する。ここで、一例としてポートフォリオ関数データ記憶部３６０は図１のメインメモリ１０８中の所定の領域またはハードディスクドライブ１１８においてＯＳにより管理されるファイルにより実現されることができる。
【０１５０】
ラプラス逆変換部３１８は、ポートフォリオ関数データ記憶部３６０に記憶されたポートフォリオ関数データに基づいて、助変数λについての積分の数値計算を行う。ここで、助変数についての積分の計算は、ある関数についてのラプラス変換の値から元の関数を導くラプラス逆変換の処理において必要な計算であり、元の関数が確率密度関数である場合には数４１により与えられる。これにより、例えば、確率密度関数や分布関数などの確率分布を反映する関数の形式で、損失額についての確率分布が求められる。
【０１５１】
ポアソン法とＱＤ法に基づいてラプラス逆変換部３１８を構成する場合の処理について述べる。この場合、ラプラス逆変換部３１８は、ポートフォリオ関数のデータから連分数の係数を算出する連分数係数算出部３１８Ａ、連分数の係数と損失額から連分数の値を算出する連分数評価部３１８Ｂ、および逆変換関数算出部３１８Ｃを備える。ポートフォリオ関数のラプラス逆変換の積分をポアソン法により近似する場合、近似無限級数の係数は、数５６によってγおよびｈから算出される助変数λｋにおけるポートフォリオ関数の値によって表現される。このため、連分数係数算出部３１８Ａには、数５６に従う助変数の集合｛λｋ｝の各要素に対応したポートフォリオ関数のデータが入力される。連分数係数算出部３１８Ａで行われる処理は、ＱＤ法（数５０および数５１）によって、入力されたポートフォリオ関数のデータから連分数の係数を算出することである。例えば、ポートフォリオ関数がモーメント母関数の場合、数４６の最下段の式によってポートフォリオ関数データから級数の係数ｃｋを算出し、それらを数５１の第二式に代入した上で数５１の漸化式の演算を実行し、数５０に示される連分数の係数の値を算出する処理が行われる。次に、連分数係数算出部３１８Ａにより算出された係数は、連分数評価部３１８Ｂが受け取って連分数の値の算出に用いられる。連分数評価部３１８Ｂでは、パラメータ記憶部３７０から損失額の集合｛ｔ０、ｔ１、・・・、ｔＮＴ｝の各要素を順次呼び出し、数４６下段の式によって損失額からｚを算出し、連分数係数算出部３１８Ａにより算出された係数を用いて数５４の漸化式および数５５の計算を行い、各損失額に対応した連分数の値を算出する。最後に、連分数評価部３１８Ｂで算出された連分数の値を逆変換関数算出部３１８Ｃが受取って、ポートフォリオ関数を逆変換した関数の、各損失額における値の近似値が算出される。逆変換関数算出部３１８Ｃで行われる処理は、数４８において、中括弧の前に掛かる係数を算出し、連分数評価部３１８Ｂで算出された連分数の実部の値との乗算を行うことである。
【０１５２】
なお、連分数係数算出部３１８Ａおよび連分数評価部３１８Ｂの処理で用いられる演算は四則演算のみであり、非常に高速に実行可能である。また、逆変換関数算出部３１８Ｃの処理も、初等関数の計算と四則演算に帰着できるため、極めて高速に実行可能である。このため、ラプラス逆変換部３１８の演算は、全体としても非常に高速に実行することが可能である。
【０１５３】
ポアソン法によって得られるラプラス逆変換の近似級数の係数には、損失額ｔの値は含まれない。このため、連分数係数算出部で係数を算出した後、複数の損失額ｔの値に対して連分数評価部３１８Ｂおよび逆変換関数算出部３１８Ｃを繰り返し動作させることにより、数４８に従って、異なる損失額ｔに対して、確率密度関数や分布関数などのリスクに関連した関数の値を算出することが可能である。また、連分数係数算出部によって得られた連分数の係数のデータを記憶装置に保存しておく構成とすることも可能である。このような構成にすることにより、記憶装置から連分数係数を呼び出して連分数評価部３１８Ｂおよび逆変換関数算出部３１８Ｃのみを動作させて、任意の損失額に対するポートフォリオ関数のラプラス逆変換の値を算出することができる。
【０１５４】
なお、ポアソン法以外の方法によって得られるラプラス逆変換の近似級数を利用する場合、当該級数の係数には損失額ｔの値が含まれることがある。こうした近似級数を与える例としては、Ｇａｖｅｒ法が挙げられる。このような場合、算出対象とする各損失額に対して、ラプラス変換に必要となる助変数の値をパラメータ記憶部３７０に記憶しておく。そして、損失額ごとに、各助変数に対応したポートフォリオ関数データの算出とラプラス逆変換の処理が行われる。
【０１５５】
リスク指標算出部３２０は、ラプラス逆変換部３１８によって算出された、損失額の集合｛ｔ０、ｔ１、・・・、ｔＮＴ｝に対応したリスクに関連した関数のデータから、ポートフォリオの損失についてのリスクを示すリスク指標を算出する。ここで算出されるリスク指標は必ずしも一種類に限らず、複数のリスク指標が算出されたり、あるいは上記実施形態によって算出されたリスク指標を用いて更なるリスク指標を算出することも含む。また、計算の内容によっては、損失額ｔを決定したい場合がある。この例としては、信頼率ｐが与えられた場合にＶａＲを求める計算があげられる。このような場合には二分法等の収束計算が有効であるが、実装上、リスク指標算出部３２０の計算結果に応じて再びラプラス逆変換部３１８を動作させるために、リスク指標算出部３２０からラプラス逆変換部３１８を呼び出すように構成することも本実施形態においては可能である。
【０１５６】
上述の本発明の実施の形態は、本発明の範囲内において様々なリスク指標の計算に合わせて変形することができる。その変形の実施例について以下説明する。
【０１５７】
［実施例２］
実施例の一つとして、助変数の集合｛λｋ｝の全ての要素に対するポートフォリオ関数のデータを並行して算出することができる。この場合、損失指標関数算出部３０６では、企業ごとに、各助変数および各離散化評価点に対して損失指標関数のデータを算出することができる。また、セクター関数データ算出部３０８では、助変数ごと離散化評価点ごとにセクター関数データを算出し、セクター関数データ記憶部３５０に、セクターＳと離散化評価点ｇｍとに加えて、ラプラス変換の助変数λの各値にも対応させてデータとして記憶することができる。さらに、セクター乗算部３１２では、助変数の各値に対して、全セクターについてセクター関数データを乗じる処理を行って、助変数ごとの条件付ポートフォリオ関数の近似値を算出することができる。さらに、ポートフォリオ関数算出部３１６では、助変数ごとの条件付ポートフォリオ関数の近似値を用いて、助変数ごとのポートフォリオ関数のデータを算出する処理を行うことができる。ラプラス逆変換部３１８では、助変数ごとのポートフォリオ関数のデータを用いてラプラス逆変換の数値計算を実行することができる。
【０１５８】
なお、この実施例においても、全ての企業に対する損失指標関数のデータを算出した後にセクター関数データの算出を行う必要はなく、企業ごとに損失指標関数の算出とセクター関数データとの乗算を行う方法で実施することも可能である。また、全ての積分点に対して助変数ごと条件付ポートフォリオ関数のデータを算出した後で助変数ごとポートフォリオ関数の算出を行う必要はなく、積分点毎に、助変数ごと条件付ポートフォリオ関数の算出と助変数ごとポートフォリオ関数の合算を行う処理とすることもできる。本発明をこれらの処理方法を用いて実施することにより、使用する記憶領域が減らせると同時に、無駄な反復計算を避けることができ、通常のデスクトップのコンピュータでも、企業数が数百万件に及ぶ大規模ポートフォリオのリスク指標を高速に算出することが可能となる。
【０１５９】
［実施例３］
実施例の一つとして、損失指標関数算出部３０６が計算する損失指標関数を、企業ごとの条件付モーメント母関数（数３１第二式の右辺の中括弧内）とし、セクター関数データ算出部３０８で計算するセクター関数をセクター内の全ての企業にわたる損失指標関数の積であるセクター別条件付モーメント母関数（数３１第二式）とし、セクター乗算部３１２が計算する条件付ポートフォリオ関数を、全てのセクターにわたるセクター関数の積である条件付モーメント母関数とし、ポートフォリオ関数算出部が計算するポートフォリオ関数をポートフォリオ全体のモーメント母関数（数６７）とすることができる。この場合、ラプラス逆変換部３１８において算出される、ポートフォリオ関数をラプラス逆変換した値は、損失の確率分布を与える確率密度関数（数４１）のデータとなる。そして、リスク指標算出部３２０は、この確率密度関数のデータに基づいてリスク指標を算出する。このリスク指標は損失についての確率密度関数から算出可能な様々なものを選ぶことができる。なお、この例では、ポートフォリオ助変数関数は恒等関数となっている。
【０１６０】
例えば、リスク指標を予測損失額とすることができる。この場合、リスク指標算出部３２０は、密度関数から損失額の期待値を算出して予測損失額を得る。
【０１６１】
［実施例４］
ここで、ポートフォリオ助変数関数を１／λとし、その他の処理は実施例３と同じものとした実施例も可能である。この実施例では、ラプラス逆変換部３１８において算出される、ポートフォリオ関数をラプラス逆変換した値は、損失の確率分布の分布関数（数４３）のデータとなる。そして、リスク指標算出部３２０は、この分布関数のデータに基づいてリスク指標を算出する。このリスク指標は損失の確率分布の分布関数から算出可能な様々なものを選ぶことができる。
【０１６２】
［実施例５］
他の一例として、リスク指標に所定の信頼区間に対応する信用ＶａＲ額を含むことができる。信用ＶａＲ額とは、分布関数の値が所定の値（信頼区間）となる損失額のことである。例えば、予め決められた損失額に対して分布関数の値を計算しておき、それを適切に補間することにより信用ＶａＲ額を求める事ができる。また、分布関数は単調増加関数であるため、二分法等の反復計算によって、分布関数の値が信頼区間に一致する損失額を探索し、信用ＶａＲ額を求める事もできる。いずれの場合も、ラプラス逆変換部３１８において算出される分布関数のデータを用いて信用ＶａＲ額を算出することができる。
【０１６３】
［実施例６］
また、他の例として、分布関数を用いる実施形態において、ウエイト乗算部３１４が、数３４の右辺の算出結果を得る処理に追加して、得られた算出結果を、セクターＳごとにセクター乗算ステップで特定された離散化評価点ｇｍＳｌと当該セクターＳとに対応付けて、セクター別離散化評価点別に、全ての積分点にわたって和ＰＳｍ（数８１第二式）をとる第１の追加計算処理部である和データ算出部３１４Ａを備えることができる。また、和データ算出部３１４Ａで算出された和データＰＳｍをセクターＳおよび離散化評価点ｇｍに対応付けて記憶する追加の記憶装置である和データ記憶部３８０を備えることができる。
【０１６４】
このとき、リスク指標算出部３２０は、ポートフォリオ内の各企業ｉについて、離散化評価点ｇｍごとに、損失生起確率（数３１の第三式）と助変数λに当該企業の債権のエクスポージャＥｉを乗じた値の指数関数とを用いて定義されるリスク寄与度指標関数Ｒｉ（数７１）の各離散化評価点での値であるリスク寄与度指標関数データ（数８０）を算出し、当該企業のセクターと当該離散化評価点とにより特定される前記和データＰＳｍを和データ記憶部３８０から呼び出して、前記リスク寄与度指標関数データと乗算して、全ての離散化評価点にわたる当該乗算結果の和をとって、エクスポージャによる分布関数の偏微分値のラプラス変換データを求める追加算出部３２０Ａを備えることができる。また、ラプラス逆変換部３１８は、分布関数の算出に加えて、追加算出部３２０Ａによって算出された偏微分値のラプラス変換データとリスク指標算出部３２０によって算出された信用ＶａＲ額から、企業のエクスポージャによる分布関数の偏微分値データを、すべての企業に対し算出する処理を行うことができる。さらに、信用ＶａＲ額と分布関数の各企業のエクスポージャによる偏微分値データとエクスポージャとを含んで定義される、信用ＶａＲ額に基づく各企業のエコノミックキャピタルの表現（数６９）に、信用ＶａＲ額と偏微分値データとエクスポージャデータとを代入して、信用ＶａＲ額に基づく企業のエコノミックキャピタルを算出する追加リスク指標算出部３２０Ｂを含むことができる。また、追加リスク指標算出部３２０Ｂでは、こうして得られた各企業のエコノミックキャピタルを、当該企業のエクスポージャで除すことにより、リスク寄与度（数６１）を算出することもできる。信用ＶａＲ額に基づくリスク寄与度とは、ある企業のエクスポージャを微小量変化させた際のＶａＲ額の変化（数６１）をいい、エコノミックキャピタルとは、そのリスク寄与度に当該企業のエクスポージャを乗じた値（数６３）である。
【０１６５】
［実施例７］
上記実施例６における追加算出部３２０Ａの処理において、エクスポージャによる分布関数の偏微分値のラプラス変換データをさらに助変数で除す処理を追加的に行うこともできる。そして、ラプラス逆変換部３１８では、追加算出部３２０Ａで算出されたエクスポージャによる分布関数の偏微分値のラプラス変換データをさらに助変数で除したデータ、および信用リスク算出部３２０で算出される信用ＶａＲ額とを用いて、企業のエクスポージャによる分布関数の偏微分値を［０，ＶａＲ］の区間で損失額について積分したデータ（数９４）を、すべての企業に対して算出する処理を行うことができる。このとき、リスク指標算出部３２０は、企業の平均デフォルト率と、ラプラス逆変換部３１８により算出された分布関数の偏微分値の積分データとの和を取り、その和を全区間からの信頼区間の残余によって除算することにより、条件付きＶａＲ額ＣＶａＲに基づくリスク寄与度（数９３）を、全ての企業に対して算出する処理を行う追加リスク指標算出部３２０Ｃをさらに含むことができる。ここで、条件付ＶａＲ額（ＣＶａＲ）とは、信用ＶａＲ額以上の損失が発生してしまったという条件の下での、ポートフォリオの損失額の条件付期待値である。
【０１６６】
［実施例８］
本発明の実施の形態において、損失判定基準は、企業がデフォルトとなる企業価値の上限を与えるデフォルト閾値Ｃｉ（数７）を含む基準とすることができる。このとき、損失指標関数が、セクターＳに含まれる企業ｉについて、デフォルト時の損失を表すエクスポージャＥｉと、デフォルト閾値により定まる、セクター変数ｙが与えられた条件での条件付デフォルト確率ｐｉ（ｙ）とを含んで定義されている（数３１第二式の右辺の中括弧内）。この実施例により、本実施の形態においてデフォルトモードに基づいて損失を考慮することができる。
【０１６７】
［実施例９］
また、実施例７において、損失判定基準が、上記基準に加えて、企業の格付が変化する企業価値の値である格付閾値を少なくとも一つさらに含む基準とし、損失指標関数が、セクターＳに含まれる企業ｉについて、格付推移時およびデフォルト時の損益を表すＬｉ（ｒ＝＞ｓ）と、セクター変数ｙが与えられた条件での企業の条件付格付推移確率ｐ（ｒ＝＞ｓ）（ｙ）（数９）をさらに含んで定義されている変形例も実施可能である。この場合、デフォルトモードの場合と同様のデフォルトによる損失の発生に加えて、格付の変化を考慮したＭｔＭモードの計算を行うこともできる。通常はＭｔＭモードに用いる格付のうち最も低位のものはデフォルトに相当するので、ＭｔＭモードにおける損失判定基準は、上述のデフォルト閾値と格付閾値とを併せて含んでいる。なお、後に説明するように、デフォルト状態は複数存在してもよい。
【０１６８】
ここで、ＭｔＭモードにおける損失判定基準が、例えば上述のようにｒ格付からｓ格付（共に、デフォルトを含む）への遷移確率として与えられた場合について、デフォルトの性質を適切に反映させる手法について説明する。図１５（ｂ）にこのＭｔＭモードの場合の入力データの例を示している。図１５（ｂ）の各欄に記載されているように、ＭｔＭモードでは、リスク計測を実行する時点における格付ごとに、リスク計測期間終了時点で最上段に示された各格付に遷移する確率が数値データとして与えられている。例えば、この表から、リスク計測の時点において格付Ｃにある企業は、対象期間の後に格付Ａ，Ｂ，・・・Ｇ、およびデフォルトとなる確率は、それぞれ、０．４％、１．５％、・・・、０．４％および０．３％であることが読み取れる。このような入力データを用いてＭｔＭモードの計算を債権取引の実態に合わせてより適切に行うためには、デフォルトが持つ特別な性質、つまり、デフォルトは他の格付とは異なり、一度デフォルトになるとそこからデフォルト以外の他の格付に遷移しないという性質を反映するための追加の情報を用いる。この情報を図１７に示す。
【０１６９】
図１７は、格付ごとに各時点までにデフォルトとなるデフォルト率を与える例を示すデータである。ここでの各時点でのデフォルト率は、累積デフォルト率、すなわち、遅くともその時点までにデフォルトとなる確率を示している。ここで、「デフォルト１」〜「デフォルトＮ」とある列のそれぞれは、デフォルトになるまでの時点を考慮して債務者のデフォルト状態として分類したものである。例えば、デフォルト状態を区分してＮ等分した場合、例えば、１年を月次となるように期間を区分して設定した場合には、図１７においてＮ＝１２として、１年後までを月ごとに１２等分した各時点までにデフォルトとなる累積のデフォルト率を各時点に対するデータとして付与する。
【０１７０】
各時点の累積デフォルト率は、デフォルトの性質上、時間の経過とともに増大するものとなる。その時間依存性は、市況や経済状況を反映させて、さまざまに設定することができる。例えば、評価する時点からの経過時間に比例するように増大させることもできるし、また、単純な比例関係ではない場合には、初期値と中間時点での値と最終時点での値などから例えばスプライン関数によって補間して与えて時間依存性を付与することができる。
【０１７１】
そして、図１５（ｂ）と図１７によって与えられる格付やデフォルトの遷移情報は、図１８に示すような損失額のデータと共に用いられる。すなわち、図１８は、デフォルトモードを説明した実施例１において図１４によって説明したのと同様の企業ごとに与えられる情報の例をＭｔＭモードについて示したものである。図１８において、「１年後の状態ごとの損益額」は、１年後に、債務者がその格付となった場合の損失額を表している。金額に付した符号は、プラスが損失を表し、マイナスが利益を表しており、単位は通貨単位（日本円）である。例えば、債務者番号のラベル「１」と一年後の状態ごとの損失額のラベル「Ｂ」とによって指定される欄の記載は、「債務者番号１の債務者の格付が、１年後にＢ格になった場合、２，０００，０００円の損失が発生する」という事象を意味している。なお、一般には、一人の債務者について複数の債権が存在するが、図１８では、複数の債権から発生する損益を債務者ごとに集計したものを入力データとしている。ただし、本発明を実施するにあたっては、債権別の損益を入力データとして用いることもできる。
【０１７２】
図１５（ｂ）の格付推移情報に加えて図１７で示した各デフォルト状態への遷移情報の考慮が必要なのは、ＭｔＭモードにおいては債権の満期を考慮するため、すなわち、デフォルトとなる時点によって発生する損失が異なりうるためである。例えば、債権満期が６ヶ月であれば、リスク計測時点から５ヶ月後にデフォルトした場合には損失が発生する一方、６ヶ月を過ぎて（例えば、１１ヶ月後に）デフォルトした場合は損失が発生することはない。このため、債務者番号２の行に例示したように、早期のデフォルトにおいては損失が発生し、満期以降のデフォルトでは元本が償還されたことに伴う利益が発生していることがあり得る。
【０１７３】
このように、すでに図１５（ｂ）に示したＭｔＭモードの場合のデフォルト率に加えてより詳細な情報、すなわち、図１７のような各格付の債務者が各時点までにデフォルトに遷移する情報を与えること、および、それにあわせて図１８のような各時点での格付やデフォルト状態に対する損失額を与えることにより、格付変動による債権の市場価値の変動を適切に反映したＭｔＭモードにおける損失額分布の算出が可能となる。
【０１７４】
図１８に示したデータを用いて、ＭｔＭモードにおける損失額分布の密度関数を算出する方法について説明する。ここで、Ｌｉｊを、第ｉ番目の債務者が一年後にｊ番目の状態になったときの損益額とする。すなわち、Ｌｉｊは、図１８の表のｉ行（ｊ＋４）列の数値に対応する変数を表す。ＭｔＭモードの場合、ポートフォリオの全債務者の状態によっては、損失ではなく利益が生じる可能性がある。これは、損失額が負の領域でも損失額分布が値を持つことを意味する。ラプラス変換法は、通常はサポートが０以上の関数にしか適用できないため、そのままではＭｔＭモードでの損失額分布の密度関数算出に適用することができない。しかし、損失額分布を適当に平行移動することによって０以上のサポートを持つようにできるため、実際にはラプラス変換法を適用することができる。具体的には、次式によって関数ｆＬ＊（ｔ）を定義する。
【数９５】
0004443619.tif 000096
ただし、
【数９６】
0004443619.tif 000097
である。この関数ｆＬ＊（ｔ）のサポートは０以上となるので、ラプラス変換法を適用して算出することができる。実際に計算すると、ｆＬ＊（ｔ）のラプラス変換は次のようになる。
【数９７】
0004443619.tif 000098
ここで
【数９８】
0004443619.tif 000099
は、条件付の状態推移確率であり、「共通リスク因子の値がベクトルｘである」という条件の下で企業ｉがｊ番目の状態に遷移する確率を表す。企業価値モデルでは、図１３および図１５（ｂ）、図１７の情報からこの条件付状態推移確率を算出することができる。条件付推移確率は、例えばモンテカルロシミュレーションでＭｔＭモードのリスク計測を行う際にも必要とされるものであり、その計算式は同業者には広く知られているため、ここでは説明を割愛する。数９７の最下段の表現はポートフォリオ関数の条件を満たしているため、本発明の手法を適用して高速に計算でき、これをラプラス逆変換することによってｆＬ＊（ｔ）を算出することができる。このようにしてｆＬ＊（ｔ）が得られると、
【数９９】
0004443619.tif 000100
としてＭｔＭモードでの損失額分布の密度関数の値を算出することができる。
【０１７５】
図１８に示した状態ごとの損失額を算出するためには、リスク計測時点における債権の現在価値（現在価額）および、リスク計測期間後（例えば１年後）の格付ごとの将来価値を算出する必要があるが、このためには、当業者には明らかであるような現在価値の算出方法である割引キャッシュフロー法、すなわち、将来にわたる債権からのキャッシュフローを所定の割引率を考慮して割引いて現在価額を算出する計算を行う。この際、キャッシュフローを適切に考慮するためには、満期や表面利率、利払・元本償還スケジュールを含む契約条件を考慮することができ、更に、割引率には、リスクフリー（無リスク）の債権の金利（例えば、国債利率）に、デフォルトを除く格付それぞれが持つリスクを反映させた格付別のスプレッドの金利を上乗せした割引率を用いることができるなど、当業者には自明の手法を用いることができる。なお、格付別スプレッドは、社債の利回り情報やクレジット・デフォルト・スワップのプレミアムの情報等から算出する方法が知られている。
【０１７６】
本実施例の計算装置においては、上記各機能手段に加えて、このような計算を行うための手段を備えていることができる。例えば、図１９に示したように、キャッシュフロー展開に必要な情報を債権情報記憶部５０２に準備し、その情報を利用して、キャッシュフローの情報、すなわち、各時点でのキャッシュフローのデータをキャッシュフロー展開部５０４によって生成する。また、社債の利回り情報やクレジット・デフォルト・スワップのプレミアムの情報等を含む情報を社債情報記憶部５１２に準備し、その情報を利用して、格付別スプレッド算出部５１４において格付別のスプレッドを算出する。更に、無リスク金利情報記憶部５２２にリスクフリーの債権の金利情報を準備しておく。そして、キャッシュフロー展開部５０４からの各時点でのキャッシュフローのデータ、格付別スプレッド算出部５１４からの格付別のスプレッドのデータ、および、無リスク金利情報記憶部５２２からのリスクフリーの債権の金利情報のデータを損益計算部５４０において組み合わせて、計算時点での現在価値および一年後の状態（格付）ごとの将来価値を計算する。その結果を格付別に求めることによって、図１８に示したように、デフォルトを除いた格付ごとの損失額（損益額）が得られる。
【０１７７】
なお、図１８の情報は、債権の現在価値や将来価値を算出する既存のシステムの出力を利用して作成することもでき、本実施例の計算装置は、外部から図１８に相当するデータを読み込む構成とすることもできる。
【０１７８】
［実施例１０］
次に、実施例１により説明したものとは異なる形態の実装を行う実施例について説明する。この実施例では、具体的にポートフォリオ関数が損失額分布の分布関数のラプラス変換である場合を取り上げ、本発明の実施の形態として、コンピュータプログラムによって計算を実施する際のプログラムの構成を、機能ブロック図とフローチャートを用いて説明する。なお、これ以降の実施例の説明に用いるフローチャートでは、特に初期化の処理を明示していない変数や配列については、全て初期値は０となっているものとする。以下の説明では、上述の数式によって記載した変数とほぼ同様のノーテーションを採用しているが、コンピュータプログラムに実装する便宜上一部変更しているものもあるため、数式及びそこに用いた変数との対応を必要に応じて記す。また、コンピュータに実装する上での数値計算上必要な各変数の仕様についても適宜図面にまとめている。
【０１７９】
図２０Ａは、本実施例のプログラムによって実現される計算装置の構成を示すブロック図である。本実施例では、キーボード１３０２から入力された各種パラメータとデータベース１３０４〜１３１０に格納された入力データとから、最終的にＥＬやＶａＲ、ＣＶａＲ等のリスク指標を計算するための構成を示している。パラメータ記憶部１３１４には、計算に必要となる各種パラメータが格納されている。本実施形態では、パラメータ記憶部１３１４に格納されているパラメータはキーボード１３０２から入力する実装としているが、本発明の実施にあたってこれらのパラメータの与え方は本質的ではなく、いくつかのパラメータについて、プログラム中で予め設定された値を用いたり、キーボード１３０２から入力された情報に基づいてパラメータ算出部１３１２で算出したりする構成とするともできる。入力データ記憶部１３１６には、１３０４、１３０６、１３０８、および、１３１０の各データベースから、必要なデータが格納されている。ここでパラメータ記憶部１３１４、入力データ記憶部１３１６および計算結果記憶部１３１８は、メインメモリ中に確保された領域や、ハードディスクドライブにおいてＯＳにより管理されるファイルなどにより実現することができる。なお、本実施例では、各債務者（企業）のデフォルト率は、図１４および図１５（ａ）のように債務者の格付と格付別デフォルト率によって与えられるものとする。
【０１８０】
本実施例では、プログラム内で債務者や格付を特定するために、債務者ＩＤや格付ＩＤ等のＩＤに代わって連続する整数値をとる変数（インデックス）を使用する。このインデックスとしては、債務者（企業）を特定するインデックスである債務者番号ｉ、ラプラス逆変換に用いる助変数を特定するインデックスである助変数番号ｋ、積分点を特定するインデックスである積分点番号ｌ、離散化評価点を特定するインデックスである評価点番号ｍ、格付を特定するインデックスである格付番号ｒ、セクターを特定するインデックスであるセクター番号ｓ、共通リスク因子を特定するインデックスである因子番号ｎが挙げられる。図２０Ｂ（１）に、本実施例で使用するインデックスについて示す。これらのインデックスは、プログラム中でループの制御や配列の要素を特定するために用いられるものであり、以下で行う説明やフローチャート中でも、図２０Ｂ（１）に示したインデックスを使用する。なお、以下の説明では、債務者番号を表すインデックスｉとの混同を避けるため、虚数単位をｊの文字で表す。
【０１８１】
図２０Ｂ（２）は、図２０Ａのパラメータ記憶部１３１４内に示された、パラメータを表す変数について説明したものである。表中の「型」の列は、コンピュータ内部での変数の表現について示したものである。例えば「ｄｏｕｂｌｅ」とあるのは倍精度浮動小数点数として扱われる変数であり、「ｌｏｎｇ」とあるのは倍精度整数として扱われる変数を表す。ただし、ここで示した変数型はあくまで一例であり、異なる変数型を用いても本発明を実施することは可能である。これらのパラメータのうち、ラプラス逆変換に用いるパラメータであるγおよびｈは、キーボード１３０２からポアソン法の近似精度を規定するパラメータｎおよび計算に用いる損失額の上限値ｔｍａｘ入力し、数４７の式にしたがってパラメータ算出部１３１２で算出する構成とすることができる。
【０１８２】
図２０Ｃは、入力データ記憶部１３１６内に示された入力データを表す変数の内容を示したものである。「入力ＤＢ」の列は、それぞれの変数が、図２０Ａ中のどのデータベース（ＤＢ）から得られるものかを示したものである。また、配列として扱われる変数については、「引数」の列に、配列の引数の情報を記載した。「入力データ例との関係」の列には、図１３〜図１８に示した入力データ例と各変数の関係について簡潔に説明している。
【０１８３】
計算結果記憶部１３１８は、計算過程で得られるデータを格納する記憶装置である。この計算結果記憶部１３１８は、例えばメインメモリ中に確保された領域を用いて実現することができる。なお、計算結果記憶部１３１８には、離散化評価点のデータを記憶する離散化評価点記憶部１３１８Ａ、損失生起確率データを記憶する損失生起確率データ記憶部１３１８Ｂ、セクター関数データを記憶するセクター関数データ記憶部１３１８Ｃ、ポートフォリオ関数のデータを記憶するポートフォリオ関数データ記憶部１３１８Ｄが含まれる。さらに、上述した以外のデータを記憶する追加記憶部１３１８Ｅも含まれる。
【０１８４】
離散化評価点算出部１３２０は、離散化評価点の値を格納した配列であるｇ［ｍ］の算出を行う。このｇ［ｍ］は、本実施例における離散化評価点データであり、その各要素には、数４０の変数ｇｍで示した値を格納する。離散化評価点算出部１３２０には、ｇ［ｍ］を算出するために、パラメータ記憶部１３１４に格納されている離散化評価点の最大値Ｍａｘ＿ｇ、離散化評価点の最小値Ｍｉｎ＿ｇ、および離散化評価点の個数Ｎｇが入力される。離散化評価点算出部１３２０の処理では、数４０の右辺の式に基づいて全ての離散化評価点番号ｍに対して配列ｇ［ｍ］の各要素を計算していき、結果を計算結果記憶部１３１８に格納する。
【０１８５】
損失生起確率データ算出部１３２２は、Ｎｇ、格付別デフォルト率の配列ｐｄ［ｒ］、セクターごとの感応度係数の配列α［ｓ，ｎ］、格付の数Ｎｒ、セクターＳの数Ｎｓ、共通リスク因子の数Ｎｆ、ｇ［ｍ］の入力に基づいて、離散化評価点別、格付別、セクター別の条件付デフォルト率の算出を行い、離散化評価点番号ｍと格付番号ｒとセクター番号ｓを引数とする配列ＣＰＤ［ｍ、ｒ、ｓ］およびセクター番号ｓを引数とし、数３０第二式のβｓの値を格納する配列β［ｓ］を出力する。条件付デフォルト率の計算式は数３１第三式に示されているが、本発明ではセクター変数を離散化して計算を実行するため、後の計算に現れる条件付デフォルト率も有限個の値しかとらない。このＣＰＤ［ｍ、ｒ、ｓ］は、後の計算に現れるすべての条件付デフォルト率の値を格納した配列であり、本実施例における損失生起確率データとなっている。具体的に、β［ｓ］とＣＰＤ［ｍ、ｒ、ｓ］の各要素の値は、それぞれ次の式に基づいて計算される。
【数１００】
0004443619.tif 000101
このモジュールでは、数１００の計算を、１≦ｍ≦Ｎｇ、１≦ｒ≦Ｎｒ、１≦ｓ≦Ｎｓを満たすすべての［ｍ、ｒ、ｓ］組み合わせについて行う。なお、入力されるＮｇは、パラメータ記憶部１３１４に格納され、ｐｄ［ｒ］、α［ｓ，ｎ］、Ｎｒ、Ｎｓ、Ｎｆは、入力データ記憶部１３１６に格納され、ｇ［ｍ］は、計算結果記憶部１３１８に格納されている。また、算出されたβ［ｓ］とＣＰＤ［ｍ、ｒ、ｓ］は計算結果記憶部１３１８に格納され、後に他のモジュールから呼び出され計算に使用される。なお、条件付ＰＤ算出部１３２２の処理においては、標準正規分布の分布関数およびその逆関数の値を求める必要があるが、これらの関数値を算出するモジュールの構成方法は広く知られており、ブロック図からは割愛している。
【０１８６】
なお、本実施例では、後のループの計算を高速化するために、損失生起確率データ算出部１３２２で損失生起確率のデータを算出しているが、この処理は本発明を実施するにあたって必須のものではない。例えば、次に説明するセクター関数データ算出部１３２４において、損失生起確率の算出処理を行う実施態様とすることも可能である。
【０１８７】
セクター関数データ算出部１３２４は、ラプラス逆変換の計算に用いられるパラメータであるγおよびｈ、ラプラス逆変換に用いる助変数の個数Ｎｋ、Ｎｇ、債務者のエクスポージャを格納した配列Ｅ［ｉ］、債務者の格付を格納した配列Ｒ［ｉ］、債務者のセクターを格納した配列Ｓ［ｉ］、債務者数Ｎ、ＣＰＤ［ｍ、ｒ、ｓ］の入力に基づいて、離散化評価点ごと助変数ごとにセクター別条件付きモーメント母関数のデータを算出し、離散化評価点番号ｍと助変数番号ｋとセクター番号ｓを引数とする配列ＳＭＧＦ［ｍ、ｋ、ｓ］を出力する。このＳＭＧＦ［ｍ、ｋ、ｓ］の各要素は、数３１第二式でλ＝γ＋ｊｋｈ（ｊは虚数単位）、ｙＳ＝ｇ［ｍ］とした値であり、次の式によって計算される。
【数１０１】
0004443619.tif 000102
このモジュールに入力されるγ、ｈ、Ｎｋ、Ｎｇは、パラメータ記憶部１３１４に格納され、Ｅ［ｉ］、Ｒ［ｉ］、Ｓ［ｉ］、Ｎは入力データ記憶部１３１６に格納され、ＣＰＤ［ｍ、ｒ、ｓ］は計算結果記憶部１３１８に格納されている。このセクター関数データ算出部１３２４の処理はＣａｌｃＳｅｃｔｏｒＭＧＦモジュールの処理である。このＣａｌｃＳｅｃｔｏｒＭＧＦモジュールの処理について、更に詳細に図２１ＡおよびＢのフローチャートを用いて説明する。なお、このモジュールで算出されるＳＭＧＦ［ｍ、ｋ、ｓ］は、本実施例におけるセクター関数データとなっている。
【０１８８】
図２１ＡおよびＢは、セクター別条件付きモーメント母関数のデータを算出するＣａｌｃＳｅｃｔｏｒＭＧＦモジュールの処理フローを示すフローチャートである。ＣａｌｃＳｅｃｔｏｒＭＧＦモジュールの処理では、まず配列ＳＭＦＧ［ｍ、ｋ、ｓ］のすべての要素を実数の１に初期化し（Ｓ２１０２）、債務者番号を示すインデックスｉを１に初期化し（Ｓ２１０４）、インデックスｉを、計測対象ポートフォリオの債務者数を表す変数Ｎと比較して終了判定を行う（Ｓ２１０６）。債務者番号を示すインデックスｉが債務者数を表す変数Ｎ以下である場合には、助変数番号を示すインデックスｋを０に初期化し（Ｓ２１０８）、インデックスｋがＮｋ−１以下の値にある限り、複素数の指数関数の係数を表す配列Ｅｘ［ｋ］に対して値ｅｘｐ［｛γ＋ｊｋｈ｝Ｅ［ｉ］］を代入し（Ｓ２１１２）、ｋをインクリメントしてゆく（Ｓ２１１４）。
【０１８９】
次いで、離散化評価点を指定するインデックスｍを１に初期化（Ｓ２１１６）し、Ｎｇ以下のｍに対して（Ｓ２１１８）、ＣＰＤ［ｍ、Ｒ［ｉ］、Ｓ［ｉ］］をローカル変数ＰＤに代入する（Ｓ２１２０）。そして、ｋを０からＮｋ−１までの範囲で増加させながら（Ｓ２１２２、Ｓ２１２４、Ｓ２１３０）、１−ＰＤ＋ＰＤ×Ｅｘ［ｋ］を計算して変数ＰＭＧＦに代入し（Ｓ２１２６）、配列要素ＳＭＧＦ［ｍ、ｋ、Ｓ［ｉ］］にＰＭＧＦを掛け合わせていく（Ｓ２１２８）。この処理をｍをインクリメントさせながら（Ｓ２１３２）行うことにより、数１０１の右辺の積のうち、債務者ｉに関する計算が終了する。これを、ポートフォリオに含まれるすべての債務者について行うことにより（Ｓ２１３４）、すべての配列要素ＳＭＧＦ［ｍ、ｋ、ｓ］が計算される。
【０１９０】
ＣａｌｃＳｅｃｔｏｒＭＧＦモジュールの処理においては、複素数の指数関数の係数を表す配列Ｅｘ［ｋ］は、数１０１の右辺の積の第３番目の項における指数関数の値（複素数値）を与える。これを先に求めて数値配列として得たのは、離散化評価点番号ｍをスキャンするループ（Ｓ２１１８〜Ｓ２１３２）の内部において助変数番号ｋをループさせているため（Ｓ２１２２〜Ｓ２１３０）、負荷が高い指数関数の数値計算の処理をｍのループから外して計算量を削減するためである。
【０１９１】
ＣａｌｃＳｅｃｔｏｒＭＧＦモジュールの処理の過程で算出されるＰＭＧＦは、本実施例における損失指標関数データである。Ｓ２１０８〜Ｓ２１１４、Ｓ２１２０、Ｓ２１２６の各ステップは、この損失指標関数データであるＰＭＧＦを算出するための処理となっている。すなわち、本実施例では、セクター関数データ算出部１３２４が、損失指標関数算出部１３２３を含んだ構成となっている（図２０Ａ）。このように、計算処理速度を向上させる工夫上、ある演算部が他の演算部を呼び出しながら処理を進める場合があるが、このような場合も本発明の実施態様に含まれる。
【０１９２】
ポートフォリオ関数算出部１３２６は、γ、ｈ、Ｎｋ、Ｎｇ、Ｎｓ、Ｎｆ、α［ｓ，ｎ］、積分点に関連したウエイト値ｗ［ｌ］、共通リスク変数としての意味を持つ積分点の配列Ｘ［ｎ、ｌ］、積分点の数ＮＩ、ｇ［ｍ］、β［ｓ］、ＳＭＧＦ［ｍ，ｋ，ｓ］の入力に基づいてポートフォリオ関数の算出を行い、助変数番号ｋを引数とする配列ＰＦ［ｋ］を出力する。このＰＦ［ｋ］は、本実施例におけるポートフォリオ関数データであり、その各要素は、数３４の右辺でλ＝γ＋ｊｋｈとし、さらにγ＋ｊｋｈで除した値となる。入力されるγ、ｈ、Ｎｋ、Ｎｇは、パラメータ記憶部１３１４に格納され、Ｎｓ、Ｎｆ、α［ｓ，ｎ］、ｗ［ｌ］、Ｘ［ｎ、ｌ］、ＮＩは、入力データ記憶部１３１６に格納され、ｇ［ｍ］、β［ｓ］、ＳＭＧＦ［ｍ，ｋ，ｓ］は計算結果記憶部１３１８に格納されている。このポートフォリオ関数算出部１３２６の処理はＣａｌｃＰＦモジュールの処理である。このＣａｌｃＰＦモジュールの処理について、更に詳細に図２２ＡおよびＢのフローチャートを用いて説明する。
【０１９３】
図２２ＡおよびＢは、配列ＰＦ［ｋ］を算出するＣａｌｃＰＦモジュールの処理フローを示すフローチャートである。ＣａｌｃＰＦモジュールの処理では、各積分点に対して、まず、離散化評価点を指定するためのインデックスである評価点番号をセクターごとに計算し（Ｓ２２０８〜Ｓ２２１６）、その後、すべてのセクターのセクター別条件付モーメント母関数の積を計算して条件付モーメント母関数の値を算出する（Ｓ２２２２〜Ｓ２２２８）。そして、条件付モーメント母関数に積分点に付随したウエイトをかけ、すべての積分点について足し上げることにより（Ｓ２２３０）、モーメント母関数のデータＭＧＦ［ｋ］を算出する。最後に、モーメント母関数のデータＭＧＦ［ｋ］を助変数番号ｋに対応した助変数の値で除算してポートフォリオ関数のデータＰＦ［ｋ］を算出する（Ｓ２２３６〜Ｓ２２４２）。
【０１９４】
ＣａｌｃＰＦモジュールの処理では、積分点ごとに計算を実行していく。まず、積分点を示すループ用のインデックスｌを１に初期化し（Ｓ２２０２）、インデックスｌを、積分点の数を表す変数ＮＩと比較して終了判定を行いながら（Ｓ２２０４）、インデックスｌをインクリメントする（Ｓ２２３４）。
【０１９５】
インデックスｌが新たな値なると、初めにセクターを表すインデックスｓを引数とする、離散化評価点番号を表す配列Ｍ［ｓ］を決定する（Ｓ２２０８〜Ｓ２２１６）。このＭ［ｓ］は、数３４の右辺に現れるｍＳｌにあたるものである。Ｍ［ｓ］を決定するためには、インデックスｓを、セクター数を表す変数Ｎｓまでの範囲で増加させながら（Ｓ２２０８、Ｓ２２１０、Ｓ２２１６）、数３２によりセクター変数を算出してｙに代入し（Ｓ２２１２）、｜ｙ−ｇ［ｍ］｜を最小とする配列番号ｍを特定してＭ［ｓ］＝ｍとすればよい（Ｓ２２１４）。これにより、セクター番号ｓごとに、セクターリスク因子ｙＳの値を最もよく近似する離散化評価点ｇｍを与える評価点番号Ｍ［ｓ］が決定される。これにより、セクター番号ｓを指定しさえすれば積分点に対応した離散化評価点番号が決定され、セクター関数データ算出部１３２４で算出したセクター関数データＳＭＧＦ［ｍ、ｋ、ｓ］を呼び出せるようになる。
【０１９６】
次いで、積分点に対応した条件付モーメント母関数を算出して、積分点に付随するウエイトでの加重和を計算していく。本実施例では、ラプラス逆変換に必要となるＮｋ個のモーメント母関数の値の算出を、一回の積分点ループの中で行う処理としている。まず、助変数番号を示すインデックスｋを０に初期化し（Ｓ２２１８）、Ｎｋ−１以下のｋに対して（Ｓ２２２０）条件付モーメント母関数の算出を行う（Ｓ２２２１〜Ｓ２２２８）。条件付モーメント母関数の算出は、まず条件付モーメント母関数のデータを格納する変数ＣＭＧＦを実数の１に初期化し（Ｓ２２２１）、セクター番号を表すインデックスｓを１に初期化し（Ｓ２２２２）、ｓをインクリメントしながら（Ｓ２２２８）、ＣＭＧＦに対してセクター関数データＳＭＧＦ［Ｍ［ｓ］，ｋ，ｓ］を乗じてゆく（Ｓ２２２６）。全てのセクターについてこの計算を実行することにより（Ｓ２２２４）、積分点番号ｌと助変数番号ｋに対応した条件付モーメント母関数のデータであるＣＭＧＦが算出される。さらに、積分点に応じたウエイト値ｗ［ｌ］をＣＭＧＦに乗じた上で、モーメント母関数の助変数番号ｋの成分ＭＧＦ［ｋ］に加えていく（Ｓ２２３０）。この計算をすべてのｋに対して実行することにより（Ｓ２２３２）、ひとつの積分点からの積分値への寄与の計算が終了する。
【０１９７】
上述の計算をすべての積分点に対して行うことにより（Ｓ２２３４）、モーメント母関数のデータＭＧＦ［ｋ］が得られる。さらに、助変数番号ｋごとに（Ｓ２２３６、Ｓ２２３８、Ｓ２２４２）、モーメント母関数のデータＭＧＦ［ｋ］をγ＋ｊｋｈで除すことにより（Ｓ２２４０）、ポートフォリオ関数のデータＰＦ［ｋ］を算出する。こうして計算されたＰＦ［ｋ］は、計算結果記憶部１３１８に格納される（図２０Ａ）
【０１９８】
ＣａｌｃＰＦモジュールの過程で算出されるＣＭＧＦは、本実施例における条件付ポートフォリオ関数の近似値となっている。Ｓ２２０８〜Ｓ２２１６、およびＳ２２２１〜Ｓ２２２８のステップは、セクター関数データを乗算してＣＭＧＦを算出するための処理、すなわちセクター乗算ステップの処理である。このように、本実施例では、ポートフォリオ関数算出部１３２６は、セクター乗算部１３２５を含んだ構成となっている（図２０Ａ）。また、Ｓ２２０２、Ｓ２２０４、Ｓ２２１８、Ｓ２２２０、Ｓ２２３０〜Ｓ２２３４のステップは、条件付ポートフォリオ関数のデータであるＣＭＧＦに、積分点に関連するウエイトｗ［ｌ］を掛けて足し上げる処理であり、これらの処理によって算出されるＭＧＦ［ｋ］は、条件付ポートフォリオ関数の共通リスク因子に関する平均となっている。さらに、Ｓ２２３６〜Ｓ２２４２のステップにおいて、ＭＧＦ［ｋ］をγ＋ｊｋｈで除しているが、これは、本実施例におけるポートフォリオ助変数関数が助変数の逆数によって与えられるためである。
【０１９９】
リスク指標算出部１３２８は、γ、ｈ、ｔｍａｘ、Ｎｋ、ＮＴ、ｐ、ＰＦ［ｋ］の入力に基づいて、ＶａＲやＣＶａＲ、ＥＬといったリスク指標を算出する。ここでＮＴは、分布関数の値を算出する損失額の数を決定するパラメータであり、ｐはＶａＲおよびＣＶａＲを算出する際の信頼率である。リスク指標算出部１３２８にはラプラス逆変換を行うラプラス逆変換部１３３０が含まれており、リスク指標の算出にあたっては、このラプラス逆変換部１３３０の出力が利用される。入力されるγ、ｈ、ｔｍａｘ、Ｎｋ、ＮＴ、ｐは、パラメータ記憶部１３１４に格納され、ＰＦ［ｋ］は計算結果記憶部１３１８に格納されている。
【０２００】
本実施例では、ラプラス逆変換を実行するにあたってポアソン−ＱＤ法（ｄｅ  Ｈｏｏｇのアルゴリズム）を利用する。ラプラス逆変換部１３３０の入力は、γ、ｈ、ｔ、Ｎｋ、およびＮｋ個の要素を持つ複素数型の配列Ｃ［ｋ］であり、出力はｔにおける関数の値である。このラプラス逆変換部１３３０の処理はラプラス逆変換モジュールＬＩの処理である。以下では、ラプラス逆変換部１３３０によって値を算出する関数をｆ（ｔ）として、本実施例におけるラプラス逆変換モジュールＬＩの処理について説明する。ただし、ｆ（ｔ）は実軸上で実数値をとるラプラス変換可能な関数であるとする。
【０２０１】
ポアソン法によれば、ｆ（ｔ）は次の級数で近似できる。
【数１０２】
0004443619.tif 000103
ラプラス逆変換モジュールＬＩの入力となる配列Ｃ［ｋ］の各要素には、数１０２の級数に表れるｆ（ｔ）をラプラス変換した関数の値を与える。すなわち、
【数１０３】
0004443619.tif 000104
とする。ラプラス逆変換モジュールＬＩでは、まず係数の配列Ｃ［ｋ］から、ＱＤアルゴリズムによって連分数の係数を算出する。具体的には、ｃ０＝Ｃ［０］／２、ｃｋ＝Ｃ［ｋ］（ｋ＝１，…，Ｎｋ−１）とた上で数５１の漸化式の計算を実行し、数５０の係数ａｋを得る。次に算出した連分数の係数ａｋと入力されたｔを用いて数５４の計算を実行し、ＡＭおよびＢＭを算出する。ただし、数５４に現れるｚは、数１０２の第五式によって入力値であるｔから算出される。最後に、ｆ（ｔ）の近似値として
【数１０４】
0004443619.tif 000105
を出力する。
【０２０２】
ラプラス逆変換モジュールＬＩの主な処理である数５１および数５４の漸化式の計算は四則演算のみで実行できるため、当該モジュールの処理は非常に高速に実行することが可能である。このため、さまざまなｔに対する関数の値ｆ（ｔ）を高速に算出することができる。また、ラプラス逆変換モジュールＬＩで行われる処理のうち、数５１の処理は変数ｔに依存しない。このため、複数のｔの値ｔ０、ｔ１、・・・に対してｆ（ｔ）の値を算出する場合、ｔ０に対する値を算出するときのみ数５１の処理を実行し、得られた連分数の係数ａｋを配列ａ［ｋ］として計算結果記憶部１３１８に格納し、ｔ１以降の値を算出する際には計算結果記憶部１３１８に格納された配列ａ［ｋ］を利用し、数５１の処理は省略するという実施態様も可能である。このような処理とすることにより、複数のｔに対して関数の値を求める際の処理時間をさらに短縮することができる。
【０２０３】
なお、本実施例の別の態様において、本発明を実施することもできる。本実施例において、ポートフォリオ関数算出部１３２６でモーメント母関数のデータＭＧＦ［ｋ］をγ＋ｊｋｈで除する処理（Ｓ２２３６〜Ｓ２２４２）を省いてモーメント母関数のデータＭＧＦ［ｋ］をポートフォリオ関数算出部１３２６の出力とした上で、リスク指標算出部１３２８においてＭＧＦ［ｋ］をγ＋ｊｋｈで除する処理を行ってラプラス逆変換モジュールＬＩに入力することにより、分布関数のデータを算出することもできる。この場合、リスク指標算出部１３２８においてＭＧＦ［ｋ］をγ＋ｊｋｈで除する処理までをポートフォリオ関数算出ステップと解することができるため、このような処理を行う場合も本発明の実施態様に含まれる。
【０２０４】
数４３より、ポートフォリオ関数算出部１３２６で得られたポートフォリオ関数データＰＦ［ｋ］を、ラプラス逆変換モジュールＬＩの入力とすることにより、損失額分布の分布関数の値を算出することが可能となる。すなわち、
【数１０５】
0004443619.tif 000106
とした上で、損失額ｔを変えながらラプラス逆変換モジュールＬＩの処理を繰り返し実行することで、幅広い損失額の範囲にわたって分布関数の値を算出することができる。このため、ＥＬ、ＶａＲ、ＣＶａＲ、標準偏差といったリスク指標についても、容易に計算することができる。例えば、分布の平均値であるＥＬは、
【数１０６】
0004443619.tif 000107
として算出することができる。ここでＮＴ値を、１，０００程度とすれば十分に精度高くＥＬを算出することができる。次に、信頼率ｐのＶａＲを算出するには、二分法等の反復法によって、分布関数の値がｐとなるような損失額ｔを求めればよい。さらに、ＣＶａＲを算出するには、
【数１０７】
0004443619.tif 000108
という計算を行えばよい。なお、損失額分布の分散や標準偏差、歪度、尖度、中央値、四分位点等の統計量を分布関数から算出することは容易であり、そのような統計量はすべてリスク指標算出部１３２８の出力となりうる。
【０２０５】
なお、リスク指標算出部１３２８は、算出するリスク指標やシステムの使い方等に応じて、様々な構成とすることができる。例えば、ある決まった信頼率のＶａＲやＣＶａＲを毎回レポートするという場合には、予めプログラム中で信頼率ｐを与えておき、リスク指標を算出する構成とすることができる。また、キーボード１３０２から信頼率ｐを入力してＶａＲやＣＶａＲを算出してディスプレイに表示したり、損失額ｔを入力してｔに対応する分布関数の値を算出してディスプレイに表示したりする構成とすることもできる。
【０２０６】
このように本実施例によってＥＬ、ＶａＲ、ＣＶａＲといった様々なリスク指標が適切に計算される。なお、上述のＣａｌｃＳｅｃｔｏｒＭＧＦモジュールおよびＣａｌｃＰＦモジュールの説明に用いたフローチャートに現れる変数の仕様については、図２３および図２４Ａおよび図２４Ｂにまとめている。これらの変数の仕様の表の中で、「型」の列がｃｏｍｐｌｅｘとなっているものは、プログラム中で複素数として扱われる変数である。コンピュータプログラムにおいて複素数を扱う方法にはさまざまなものが知られているが、どのような方法を用いたとしても本発明は実施可能である。
【０２０７】
本実施例ではポアソン−ＱＤ法（ｄｅ  Ｈｏｏｇのアルゴリズム）によってラプラス逆変換を行う場合の処理について述べたが、これ以外の高速ラプラス変換法を用いた処理とすることも容易である。例えば、ポアソン法以外の無限級数化法を用いた場合、級数の係数の算出にあたって数５６とは異なる助変数の値に対するポートフォリオ関数の値が必要となるが、本実施例のポートフォリオ関数の算出方法は助変数の値には依存しないため、こうした場合にも本実施例の処理を用いることができる。また、ラプラス逆変換部１３３０の処理のみ変更すれば、ＱＤ法以外の級数加速法を用いることも容易である。このように、本発明は、様々なラプラス逆変換法と組み合わせて実施することができる。さらに、計算するポートフォリオ関数を、特性関数や特性関数をフーリエ変換の助変数と虚数単位の積で除した関数とし、ラプラス逆変換部１３３０の処理をフーリエ変換の処理に変更すれば、本実施例と同様にして、フーリエ変換によって密度関数や分布関数を算出することもできる。
【０２０８】
また、本実施例の大きな利点の一つとして、計算計算結果記憶部１３１８に格納される配列のサイズが十分に小さく、計算結果記憶部１３１８としてメインメモリ中に確保された領域等の高速アクセスが可能な記憶手段を用いることができる点が挙げられる。このような構成とすることにより、ＣａｌｃＳｅｃｔｏｒＭＧＦモジュールやＣａｌｃＰＦモジュールの処理は高速に遂行することが可能である。さらに、本実施例では、計算結果記憶部１３１８に格納される配列はすべて、そのサイズが債務者数Ｎに依存しないため、債務者数が数百万件に上る大規模なポートフォリオであっても計算結果記憶部１３１８をメインメモリ中に確保された領域として処理を行うことが可能である。
【０２０９】
［実施例１１］
本実施例では、上述の実施例１０の変形例として、ポートフォリオ関数算出部１３２６の計算においてモンテカルロ積分法を用いる処理について説明する。そのため、実施例１０におけるＣａｌｃＰＦモジュールの代わりにＣａｌｃＰＦ＿ＭＣモジュールを用いるが、それ以外の処理については実施例１０と同様である。なお、この実施例においては、積分点情報を格納したデータベース１３１０は不要であり、入力データ記憶部１３１６にｗ［ｌ］、Ｘ［ｎ、ｌ］、ＮＩは記憶しない。一方、キーボード１３０２からは積分点数ＮＩおよび乱数のシードＲｓが入力される。これらの変数はパラメータ記憶部１３１４に格納された上で、ポートフォリオ関数算出部１３２６で利用される。
【０２１０】
モンテカルロ積分法を用いるポートフォリオ関数算出部１３２６の計算においては、γ、ｈ、Ｎｋ、Ｎｇ、Ｎｓ、Ｎｆ、ＮＩ、Ｒｓ、α［ｓ，ｎ］、ｇ［ｍ］、β［ｓ］、ＳＭＧＦ［ｍ，ｋ，ｓ］の入力に基づいて、ポートフォリオ関数データの算出を行い、助変数番号ｋを引数とする配列ＰＦ［ｋ］を出力する。このＰＦ［ｋ］の各要素は、数３４の右辺でλ＝γ＋ｊｋｈ（ｊは虚数単位）とし、さらにγ＋ｊｋｈで除した値となり、ＰＦ［ｋ］は本実施例におけるポートフォリオ関数データである。ここで、図２２ＡおよびＢのＣａｌｃＰＦモジュールとは異なり、ウエイトｗ［ｌ］はＣａｌｃＰＦ＿ＭＣモジュール内で計算される。
【０２１１】
図２５ＡおよびＢは、ＣａｌｃＰＦ＿ＭＣモジュールの動作を示すフローチャートである。ここで、図２２ＡおよびＢに示したＣａｌｃＰＦモジュールの動作との違いは、積分点の数ＮＩで均等になるようなウエイトを設定すること（Ｓ２５０２）と、乱数を初期化する処理を行うこと（Ｓ２５０３）と、乱数を発生させて共通リスク変数を算出する処理（Ｓ２５１０〜Ｓ２５１８）を行うことだけであり、それ以外の処理は、図２２ＡおよびＢの処理と同様である。ＣａｌｃＰＦ＿ＭＣモジュールに用いる変数の仕様を、図２６ＡおよびＢにまとめている。
【０２１２】
上述したように、モンテカルロ積分では均等のウエイトが用いられるため、ウエイトを設定する処理を最初に行う（Ｓ２５０２）。これに伴って、このウエイトを利用する処理であるステップＳ２５４２では、ステップＳ２５０２によって算出されたウエイトを用いる。ウエイトの設定に続いて、モンテカルロ積分で用いる乱数を、乱数シードＲｓを用いて初期化する処理を行う（Ｓ２５０３）。本実施例においては一様乱数を用いるが、一様乱数を発生させる方法としてはメルセンヌ・ツイスター法など様々なものが知られており、同業者であればそれらを実装することは容易である。なお、本発明は乱数の発生方法を特定の方法に限定するものではなく、また、乱数ではなく準乱数を用いて実施することも可能である。
【０２１３】
乱数を発生させて共通リスク変数を算出する処理では、共通リスク因子を特定するインデックスである因子番号ｎを、１から共通リスク因子の数を与える変数Ｎｆまでインクリメントしながら一様乱数を発生させ（Ｓ２５１４）、共通リスクファクターを算出する（Ｓ２５１６）。一様乱数から共通リスク変数を算出する処理は、数２１でηｊからｘｊを求める処理であり、一様乱数を標準正規分布の分布関数の逆関数で変換すればよい。ここで、Ｓ２５１６に示したＮｏｒｍＳＩｎｖ（）という関数は、標準正規分布の分布関数の逆関数を表している。
【０２１４】
上記以外の処理すなわち、ステップＳ２５０４〜Ｓ２５０６、Ｓ２５２０〜Ｓ２５５４の処理は、図２２ＡおよびＢに示したＣａｌｃＰＦモジュールと同様の処理を行い、また、ポートフォリオ関数算出部１３２６以外の機能部の処理も実施例１０と同様に行うことによって、実施例１０と同様の計算を行うことができる。なお、ＣａｌｃＰＦ＿ＭＣモジュールを用いた実装では、積分点の情報を内部で生成するため、共通リスク因子の数や積分点数が変更された場合でも入力データや各モジュールの処理をなんら変更することなく計算を行うことができるという利点を有している。また、入力データ記憶部１３１６に積分点の情報を格納する必要がないため、積分点の数を非常に多くした場合でも、入力データ記憶部１３１６としてメインメモリ中に確保された領域を用いることができる。このため、積分点を非常に多くした場合でも高速に計算を実行することが可能であるという点も、この実施例の利点の一つである。
【０２１５】
［実施例１２］
本実施例は、実施例１０に示した構成を、エコノミックキャピタルの計算に適合させるために変形させた変形例であり、その機能ブロックを図２７に示している。実施例１０との相違点は、ポートフォリオ関数算出部１３２６の代わりにポートフォリオ関数算出部１３２６Ａが用いられ、リスク指標算出部１３２８の代わりにリスク指標算出部１３２８Ａが用いられ、個社エコノミックキャピタル算出部１３３２および和データ記憶部１３１８Ｆが追加されることである。
【０２１６】
ポートフォリオ関数算出部１３２６Ａは、γ、ｈ、Ｎｋ、Ｎｇ、Ｎｓ、Ｎｆ、α［ｓ，ｎ］、ｗ［ｌ］、Ｘ［ｎ、ｌ］、ＮＩ、ｇ［ｍ］、β［ｓ］、ＳＭＧＦ［ｍ，ｋ，ｓ］の入力に基づいて、ポートフォリオ関数データと、リスク寄与度算出に用いる和データの算出を行い、助変数番号ｋを引数とする配列ＰＦ［ｋ］と、セクター番号ｓと離散化評価点番号ｍと助変数番号ｋを引数とする配列Ｐ［ｓ、ｍ、ｋ］を出力する。このＰ［ｓ、ｍ、ｋ］は、本実施例における和データであり、その各要素は、数８８のＰＳｍ，  ｋに相当する。入力されるγ、ｈ、Ｎｋ、Ｎｇがパラメータ記憶部１３１４に格納され、Ｎｓ、Ｎｆ、α［ｓ，ｎ］、ｗ［ｌ］、Ｘ［ｎ、ｌ］、ＮＩが入力データ記憶部１３１６に格納され、ｇ［ｍ］、β［ｓ］、ＳＭＧＦ［ｍ，ｋ，ｓ］が計算結果記憶部１３１８に格納されることは実施例１０と同様である。このポートフォリオ関数算出部１３２６Ａの処理は、本実施例においてはＣａｌｃＰＦ＿ＲＣモジュールの処理である。このＣａｌｃＰＦ＿ＲＣモジュールの処理について、更に詳細に図２８Ａ〜Ｄのフローチャートを用いて説明する。
【０２１７】
図２８Ａ〜Ｄは、モーメント母関数およびリスク寄与度算出用係数を算出するＣａｌｃＰＦ＿ＲＣモジュールの処理フローを示すフローチャートである。ＣａｌｃＰＦ＿ＲＣモジュールの処理が図２２ＡおよびＢに示したＣａｌｃＰＦモジュールの処理と相違するのは、ステップＳ２８３２〜Ｓ２８３８の処理であるので、これらの処理以外の処理についての説明を省略する。
【０２１８】
ＣａｌｃＰＦ＿ＲＣモジュールでは、ステップＳ２８３０によってＭＧＦ［ｋ］を算出すると、次いで、各セクターについて（Ｓ２８３２、Ｓ２８３６）、ウエイトｗ［ｌ］とＣＭＧＦの積をリスク寄与度算出用係数Ｐ［ｓ、Ｍ［ｓ］、ｋ］に加える処理が行われる。そして、助変数番号を表すインデックスｋがインクリメントされ（Ｓ２８３８）、ｋの終了判定が行われる（Ｓ２８２０）。全てのｋについての処理が完了すると、積分点を表すインデックスｌがインクリメントされて（Ｓ２８４０）、ｌの終了判定（Ｓ２８０４）へと戻る。このような追加の処理を行うことにより、数８８に従うリスク寄与度算出用の和データＰ［ｓ、ｍ、ｋ］が算出され、計算結果記憶部１３１８に格納される（図２７）。
【０２１９】
リスク指標算出部１３２８Ａは、リスク指標算出部１３２８の処理と同様の処理を行って、少なくともＶａＲの値を算出する。算出されたＶａＲの値は計算結果記憶部１３１８に格納される。
【０２２０】
更に、本実施例において追加される個社エコノミックキャピタル算出部１３３２は、γ、ｈ、Ｎｋ、Ｎｇ、Ｅ［ｉ］、Ｒ［ｉ］、Ｓ［ｉ］、Ｎ、ＣＰＤ［ｍ、ｒ、ｓ］、Ｐ［ｓ、ｍ、ｋ］、ＶａＲの入力に基づいてポートフォリオに含まれる全ての債務者のエコノミックキャピタルの算出を行い、債務者番号ｉを引数とする配列ＥＣ＿ＶａＲ［ｉ］を出力する。このＥＣ＿ＶａＲ［ｉ］の各要素は数６３のＥＣｉに相当する。入力されるγ、ｈ、Ｎｋ、Ｎｇはパラメータ記憶部１３１４に格納され、Ｅ［ｉ］、Ｒ［ｉ］、Ｓ［ｉ］、Ｎは入力データ記憶部１３１６に格納され、ＣＰＤ［ｍ、ｒ、ｓ］、Ｐ［ｓ、ｍ、ｋ］、ＶａＲは計算結果記憶部１３１８に格納されている。この個社エコノミックキャピタル算出部１３３２の処理はＣａｌｃＥＣモジュールの処理である。このＣａｌｃＥＣモジュールの処理について、更に詳細に図２９Ａ〜Ｃのフローチャートを用いて説明する。
【０２２１】
図２９Ａ〜Ｃは、個社のエコノミックキャピタルを算出するＣａｌｃＥＣモジュールの処理フローを示すフローチャートである。ＣａｌｃＥＣモジュールの処理は、図２１ＡおよびＢに示したＣａｌｃＳｅｃｔｏｒＭＧＦモジュールの処理に類似した処理であり、相違点は、ＳＭＧＦ［ｍ，ｋ，ｓ］の初期化処理（Ｓ２１０２、図２１Ａ）がないこと、ＲＣＭＧＦ＿ＶａＲ［ｋ］の初期化処理（Ｓ２９０５）が加わること、計算対象が異なることからステップＳ２９２４およびＳ２９２６で計算される関数が異なること、ラプラス逆変換の処理Ｓ２９３２や総和の計算Ｓ２９３４が行われること、及び、終了前に規格化の処理がＳ２９３８〜Ｓ２９４４において行われることである。これらのうち初期化の処理Ｓ２９０５は自明であるので、これ以外の処理について以下で説明する。
【０２２２】
ＣａｌｃＥＣモジュールの処理におけるステップＳ２９２４で計算されるローカル変数Ｒは、数７６でλ＝γ＋ｊｋｈとしたものに相当し、本実施例におけるリスク寄与度指標関数のデータとなっている。また、Ｓ２９２６で計算する配列ＲＣＭＧＦ＿ＶａＲ［ｋ］の各要素は、数８２の右辺の値に相当する。このため、ステップＳ２９２４では、数７１右辺と同様の式によりローカル変数Ｒが計算され、ステップＳ２９２６では、そのローカル変数Ｒとリスク寄与度算出用の和データＰ［ｓ、ｍ、ｋ］の積を足し上げていくことにより、数８２の右辺の値に相当する配列ＲＣＭＧＦ＿ＶａＲ［ｋ］の各要素が算出される。
【０２２３】
次に、ステップＳ２９３２において、ＲＣＭＧＦ＿ＶａＲ［ｋ］をラプラス逆変換モジュールＬＩによってラプラス逆変換して債務者ｉのエクスポージャーＥ［ｉ］を掛けることにより、配列ＥＣ＿ＶａＲ［ｉ］を債務者ｉに対して求める。ラプラス逆変換モジュールＬＩは実施例１０で用いたものと同じものであり、このモジュールへの入力をＣ［ｋ］＝ＲＣＭＧＦ＿ＶａＲ［ｋ］（ｋ＝０、１、・・・、Ｎｋ−１）、ｔ＝ＶａＲとすることにより、所望の結果が得られる。このＥＣ＿ＶａＲ［ｉ］の値は、数６５式右辺で、−ｆＬ（ＶａＲ）の除算を行う前のものである。ｆＬ（ＶａＲ）の値は、ポートフォリオ関数算出部１３２６Ａの処理過程で算出されるＭＧＦ［ｋ］と、リスク指標算出部１３２８Ａで算出されるＶａＲをラプラス逆変換モジュールＬＩに入力することにより算出することができ、このような実施態様とすれば、数６５に従って債務者ｉのＶａＲベースエコノミックキャピタルを計算することもできる。ただし、この方法では、数値計算の誤差の影響により、ＶａＲベースエコノミックキャピタルの全ての債務者についての総和が厳密にはＶａＲに一致しなくなる。このため、本実施例では、数６９に基づいてＶａＲベースエコノミックキャピタルを計算している。規格化の処理Ｓ２９３８〜Ｓ２９４４では、数６９に対応する計算を行って、最終的に債務者ｉのＶａＲベースエコノミックキャピタルＥＣ＿ＶａＲ［ｉ］を得る。なお、上述のＣａｌｃＰＦ＿ＲＣモジュールおよびＣａｌｃＥＣモジュールの説明に用いたフローチャートに現れる変数の仕様について図３０Ａ、Ｂおよび図３１Ａ、Ｂにまとめている。
【０２２４】
個社のＶａＲベースエコノミックキャピタル算出モジュールＣａｌｃ＿ＥＣでは、和データＰ［ｓ、ｍ、ｋ］を用いることにより、積分点に関するループを行うことなくエコノミックキャピタルを算出することができる。このため、一債務者あたりのエコノミックキャピタル算出にかかる計算時間をきわめて短くすることができ、大規模なポートフォリオでも全債務者のエコノミックキャピタルを算出することが可能である。なお、本実施例のＣａｌｃＰＦ＿ＲＣで行われる数値積分の処理を、実施例１１と同様に変更することにより、容易にモンテカルロ積分を利用する実装とすることができる。
【０２２５】
［実施例１３］
本実施例は、ＣＶａＲベースエコノミックキャピタルを算出する処理を実施する態様を示す実施例であり、その機能ブロックを、上述の実施例１２の構成を示すために用いた図２７に示している。実施例１２との相違点は、ポートフォリオ関数算出部１３２６Ａの処理が、ＣａｌｃＰＦ＿ＲＣモジュールではなくＣａｌｃＰＦ＿ＲＣ２モジュールの処理であること、これに伴って、ＰＦ［ｋ］、Ｐ［ｓ、ｍ、ｋ］に追加してＰＤ＿ａｖｇ［ｓ、ｒ］が算出されること、追加の入力としてＮｒ、ＣＰＤ［ｍ，ｒ，ｓ］が用いられること、リスク指標算出部１３２８Ａの出力にＣＶａＲが含まれること、個社エコノミックキャピタル算出部１３３２の処理がＣａｌｃＥＣモジュールではなく、ＣａｌｃＥＣ２モジュールの処理であること、これに伴って追加の入力としてｐ、ＣＶａＲ、ＰＤ＿ａｖｇ［ｓ、ｒ］が用いられることである。ここでｐは、個社エコノミックキャピタル算出部１３３２に入力されるＶａＲおよびＣＶａＲの値を算出する際に用いた信頼率である。ＣａｌｃＥＣ２モジュールで算出されるＥＣ＿ＣＶａＲ［ｉ］の各要素は、数９０のＲＣｉＣＶａＲに個社のエクスポージャＥｉを掛けたもの相当する。ここで、ポートフォリオ関数算出部１３２６Ａに入力されるＮｒは、入力データ記憶部１３１６に格納され、ＣＰＤ［ｍ，ｒ，ｓ］は、計算結果記憶部１３１８に格納され、個社エコノミックキャピタル算出部１３３２に入力されるｐはパラメータ記憶部１３１４に格納され、ＣＶａＲ、ＰＤ＿ａｖｇ［ｓ、ｒ］は計算結果記憶部１３１８に格納されている。ここに示したＣａｌｃＰＦ＿ＲＣ２モジュールの処理とＣａｌｃＥＣ２モジュールの処理について、それぞれ、図２８Ａ〜Ｄおよび図２９Ａ〜Ｃのフローチャートを用いて更に詳細に説明する。
【０２２６】
図２８Ａ〜Ｄには、ＣａｌｃＰＦ＿ＲＣモジュールの処理フローに加えて、それに類似した処理が行われるＣａｌｃＰＦ＿ＲＣ２モジュールの処理フローも示されている。ＣａｌｃＰＦ＿ＲＣ２モジュールの処理がＣａｌｃＰＦ＿ＲＣモジュールの処理と相違するのはステップＳ２８１５とステップＳ２８４１〜Ｓ２８５８の処理であるので、これらの処理以外の処理についての説明を省略する。
【０２２７】
ＣａｌｃＰＦ＿ＲＣ２モジュールで新たに追加した処理では、格付番号ｒ、セクター番号ｓを持つ債務者の平均デフォルト率を要素とする配列ＰＤ＿ａｖｇ［ｓ、ｒ］を算出する。このうち、ステップＳ２１８５の処理では、ＰＤ＿ａｖｇ［ｓ、ｒ］を算出するために用いられる、ウエイトの和を格納した配列ｗ＿ｓｕｍ［ｓ、ｍ］の算出を行う。具体的に、ＰＤ＿ａｖｇ［ｓ、ｒ］、ｗ＿ｓｕｍ［ｓ、ｍ］の各要素は、次の式に基づいて計算される。
【数１０８】
0004443619.tif 000109
ここで、ＬＳｍは数８１の第一式で与えられる集合である。この配列ＰＤ＿ａｖｇ［ｓ、ｒ］は、後に説明するＣａｌｃ＿ＥＣ２モジュール内でＣＶａＲベースエコノミックキャピタルを算出する際に使用されるものであり、具体的には、数９３の下段の式の中括弧内第一項に現れる債務者のデフォルト率ＰＤｉの近似値として用いられる。ここで、数９３に現れるＰＤｉの厳密な値は図１４の債務者の格付および図１５（ａ）の格付別デフォルト率によって与えられ、ｐｄ［Ｒ［ｉ］］という配列の要素で表すことができる。数９３の下段の式の計算を行う場合にも、この厳密値をそのまま用いることも可能である。本実施例で厳密値ではなくＰＤ＿ａｖｇ［ｓ、ｒ］を用いる理由は数値計算上の誤差を考慮してのことである。数９３の下段の式の中括弧内第二項は数値積分によって算出するため、積分点の偏りに伴う数値積分の誤差が含まれている。このため、第一項のＰＤｉも同じ積分点を用いて算出した平均値であるＰＤ＿ａｖｇ［ｓ、ｒ］を用いることにより、最終的に算出されるＣＶａＲベースエコノミックキャピタルの誤差を小さくすることができる。なお、ＰＤｉがＰＤ＿ａｖｇ［ｓ、ｒ］を用いて近似できることは、次のように確かめられる。
【数１０９】
0004443619.tif 000110
【０２２８】
ステップＳ２８１５では、セクター番号ｓと評価点番号ｍを引数とする、離散化評価点に対する積分ウエイトの和を要素とする配列ｗ＿ｓｕｍ［ｓ、ｍ］の算出処理を行う。この配列ｗ＿ｓｕｍ［ｓ、ｍ］は、数１０９の第二式に相当するものである。積分点番号ｌをインクリメントしながら、積分評価点ごとに全てのセクター番号ｓに対してｗ＿ｓｕｍ［ｓ、Ｍ［ｓ］］にｗ［ｌ］を加えていく処理を行うことにより、配列ｗ＿ｓｕｍ［ｓ、ｍ］の全ての要素を算出することができる。
【０２２９】
ステップＳ２８４０〜Ｓ２８５８では、積分点についてのループが終了（Ｓ２８０４）した後に、格付番号ｒ、セクター番号ｓを持つ債務者の平均デフォルト率を要素とする配列ＰＤ＿ａｖｇ［ｓ、ｒ］を算出する。まず、離散化評価点番号ｍを１からＮｇまでインクリメントさせながら（Ｓ２８４８、Ｓ２８５０、Ｓ２８５４）、ＣＰＤ［ｍ、ｒ、ｓ］に重みｗ＿ｓｕｍ［ｓ、ｍ］を乗じてＰＤ＿ａｖｇ［ｓ、ｒ］に加えていく（Ｓ２８５２）。この処理を全てのセクター番号ｓについて行い（Ｓ２８４４、Ｓ２８４６、Ｓ２８５６）、更にその処理を全ての格付番号ｒについて行うことにより（Ｓ２８４１、Ｓ２８４２、Ｓ２８５８）、ＰＤ＿ａｖｇ［ｓ、ｒ］の各要素に、数１０９の第一式の和に相当する値が格納される。
【０２３０】
図２９Ａ〜Ｃには、ＣａｌｃＥＣモジュールの処理フローに加えて、それに類似した処理が行われるＣａｌｃＥＣ２モジュールの処理フローも示されている。ＣａｌｃＥＣ２モジュールの処理がＣａｌｃＥＣモジュールの処理と相違するのはステップＳ２９４６〜Ｓ２９５２、ステップＳ２９５４およびＳ２９５６、ステップＳ２９４３の処理であるので、これらの処理以外の処理についての説明を省略する。
【０２３１】
ＣａｌｃＥＣ２モジュールのステップＳ２９４６〜Ｓ２９５２の処理では、助変数番号ｋを引数とする配列ＲＣＭＧＦ＿ＣＶａＲ［ｋ］を算出する処理を行う。ここで、配列ＲＣＭＧＦ＿ＣＶａＲ［ｋ］の各要素は、数９４第二式の括弧内の式でλ＝γ＋ｊｋｈとした値に相当する。数９４を導出した際に述べたことから、このＲＣＭＧＦ＿ＣＶａＲ［ｋ］は、ＲＣＭＧＦ＿ＶａＲ［ｋ］を助変数で割ることにより計算できる。このため、これらのステップでは、助変数番号ｋをインクリメントさせながら（Ｓ２９４６、Ｓ２９４８、Ｓ２９５２）、助変数番号ｋごとにＲＣＭＧＦ＿ＶａＲ［ｋ］をγ＋ｊｋｈで除算して結果を配列ＲＣＭＧＦ＿ＣＶａＲ［ｋ］に格納するという処理（Ｓ２９５０）を行う。
【０２３２】
ステップＳ２９５４では、数９３に基づいて債務者ごとのＣＶａＲベースエコノミックキャピタルの算出を行い、債務者番号ｉを引数とする配列ＥＣ＿ＣＶａＲ［ｉ］に結果を格納する。ここで、数９３の下段中括弧内の第一項目には、ＰＤ＿ａｖｇ［Ｒ［ｉ］，Ｓ［ｉ］］を用いる。また、数９３の下段中括弧内の第二項目は、数９４式に従ってラプラス逆変換により算出する。数９４のラプラス逆変換は、ステップＳ２９４６〜Ｓ２９５２によって得られたＲＣＭＧＦ＿ＣＶａＲ［ｋ］をラプラス逆変換モジュールＬＩの入力とすることにより、計算することができる。具体的には、ラプラス逆変換モジュールへの入力をＣ［ｋ］＝ＲＣＭＧＦ＿ＶａＲ［ｋ］（ｋ＝０、１、・・・、Ｎｋ−１）、ｔ＝ＶａＲとして処理を実行すればよい。なお、上述の処理において、ＰＤ＿ａｖｇ［Ｒ［ｉ］，Ｓ［ｉ］］の代わりにｐｄ［Ｒ［ｉ］］を用いることもできる。両者の結果は、共通リスク変数に関する積分を数値計算することによって生じる誤差によって差異が生じるが、本質的には同じ結果を与えるものである。このようにＰＤ＿ａｖｇ［Ｒ［ｉ］，Ｓ［ｉ］］の代わりにｐｄ［Ｒ［ｉ］］を用いる場合には、ＰＤ＿ａｖｇ［Ｒ［ｉ］，Ｓ［ｉ］］の算出に関連した処理は不要となる。
【０２３３】
ステップＳ２９５６では、ＣＶａＲベースエコノミックキャピタルの全ての債務者に関する総和ＴｏｔａｌＥＣ＿ＣＶａＲを算出する。そして、ステップＳ２８４３では、ＴｏｔａｌＥＣ＿ＣＶａＲを用いて規格化を行うことにより、債務者ｉのＣＶａＲベースエコノミックキャピタルＥＣ＿ＣＶａＲ［ｉ］を得る。ここで規格化を行うのは、ＣａｌｃＥＣモジュールにおいて行ったのと同様に、ＣＶａＲベースエコノミックキャピタルの総和が、ＣＶａＲに一致するようにするためである。ただし、この規格化は本発明において必須のものではなく、規格化の処理を行う前のＥＣ＿ＣＶａＲ［ｉ］の値も、債務者ｉのＣＶａＲベースのエコノミック・キャピタルの近似値としての意味を持つ。
【０２３４】
このように本実施例によって、ポートフォリオの全債務者に対するＶａＲベースエコノミックキャピタルおよびＣＶａＲベースエコノミックキャピタルが適切に計算される。Ｃａｌｃ＿ＥＣ２モジュールも積分点に関するループを行うことなくエコノミックキャピタルを算出することができ、大規模なポートフォリオでも全債務者のＣＶａＲベースエコノミックキャピタルを算出することが可能である。なお、上述のＣａｌｃＰＦ＿ＲＣ２モジュールおよびＣａｌｃＥＣ２モジュールの説明に用いたフローチャートに現れる変数の仕様について図３２Ａ、Ｂおよび図３３Ａ、Ｂにまとめている。
【０２３５】
以上、本発明の実施の形態につき述べたが、本発明は既述の実施の形態に限定されるものではなく、本発明の技術的思想に基づいて各種の変形、変更および組み合わせが可能であり、特許請求の範囲の記載に基づいて発明が理解される。
【図面の簡単な説明】
【０２３６】
【図１】本発明の実施形態の計算方法が実現されるコンピュータの機能ブロック図である。
【図２】本発明の実施形態の計算方法によって実現される専用計算機の構成を示す機能ブロック図である。
【図３】本発明の計算を行うポートフォリオの損失額分布を、各種のリスク指標とともに示す分布図である。
【図４】本発明の計算の際に損失を考慮する基準を示す対比表である。
【図５】損失を考慮する基準の違いを具体例によって示す説明図である。
【図６】複数の企業の損失発生事象の組み合わせについて、デフォルト事象の相関を説明する説明図である。
【図７】損失額の確率分布を単一の企業と複数の企業の場合で比較する説明図である。
【図８】損失額の確率分布を分布関数によって示す説明図である。
【図９】本発明の実施形態における計算の際に損失を考慮する基準を示す対比表である。
【図１０】デフォルトモードの場合の一定期間後の損失発生の様子を示す説明図である。
【図１１】ＭｔＭモードの場合の一定期間後の損失発生の様子を示す説明図である。
【図１２】ＱＤアルゴリズムの計算手順によって連分数の係数が算出される処理の手順を示す説明図である。
【図１３】本発明の実施例において用いるセクターリスク因子を共通リスク因子から生成するための係数（感応度係数）のデータの例を示す図である。
【図１４】本発明の実施例において用いる企業（債務者）ごとに与えられるデータの例を示す図である。
【図１５】本発明のある実施例において用いるデフォルトモードにおいて用いられる格付ごとに平均デフォルト率の例（図１５ａ）と、他の実施例のＭｔＭモードにおいて用いられる格付ごとの平均格付遷移確率の例（図１５ｂ）とを示す説明図である。
【図１６】本発明の実施例において用いる積分点の例を示す説明図である。
【図１７】本発明の実施例において用いる企業（債務者）に与えられうる格付ごとに与えられるデフォルトに移行する率のデータの例を示す図である。
【図１８】本発明の実施例において用いる企業（債務者）ごとに与えられるデータの例を示す図である。
【図１９】ＭｔＭモードの計測に利用する状態ごとの損益額を算出する計算装置の構成を示すブロック図である。
【図２０Ａ】本発明の実施例のプログラムによって実現される計算装置の機能ブロック図である。
【図２０Ｂ】図２０Ａに示したブロック図によって実施される本発明の実施例において利用する変数の仕様をまとめた表である。
【図２０Ｃ】図２０Ａに示したブロック図によって実施される本発明の実施例において利用する変数の仕様をまとめた表である。
【図２１Ａ】本発明の実施例のプログラムの処理フローを表すフローチャートである。
【図２１Ｂ】本発明の実施例のプログラムの処理フローを表すフローチャートである。
【図２２Ａ】本発明の実施例のプログラムの処理フローを表すフローチャートである。
【図２２Ｂ】本発明の実施例のプログラムの処理フローを表すフローチャートである。
【図２３】本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。
【図２４Ａ】本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。
【図２４Ｂ】本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。
【図２５Ａ】本発明の実施例のプログラムの処理フローを表すフローチャートである。
【図２５Ｂ】本発明の実施例のプログラムの処理フローを表すフローチャートである。
【図２６Ａ】本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。
【図２６Ｂ】本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。
【図２７】本発明の実施例のプログラムによって実現される計算装置の機能ブロック図である。
【図２８Ａ】本発明の実施例のプログラムの処理フローを表すフローチャートである。
【図２８Ｂ】本発明の実施例のプログラムの処理フローを表すフローチャートである。
【図２８Ｃ】本発明の実施例のプログラムの処理フローを表すフローチャートである。
【図２８Ｄ】本発明の実施例のプログラムの処理フローを表すフローチャートである。
【図２９Ａ】本発明の実施例のプログラムの処理フローを表すフローチャートである。
【図２９Ｂ】本発明の実施例のプログラムの処理フローを表すフローチャートである。
【図２９Ｃ】本発明の実施例のプログラムの処理フローを表すフローチャートである。
【図３０Ａ】本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。
【図３０Ｂ】本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。
【図３１Ａ】本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。
【図３１Ｂ】本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。
【図３２Ａ】本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。
【図３２Ｂ】本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。
【図３３Ａ】本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。
【図３３Ｂ】本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。
【符号の説明】
【０２３７】
１０２  演算手段
１０８  メインメモリ
１１８  ハードディスクドライブ
３００  リスク指標の計算装置
３０６  損失指標関数算出部
３０８  セクター関数データ算出部
３１２  セクター乗算部
３１４  ウエイト乗算部
３１６  狭義ポートフォリオ関数算出部
３１８  ラプラス逆変換部
３２０  リスク指標算出部
３５０  セクター関数データ記憶部
【図１】
0004443619.tif 000111
【図２】
0004443619.tif 000112
【図３】
0004443619.tif 000113
【図４】
0004443619.tif 000114
【図５】
0004443619.tif 000115
【図６】
0004443619.tif 000116
【図７】
0004443619.tif 000117
【図８】
0004443619.tif 000118
【図９】
0004443619.tif 000119
【図１０】
0004443619.tif 000120
【図１１】
0004443619.tif 000121
【図１２】
0004443619.tif 000122
【図１３】
0004443619.tif 000123
【図１４】
0004443619.tif 000124
【図１５】
0004443619.tif 000125
【図１６】
0004443619.tif 000126
【図１７】
0004443619.tif 000127
【図１８】
0004443619.tif 000128
【図１９】
0004443619.tif 000129
【図２０Ａ】
0004443619.tif 000130
【図２０Ｂ】
0004443619.tif 000131
【図２０Ｃ】
0004443619.tif 000132
【図２１Ａ】
0004443619.tif 000133
【図２１Ｂ】
0004443619.tif 000134
【図２２Ａ】
0004443619.tif 000135
【図２２Ｂ】
0004443619.tif 000136
【図２３】
0004443619.tif 000137
【図２４Ａ】
0004443619.tif 000138
【図２４Ｂ】
0004443619.tif 000139
【図２５Ａ】
0004443619.tif 000140
【図２５Ｂ】
0004443619.tif 000141
【図２６Ａ】
0004443619.tif 000142
【図２６Ｂ】
0004443619.tif 000143
【図２７】
0004443619.tif 000144
【図２８Ａ】
0004443619.tif 000145
【図２８Ｂ】
0004443619.tif 000146
【図２８Ｃ】
0004443619.tif 000147
【図２８Ｄ】
0004443619.tif 000148
【図２９Ａ】
0004443619.tif 000149
【図２９Ｂ】
0004443619.tif 000150
【図２９Ｃ】
0004443619.tif 000151
【図３０Ａ】
0004443619.tif 000152
【図３０Ｂ】
0004443619.tif 000153
【図３１Ａ】
0004443619.tif 000154
【図３１Ｂ】
0004443619.tif 000155
【図３２Ａ】
0004443619.tif 000156
【図３２Ｂ】
0004443619.tif 000157
【図３３Ａ】
0004443619.tif 000158
【図３３Ｂ】
0004443619.tif 000159