JP4443619B2 - ポートフォリオの信用リスクの計算方法および装置 - Google Patents

ポートフォリオの信用リスクの計算方法および装置 Download PDF

Info

Publication number
JP4443619B2
JP4443619B2 JP2008103243A JP2008103243A JP4443619B2 JP 4443619 B2 JP4443619 B2 JP 4443619B2 JP 2008103243 A JP2008103243 A JP 2008103243A JP 2008103243 A JP2008103243 A JP 2008103243A JP 4443619 B2 JP4443619 B2 JP 4443619B2
Authority
JP
Japan
Prior art keywords
function
sector
portfolio
data
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008103243A
Other languages
English (en)
Other versions
JP2009032237A (ja
Inventor
康 高野
次郎 羽柴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mizuho DL Financial Technology Co Ltd
Original Assignee
Mizuho DL Financial Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mizuho DL Financial Technology Co Ltd filed Critical Mizuho DL Financial Technology Co Ltd
Priority to JP2008103243A priority Critical patent/JP4443619B2/ja
Priority to US12/213,778 priority patent/US7627511B2/en
Publication of JP2009032237A publication Critical patent/JP2009032237A/ja
Application granted granted Critical
Publication of JP4443619B2 publication Critical patent/JP4443619B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

本発明は、信用リスク管理を適切に行うための信用リスクの計算方法、計算プログラムおよび計算装置に関する。具体的には、本発明は、貸付等を含む、多数の与信取引の集合であるポートフォリオの管理においてデフォルトを含むリスクを定量的に把握するためのリスク指標を算出する計算に関する方法、プログラムおよび装置に関する。
金融機関にとっての「リスク」とは、一般に将来における資産価値の不確実性を意味しており、各種金融取引におけるリスクを適切に管理することが金融機関にとっての大きな課題である。金融機関の中でも、特に銀行が抱える最大のリスクは信用リスクであり、銀行はその財務健全性を維持するべく、堅固な信用リスク管理体制を自主的に構築する必要がある。また、銀行監督手法に係る国際合意である「バーゼルII」第二の柱に基づき、監督当局は銀行の信用リスク管理体制の適切性につき検証を行うことが求められている。こうした銀行内外からの要請に鑑みれば、信用リスクを適切に管理することが、銀行経営においてリスク管理部門が果たすべき重要な機能であるといえる。この信用リスク管理を適切に実施するためには、例えば、「あるポートフォリオから、今後一年間にいくらの損失がどのくらいの確率で発生するか」という情報を定量的に把握することが必要である。
このような情報を定量的に把握するためには、確率を考慮したリスクの管理が有効である。これは、そのポートフォリオから想定される一定期間後の損失額ごとにその損失額の発生確率を適切に把握することによって達成することができる。図3は、将来の一定の期間の後に発生しうる損失額を確率のグラフとして示す説明図である。図3には、一定期間後に想定される損失額の各々に対してその発生確率が描かれている。このような確率分布を定量的に予測することにより、上記の信用リスク管理に必要な情報が把握できる。このような確率分布を与える確率密度関数あるいは分布関数を各種のデータから合理的に予測する数学的手続は、金融工学の分野において「リスクの計測(または計量)」と呼ばれている。
損失額の確率密度や分布関数が正確に予測される(すなわち、リスクが計測される)と、ポートフォリオの管理実務上の指標として、各種のリスク指標が算出される。例えば、「予測損失額(Expected Loss;EL)」が算出され、「信用VaR(Value at Risk)」が算出され、また、「予測損失変動額(Unexpected Loss;UL)」が算出される。予測損失額(EL)は、その期間後の平均として期待される損失を表し、信用VaRは、金額によって表現される単一の指標であって、分布関数がある一定値となる損失額を表している。この一定値は、信頼率または信頼区間といい、例えば、99%や99.97%といった値が選ばれる。実際に、信用VaRは、その期間運用した後に運用管理上想定すべき損失の上限であると考えることができる。なお、本明細書において、信用VaRを単にVaRと呼ぶことがある。予測損失変動額(UL)は上記信用VaRと予測損失額との差によって算出される。これらの具体的な指標が求められると、リスク管理部門は、例えば、予測損失額に相当する引当金が準備できるか、あるいは、その引当金を超える予測損失変動額分の損失について、自己資本での充当が可能かどうかについて事前に定量的に把握することが可能となる。また、ポートフォリオ運用部門は、自己のポートフォリオの信用リスク指標を参考情報とすることにより、そのポートフォリオを保有するべきかどうか、あるいはポートフォリオの組換えを行うべきかを合理的に決定することができる。
損失額の確率分布の予測、すなわちリスクの計測の際には、損失額をどのように認識するか、すなわち、どのようなイベントを損失と考えるか、という前提となる損失の認識の態様により、主として二つの考え方が知られている。一つは、債務不履行(デフォルト)によって発生する債権価値の低下のみを損失ととらえるものであり、デフォルトモードと呼ばれる。もう一つは、デフォルトに加えて与信先の信用力の低下に伴う債権価値の下落も損失ととらえるものであり、MtM(Market to Market)モードと呼ばれる。
図4は、デフォルトモードとMtMモードの特徴をまとめた表である。デフォルトモードは、債務不履行が発生することのみを損失とする発生主義のとらえ方をするものであり、主に満期取引を目的とする取引者が、例えば貸出や保証を主体としたポートフォリオを評価する際に用いる。これに対して、MtMモードは、個々の債権の時価の下落を原因とする損失をも考慮する時価主義のとらえ方をするものであり、主に短期売買を目的とする取引者が、例えば、債券やデリバティブ等の取引を主体としたポートフォリオを評価する際に用いる。
債権価値については、デフォルトモードの場合では簿価ベースで認識されるのに対し、MtMモードでは、時価ベースで認識される。信用リスクとして損失が認識されるイベントについては、前述のようにデフォルトモードでは債務不履行(デフォルト)であり、MtMモードでは、デフォルトに加えて市場における格付低下をも含む。
このような違いにより、デフォルトモードとMtMモードとではリスクの計測に用いる数学的手続に用いる主要なパラメータの選択にも違いが生じる。デフォルトモードでは、パラメータとして、各企業に対するエクスポージャ、デフォルト確率(Probability of Default;PD)、信用力変化に関する相関などが考慮される。なお、企業に対するエクスポージャとは、当該企業がデフォルトした場合に発生する損失額のことであり、取引残高とデフォルト時損失率から算出することもできる。また、信用力変化に関する相関とは、複数の企業の信用力の連動性を表すパラメータであり、例えば、株価や社債価格の時系列データから算出される。他方、MtMモードでは、取引のキャッシュフローの情報、市場情報、格付遷移確率、信用力変化に関する相関などが考慮される。ここで、取引のキャッシュフロー情報は、ポートフォリオを構成する社債等の利払い(クーポン)によって生じるキャッシュフローの情報をいう。また、市場情報は、社債の格付別に与えられるイールドカーブ等の時価に影響する市場の情報をいう。そのような市場の時価が格付に依存するため、MtMモードでのリスク計測においては、一定期間後に現時点の格付から各格付へと遷移する確率である格付遷移確率が必要となる。
以上に説明したようなデフォルトモードをモデルとして採用する損失の考え方の例としては、CreditRisk+ (Credit Suisse Financial Products社)が知られており、MtMモードをモデルとして採用する例としては、CreditMetrics(JPMorgan社)が知られている。
次に、信用リスクの計測について説明する。信用リスクの計測は、二つのステップによって行われる。信用リスクの計測においては、まず、各企業の損失の確率を記述するステップがあり、次に、ポートフォリオに含まれる各企業の損失について合算するステップがある。図5および図6は、企業の損失の概念を示す図であり、図5はデフォルトモードの場合を示し、図6はMtMモードの場合を示す。前述のように、デフォルトモードでは、デフォルトが生じた場合のみ損失が発生すると考え、MtMモードでは、デフォルトに加え、リスク計測期間後に格付が低下することによっても損失が発生すると考える。なお、MtMモードにおいては、発生する損失額は、リスク計測期間後の格付によって異なり、損失ではなく利益が発生することもありうる。
図7は、企業の損失を合算する概念を示す説明図である。以下、デフォルトモードに限定して説明する。まず、複数の企業(企業i、企業j)それぞれについて、損失額ごとのデフォルトの確率が分かっているとする。つまり、図7は、企業iがデフォルトとなる確率は5%であり、そのときの損失額は100であることを示し、企業jがデフォルトとなる確率も同様に5%であり、そのときの損失額が50であることを示している。このような場合であっても、複数の企業の損失を合算して損失額の確率分布を明らかにするためには、さらに企業間のデフォルト事象についての相関を考慮する必要がある。これは、現実のポートフォリオに含まれる企業間の業績等の相関を正確に反映するためである。図7に示したように、企業に全く相関がない場合(相関=0の場合)には、デフォルト事象が独立に生起するため、両社がともにデフォルトとなって合計の損失額が150となる確率は、企業iのデフォルト確率と企業jのデフォルト確率の積によってあらわされ、0.25%となる。一方、企業間に完全な相関がある場合(相関=1の場合)には、一方の企業のデフォルトが他方の企業のデフォルトにつながるため、合計の損失額が150となる確率は一方の企業のデフォルト確率5%と同じになる。図7には、これらの場合以外にも、部分的な相関がある場合、すなわち相関係数が0.2と0.5の場合も記載されている。このように、複数の企業についても、相関を適切に取り入れた上で各損失額にその損失額を与える確率を算出することができる。
図8には、このような損失額ごとの確率を、一つの企業(企業i)について、および2つの企業(企業i、企業j)を含む場合の相関が0.2の例について示す。このグラフは、各損失額に対してその損失が生じる確率を与える確率密度関数を示しており、図3に与えた確率密度に相当する。原理的には、任意の数の企業についてもポートフォリオの損失の確率分布を求めることができることは明らかである。一旦確率密度関数が求まれば、それを積分することにより、図9に示すような分布関数が計算できる。例えば、分布関数が99%の値を示すような金額は、信用VaRの額となるため、確率分布を求めることにより、前述のEL,UL,信用VaR等の指標を算出することができる。実際には、図8に示した例とは異なり、現実のポートフォリオの運用や銀行の経営においては、そこに含まれる数万〜数百万件の債権の全てを考慮することは、容易ではない。
次に、信用リスク計測モデルについて説明する。上述のように、ポートフォリオの信用リスクを把握するためには、デフォルトや信用力変化にみられる企業間(債務者間)の相関を適切に考慮する必要がある。したがって、相関を考慮することができるように、信用リスクを数学的にモデル化する必要が生じ、その際、企業間のデフォルトや信用力変化に見られる相関を適切に反映することができるようにモデル化する必要がある。このような企業間の相関を取り入れた信用リスク計測モデルとして、近年では、「企業価値モデル(Firm−Value Model)」と呼ばれるモデルが用いられることが多い。
企業価値モデルには、ワン・ファクター(one−factor)企業価値モデルやマルチ・ファクター(multi−factor)企業価値モデルがある。ワン・ファクター企業価値モデルは、次式によって、一定期間後の企業価値を表現する。
Figure 0004443619
ここで、iは企業(個社)を示すサフィックスであり、Zは企業iの企業価値を表す。右辺のXを共通リスク因子もしくは共通リスクファクターとよび、αを感応度係数とよぶ。共通リスク因子Xは、信用リスク計測モデルによってリスクを計測しようとする企業に共通する因子である。企業価値モデルの仮定として、共通リスク因子Xは標準正規分布N(0,1)に従う確率変数であるとする。また、εは、企業に共通する因子Xでは説明できない企業ごとのバラツキを表す因子であり、個別因子という。個別因子εも標準正規分布N(0,1)に従うものと仮定する。個別因子の前の係数は、企業価値Zが標準正規分布N(0,1)に従うように定められたものである。
企業価値モデルにおける重要な仮定として、Xとεは、すべて互いに独立な確率変数とする。すなわち、
Figure 0004443619
となる。これより、企業価値の間の相関を計算することができ、
Figure 0004443619
となる。これは、ワン・ファクター企業価値モデルでは、異なる企業の企業価値の間の相関は、全ての企業の企業価値に影響を与える共通リスク因子Xの存在を通して発生することを示している。
マルチ・ファクター企業価値モデルは、共通リスク因子が複数存在するものとしてモデル化したものである。この場合の企業iの企業価値Zは、
Figure 0004443619
と表現される。ただし、Nは共通リスク因子の数である。ここで、企業価値モデルでは、異なる共通リスク因子XとXは互いに独立であると仮定する。すなわち、
Figure 0004443619
が成り立つ。ここで、δklはクロネッカのデルタであり、Nは共通リスク因子Xの数である。なお、数1に現れるαや数4に現れるαijは企業価値間の相関に関する情報を担うパラメータであり、業種別株価インデックスの時系列データの主成分分析から推定する方法等が知られている。
このような仮定に基づくワン・ファクターまたはマルチ・ファクターの企業価値モデルでは、企業価値Zが一定水準を下回ると、企業iがデフォルトを起こすと考える。例えば、デフォルトモードの場合、デフォルトを生起させる企業価値の値(デフォルト閾値)をCとすると、企業価値Zが標準正規分布に従うため、当該企業がデフォルトする確率PDは、
Figure 0004443619
となる。ここで、企業価値Zは確率変数である共通リスク因子に依存しているが、このPDは、共通リスク因子に関する平均値である。このため、PDを企業iの平均デフォルト確率と呼ぶ。逆に、この平均デフォルト率PDが与えられると、デフォルト閾値C
Figure 0004443619
として決定される。ここで、右辺のΦ−1は標準正規分布の分布関数の逆関数である。この企業iについてのデフォルト確率は、例えば、別途企業iについて与えられる格付などから推定される。このように、平均デフォルト率を与えることによって、デフォルト閾値を設定することができる。図10は、このようにして与えられるデフォルト閾値の概念を示す説明図である。標準正規分布に従う企業価値Zが一定期間(例えば1年)の後にデフォルト閾値Cを下回るときにデフォルトとなる。
平均デフォルト率からデフォルト閾値Cが決定されると、共通リスク因子の値が決まったという条件の下での条件付デフォルト率が計算できる。例えば、企業iの条件付デフォルト率は、次式によって与えられる。
Figure 0004443619
ここで、xは、共通リスク因子Xの実現値であって、条件付デフォルト率を与えるための条件を表現している。このxは、ワン・ファクター企業価値モデルではスカラー量であり、マルチ・ファクター企業価値モデルでは各共通リスク因子を要素とするベクトル量である。ワン・ファクターおよびマルチ・ファクターの企業価値モデルでは、個別因子(ε)が企業ごとに互いに独立であることから、共通リスク因子がある実現値xとなった条件では、各企業のデフォルトは独立に発生する。この性質は条件付独立と呼ばれており、数値計算上非常に有益な性質である。
MtMモードでは、デフォルトモードの場合におけるデフォルトに加えて、格付遷移に伴う時価変動を損益認識の際に勘案するため、格付遷移確率に基づいて閾値を設定して企業価値Zを階層に分ける。すなわち、
Figure 0004443619
とする。数9の上段は、格付rから格付sへの企業iの遷移確率であり、下段は、格付sと格付s−1を隔てる閾値である。図11は、一年後の企業価値によって、企業の格付やデフォルトを判定する様子を説明する説明図である。この図に示されたような閾値と遷移確率を考えることにより、デフォルトモードに対して行った定式化は、容易にMtMモードの場合に拡張することができる。
次に、モデル化を行った後の信用リスク計測の具体的手法について説明する。損失額の確率分布を求めるには、原理的には一定期間後の貸出先企業の仮定としての信用状態(シナリオ)を考え、全てのシナリオについて損失額と発生確率を求めればよい。しかし、これを実行しようとすると、現実には非常に困難な計算が必要となる。例えば、計算するポートフォリオが10000社の貸出先に対する債権の組み合わせである場合には、1年後の各貸出先の状態として考慮すべき組み合わせの数は2の10000乗(一兆の250乗)であり、全てのシナリオでの損失額と発生確率を求めるのは事実上不可能といえる。このため、損失額分布を作成するためには、何らかの近似計算が必要となる。この近似計算のための標準的な手法としては、モンテカルロシミュレーション法が挙げられる。
モンテカルロシミュレーション法は、乱数を用いた数値上の模擬実験によって確率的現象の解析を行う一般的な手法である。企業価値モデルにおいてモンテカルロシミュレーション法を適用するには、例えば次のようなステップ1〜5を順次実行することによって行われる。ステップ1として、まず共通リスク因子の決定が行われる。この処理は、標準正規分布に従う乱数を発生させて、共通リスク因子の値を決定する処理である。次にステップ2として、各企業のデフォルト確率の算出が行われる。これは、ステップ1で決定した共通リスク因子の値の下での、各企業の条件付デフォルト確率を算出する処理である。そして、ステップ3として、デフォルトシナリオの作成が行われる。この処理は、一年後の企業の信用状態を表すシナリオを作成する処理である。具体的には、企業ごとに[0,1]区間の一様乱数を発生させ、ステップ2で求めたデフォルト確率を下回った場合にデフォルトと判定する。続くステップ4として、損失額の算出が行われる。ここでは、ステップ3によって作成したシナリオに基づいて、ポートフォリオ全体から生じる損失額を算出する。モンテカルロシミュレーション法では、このようなステップ1〜4ステップを多数回繰り返すステップ5を実行して、損失額ごとに、その損失額を生じさせる事象の発生の頻度を数えることにより、損失額分布を作成することができる。
モンテカルロシミュレーション法以外にも、ラプラス変換を用いて損失額の分布を算出する手法が知られている。以下、このラプラス変換を用いる損失額分布の算出過程を、デフォルトモードの例について説明する。まず、損失額分布の密度関数をf(t)とすると、そのラプラス変換は、
Figure 0004443619
により与えられる。
特にこの式の最右辺は、確率統計の分野においてモーメント母関数と呼ばれる関数である。なお、ここで用いられている各表現は、
Figure 0004443619
を意味している。
この結果から、モーメント母関数をラプラス逆変換することによって、損失額の分布を求めることができる。企業間の相関がない場合には、モーメント母関数は、
Figure 0004443619
となる。ここで、pは企業iのデフォルト確率であり、数6におけるPDと同じものである。
一方、企業価値モデルによって企業間の相関を考慮した場合、条件付独立の性質から、モーメント母関数は、
Figure 0004443619
のようになる。ただし、
Figure 0004443619
である。
このようなラプラス変換法を用いた損失額分布の算出は2つのステップによって行うことができる。まずステップ1として、モーメント母関数の算出を行い、次にステップ2として、そのモーメント母関数のラプラス逆変換を実行する。なお、デフォルトモードを例としてラプラス変換法の説明を行ってきたが、モーメント母関数を変更することにより、MtMモードのリスク計測もラプラス変換法により実行することができる。また、企業価値モデル以外のモデルを用いた場合であっても、モーメント母関数を計算することができればラプラス変換法によって損失額の確率分布を与える確率密度関数や分布関数を求めることができるので、ポートフォリオの信用リスクを計測することが可能となる。
なお、上記のラプラス変換法ではなくフーリエ変換を用いて解析的手法によって信用リスク計算を実行する技術の例が、特許文献1に開示されている。また、ラプラス変換を用いて信用リスクの計算を実行する理論研究の例が、非特許文献1および非特許文献2に開示されている。
特開2000−148721号公報 Martin, R., K. Thompson and C. Browne, "Taking to the saddle," Risk, 14(6), 2001, pp.91−94 Glasserman, P. and J. Ruiz−Mata, "Computing the credit loss distribution in the Gaussian copula model: a comparison of methods," Journal of credit risk, 2(4), 2006, pp.33−66
上述のモンテカルロシミュレーション法では、膨大な回数の計算を行わなくては必要な精度が得られない。特に、確率密度関数の値が小さな領域(例えば、分布関数の値が1に近い領域)での計算精度が問題になるような計算(例えば、信用VaRを高い精度で算出する計算)においては、シミュレーションにおいて出現頻度が少なくなる部分で高い数値精度を確保する必要があり、計算量が膨大になる。
また、上述のラプラス変換を用いる方法については、ポートフォリオの構成や分布の形状に仮定を置いて近似式を導くという理論研究が中心である。マルチ・ファクターの場合は現状では理論研究でさえ殆ど手が付けられていない。そして、その数少ない理論研究の方法は、実務に用いるには限定的過ぎる仮定を含んでおり、現実のポートフォリオに用いると大きな誤差が発生し得るという問題点がある(非特許文献1参照)。
本発明は、上記の少なくともいずれかの課題を解決するためになされたものである。
本発明は、解析的な計算式に基づき、数値計算上の工夫を行うことによって、高速、高精度に信用リスク計算を実行することを可能にする。本発明のある態様では、計算の理論的な基礎としてラプラス変換を用いているが、ラプラス変換法によって損失額分布を算出する際には、次の2つが技術面におけるポイントとなる。第1のポイントは、モーメント母関数の計算をいかに高速かつ精緻に行うかである。特に、共通リスク因子に関する多次元数値積分を実行する処理があるため、これを適切に計算する必要がある。また、第2のポイントは、複素平面上の無限区間の積分で表されるラプラス逆変換をいかに高速、かつ高精度に行うかである。本願発明者は、第1点目に対してセクターリスク因子の離散化を行い、第2点目には高速ラプラス変換を用いることとした。本発明においては、現実の計算機において十分に実用性のある速度で処理可能なように計算途中の処理に特有のアルゴリズムや計算機の処理上での工夫を行い、また、数値上の模擬実験に伴う数値誤差を排除して精度を確保するための工夫を行うことにより、上記ラプラス変換法に基づいて信用リスクの計測を行う情報処理のための専用計算機が実現され、その情報処理の方法及びコンピュータプログラムが提供される。
すなわち、本発明のある態様においては、複数の企業に対する債権を含むポートフォリオの損失についてのリスク指標を求める計算方法であって、該ポートフォリオに含まれる企業を分けるセクターごとのセクターリスク因子(Y)の実現値であるセクター変数の各値に対し与えられる各企業の損失生起確率(p´(y))と、ラプラス変換のための助変数(λ)に企業の債権のエクスポージャを乗じた値の指数関数とを用いて定義される損失指標関数(数31第二式の右辺の中括弧内)のデータを企業ごとに算出するステップであって、前記セクターリスク因子は、前記損失生起確率の決定に用いられる企業価値に影響しうる複数のリスク因子である共通リスク因子の一次結合として前記セクターに含まれる企業に共通する確率変数であり、前記損失生起確率は、当該企業の属するセクターのセクターリスク因子が前記セクター変数の各値となる条件における、前記企業価値に基づく当該企業の損失の発生を示す条件付き確率であり、前記損失指標関数の前記定義は、該損失生起確率の関数を含み、前記損失指標関数のデータは、前記セクター変数の各値(y)の代わりに、離散化評価点(g)における前記セクター変数のための数値データを損失指標関数の前記定義(数31第二式の右辺の中括弧内)に用いて算出され、前記離散化評価点は、前記セクター変数の分布範囲に対応する範囲にある、損失指標関数のデータを企業ごとに算出するステップと、前記セクター内の全ての企業にわたる前記損失指標関数の積を含んでセクターごとに定義されるセクター関数の前記離散化評価点における値であるセクター関数データを、前記損失指標関数の前記データを各セクター内の全ての企業について乗算した値を用いて算出し、少なくともセクターと離散化評価点とに対応させてセクター関数データ記憶手段に記憶するセクター関数データ算出ステップと、前記共通リスク因子に関する実現値である共通リスク変数についての積分を行うための各積分点(数26)について、セクター(S)ごとに、当該積分点の成分の一次結合であるセクター変数(数32のy )の近傍にある前記離散化評価点の一つを特定して、該特定された一つの離散化評価点についての前記セクター関数データを、前記セクター関数データ記憶手段から呼び出して全セクターについて乗じることにより、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積を含む条件付ポートフォリオ関数の各積分点における近似値を算出するセクター乗算ステップと、前記条件付ポートフォリオ関数を含む被積分関数の前記共通リスク変数についての積分計算を前記積分点(数26)における前記条件付ポートフォリオ関数の前記近似値を用いて数値計算し、前記条件付ポートフォリオ関数の前記共通リスク因子に関する平均と前記助変数の関数であるポートフォリオ助変数関数関数との積であるポートフォリオ関数のデータを算出するポートフォリオ関数算出ステップと、該ポートフォリオ関数のデータに基づいて、前記助変数(λ)についての積分計算を数値計算することにより該ポートフォリオ関数をラプラス逆変換した関数の値のデータを算出するラプラス逆変換ステップと、該ポートフォリオ関数をラプラス逆変換した関数の値のデータから前記ポートフォリオの損失についてのリスクを示すリスク指標を算出するリスク指標算出ステップとを含むリスク指標の計算方法が提供される。
上記発明において、複数の企業に対する債権を含むポートフォリオとは、企業に対する貸出債権や社債などの証券としての債権を含むような債権の集合を一般にさす。例えば銀行などの金融機関の貸出債権全体は、このポートフォリオの一例である。また、本明細書において、企業とは必ずしも法人格を持った営利企業に限定されるものではなく、金融機関の貸出先を広く指すものとする。例えば、法人格を持たない個人事業主や、個人、あるいは国や地方公共団体なども本明細書における企業に含まれる。このため、個人向けの住宅ローンや国債、地方債といった債権が含まれていているポートフォリオも本発明によるリスク指標の算出対象となる。なお、以下の説明においては、企業の代わりに債務者という言葉を用いることがある。
本発明における企業価値とは、信用リスク管理の実務において幅広く用いられている企業価値モデルで用いられる企業価値のことをいう。すなわち、企業価値とは、企業ごとに定められる標準正規分布に従う確率変数であって、共通リスク因子と個別因子の一次結合として表されるものである。共通リスク因子は、一般には複数存在し、それぞれ互いに独立に標準正規分布に従う確率変数である。共通リスク因子は全ての企業の企業価値に影響を及ぼすことから、企業価値の間には相関が生じる。個別因子は、企業ごとに1つ定められる、それぞれ互いに独立に標準正規分布に従う確率変数である。また、全ての個別因子は、全ての共通リスク因子と互いに独立である。数4において、Zは企業価値、Xは共通リスク因子、εは個別リスク因子の例にそれぞれなっている。ここで、Xとεは数5の関係を満たす。企業価値に表れる共通リスク因子に対する係数を感応度係数と呼ぶ。数4におけるαijは感応度係数の例である。
セクターとは、企業価値モデルにあらわれる感応度係数を与える企業グループの単位である。すなわち、感応度係数は、セクター内の企業についてすべて共通の値となる。また、セクターリスク因子とは、共通リスク因子の一次結合として表される、セクター内の全ての企業の企業価値に共通に影響を与える確率変数である。セクターリスク因子の具体例は、後に数30のYによって与えられる。セクター変数とは、セクターリスク因子の実現値のことである。リスク管理の実務において企業価値モデルを用いてリスク計測を行う場合には、何らかの企業属性によって企業をいくつかのセクターに分類した上で、セクターごとに感応度係数を推定することが多い。なぜなら、上場企業のように感応度係数を推定するための情報が多い企業ばかりではなく、感応度係数を精密に推定するだけの情報が得られない企業もポートフォリオには多数含まれており、また、仮に個別に感応度係数が推定できたとしても、数万から数百万に及ぶポートフォリオの構成企業全てに対して個別に感応度係数を与えてリスク指標を計算することは計算負荷の観点から困難なためである。本発明のある態様を実施した際の計算速度はセクターの数に依存するが、実務上はセクター数を数十から数百程度とすることが多い。この場合、本発明のある態様における計算は非常に高速に実行することが可能である。ただし、特別な場合として、セクター数が企業数に等しいとして、全てのセクターが個別企業1社のみからなるものとすれば、本発明は個社別に感応度係数が推定されている場合にも適用できる。
損失生起確率(p´(y))とは、共通リスク因子の値が決まったという条件の下での、リスク計測期間における企業の損失の発生確率のことである。この損失生起確率は、リスク計測期間終了時点における企業価値の確率分布と、損失に対する認識を反映した判定基準に基づいて算出される。企業価値モデルでは、リスク計測期間終了時点における企業価値の確率分布は、共通リスク因子の実現値である共通リスク変数を与えれば決まる。また、損失判定基準は、デフォルトモードの場合にはデフォルトという事象を何らかの形で判定可能にした基準を反映するように定められ、MtMモードの場合には、さらに格付の変化という事象を何らかの形で判定可能にした基準を反映するように定められる。数7に示されるデフォルト閾値Cは、デフォルトモードにおける損失判定基準の例である。前述のように企業価値は共通リスク因子に依存するため、損失生起確率は共通リスク変数の関数となる。また、企業価値は当該企業が属するセクターのセクターリスク因子によって表現することもできるため、損失生起確率は企業が属するセクターのセクター変数の関数として表現することもできる。
助変数λとは、典型的にはある関数のラプラス変換によって得られる関数の変数であり、ラプラス変換のような積分変換を行った後に表れる変数をいう。通常のラプラス変換の場合と同様に、助変数λは、ラプラス逆変換の積分計算の際にエクスポネンシャル(指数関数)の変数として用いられて、積分変数とされる。
損失指標関数とは、上述の損失生起確率と、助変数に企業の債権のエクスポージャもしくはリスク計測期間後の企業の状態に応じた損益額を乗じた値の指数関数値とを用いて、企業ごとに定義される関数である。ここで、エクスポージャとは、企業がデフォルトした際に当該企業に対する債権から発生する損失額のことであり、デフォルト時損失額ともいう。損失指標関数の関数形は企業ごとに異なっていても構わない。上述のように、損失生起確率はセクター変数の関数であるから、損失指標関数は企業が属するセクターのセクター変数および助変数の関数である。本発明のある態様においては、この損失指標関数の関数形を変更することにより、様々なリスク指標を算出することが可能となる。損失指標関数の例は、後に数67右辺の中括弧内に示される。
セクター関数とは、セクター内の全ての企業にわたる損失指標関数の積を含む関数である。本発明のある態様におけるセクター関数は、セクター内の全ての企業にわたる損失指標関数の積そのものである。後に示す数27は、セクター関数の例となっている。なお、セクター内の全ての企業にわたる損失指標関数の積に、セクターごとに定義される助変数の関数であるセクター助変数関数を乗じた関数もセクター関数となり得る。
条件付ポートフォリオ関数とは、全てのセクターにわたるセクター関数の積を含む関数である。この定義から、条件付ポートフォリオ関数はポートフォリオに含まれる全ての企業にわたる損失指標関数の積を含む関数となる。本発明のある態様における条件付ポートフォリオ関数は、全てのセクターにわたるセクター関数の積そのものである。後に示す数67は、条件付ポートフォリオ関数の例となっている。なお、全てのセクターにわたるセクター関数の積に助変数の関数である条件付ポートフォリオ助変数関数を乗じた関数も条件付ポートフォリオ関数となり得る。
ポートフォリオ関数とは、条件付ポートフォリオ関数の共通リスク因子に関する平均(条件付ポートフォリオ関数と共通リスク因子の確率密度関数の積を、共通リスク変数に関して積分した関数)と、助変数の関数であるポートフォリオ助変数関数との積として定義される関数である。ポートフォリオ関数の定義より、数13に示したモーメント母関数はポートフォリオ関数に含まれる。また、後に数28によって示される、分布関数をラプラス変換した関数もポートフォリオ関数に含まれる。さらに、後に数70によって示される、リスク寄与度算出時に用いられる関数も、企業iのみ損失指標関数の形が異なると考えることにより、ポートフォリオ関数の定義を満たす。このように、リスク計測上重要な関数のラプラス変換がポートフォリオ関数の形で表現できるのは、企業価値モデルが条件付独立という性質を備えているためである。
なお、セクター助変数関数、条件付ポートフォリオ助変数関数、ポートフォリオ助変数関数の各関数には、助変数に明示的に依存する関数のほか、助変数に対して依存性を持たない恒等関数(1の数値)や定数関数も含む。これらの関数を定義した理由は、例えばポートフォリオ関数が後に示す数28である場合に、1/λの乗算処理を様々なステップで行い得るためである。この乗算処理に関する注意点については、後に詳述する。
リスク指標とは、リスクの程度を判定するためのデータとなりうる指標をいう。本発明においては、このリスク指標は、ポートフォリオ関数をラプラス逆変換したものに基づいて算出する。例えば、ポートフォリオ関数をラプラス逆変換したものが損失額分布の分布関数であれば、リスク指標として予測損失額(EL)や信用VaRを算出することができる。このように、確率分布を示す密度関数や分布関数から算出可能な数値的な指標はすべて本願のリスク指標となりうる。
積分点とは、共通リスク変数に関する積分を級数で近似する際に用いられる、共通リスク変数の値の空間における座標点であり、共通リスク変数の値を成分とするベクトルによって表現される。また、積分点に関連するウエイト値wとは、当該級数に用いられる係数であり、一般には積分点ごとに異なる値をとる。この積分点および積分点に関連するウエイト値wは、ポートフォリオ関数の積分を近似する級数の決定に用いる数値積分アルゴリズムによって与えられる。また、セクター変数は共通リスク変数の一次結合であるため、積分点ごとに、全てのセクターのセクター変数が与えられる。
離散化評価点とは、セクター変数の分布範囲に応じて設定される点列である。本発明のある態様では、計算過程において離散化評価点をセクター変数の代替として用いることにより、計算の大幅な高速化を実現する。なお、離散化評価点の集合は必ずしも全てのセクターで同一である必要はなく、セクターごとに異なる離散化評価点の集合を用いて本発明を実施することもできる。
本発明のある態様における損失指標関数のデータは、セクター変数が各離散化評価点の値となる場合の、損失指標関数の値である。損失指標関数は助変数およびセクター変数の関数であり、助変数の値および離散化評価点を与えることによって、損失指標関数のデータを算出することが可能となる。
セクター関数データ算出ステップでは、各セクターに対し、セクター内の全ての企業について、離散化評価点ごとに損失指標関数のデータを乗算する処理が行われる。セクター関数が、セクター内の全ての企業にわたる損失指標関数の積である場合には、この処理によって得られる乗算値そのものがセクター関数データとなる。なお、セクター関数が、セクター内の全ての企業にわたる損失指標関数の積と、セクター助変数関数との積である場合には、セクター関数データ算出ステップにおいて、前記乗算値にセクター助変数関数の値を乗じる処理も行われる。
セクター関数データ記憶手段とは、例えばコンピュータに備えられる記憶装置において論理的に他と区別されてセクター関数データを格納し呼び出すことのできる記憶手段である。本発明のある態様においては、セクター関数データはセクターと離散化評価点に対応付けてセクター関数データ記憶手段に記憶される。
セクター乗算ステップでは、セクターごとに、積分点からセクター変数の値を算出し、当該セクター変数の値の近傍から一つの離散化評価点を特定し、この特定する処理によって得られた離散化評価点におけるセクター関数データをセクター関数データ記憶手段から呼び出す。そして、こうして呼び出したセクター関数データを、全てのセクターにわたって乗算する処理が行われる。条件付ポートフォリオ関数が、全てのセクターにわたるセクター関数の積である場合、上述の処理によって算出される値は、当該積分点における条件付ポートフォリオ関数の近似値となる。このように、本来はセクター変数を用いて都度算出すべきセクター関数データの代わりに、予め算出されてセクター関数データ記憶手段に格納されているセクター関数データの値を呼び出して用いることにより、計算の大幅な高速化が可能となる。なお、条件付ポートフォリオ関数が、全てのセクターにわたるセクター関数の積と、条件付ポートフォリオ助変数関数との積である場合には、セクター乗算ステップにおいて、上述のセクター関数データの全てのセクターにわたる積に、条件付ポートフォリオ助変数関数の値を乗じる処理も行われる。
ポートフォリオ関数算出ステップでは、セクター乗算ステップで得られた条件付ポートフォリオ関数の近似値を用いて、共通リスク変数に関する積分計算を数値計算により行う。この積分計算にあたっては、各積分点について、条件付ポートフォリオ関数の近似値に、当該積分点に関連するウエイト値を乗じて重み付けデータを得るウエイト乗算ステップと、全ての積分点について前記重み付けデータを合算して、条件付ポートフォリオ関数の共通リスク因子に関する平均を算出するステップとを用いることができる。あるいは、積分点に関連したウエイト値が全ての積分点について等しい場合には、条件付ポートフォリオ関数の前記近似値を全ての積分点について合算したうえで、積分点の数で除することにより、条件付ポートフォリオ関数の共通リスク因子に関する平均を算出する処理とすることもできる。このようにして得られた平均と助変数の関数であるポートフォリオ助変数関数との積を計算することにより、ポートフォリオ関数のデータが算出される。なお、セクター乗算ステップで得られた条件付ポートフォリオ関数の近似値の代わりに、積分点ごとに、当該近似値にポートフォリオ助変数関数の値を乗じた値を用いて、上述した積分計算の処理を行うことによってもポートフォリオ関数のデータを算出できるが、このような処理を行う場合も本発明の実施態様に含まれる。
ここで、ポートフォリオ助変数関数に関する計算上の注意点について、ポートフォリオ関数が分布関数のラプラス変換(数28)である場合を例にとって説明を行う。この場合、本発明のある態様では、全ての企業の損失指標関数を数67の中括弧内とし、セクター関数をセクター内の全ての企業にわたる損失指標関数の積(数27)とし、条件付ポートフォリオ関数を、セクター関数の全てのセクターにわたる積(数67)とし、ポートフォリオ助変数関数を1/λとしたうえで、上述した各ステップの処理を行うことにより、ポートフォリオ関数のデータを算出する。この実施態様では、全てのセクターのセクター助変数関数および条件付ポートフォリオ助変数関数は恒等関数となっている。しかし、1/λの乗算処理は、様々なステップで実行可能である。例えば、ポートフォリオ助変数関数、各セクターのセクター助変数関数、条件付ポートフォリオ助変数関数のうち、いずれか一つが1/λで与えられ、その他は恒等関数によって与えられるものとして上述した各ステップの処理を行っても、ポートフォリオ関数のデータを算出することができる。あるいは、損失指標関数のデータを算出するステップにおいて、ある一社の損失指標関数のみ数67の中括弧内に1/λを乗じた関数であるとし、そのほかの企業の損失指標関数は数67の中括弧内であるとし、助変数に関する各関数が全て恒等関数であるものとしても、ポートフォリオ関数のデータを算出することができる。このように、1/λを乗じる処理は様々なステップで行い得るが、それらは全て本願発明の範囲に含まれる。また、どのステップにおいて1/λを乗じる処理を行うかは本願発明の効果であるリスク指標の高速計算や高精度計算にとって本質的ではなく、この処理方法の違いをもって本願発明の範囲を限定するものではない。
本発明のある態様では、複数の助変数の値に対するポートフォリオ関数のデータを用いて、ポートフォリオ関数のラプラス逆変換の計算を行う。どのような助変数の値に対するポートフォリオ関数の値が必要となるかは、ラプラス逆変換に用いる無限級数化手法および収束加速法によって決まる。上述のポートフォリオ関数の計算方法は任意の助変数の値に対して適用可能であり、高速にポートフォリオ関数のデータを算出できる。このため、本発明は様々なラプラス逆変換手法を用いて実施することが可能である。
さらに、本発明の別の態様では、ラプラス変換法を用いた計算だけではなく、フーリエ変換法を用いる手法も含む。すなわち、本発明においては、複数の企業に対する債権を含むポートフォリオの損失についてのリスク指標を求める計算方法であって、該ポートフォリオに含まれる企業を分けるセクターごとのセクターリスク因子の実現値であるセクター変数の各値に対し与えられる各企業の損失生起確率と、フーリエ変換のための助変数に企業の債権のエクスポージャと虚数単位を乗じた値の指数関数とを用いて定義される損失指標関数のデータを企業ごとに算出するステップであって、前記セクターリスク因子は、前記損失生起確率の決定に用いられる企業価値に影響しうる複数のリスク因子である共通リスク因子の一次結合として前記セクターに含まれる企業に共通する確率変数であり、前記損失生起確率は、当該企業の属するセクターリスク因子が前記セクター変数の各値となる条件における前記企業価値に基づく当該企業の損失の発生を示す条件付き確率であり、前記損失指標関数の前記定義は、該損失生起確率の関数を含み、前記損失指標関数のデータは、前記セクター変数の各値の代わりに、離散化評価点における前記セクター変数のための数値データを損失指標関数の前記定義に用いて算出され、前記離散化評価点は、前記セクター変数の分布範囲に対応する範囲にある、損失指標関数のデータを企業ごとに算出するステップと、前記セクター内の全ての企業にわたる前記損失指標関数の積を含んでセクターごとに定義されるセクター関数の前記離散化評価点における値であるセクター関数データを、前記損失指標関数の前記データを各セクター内の全ての企業について乗算した値を用いて算出し、少なくともセクターと離散化評価点とに対応させてセクター関数データ記憶手段に記憶するセクター関数データ算出ステップと、前記共通リスク因子に関する実現値である共通リスク変数についての積分を行うための各積分点について、セクターごとに、当該積分点の成分の一次結合であるセクター変数の近傍にある前記離散化評価点の一つを特定して、該特定された一つの離散化評価点についての前記セクター関数データを、前記セクター関数データ記憶手段から呼び出して全セクターについて乗じることにより、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積を含む条件付ポートフォリオ関数の各積分点における近似値を算出するセクター乗算ステップと、前記条件付ポートフォリオ関数を含む被積分関数の前記共通リスク変数についての積分計算を前記積分点における前記条件付ポートフォリオ関数の前記近似値を用いて数値計算することによって、前記条件付ポートフォリオ関数の前記共通リスク因子に関する平均と前記助変数の関数であるポートフォリオ助変数関数との積であるポートフォリオ関数のデータを算出するポートフォリオ関数算出ステップと、該ポートフォリオ関数のデータに基づいて、前記助変数についての積分計算を数値計算することにより該ポートフォリオ関数を逆フーリエ変換した関数の値のデータを算出する逆フーリエ変換ステップと、該ポートフォリオ関数を逆フーリエ変換した関数の値のデータから前記ポートフォリオの損失についてのリスクを示すリスク指標を算出するリスク指標算出ステップとを含むリスク指標の計算方法が提供される。さらに、助変数ごとに、セクター関数データがセクター関数データ記憶手段に助変数毎セクター関数データとして記憶されていても良い。なお、この実施形態の場合、ラプラス変換とフーリエ変換とは、互いの間に変換としての数学的な相違点があることから、ラプラス変換を用いる実施形態とフーリエ変換を用いる実施形態との間で、助変数と損失指標関数が相違するものとなる。しかしながら、両実施形態においてセクター関数データ記憶手段を利用して計算を高速化するという発明の技術的思想において共通するため、同一の用語により表現している。両実施形態においては、これらの相違するものを用いて算出されるセクター関数データ、ポートフォリオ関数、助変数毎セクター関数データも相違するが、最終的に算出されるリスク指標は、両実施形態の間の数学的形式の違いにもかかわらず、形式の違いによる数値計算上の相違による非本質的な誤差を除き、実質的に同様の値となる。
また、本発明のある態様では、上述のように方法として実施できるほか、コンピュータプログラムや装置としても実施することができる。実施形態の説明によってこの点が明らかにされる。
なお、上述の説明において各要素に付した括弧内の記号や数式は、例示のためにのみ付したものであり、限定のために付したものではない。
本発明を実施するいずれかの態様によって、リスク指標の計算において計算誤差につながる過度なモデルの単純化や過度な計算の簡略化を排除しつつ、十分に実用性のある速度によってポートフォリオのリスク指標を計算することができる。また、本発明を実施するいずれかの態様によって、これまで計算自体が著しく困難であったリスク指標(例えばリスク寄与度)の計算が可能になる。
本発明の実施の形態について、まず、計算の全体像を明示するため、数式を利用して解析計算上の工夫や数値計算上の工夫について計算手法を説明する。そして、かかる工夫をソフトウエアとして計算機に実装する場合の具体的な構成について実施例として説明する。
[第1の実施形態:リスク計測]
本発明の実施の形態においては、数値計算上の工夫を行うことにより、解析的な方法に基づいてリスク指標の算出を高速かつ高精度に算出する。本実施の形態においては、モーメント母関数を算出し、それに基づいてポートフォリオの損失についての確率分布(確率密度関数や分布関数)を算出する。モーメント母関数は確率密度関数のラプラス変換であるため、モーメント母関数から確率密度関数を算出するためにラプラス逆変換の計算を利用する。
ここで、本実施の形態の数値計算における工夫では、リスク指標の算出の過程に用いられるラプラス逆変換のための数式自体は簡略化しない。その代わり、計算手法や計算手順を工夫することによって、現実の計算機を用いて計算を行う場合に高速かつ高精度に計算を実行するための手法を提供する。なお、この実施形態においてはポートフォリオの構成には何らの仮定を設けない。したがって、本発明の実施の形態は、任意の構成を有するポートフォリオに適用することができる。例えば、十分に与信が分散されたポートフォリオであっても、与信集中が進んだポートフォリオであっても、高速かつ高精度にリスク指標の計算を実施することができる。
本実施の形態では、エクスポージャやデフォルト率などのデータからまずモーメント母関数の算出を行い、そしてそれをラプラス逆変換することにより損失額の確率分布(確率密度関数)を算出する。なお、ここでのモーメント母関数は、本発明におけるポートフォリオ関数の一例である。以下、モーメント母関数の算出過程とラプラス逆変換の計算過程に分けて計算手法を説明する。
[モーメント母関数の算出]
モーメント母関数を算出するためには、共通リスク因子Xの実現値である共通リスク変数xに関する積分を実行する必要がある(数13参照)。本願発明者の検討では、共通リスク因子の数が少ない場合、例えばファクター数が1の場合には、Gauss−Legendre法や、Gauss−Hermite法によって高精度にモーメント母関数を算出できることを確認しており、ファクター数が2〜4である場合には、優良格子点法(GLP法)によって高精度にモーメント母関数を算出できることを確認している。しかしながら、信用リスク管理の実務で用いられるマルチ・ファクター企業価値モデルにおける共通リスク因子の数は、5個以上(例えば、十数個から数十個)とする場合が多く、そのような場合には、上記の数値積分アルゴリズムは適用することができないか、またはできたとしても計算時間が多大になる。特に、債務者数が非常に多い場合(数十万から数百万件)には、計算時間の増大のために実用性に乏しい。
ここで、数値積分の一般論についてごく簡単に説明する。数値積分を実行するにあたっては、様々な数値積分アルゴリズムが知られているが、ほとんどのものは、
Figure 0004443619
という形式を用いて表現することができる。ここで、
Figure 0004443619
である。すなわち、数値積分では、積分領域の中から適当に積分点とそれに関連付けされたウエイトからなる点列
Figure 0004443619
を与え、それらの点における被積分関数の値の適当な加重和により積分の近似値を求めるということになる。したがって、数値積分の精度は
Figure 0004443619
という点列をどのように選ぶかによって決まることとなる。別の言い方をすれば、数値積分アルゴリズムとは、この点列を決めるための手続きを示したものである。
数値積分アルゴリズムの中には、積分領域が有限な場合にしか適用できないものも多い。しかし、実際には無限領域上の積分を数値的に求めたい場合がある。無限領域上の積分を有限領域上の積分で表現する方法として、積分への寄与が小さい領域を無視する方法や、変数変換により積分領域を有限化する方法がある。前者の方法では、積分領域を無視することによる誤差が発生するが、積分領域を有限化することによって精度の高い数値積分アルゴリズムが利用できる場合があり、結果として元の積分領域で考えるよりも高い精度で数値積分を実行できる可能性がある。
モーメント母関数は共通リスク変数に関する積分として書かれており、積分領域はN次元のユークリッド空間全体に及ぶ。しかし、この積分については、共通リスク因子が正規分布に従うことに起因する性質の良い収束因子
Figure 0004443619
が含まれており、数値計算上扱いやすい性質を備えている。実際、この因子が含まれているおかげで、原点から十分離れた領域からの積分への寄与は極めて小さい。このため、数値積分上の積分領域を、原点を含んだ超球や超立方体に限定しても、それによって生じる誤差を極めて小さくすることができる。例えば、原点を中心とした一辺の長さが2aの超立方体上に積分領域を制限する近似:
Figure 0004443619
においては、aを十分に大きく取ることにより、この近似による誤差は任意に小さくすることが可能となる。
また、変数変換によって積分領域を有限化することも可能である。例えば、
Figure 0004443619
という変換を考える。ここでxは積分変数のベクトル
Figure 0004443619
の第j成分である。この変換によって積分領域を[0,1]区間の直積とすることができ、モーメント母関数は次のように表すことができる。
Figure 0004443619
ここで、右辺のpの引数は
Figure 0004443619
というベクトルであり、この右辺に現れるΦ−1は、標準正規分布の分布関数の逆関数である。
ポートフォリオ関数に現れる共通リスク変数に関する積分を数値計算するにあたっては、元の積分の表式に、上述のような何らかの変形を行った上で数値積分アルゴリズムを適用することができる。どのような変形を行ったとしても、数値積分アルゴリズムを用いて得られる式は、
Figure 0004443619
という形で表すことができる。ここで
Figure 0004443619
は積分点であり、wは当該積分点に関連したウエイト値である。積分点は、数値積分アルゴリズムによって決められる積分点から、積分の変形の過程で行った変数変換の式を用いて算出され、共通リスク変数としての意味を持つものである。また、各積分点に関連するそれぞれのウエイト値は、積分点における標準正規分布の密度関数の値と、数値積分アルゴリズムから決定される積分点に付随したウエイト、および、必要に応じて含まれる積分変数の変数変換に伴うヤコビアンの積である。このように、数値積分の方法によって、積分点や積分点に関連するウエイト値の与え方は異なるが、本発明は数25の計算を高速化する手法を提供するため、数値積分の手法によらず適用することが可能である。
モンテカルロ積分とは、積分点を乱数によって選び、すべてのウエイトを一律w=1/Nとする、という手続きで積分を評価するものである。ここで、Nは積分点の数である。モンテカルロ積分は、収束の速度が積分の次元に依存しないという著しい特徴があり、高次元の積分を数値的に求める際にはしばしば有力な選択肢となる。しかしながら、収束速度が遅いため、高い精度で積分値を求めるためには非常に計算時間がかかることが多い。実際にモーメント母関数の表式中の共通リスク変数に関する積分をモンテカルロ積分によって実行する場合、高信頼区間(例えば99.97%)でのVaRを高い精度で算出するためには、最低でも積分点の数を100万個程度以上にする必要がある。積分点およびそれに関連するウエイトを用いてモーメント母関数を表すと、数25となるが、この式に基づいてモーメント母関数を算出する場合、積分点毎に、すべての企業にわたる積を計算する必要がある。銀行全体のポートフォリオに含まれる企業数は典型的には数万から数百万程度であり、モンテカルロ積分によってこのような計算を実行した場合、膨大な時間がかかる。例えば、積分点の数を100万個として100万社のポートフォリオに対して計算するためには、累計一兆回のループ計算が必要になり、このような計算は実用性に乏しい。
本願発明者は、モーメント母関数の計算においてセクターリスク因子を利用し、またそのセクターリスク因子を離散化することにより、与えられた助変数に対するモーメント母関数の値を極めて高速に計算する方法を見出した。具体的には、本実施の形態においては、次の二つのステップにより計算を行う。すなわち、まず離散化評価点におけるセクター別条件付モーメント母関数の値を計算する。ここで、セクター別条件付モーメント母関数は、
Figure 0004443619
により定義される。次いで、その結果を用いて全体のモーメント母関数を近似的に計算することにより、計算を大幅に高速化する。この計算方法をコンピュータによって実施する形態においては、セクター別条件付モーメント母関数の計算と全体のモーメント母関数の計算を分離して、まずセクター別条件付モーメント母関数の計算を各離散化評価点について行い、その結果を記憶手段に記憶しておいて、全体のモーメント母関数の計算ではその記憶手段中のセクター別条件付モーメント母関数のデータを用いる。以下、この計算方法を用いるモーメント母関数の値の算出法について詳述する。ただし、本発明は、ポートフォリオ関数の定義に合致していれば、モーメント母関数以外の関数の計算に対しても適用することができる。例えば、被積分関数が分布関数のラプラス変換である、
Figure 0004443619
の計算にも、本発明を適用することができる。実際、以下の方法でモーメント母関数を計算した後、助変数による除算を行うことによって数28を計算することができる。数値計算上は密度関数よりも分布関数の方が扱いやすいことが多いが、以下では説明を簡単にするため、モーメント母関数の計算方法を例として取り上げる。なお、リスク管理の実務では、セクターの設定にあたって、債務者の業種を用いることが多い。
[モーメント母関数の書き換え]
まず、上記の二つのステップのための準備として、モーメント母関数の書換えを行う。感応度係数はセクターごとに与えられるため、
Figure 0004443619
と書くことができる。この式は、感応度係数が企業ごとに異なる値を取るのではなく、セクターごとに異なる値をとることを表している。
企業iの企業価値Zは、互いに独立な共通リスク因子Xの一次結合によって与えられる単一のファクターYによって表現することができ、
Figure 0004443619
となる。ファクターYはセクターSごとに定められる確率変数であり、セクターリスク因子という。
セクターリスク因子を導入することにより、それぞれのセクターに属するすべての企業の企業価値が、一つの共通因子であるセクターリスク因子によって記述することが可能となる。これは、セクターSに属する企業の条件付デフォルト率が、セクターリスク因子Yの実現値であるセクター変数yにのみ依存することを意味する。このため、以下では企業iの条件付デフォルト率をp´(y)と表す。また、数27に示したセクター別条件付モーメント母関数も、yのみの関数となる。これは、特定のセクターだけに注目すると、損失額分布はワン・ファクターモデルによって完全に記述することができることを意味する。
セクター変数yは共通リスク因子Xの実現値x(一般にはベクトル)によって表現できるので、適当な積分点と積分点に関連するウエイトの列をとることにより、求めるべきモーメント母関数は、
Figure 0004443619
と表現することができる。ここで、セクター変数y は、積分点が与えられると、
Figure 0004443619
という式によって算出することができる。なお、βは数30の第二式によってセクターごとに決まる値であり、xl,jは数26のベクトルの第j成分である。
さらに、次に説明する計算上の工夫によって、十分な精度を保ちつつ本発明が対象とする積分の計算量を大幅に削減する近似計算が可能となる。
[条件付モーメント母関数の計算の高速化]
数値積分を高速化する方法は、大きく分けて2つある。一つは、数値積分アルゴリズムの工夫などによって、少ない積分点においても高い精度で積分値を求めるようにする方法であり、もう一つは、被積分関数の値を算出する計算を高速化し、積分点一つあたりの計算にかかる時間を短縮する方法である。本発明における高速化は、後者の方法によるものを含む。すなわち、本発明のある態様においては、積分点ごとの条件付ポートフォリオ関数の計算を高速化することにより、ポートフォリオ関数に表れる共通リスク変数に関する積分を高速に計算している。このような方法は、多数の積分点を用いた場合にも有効であることから、高次元の積分に対しても適用することが可能となる。
本実施形態におけるモーメント母関数の計算方法について、数式を交えて説明する。まず、セクター別条件付モーメント母関数の計算に用いる離散化評価点を決定する。本実施形態における離散化評価点とは、実数直線上に取られた点のことである。ここで、離散化評価点の個数をNと表す。そして、離散化評価点の集合をGを、G={g,g,…,gNg}(g<g<…<gNg)と表す。この集合Gの決定方法については後ほど述べる。次に、各離散化評価点におけるセクター別条件付きモーメント母関数の値を計算する。すなわち、
Figure 0004443619
を、セクターごとに、全ての離散化評価点に対して計算する。その結果をセクターと離散化評価点に関連付けて記憶装置に記憶する。そして、次の近似式に基づいて共通リスク変数に関する積分の計算を実行する。
Figure 0004443619
つまり、数値積分の過程において現れるセクター別条件付モーメント母関数について、
Figure 0004443619
という置き換えを実施するということである。ここで、g は、上記点列のm 番目の値であり、y は、l番目の積分点から決まるセクターSに対するセクター変数の値である。数34の近似による誤差を少なくするには、g がy の値に近くなるようにm を特定する必要があるが、この特定方法の例については後に述べる。数35の右辺の値は記憶装置に記憶されており、セクターSとm を特定すれば呼び出すことができる。これを用いて数34の計算を進めることにより、積分点毎にセクター別条件付モーメント母関数を計算する必要がなくなり、積分の計算が大幅に高速化される。なお、本実施形態では、全てのセクターについて離散化評価点の集合は同一であるものとして計算方法を示しているが、g をy から決定する処理はセクターごとに行われるため、離散化評価点の集合はセクターごとに異なっていても本発明は実施可能である。例えば、離散化評価点の個数や値がセクター毎に異なっていても、本実施形態と同様の計算方法により、積分計算の大幅な高速化を実現することができる。
上述の計算方法の説明から、モーメント母関数の計算精度が集合Gの取り方およびm の特定方法に依存することが分かる。一般に数値計算においては、計算精度と計算時間はトレードオフの関係があり、どちらか一方を犠牲にした上で他方を改善することは容易である。本発明の大きな特徴の一つは、高い計算精度を保ちつつ、計算時間の大幅な高速化を実現したことである。ここでは、数34式の近似による誤差が十分に小さくできることを示す。まず、g<y <gNgの場合について考える。Nを大きくすれば、離散化評価点を十分に小さな間隔で設定することができる。このように離散化評価点を設定した上で、適切にm を特定すれば、
Figure 0004443619
は必ず一定値以下に収めることができる。
Figure 0004443619
がyに関する連続関数であることから、これは、
Figure 0004443619

Figure 0004443619
にいくらでも近づけることができることを意味する。次にy <gもしくはy >gNgの場合を考える。この場合、数36を一定値以下に抑えることはできない。しかし、Yが標準正規分布に従う確率変数であるため、gを絶対値が十分に大きい負の値とし、gNgを十分に大きな正の値とすれば、このようなセクター変数に対応する積分領域からの積分への寄与は、非常に小さくすることができる。これは、gおよびgNgとして適切な値をとり、十分な精度を持つ数値積分法を用いれば、数35の置換えが数値積分の結果に与える誤差を非常に小さくすることができることを意味している。以上のことから、Nを十分に大きくして適切に集合Gをとれば、数34の右辺は非常によい精度で左辺を近似することができる。
離散化評価点の存在範囲は、セクター変数yが分布する範囲のほとんどをカバーできるように設定する。幸い、セクターリスク因子は標準正規分布に従うため、[−5,5]の区間を取ると、その実現値は99.9999%以上の確率でこの範囲に収まる。これは、有限範囲に分布する離散化評価点gをセクター変数yの代替として用いたとしても、それによって生じる誤差を極めて小さく抑えられることを意味する。また、数34の近似に伴う誤差は、離散化評価点の個数や、有限区間内におけるgの分布によっても影響を受ける。本願発明者の検討では、[−5,5]の区間内に、例えば均等に64個の離散化評価点を取ることにより、十分な精度でリスク指標を算出することができる。また、離散化評価点の数をさらに増やせば、より高精度にリスク指標を算出することができる。本発明は離散化評価点の数を数百個とした場合でも高速に実施することができるため、実用上十分な高い精度を確保することができる。
本実施形態の精度に関する性質について実用上の観点からの検討を行い、以下のように離散化評価点の数や範囲を設定し、セクター変数の積分点の代わりに用いる離散化評価点を特定することによって、十分に高い精度でモーメント母関数を求めることができることを見出している。
(1)点列の個数、N:64個〜256個程度とする
(2)Gのとり方:区間[−5,5]に等間隔にgを配置する
(3)mの決定方法:|y −g|を最小とするmをm とする。
これらの方法を用いると、計算速度についても十分に高速にモーメント母関数を計算することが可能である。また、これらの方法は、積分点の選び方とは無関係であり、任意の数値積分アルゴリズムに対して用いることができる。例えば、共通リスク因子の数が少ない場合には、数値積分アルゴリズムに優良格子点法を用いて計算することができる。また、モンテカルロ積分の手法、すなわち、積分点を乱数によって発生させて数値積分を行うこともできる。なお、上記(2)で用いる区間は標準正規分布に従う確率変数の実現値のほとんどをカバーできるような区間であれば良く、[−5,5]に限定されるものではない。この区間を[Min_g,Max_g]とし、等間隔で離散化評価点を配置する場合、離散化評価点の具体的な値は、
Figure 0004443619
で与えられる。
[ラプラス逆変換の計算過程]
本実施の形態では、上述の計算過程によって算出したモーメント母関数の値を用いて、ラプラス逆変換の計算を行う。この数値計算を効率よく行うために、まずラプラス逆変換の無限区間での積分を無限級数によって表現し、次いで、その無限級数を計算する際に収束加速法を用いる。
[ラプラス逆変換の無限区間での積分]
ラプラス逆変換は、以下のような積分によって行われる。
Figure 0004443619
ここでγは、ラプラス逆変換を行う際の積分経路を決めるパラメータである。この式の積分区間は無限区間であり、無限大を含む遠方の積分区間においても被積分関数が減衰することは期待できない。したがって、数値積分を実行するには工夫が必要となる。
本発明では、ラプラス逆変換に含まれる無限区間を含む積分計算を、まず無限級数によって表現する。そしてその無限級数の計算を実現するために収束加速法を用いる。ラプラス逆変換にあらわれる無限区間を含む積分を無限級数により表現するアルゴリズムはいくつか知られており、ゲイバー(Gaver)法、ポアソン法、ラゲール法、ポスト=ウィッダー(Post−Widder)法などがある。本実施の形態では、特にポアソン法を用いる場合について説明するが、本発明がこれに限定されるものではない。
ポアソン法を用いて、ラプラス逆変換の式を無限級数として近似すると、
Figure 0004443619
となる。ここで、hは積分区間の分割幅である。このポアソン法は、形式的には台形公式と同じであり積分計算を無限級数によって近似するものであるが、その近似の誤差はしばしば非常に小さくなることが知られている。例えば、分布関数のポアソン法による近似
Figure 0004443619
では、0≦t≦2π/hにおける近似誤差はexp(−2πγ/h)/(1−exp(−2πγ/h))で抑えられ、積分区間の分割幅hを小さく取れば非常に良好な近似となる。ただし、この近似誤差は数43の無限級数が正確に計算できると仮定した場合の表式であり、実際の数値計算においては、無限級数を有限項で打ち切ることにより生じる打ち切り誤差も考慮しなければならない。しかしながら、ポアソン法によって得られる無限級数自体の収束は非常に遅いため、打ち切り誤差を十分に小さくするためには、多大な計算量が必要となるという問題がある。このため、更に収束加速法を用いてこの計算の速度を速くする工夫を行う。
[収束加速法]
収束加速法とは、級数を効率よく算出するための計算上の技術である。この収束加速法には様々なものが知られており、代表的なものとしてε法やρ法、QD法などが挙げられる。本実施例では、特にQD法を用いる場合について説明するが、本発明がこれに限定されるものではない。
一般に、無限級数の値を数値的に求めるには、無限級数の各項を数値計算して和をもとめて算出するよりも、無限級数の式を変形して対応する連分数の形式にしてから式の値を算出するほうが、収束が早い。この収束の程度を説明する一例として、arctan(x)を無限級数で表示した
Figure 0004443619
と、連分数で表示した
Figure 0004443619
との二つの表現を用いて、それぞれで4arctan(1)=πの公式によって円周率πの数値計算を行う場合を考える。この例において級数による計算方法を用いると、100万項までの級数の計算を行っても、正確な値となるのは小数点以下5桁までである。これに対し、連分数による計算方法では、10階層まで計算すれば小数点以下6桁まで正確な値が求められる。このように、無限級数による計算において収束が緩慢な場合であっても、連分数による計算では収束が速くなる場合がある。本実施の形態においては、収束を加速させるために連分数の表現の有するこの性質を利用する。
ポアソン法によって無限級数により表現されたラプラス逆変換の公式は、連分数を用い
て、
Figure 0004443619
と表現することができる。ここで、γとhを
Figure 0004443619
と設定すれば(tmaxは正の実数、nは正の整数)、損失額tが区間[0,4tmax]にある場合のポアソン法による分布関数の近似の誤差を10−n以下に抑えることができる。ここで、数46によってラプラス逆変換の値を数値的に求めるためには、数47に現れるtmaxおよびnを決定する必要がある。本願発明者の検討によれば、n=9〜15程度にした上で数47によってγとhを与えれば、ポアソン法とQD法を用いて損失額分布を算出した際の損失額tの区間[0,tmax]における誤差を十分に小さくすることができる。ただし、本発明におけるγとhのとり方は、数47に限定されるものではない。ここで、損失額分布を算出する区間から(tmax,4tmax]を除外したのは、この区間では打切り誤差の影響で誤差が大きくなる可能性があるためである。数47に現れるtmaxについては、密度関数や分布関数の算出範囲に応じて値を設定する。この値を大きくすると計測可能な損失額の範囲が広がる一方で、無限級数の収束速度が遅くなる。このため、tmaxに必要以上に大きな値を用いると、一定の計算精度を達成するために必要な計算量は多くなる。
本実施形態では、無限級数から連分数を求めるために特にQD(quotient difference algorithm)法と呼ばれる手法を用いる。なお、数46において、zにのみ損失額tが表れ、cにtが含まれないことから、連分数の係数aにもtは含まれない。このため、損失額を変更しても効率よく計算を行うことができる。
QD法などによって連分数の係数{a、a、a、・・・}を求めてしまうと、任意の損失額tに対して密度関数の値をよい精度で高速に求めることができる。つまり、損失額tのそれぞれの値に対して
Figure 0004443619
という計算をすればよい。
ここで、QD法とは、連分数展開を行う場合の連分数の係数を求める数学的手法である。具体的には、QD法によれば、
Figure 0004443619
を満たす連分数の係数は、
Figure 0004443619
によって与えられる。ここで、
Figure 0004443619
である。また、連分数の表記にあたって、
Figure 0004443619
との表現を用いている。ここに記載したQDアルゴリズムによる係数の算出手順を図12に示す。この計算手順によれば、連立された漸化式よって順次入力データから出力データの値が決まり、それと数50の式を組み合わせることにより、求めたい連分数の係数が算出されることが分かる。
実際の数値計算においては、連分数は有限の階層で打ち切る必要がある。数50および数51によれば、M個の連分数の係数を算出するためには、M個の級数の係数を初期値として与える必要がある。以下の説明では、級数の計算を打ち切る項数のことをNと表すこととする。上で述べたことから、求める連分数の係数の個数をMとすれば、N=Mである。連分数の方法を用いることにより、N項の和で無限級数を近似するより、遥かに高い精度で無限級数の近似値を求めることができる。一般には、このNを大きくするほど計算精度は高くなるが、一方で計算時間も多くかかることとなる。このため、Nは計算速度と計算精度のトレードオフを考慮した上で決めるべきものである。なお、本願発明者の検討によれば、Nを50から200程度にすれば、十分に高い精度でリスク計測を行うことが可能である。ポアソン法ではcが数46の下段第一式で与えられることから、ポアソン法とQD法を組み合わせてラプラス逆変換を行うためには、N個の異なる助変数の値に対してモーメント母関数の値を求める必要がある。このように、数値的にラプラス逆変換を行うためには、複数の助変数の値に対するモーメント母関数の値を計算する必要があるが、このモーメント母関数の計算は前述したモーメント母関数の高速計算手法を用いて実行する。
QD法によって連分数の係数が算出された後は、数48の右辺の計算を行うことにより、損失額tに対する密度関数の値を求めることができる。この計算に必要となる連分数の評価にあたっては、漸化式を用いる方法が知られている。具体的には、
Figure 0004443619
とするとき、数列{A−1、A、A、・・・、A}および{B−1、B、B、・・・、B}を
Figure 0004443619
によって定めると、
Figure 0004443619
が成り立つ。この方法をモーメント母関数の算出に適用するには、数54の漸化式の計算において、{a、a、a、・・・}としてポアソン法とQD法によって得られた連分数の係数である数50の値を用い、zとして数46の下段の式によって損失額tから決定されるzを用いればよい。このように、連分数の係数が決まれば、連分数の値を求める計算は漸化式による計算に帰着できる。数54や数55の計算は、四則演算のみによって実行可能であることから、連分数の値を求める計算は極めて高速に実行することが可能である。
[密度関数の算出]
以上のようなポアソン法とQD法を組み合わせたラプラス逆変換の計算手法(ポアソン−QD法)は、発案者の名前をとってde Hoogのアルゴリズムと呼ばれている。本願発明者らは、このde Hoogのアルゴリズムを用いて密度関数あるいは分布関数を計算することにより、分布の裾に至るまで高精度に計算できることを見出した。また、この計算手法はパラメータに対する安定性が高く、例えば数46の下段の式のCを打ち切る項数Nを増やしても、突然誤差が大きくなる等の不具合は生じにくいことも確認している。さらに、de Hoogのアルゴリズムでは、ひとたび連分数の係数を求めると任意の損失額に対する確率が即座に計算できるため確率分布全体を非常に高速に算出することが可能である。
前述のモーメント母関数の計算法とde Hoogのアルゴリズムを組み合わせることにより、密度関数を高速に算出することができる。このためには、N個の助変数λ, λ,・・λNk−1に対するモーメント母関数の値を求める必要がある。ただし、λ
Figure 0004443619
で与えられる。N個の助変数λ,λ,・・λNk−1に対するモーメント母関数の値の計算は、単純にモーメント母関数の計算をN回反復することによっても達成することができる。また、数値積分を実行するために必要となるすべてのセクター別条件付モーメント母関数の値を予め計算しておき、一度の数値積分のループ中でN個のモーメント母関数を並行して計算するという手法でも実現可能である。
一度の数値積分のループ中でN個のモーメント母関数を並行して計算する場合、数値積分のループの中で必要となるセクター別条件付モーメント母関数の値すべてを記憶装置に保持する。具体的には、離散化評価点の値ごと、助変数の値ごとに、すべてのセクターのセクター別条件付モーメント母関数の値を記憶する。このためには、記憶装置に、N×N×N個の複素数データを記憶しておく必要があるが、N,N,Nの典型的な大きさが、それぞれ数十から数百程度であることから、これはメインメモリ中に十分に格納できるサイズである。特に、本発明を計算機によって実現しようとする場合、計算過程で必要とされる記憶領域のサイズが債務者数にも積分点の数にも依存しない実装とすることが可能である。このため、債務者数が数百万件から一千万件にのぼる大規模ポートフォリオに対するリスク計測や、積分点の数を百万個以上必要とするような数値積分アルゴリズムを用いた場合にも、装置の構成を変更することなくリスク計測が実施できる。このように、計算過程で使用する記憶領域が少ない実装が可能である点も、本発明の大きな利点の一つである。
QD法によって連分数の係数が求められると、数48にしたがって密度関数の値を算出でき、その密度関数の値を利用して各種のリスク指標を通常の数値計算の手法によって求めることができる。このリスク指標は、例えば、予測損失額などであり、実際のポートフォリオの管理に用いられる数値指標であることから、必要に応じて、表示装置によって表示されて計算手法を実装したコンピュータからユーザーが認識可能な態様で表示されることができる。その際、数値やグラフとして表示されたり、あるいはプリンターなどにプリントされることや、また、後の利用のために適当な記憶手段に格納されることも可能である。したがって、この実施の形態に体現される本発明が十分に役に立つものであることは明らかである。
また、数41を数42によって近似し、数46によって値を求める手法は、密度関数を求める場合以外にも用いることができる。分布関数を求めるには、数42の代わりに数43を用いて同様の計算を実施すればよい。また、後述するVaRベースおよびCVaRベースのリスク寄与度を算出する場合であっても、それぞれに応じた被積分関数を用いて数41に相当する表現が行えるため、これらに合わせて数48までの手法も同様に適用することができる。
[本実施形態の計算法の性質]
以上に示した計算手法の性質を、計算速度と計算精度の点からさらに説明する。まず、計算速度について説明するため、ある与えられた助変数λに対するモーメント母関数の値を計算することを考える。数31に基づいて条件付モーメント母関数
Figure 0004443619
を計算するには、それぞれの積分点について(N−1)回の複素数データの積の計算が必要である。ここで、Nは債務者数(ポートフォリオ全体に含まれる企業数)である。条件なしのモーメント母関数
Figure 0004443619
を算出するためには、さらに共通リスク変数xの空間における積分点に対応したウエイトを掛け合わせて、すべての積分点について和を取る必要がある。これを単純にプログラム化すれば、債務者数Nと積分点の数Nとを用いると、助変数1つあたり、N×N回のループを実行することとなる。
ここで、実際のポートフォリオの場合について考えると、債務者数Nや積分点の数Nはかなり大きな数となり得る。債務者数が数百件程度の小規模ポートフォリオの場合や共通リスク因子の数が数個程度の場合には、このような計算方法でもモーメント母関数の算出は不可能ではない。しかし、現実のポートフォリオを運用する業務において考えた場合、債務者数や共通リスク因子の数に関するこれらの条件は大きな制約となる。実際、銀行全体のポートフォリオを考えると、債務者数Nが数万〜数百万件に達するのが一般的であり、共通リスク因子も十数個から数十個用いられていることが少なくない。このような場合にはモンテカルロ積分が有力な選択肢となるが、モンテカルロ積分で99.97%といった高い信頼区間での信用VaRを精度高く計測するためには、少なくとも100万個程度以上の積分点を用意する必要がある。このため、信用リスク管理の実務においては、数31に基づく計算手法によってモーメント母関数を計算すると計算時間が膨大になり実用性に乏しい。
これらの従来の手法に対し、本実施形態の数34の右辺に基づく近似計算における重要なポイントの一つは、
Figure 0004443619
は積分点に依存せず、離散化評価点を決めれば計算することができる点である。数値計算の観点からは、本実施形態の手法は、積分点についての反復計算の外で数59を予め計算しておいて計算機の記憶手段に保存しておくことが可能になるという利点を有している。このとき積分点に関するループの中では、単にセクターごとにm を特定して
Figure 0004443619
という積を計算するだけである。これはN個の複素数データの積であり、非常に高速に計算することができる。このように、数34に基づいた計算では、債務者に関するループと積分点に関するループとを完全に分離することができ、反復計算の回数を大幅に減らすことが可能になる。実際、ここで述べた方法で計算した場合、助変数1つあたりのループの回数を離散化評価点の数Nとセクター数Nとを用いて見積もると、おおよそ(N×N+N×N)回である。NやNの典型的な値は数十〜数百程度であるため、比較のために例示した上述の例におけるループ回数(N×N)と比較して大幅に計算量を削減し得ることは明らかである。
なお、ラプラス逆変換を実行する段階では、N個の助変数の値それぞれに対してモーメント母関数の値を求める必要がある。このため、密度関数や分布関数を算出するためには、いずれもの方法でも上述のループ回数をN倍した回数のループが必要となる。
次に、本発明の計算精度について説明する。一般に、信用リスク管理においては損失額分布の裾を高精度で求めることが重要であるが、このためには、共通リスク変数に関する数値積分を非常に高精度に実行する必要がある。上記の説明から明らかなように、数31に基づくモーメント母関数の計算と比較して、本発明の手法は積分点一つあたりに必要な計算量が非常に少なくてすむ。このため、積分点の数を大幅に増やした場合でも、計算時間は大きくは増加しない。実際、本実施形態の手法は積分点の数を数百万個とした場合にも十分に高速に実行可能であり、収束が遅いモンテカルロ積分を用いた場合でもモーメント母関数を高精度に計算することができる。モンテカルロ積分は収束が遅い数値積分アルゴリズムであるが、一方で収束速度が積分の次元に依存しないという性質を持つ。このため、数値積分アルゴリズムとしてモンテカルロ積分を採用した場合、計算速度や計算精度の共通リスク因子数への依存性を非常に小さくすることができる。一般に高次元の数値積分を高速かつ高精度に実行することは非常に難しいため、多次元の確率変数ベクトルXの空間で積分を行うことは多大な困難を伴う。本発明の手法とモンテカルロ積分を組み合わせることにより、すなわち、共通リスク変数に関する積分の算出にモンテカルロ積分を用いることにより、マルチ・ファクターモデルにおける高次元積分の困難さをも克服することができる。
さらに、リスク計測で一般的な手法であるモンテカルロシミュレーションと比較して、本発明の計測精度について述べる。モンテカルロシミュレーションでは、乱数で発生させた一組の共通リスク変数に対して、一つの損失シナリオを発生させる。これに対し、本発明の手法では、一組の共通リスク変数(積分点)について、条件付モーメント母関数を計算している。条件付モーメント母関数には、共通リスク変数が与えられた下での条件付損失額分布と同等の情報が含まれていることから、一組の共通リスク変数に対する情報量は本発明の手法の方が圧倒的に多い。このため、モーメント母関数の算出に用いる積分点数と同じシナリオ数のモンテカルロシミュレーションと比較した場合、本発明の手法の方がポートフォリオから発生する損失に関する情報量が多く、より高い精度での計測が可能となる。
加えて、本実施形態の計算手法は、大規模ポートフォリオのリスク計測を実施する場合に、特にメリットが大きい手法である。上述の計算時間に関する説明から明らかなように、本実施形態では、非常に時間がかかる数値積分の計算がポートフォリオの債務者数とは無関係に実施できる。このため、全体の計算時間の債務者数に対する依存性が非常に緩やかであり、大規模なポートフォリオであっても高速に計算を実行することが可能である。これに対し、数25に基づいた計算やモンテカルロシミュレーション法では、全体の計算時間が債務者数にほぼ比例する。このため、ポートフォリオの債務者数が増えるほど、本発明による計算時間の短縮の効果はより大きくなる。
なお、上述のように複素数を用いた数式によって表現されている本発明の手法をコンピュータを用いて実現するために、本発明の各実施形態においては、複素数による数値計算を行う必要がある場合がある。具体的には、複素数の四則演算の処理、および複素数に対する指数関数の値を算出する処理が挙げられる。この際、複素数の実部と虚部はそれぞれが実数で表されるから、複素数の実部と虚部のそれぞれにメモリー領域を確保し、実部と虚部に分けて演算を行うことにより、コンピュータ上で複素数に関する処理を記述することができる。なお、本発明の手法は、コンピュータ上で複素数を扱うその他の方法を用いて実現することもできる。また、本発明の説明に用いた複素数の計算をコンピュータによって実施する際のプログラムミング手法は特定のもの限定されるものではなく、数値計算が実施可能な種々の実装形態、種々のプログラミング手法によって本実施形態を実現することが可能である。例えばC++言語では、複素数型のデータ型を定義し、関数および演算子のオーバーロード機能を利用することにより、複素数に対する処理を実数に対する処理と同じように記述することもできる。
[第2の実施形態]
本発明の他の実施形態においては、ポートフォリオに関する情報からリスク計測を行う上記の過程と同じ工夫が有効な他のリスク指標の計算においても実施できる。このリスク指標として、リスク寄与度を算出する例を以下で説明する。
リスク寄与度とは、
Figure 0004443619
によって定義される数値である。すなわち企業iのエクスポージャEの微小変化に対する信用VaRの変化額の比のことである。ここでVaRがエクスポージャE,E,・・・Eの一次同次関数であることから、同次関数に関するEulerの定理を適用することにより、
Figure 0004443619
が得られる。数62の左辺の和を構成する各項は、個社ごとのリスク量を表していると解釈することが可能である。このため、この量
Figure 0004443619
は個社iのエコノミックキャピタルと呼ばれ、信用リスク管理上、重要な意味を持つ。
以下では、損失額分布の分布関数をF(E,t)と表記する。ただし、tはポートフォリオ全体から発生する損失額であり、Eは企業iのエクスポージャである。ここで、VaRの算出に用いた信頼区間をpとすれば、
Figure 0004443619
が成り立つ。この式をEによって微分することにより、リスク寄与度の表式
Figure 0004443619
を得る。この式の右辺の分子は分布関数の偏微分の形で書かれているが、数28から
Figure 0004443619
のように明示的に書くことができる。ただし、
Figure 0004443619
とした。ここで、数65等を計算するために必要となるVaRの値は、第1の実施形態の手法に基づく分布関数の計算方法によって算出することができる。
ここで、数62及び数65から、
Figure 0004443619
を示すことができる。このため、個社iのエコノミックキャピタルは、
Figure 0004443619
と書くこともできる。
数65の分母は密度関数そのものであるから、実施形態1の方法で計算することができる。また、すべての債務者のリスク寄与度を算出する場合には、数69を用いて計算することもできる。さらに、数66の右辺はラプラス逆変換の形式で書かれており、
Figure 0004443619
の計算方法が与えられれば、実施の形態1に関連して説明したポアソン−QD法(de Hoogのアルゴリズム)等を用いることにより計算することができる。実際、以下に述べるように、数70は非常に高速に算出することが可能である。
本発明のセクターリスク因子の離散化を応用することにより、数70の計算を高速に実行する方法を示す。まず、次の量を定義する。
Figure 0004443619
この量を用いると、数70は、適当なウエイトと積分点の列
Figure 0004443619
を用いることにより、
Figure 0004443619
と表すことができる。ここで、
Figure 0004443619
は企業iの損失生起確率しか含まないため、企業iが属するセクターのセクターリスク因子を通じてのみ共通リスク因子に依存する。このため、次のようにしてセクター変数に関する関数
Figure 0004443619
を定義することができる。なお、数71および数75で表される関数は、リスク寄与度指標関数の例となっている。
上式に現れるセクターリスク変数を離散化して計算を高速化するため、次のような記号を導入する。
Figure 0004443619
すると、数73に対する次の近似式が得られる。
Figure 0004443619
ここで、数77の右辺に現れる
Figure 0004443619
は、数60に現れたm と同じものであり、離散化評価点を特定するためのサフィックスである。これは、高々
Figure 0004443619
個の異なる値しか取らない。リスク寄与度算出を高速化するポイントは、数77の和で
Figure 0004443619
が同一の値をとる項を括ってしまう、ということである。次のような記号を導入する。
Figure 0004443619
これらを用いると、数77の右辺は次のように書き換えることができる。
Figure 0004443619
ところで、
Figure 0004443619
には個別企業を表す添字iは含まれていない。これは、
Figure 0004443619
は企業毎に計算する必要がなく、ポートフォリオに対して一度計算しておけばよいことを意味する。更に言えば、
Figure 0004443619
を計算するために必要な
Figure 0004443619
は、リスク計測時(すなわち、第1の実施形態の実施時)に計算されるものである(数34および数35参照)。このため、
Figure 0004443619
をリスク計測を行う際に同時に計算してメモリーに保存しておくことにより、効率的に数70の計算を実行することができる。
また、数82の右辺で項の数がN個になっており、N回のループで計算できることもこの計算方法の大きな利点である。これに対し、数73に基づいた計算では、積分点数N回のループが必要となる。Nは数万から数百万のオーダーになる可能性がある一方、Nは数十から数百のオーダーであるため、これは計算の高速化の大きな要因となる。このようにループの回数を積分点の数と無関係にできるのは、セクターリスク変数の離散化、すなわち離散化評価点を用いた近似を行ったためである。
これまで述べてきた数70の計算方法とポアソン−QD法(de Hoogのアルゴリズム)を組み合わせることにより、数66を計算することが可能となる。このためには、数56で与えられるN個の助変数λ、λ1、・・λNk−1に対して数70の計算を行い、QD法に用いる係数を求める必要がある。この計算を実行するには、まず、リスク計測時に次の配列
Figure 0004443619
を計算して記憶装置に保持しておく。そして、例えば企業iについての計算を行うには、k=0,1,・・・N−1に対して
Figure 0004443619
を求め、これを用いてQDアルゴリズム数50および数51を実行する。その上で連分数の評価の計算である数54および数55を実行し、数46の連分数の前に現れる係数を掛ければよい。
ここで数88の配列は、N×N×N個の複素数であり、十分にメインメモリ中に格納することができるサイズである。このように数88を保持する記憶装置としてメインメモリを用いれば、高速に配列を呼び出すことができ、計算自体も非常に高速に実行可能となる。さらに、数88の計算量は積分点の数に依存しないため、ひとたびリスク計測時に数88を求めてしまえば、リスク寄与度の算出に必要な計算時間は積分点の数には依存しない。このため、本発明による計算方法を用いると、極めて高速かつ高精度にリスク寄与度を算出することが可能である。
このように、本発明によるリスク寄与度の算出方法は極めて高速であるため、数百万件規模のポートフォリオであっても、すべての債務者に対してリスク寄与度あるいはエコノミックキャピタルを求めることができる。
[第3の実施形態]
本発明のさらに他の実施形態として、CVaRベースのリスク寄与度を算出する計算方法について説明する。CVaRの場合も、数61と類似の表現によって、リスク寄与度が
Figure 0004443619
と表現される。このCVaRベースのリスク寄与度については、モンテカルロシミュレーション法での算出法が知られている。しかし、そのモンテカルロシミュレーション法にしても、特に高い信頼区間でのリスク寄与度を精確に求めるためには莫大な試行回数が必要となるため実務向きの方法ではない。ここでも高速ラプラス変換の方法を用いることにより、高速かつ高精度にCVaRベースのリスク寄与度を算出することが可能となる。
まず、CVaRを次のように書換えておく。
Figure 0004443619
ただし、
Figure 0004443619
である。これにより、
Figure 0004443619
と計算できる。数93の第2行目の右辺の括弧内第2項は、数66と積分のラプラス変換の公式から、
Figure 0004443619
と表すことができる。ここで第二式のLλ −1[・・・]は、括弧内の式をλについてラプラス逆変換することを表す。この括弧内の式は、数66の右辺の被積分関数を助変数λによって割っただけであるから、数94も数66の計算と全く同様に、本発明の計算によって高い精度で高速に計算することができる。
[第4の実施形態:フーリエ変換による実施]
本発明においては、さらなる実施形態として、ラプラス変換の代わりに、フーリエ変換を用いた実施形態も可能である。すなわち、当業者には明らかであるように、確率密度関数をフーリエ変換した特性関数を用いれば、確率密度関数についてラプラス変換を実行することによって示された上記数学的議論が同様に展開できる。確率密度関数以外の損失額の確率分布に関連した関数を算出する場合も同様である。本実施形態においては、上記各実施形態におけるラプラス変換を実行するための処理をすべてフーリエ変換を実行するための処理とし、ラプラス逆変換を実行するための処理を全て逆フーリエ変換を実行するための処理とすることにより処理の流れは同様となる。なお、フーリエ変換においては、ラプラス変換に用いる助変数の代わりに、同様の助変数に虚数単位を乗じたものを用いる。このため、逆変換の積分経路も異なる。これらの違いから、上記各実施形態によって示したラプラス変換に基づく処理とは一部の処理が異なるが、ラプラス変換のための処理をフーリエ変換のための処理とするための変更は当業者には容易である。また、フーリエ変換法に特有の計算上の工夫を行うことも可能である。例えば、逆フーリエ変換を高速に実行するために、バタフライ演算などの高速フーリエ変換の手法を用いることも可能である。以下、特に断りのない記載は、ラプラス変換を用いる実施形態について記載しているが、フーリエ変換を用いる本実施の形態についても同様に当てはまる。
[実施例]
以上に説明した各実施形態の計算手法をコンピュータ上に実装するための具体的手法およびその結果について、以下、図面を参照して説明する。
[実施例1]
実施例1は、本発明の実施の形態を実装する実施例であり、デフォルトモードの場合の実装の態様を示している。しかしながら、特に断りのない限り、MtMモードにも適用可能な特徴が含まれている。図1は、本発明のラプラス変換を用いる実施の形態の実施例において共通に使用されるコンピュータの構成を示すブロック図である。適当なマイクロプロセッサユニット(MPU)などの演算手段102が、メモリーやグラフィックカードや入出力とのインターフェースを提供するブリッジ回路112、114が接続されている。ブリッジ回路112は、十分なバンド幅を有するCPUバス104、106によって演算手段102をメインメモリ108およびグラフィック処理部110に接続する。ブリッジ回路114は、ブリッジ回路112と専用バス116によって接続されて、ブリッジ回路114は、更にハードディスクドライブ118、光学ドライブ120とIDEインターフェースなどのバス132、134によって接続され、USBなどの外部入出力端子122、124とバス136,138によって接続される。音声処理回路128、ネットワークインターフェース130、カードスロット126が、PCIバスなどのバス140によってブリッジ回路114に接続される。
なお、本発明の各実施の形態を実装するためのコンピュータのハードウエア構成は特段この構成に限定されるものではなく、複数のMPUによって連携して演算を行うように構成されていたり、数値演算の形式に併せて専用の数値演算ユニットを一つ以上有していたり、複数の筐体に分かれて互いにネットワークにより接続されているクラスタ構成にされていたりすることができる。なお、本実施例のみならず、本発明全般に、区別して記載された機能手段は、実質的にそのような区別された機能を果たす任意の構成要素によって実現される。このとき、その構成要素が、物理的にいくつの数を有するか、あるいは、複数であり互いにどのような位置関係にあるかなどの機能を果たす上で制限とならない属性によって本発明が制限されることはない。例えば、複数の区別された機能が単一の構成要素によって継時的に異なるタイミングで実行されることも本発明の実施形態として含まれる。
本発明の各実施の形態の機能処理を実装するコンピュータにおいて数値計算をするためのソフトウエア構成は、本発明の各実施の形態の数値情報処理を実現する限り任意の構成とすることができる。そのコンピュータは、基本入出力システム(BIOS)などのハードウエア制御のためのソフトウエアを搭載しており、これと連携して動作し、ファイル入出力やハードウエアリソースの割り振りを担当するオペレーティングシステム(OS)によって管理されている。当該OSは、OSやハードウエアと連携して動作するアプリケーションプログラムを、例えばユーザーからの明示の命令や、ユーザーからの間接的な命令や他のプログラムからの命令に基づいて実行することができる。アプリケーションプログラムは、このような動作を可能とし、OSと関連して動作するように、OSの規定する手続に依存して、あるいはOSに依存しないように適切にプログラムされている。本発明の各実施の形態を実装する場合には、一般に、専用のアプリケーションプログラムの形式で数値計算やファイル入出力等の処理を実装するが、本発明がそれのみに限定されるものではなく、複数の専用または汎用アプリケーションプログラムを用いたり、既成の数値計算ライブラリを部分的に用いたり、他のコンピュータのハードウエアによって処理されるようにネットワークプログラミング手法によって実現されていたり、その他の任意の実装形態によって実現されうる。したがって、本発明の各実施の形態の計算手法をコンピュータ上に実装するための一連の命令を表現するソフトウエアを、単に計算プログラムと呼ぶ。計算プログラムは、コンピュータにより実行可能な任意の形式あるいはそのような形式に最終的に変換可能な任意の形式によって表現される。
本発明の各実施の形態の計算プログラムは、ハードウエア資源であるMPUなどの演算手段が、OSを介してあるいはOSを介することなく計算プログラムからの指令を受け、ハードウエア資源であるメインメモリや補助記憶装置などの記憶手段と協働して、ハードウエア資源である適当なバスなどを通じて演算処理を行うように構成される。つまり、本発明の各実施の形態の計算手法を実現するソフトウエアによる情報処理が、これらのハードウエア資源によって実現されるように実装される。記憶手段あるいは記憶部は、任意の単位によって論理的に区分されているコンピュータが可読な情報記憶媒体の一部または全部またはそれらの組み合わせをいう。この記憶手段は、例えば、MPU内のキャッシュメモリや、MPUと接続されたメインメモリや、MPUと適当なバスによって接続されたハードディスクドライブなどの不揮発性記憶媒体など、任意のハードウエア資源によって実現される。ここで、記憶手段は、MPUのアーキテクチャによって規定されるメモリー内の領域や、OSが管理するファイルシステム上のファイルやフォルダ、同じコンピュータ内やネットワーク上のいずれかのコンピュータにあってアクセス可能なデータベースマネージメントシステム内のリストやレコード、リレーショナルデータベースによって相互にリレーションがある複数のリストで管理されたレコードなど任意の形式によって実現され、論理的に他と区分され、情報を識別可能に少なくとも一時的に記憶または記録できる任意のものを含む。
図2は、上記コンピュータ内において機能的に実現されるラプラス変換を用いるある実施の形態のリスク指標の計算装置300の機能的構成を示すブロック図であり、本発明を実施する態様のひとつとして機能的処理をハードウエアとの関連において具体的に示すものである。複数の企業に対する債権を含むポートフォリオの損失についてのリスク指標計算装置300は、機能手段として、離散化評価点算出部304と、損失指標関数算出部306と、セクター関数データ算出部308と、セクター関数データ記憶部350と、セクター乗算部312と、ウエイト乗算部314と、狭義ポートフォリオ関数算出部316と、ラプラス逆変換部318と、リスク指標算出部320とを含む。なお、ウエイト乗算部314と狭義ポートフォリオ関数算出部316とをあわせてポートフォリオ関数算出部と呼ぶ。実施態様における任意選択として、ポートフォリオ関数データ記憶部360や、パラメータ記憶部370、和データ記憶部380、セクターリスク因子係数算出部302が設けられていても良い。パラメータ記憶部370に記憶されるデータは、例えばキーボード372などの入力装置によってユーザーから受け付けられたり、他の手段によって準備されてパラメータ記憶部370に格納されたりする。また、任意の選択としてパラメータ算出部(図示しない)を用意し、ユーザーから受け付けたデータをで加工した上でパラメータ記憶部370に格納する構成とすることもできる。
損失指標関数算出部306、セクター関数データ算出部308、セクター乗算部312、ウエイト乗算部314、狭義ポートフォリオ関数算出部316、ラプラス逆変換部318、リスク指標算出部320は、それぞれに特有の数値情報処理を実現する機能手段をいい、典型的には、予めそれらの機能手段を実現するためのコンピュータプログラムを格納する記憶手段から、そのプログラムが呼び出され、演算手段にそのプログラムの少なくとも一部がロードされ、そのプログラムが演算手段内のデコーダによってデコードされ、デコーダからの指示に基づいて命令が発行され、演算手段内の実行ユニットによってその命令が実行されることにより、機能的に実現される。演算処理部は、ALU(算術論理ユニット)などの数値演算処理部を用いて構成されることができるが、実装されるアーキテクチャは特定のものには限定されない。そのコンピュータプログラムが実行されることによって、演算装置と記憶手段が協働して実現される各算出部の特有の数値計算が実現されるが、本発明は同等の機能をコンパイルされた実行可能プログラムやプログラム中の関数やプロシージャなどのサブルーチン類、ダイナミックリンクライブラリなどの動的にリンクされる計算モジュールによって実現されるものを含み、また、同等の機能をハードウエアによって実現する任意の特定目的のプロセッサ、ASIC(特定用途向け集積回路)やDSP(デジタル信号プロセッサ)、または、FPGA(Field Programmable Gate Array)などを一部にあるいは全部に含むものを含むことができる。
パラメータ記憶部370に記憶されるデータは、他の機能手段によって計算に用いられるデータである。そのデータとしては、ラプラス逆変換の計算に用いられる助変数の値を決めるためのパラメータや、離散化評価点の決定に必要となるパラメータ、級数の係数の算出数を決めるパラメータ、リスク指標の算出に用いられるパラメータ、などが挙げられる。本発明を実施するために必要となるパラメータは、ラプラス逆変換を級数近似する方法や収束加速法、計算するリスク指標、あるいは他の機能手段の実施方法によって異なる。パラメータ記憶部370には、本発明の実施態様に応じて必要となるパラメータを格納する。他の機能手段は、必要となった時点でパラメータ記憶部370からパラメータを呼び出す。パラメータ記憶部370は、メインメモリ108中の所定の領域またはハードディスクドライブ118においてOSにより管理されるファイルにより実現される。
本発明を実施するにあたって、パラメータ記憶部370に記憶されるデータを与える手段は、特定の方法に限定されない。例えば、計算過程で必要となるパラメータを外部ファイルとして用意しておき、それを読込む構成とすることもできる。また、キーボード372によってユーザーがパラメータを入力もしくは選択する構成とすることもできる。さらに、キーボードで入力された数値から、計算に必要となるパラメータをパラメータ算出部(図示しない)において算出する構成とすることもできる。さらに、これらの方法のうちいくつかを組み合わせてパラメータを与える構成とすることもできる。
本実施例において、パラメータ記憶部370に記憶されるデータの例として、ラプラス逆変換の計算に用いる助変数の集合{λ}およびその個数N、離散化評価点の決定に用いるパラメータであるMax_g(離散化評価点の最大値)、Min_g(離散化評価点の最小値)およびN(離散化評価点の個数)、算出対象とする損失額の集合{t、t、・・・、tNT}およびその個数を特定するパラメータであるNT、などが挙げられる。また、リスク指標としてVaRを算出する場合には、追加のデータとして信頼区間pが記憶される。さらに、計算に利用するラプラス逆変換法や数値積分法によって、追加のデータが記憶されることもある。例えば、ラプラス逆変換法にポアソン法とQD法を用いる場合、ラプラス逆変換の計算に用いるパラメータγおよびh(数47)、算出する損失額の最大値tMAXが記憶される。このうちγおよびhについては、キーボードからtMAXとnを入力し、パラメータ算出部で数47にしたがって算出した上でパラメータ記憶部370に格納する構成とすることができる。また、ポートフォリオ関数を算出する際の数値積分法としてモンテカルロ積分を用いる場合、積分点発生に必要となる積分点数Nおよび乱数シードrsが記憶される。なお、本実施例においては、ポートフォリオ関数を逆変換した関数は、損失額分布の密度関数や分布関数のような損失額の関数であるとしている。
セクターリスク因子Yは、複数の企業価値に影響する少なくとも一つの共通リスク因子Xの一次結合として表される。セクターリスク因子Yを定義するための係数α(数30下段)は、他の手段を用いて予め計算されて、あるいは、任意選択としてセクターリスク因子係数算出部302によって、セクターごとに与えられる。係数αはセクターごとに異なる値の組であるため、セクターリスク因子は、セクターを定めれば一つに決まる(数30下段第二式、Yの表式参照)。本実施例では、予めセクターごとに感応度係数が計算されて記憶手段に格納されており、それが呼び出される構成としている。記憶手段に格納されているデータの例としては、共通リスク因子に対する各セクターの感応度係数(数30下段、α)のデータが挙げられる。図13にこの例を示す。また、別の実施態様として、セクターリスク因子係数算出部302が備えられている構成とすることもできる。この場合、セクターリスク因子係数算出部302は、セクター別の株価インデックスの時系列データやセクター別のデフォルト率の時系列データなどを入力データとして、主成分分析等の統計分析を実施することにより、図13と同様のデータを算出する。
図13にはセクター番号またはセクターIDによって区別される各セクターに対して、そのセクターにおいて用いられるセクターリスク因子Yを共通リスク因子Xから生成するための係数(感応度係数)が与えられている。
離散化評価点算出部304は、パラメータ記憶部から離散化評価点の決定に必要なパラメータを呼び出して離散化評価点の集合Gを定める。離散化評価点の集合Gは、計算の過程でセクター変数yの代替として用いられる有限個の点列である。本発明で用いることのできる離散化評価点Gの決定方法は、特定方法に限定されるものではない。例えば、離散化評価点算出部304の処理を、パラメータ記憶部370から離散化評価点の最大値Max_g、および最小値Min_g、離散化評価点の個数Nを呼び出し、数40によって離散化評価点の値を算出する処理とすることができる。なお、具体的な数値として、Min_g=−5、Max_g=5として、Nを64から256程度の整数値とすれば、高精度にリスク指標を算出することができる。なお、本実施例では、全てのセクターについて離散化評価点の集合は同一であるものとして計算方法を示しているが、離散化評価点の集合がセクターごとに異なるものとしても本発明は実施可能である。
ポートフォリオ関数を高精度に計算するために必要となる積分点の数は数百万個に達することがあるが、本発明で十分な精度を実現するために必要となる離散化評価点の数は、数十〜数百程度である。このため、セクター変数yの代替として離散化評価点を用いることにより、計算機の記憶領域などのリソースを節約することができ、大幅な計算の高速化が可能である。なお、上記のセクターリスク因子係数算出部302の場合と同様に、本実施形態のリスク指標の計算装置300においては離散化評価点算出部304が備えられているが、本発明はそのような離散化評価点算出部304が用いられる場合に限定されない。例えば予め離散化評価点が計算されて記憶手段に格納されており順次呼び出されるように構成する実施態様も本発明の実施態様となり得る。
損失生起確率は、リスク計測期間終了時点における企業価値の確率分布と、損失に対する認識を反映した判定基準に基づいて算出される。ある企業の企業価値は、当該企業が属するセクターリスク因子を用いて書けることから、セクターSに属する企業の損失生起確率はセクター変数yの関数となる。判定基準については、本実施例のデフォルトモードの場合、判定基準については数7のCによって与えられ、損失生起確率は数31第三式によって与えられる。ここで数7の右辺の引数であるPDは、企業iの平均デフォルト率であり、企業iが属する格付のデフォルト発生率の時系列データなどから算出されるものである。なお、後述するMtMモードの場合には、一期間における平均格付推移確率の情報から判定基準が算出される。判定基準の算出に必要なこれらの情報は予め準備されていて、損失指標関数算出部306に入力として与えられる。本実施例においては、平均デフォルト率は企業ごとではなく、各企業が属する格付ごとに決まる値としている。ただし、本発明は企業ごとに平均デフォルト率が与えられる場合にも実施可能である。損失認識にあたり、デフォルトのみを考慮する本実施例のデフォルトモードと、比較のため、格付も考慮するMtMモードのそれぞれの場合について、本実施形態で利用する入力データを図15に示す。図15(a)は、デフォルトモードにおいて利用される平均デフォルト率データの例を示し、各欄は、リスク計測期間における格付別の平均デフォルト率を示す。格付番号は、コンピュータ内で格付を識別するために使用され、格付IDは、格付を識別するための任意の識別符号であり、例えば金融機関がその組織内で利用している任意の識別符号とすることができる。図15(a)によれば、例えば、Dの格付IDに分類される企業は、リスク計測期間中にデフォルトとなる確率が0.65%であることを示している。このように、どの格付IDの企業がどれだけのデフォルト確率を有するかは、データとして与えられる。なお、図15(b)は、後述するMtMモードにおいて利用される平均格付遷移確率を示している。
ポートフォリオ関数は助変数の関数であり、ポートフォリオ関数算出部によって得られるポートフォリオ関数のデータは、助変数の値に対応して算出される。本実施例では、ラプラス逆変換部318の処理において、助変数の集合{λ}の各要素に対応したポートフォリオ関数のデータが用いるが、以下で述べる損失指標算出部306から狭義ポートフォリオ関数算出部316の説明においては、集合{λ}のある要素λ´に対応したポートフォリオ関数のデータを算出する処理について述べる。
損失指標関数算出部306は、損失生起確率と、助変数に企業のエクスポージャを乗じた値の指数関数とを用いて企業ごとに定められる損失指標関数のデータを算出する。ここで、セクターSに属する企業の損失生起確率はセクター変数yの関数であるから、その企業の損失指標関数もセクター変数yの関数である。損失指標関数算出部306では、パラメータ記憶部から助変数の集合{λ}の要素であるλ´および離散化評価点算出部304によって得られた離散化評価点の集合{g}が入力され、企業ごとに、各離散化評価点に対し、助変数の値がλ´であり、セクター変数の値が当該離散化評価点の値である場合の損失指標関数の値を算出する。本実施例のデフォルトモードの場合、損失生起確率は数31の第三式によって与えられるため、その計算にあたっては標準正規分布の分布関数の逆関数の計算を行う必要があるが、損失指標関数算出部306は、この計算を実行することができるようなサブルーチン又はモジュールを含む。また、損失生起確率を求めるためには、企業ごとに、その企業がどこのセクターに属するかを示すデータ、セクターごとの感応度係数を与えるデータ、その企業のエクスポージャ、およびその企業の平均デフォルト率に関するデータが必要となる。損失指標関数算出部306には、これらのデータが入力情報として与えられる。図14に企業ごとに与えられる情報の例を示す。企業(債務者)ごとに、その企業が属する格付およびセクターがデータとして与えられ、さらに、その企業がデフォルトとなった場合の損失額(エクスポージャ)も与えられる。この表における格付IDから、図15に示したデータを用いて、各企業の平均デフォルト率の情報が得られる。また、セクター別に感応度係数を与えるデータの例を図13に示す。図14におけるセクターIDとこのセクター別感応度係数の情報によって、各企業の感応度係数が特定される。なお、エクスポージャの代わりに取引残高とデフォルト時損失率を入力情報とし、取引残高とデフォルト時損失率からエクスポージャを算出する構成とすることもできる。
なお、本実施例のように格付別に平均デフォルト率が与えられている場合、セクター変数の値が与えられた下では、同一セクターに属する同一格付の企業の損失生起確率はすべて同じ値となる。これは、セクターごと、格付ごと、離散化評価点ごとの損失生起確率のデータを算出しておけば、上述の計算に用いる損失生起確率は、必ずこのどれかの値と一致することを意味する。このため、格付を通じて平均デフォルト率を与える場合には、計算装置300の構成に損失生起確率データ算出部(図示しない)および損失生起確率データ記憶部(図示しない)を追加し、上述の損失生起確率のデータを記憶させる構成とすることもできる。この場合、損失生起確率データ算出部には、図13に示したセクター情報、図15に示した格付別デフォルト率情報、および離散化評価点算出部304によって得られた離散化評価点の集合{g}が入力データとして与えられる。このような構成とすることにより、企業ごとに損失生起確率の計算を行う必要がなくなり、損失指標関数の計算をより高速に実行することが可能となる。
セクター関数データ算出部308は、損失指標関数算出部306によって算出された損失指標関数のデータを、セクターごと離散化評価点ごとに、セクター内の全ての企業について乗算する処理を行う。その結果を用いて、各セクターについて、離散化評価点gごとにセクター関数データの値が算出される。例えば損失指標関数が企業ごとの条件付モーメント母関数(数31第二式の右辺の中括弧内)であれば、数31の第二式で定義されるセクター別条件付モーメント母関数が、すべての離散化評価点gに対して算出される。
セクター関数データ記憶部350は、セクター関数データ算出部308によって算出されたセクター関数データの値を、セクターSと離散化評価点gとに対応させてデータとして記憶する。ここで、一例として、セクター関数データ記憶部350は図1のメインメモリ108中の所定の領域またはハードディスクドライブ118においてOSにより管理されるファイルにより実現されることができる。セクター関数データ記憶部350をハードディスクドライブ118のファイルによって構成する場合には、図1に示したように、各セクターS、各離散化評価点gに対応してセクター関数データの値が格納される。なお、図では、gの値そのものを明示して例示しているが、離散化評価点gはサフィックスmを指定することにより特定されるため、mの値とともに格納されていてもよい。またセクターS、離散化評価点g(またはサフィックスm)との対応付けが可能な他の態様によって格納されて実現されることもできる。
本発明を実施するにあたっては、必ずしも全ての企業に対して損失指標関数のデータを算出した上でセクター関数データ算出部の処理を行う必要はなく、企業ごとに、損失指標関数のデータの算出とセクター関数データ算出の処理を行っていく実施態様とすることも可能である。このためには、損失指標関数のデータの算出処理を行う前に、セクター関数データ記憶部350にセクターと離散化評価点に対応したセクター関数データの記憶領域を確保し、全てのセクター関数データの値を実数値の1に初期化しておく。その上で、一つの企業に対する処理として、全ての離散化評価点に対して損失指標関数のデータを算出し、離散化評価点ごとに、当該企業のセクターと当該離散化評価点に対応するセクター関数データに、当該離散化評価点に対応する損失指標関数のデータを乗算する処理を行う。この処理を全ての企業に対して行うことにより、全てのセクター関数データを算出することができる。このような実施態様では、全ての企業の損失指標関数の値を記憶する必要がなく、処理過程で利用するメモリー等の記憶領域を少なくすることができる。なお、ここで示した例では、セクター関数データ算出部から損失指標算出部が呼び出されて計算が行われることとなるが、このような処理方法も本発明の実施態様となり得る。
セクター関数データ記憶部350を用いることにより、後の計算においては、セクターSと離散化評価点とを指定するだけで、損失指標関数算出部306とセクター関数データ算出部308とによって予め算出されたセクター関数データの値を得ることができ、その都度新たな計算を行う必要がなくなる。ここで、このセクター関数データの値を得るためには、セクター関数データ算出部308による計算を、セクターSの数Nと離散化評価点の集合{g}の元の数Nとの積の回数だけ行う。損失指標関数算出部306におけるセクターごとの計算では、各セクターについてそのセクターに属する企業数だけの計算が実行されるため、セクター関数データ記憶部350に必要な値が格納されるまでには、結局、企業の数Nと離散化評価点の集合{g}の元の数Nとの積の回数の計算が実行される。
セクター乗算部312は、各積分点について、セクターSごとに、当該積分点に対応したセクター変数y (数32、なおβは数30第二式より算出)に対応する離散化評価点g を離散化評価点の集合から特定し、当該セクターおよび特定された当該離散化評価点に対応するセクター関数データをセクター関数データ記憶部から呼び出し、全セクターのセクター関数データを乗じる処理を行う。その結果を用いて、積分点ごとに条件付ポートフォリオ関数の近似値が算出される。例えば、セクター関数がセクター別条件付モーメント母関数(数31第二式)であれば、積分点ごとに、数34の右辺中の積の値が算出される。ここで、本発明の計算手法によらない場合には、各積分点についてセクター変数の値y に対するセクター関数データを算出する必要がある。しかし、本実施の形態では、このような計算を毎回繰り返さず、予めセクター関数データ記憶部350に格納しておいた各離散化評価点におけるセクター関数データを用いることにより、極めて高速な計算を可能にしている。予め記憶手段に格納されたセクター関数データは、損失指標関数の離散化評価点における値から算出されるため、セクター変数が離散化評価点と一致する場合以外は、セクター変数と離散化評価点が完全には一致しないことから生じる若干の誤差を含む近似値である。ただし、この近似による誤差は、離散化評価点の集合{g}の設定とセクター変数y に対応する離散化評価点g の特定を適切に行えば、十分に小さくすることができる。
セクター乗算部312には、積分点に関する情報が入力として与えられる。本発明は、積分点や積分点に関連するウエイトを算出する数値積分アルゴリズムとして、任意のものを用いて実施することができる。無論、算出されるリスク指標の精度は選択した数値積分アルゴリズムに依存するが、例えば数値積分アルゴリズムにモンテカルロ積分を用い、積分点の数を100万個以上とすれば、非常に精度高く各種リスク指標を算出することが可能である。また、本発明においては、積分点や積分点に関連するウエイトの情報を与える手段は、特定のものによらない。例えば、積分点と積分点に関連するウエイトを同時に外部ファイルから読込む構成とすることができる。このような構成では、外部ファイルを変更することにより、任意の数値積分アルゴリズムで発生させた積分点とそれに関連するウエイトを用いて、セクター乗算部312およびウエイト乗算部314の処理を実行することが可能となる。図16は、外部ファイルから読込む積分点情報の例を示す。図16において、積分点番号とは、積分点を特定するサフィックスlに対応する整数を示している。また、ウエイトは積分点に関連するウエイト値を示す。また、最上段に示された共通リスク因子IDに対応付けることにより、積分点番号ごとに各共通リスク変数の値が与えられている。この他、セクター乗算部312の内部に積分点を発生させるモジュールを組み込んでおき、そのモジュールと協働してセクター乗算の処理を実行する構成とすることも可能である。このような構成では、積分点を発生するためにいくつかのパラメータが必要となるが、それらのパラメータはパラメータ記憶部に記憶しておき、セクター乗算部312の処理を実行する際に呼び出される。例えば、数値積分アルゴリズムとして優良格子点法を用いる場合には、積分点の個数と優良格子ベクトルのデータをパラメータ記憶部に与えておき、これを呼び出すことによって積分点の算出を行う。
ここでは、数値積分アルゴリズムとしてモンテカルロ積分を用いる場合のセクター乗算部312での積分点およびウエイトの算出処理について説明する。まず、共通リスク因子の数N個の一様乱数を発生させ、これを標準正規分布の分布関数の逆関数で変換したものを各共通リスク変数とすることにより、積分点を決定する。この際、セクター乗算部312はメルセンヌ・ツイスター法によって一様乱数を発生するモジュール、および標準正規分布の分布関数の逆関数値を算出するモジュールを含む構成とすることができる。また、積分点に関連したウエイトは全ての積分点に対してw=1/Nとする。ここでNは積分点の数である。ウエイトの計算および正規乱数の発生にあたっては、パラメータ記憶部370に記憶されている積分点の数N、および乱数のシードrsのデータを用いる。また、共通リスク因子の数Nは、図13に示したセクター情報から得られる。
セクター乗算部312では、積分点ごとに決まるセクター変数の値から、セクター関数データを呼び出す際に用いる離散化評価点g を特定する処理も行われる。セクター変数y に対するセクター関数の値を用いて計算すべきところを、g に対するセクター関数データで置き換えることによって生じる誤差を小さくするためには、g はy の十分近くに存在する必要がある。本発明は、離散化評価点g を特定する方法は、特に限定するものではない。例えば、|y −g|を最小とするmをm として{g}からg を選ぶ実施態様とすることができる。このような特定方法を用いることにより、離散化評価点の間隔が十分に小さくなるよう離散化評価点の集合を決定しておけば、上述の置換えによって生じる誤差も十分に小さくすることが可能である。なお、セクター関数データが、離散化評価点の値ではなく離散化評価点を特定するサフィックスmと対応付けてセクター関数データ記憶部350に記憶されている場合には、g ではなく、m を用いてセクター関数データの呼び出しが行われる。
ウエイト乗算部314は、サフィックスlによって特定される積分点ごとに、条件付ポートフォリオ関数の近似値をセクター乗算部312から得て、当該積分点に関連するウエイト値wを乗じる処理を行う。これにより、重み付けデータが得られる。例えば、セクター関数がセクター別条件付モーメント母関数(数31第二式)の場合、重み付けデータは、数34の右辺の和の各項となる。
狭義ポートフォリオ関数算出部316は、ウエイト乗算部314で算出された重み付けデータを全ての積分点について合算する処理と、当該合算値とポートフォリオ助変数関数のλ´における値との積を算出する処理を行う。合算の処理は、全ての積分点の重み付けデータを算出した後に総和を取る処理としてもよいし、予めポートフォリオ関数データを記憶する領域を確保して0に初期化しておき、積分点ごとに、セクター乗算部312の処理とウエイト乗算部314の処理を行って重み付けデータを算出し、ポートフォリオ関数データの記憶領域のデータに、当該重み付けデータを加えていく処理としてもよい。後者の場合にはポートフォリオ関数算出部からセクター関数データ算出部が呼び出されて処理が進むが、このような処理方法も本発明の実施態様となり得る。助変数の値をλ´としてポートフォリオ助変数関数の値を算出し、当該合算値に乗じることにより、λ´に対応したポートフォリオ関数データが算出される。ポートフォリオ関数は、例えばポートフォリオ全体のモーメント母関数(数13)や、損失額分布の分布関数をラプラス変換した関数(数28)とすることができる。なお、モンテカルロ積分のように、全ての積分点のウエイトが等しい場合には、ウエイト乗算部314の処理を行わずに、ポートフォリオ関数算出部316で全ての積分点に対するセクター関数データを合算した後に積分点の数Nで除算を行って得られる値に、ポートフォリオ助変数関数のλ´における値との乗算を行うことによって、ポートフォリオ関数のデータを算出する処理とすることもできる。
以上で述べた処理によって、助変数λ´に対応したポートフォリオ関数のデータが算出される。ポートフォリオ関数のラプラス逆変換を数値的に計算するためには、助変数の集合{λ}の全ての要素に対応するポートフォリオ関数のデータが必要となるが、上述の処理をλ´の値を変えながら実行することにより、そのデータを算出することができる。また、本発明のある実施態様では、助変数の集合{λ}の全ての要素に対するポートフォリオ関数のデータを並行して算出する処理とすることもできる。このような実施態様の例については、実施例2、実施例10、実施例11、および実施例12で示す。
ポートフォリオ関数データ記憶部360は、ポートフォリオ関数算出部316によって算出されたポートフォリオ関数のデータを、助変数λの値もしくは助変数を特定するサフィックスkに対応させてデータとして記憶する。ここで、一例としてポートフォリオ関数データ記憶部360は図1のメインメモリ108中の所定の領域またはハードディスクドライブ118においてOSにより管理されるファイルにより実現されることができる。
ラプラス逆変換部318は、ポートフォリオ関数データ記憶部360に記憶されたポートフォリオ関数データに基づいて、助変数λについての積分の数値計算を行う。ここで、助変数についての積分の計算は、ある関数についてのラプラス変換の値から元の関数を導くラプラス逆変換の処理において必要な計算であり、元の関数が確率密度関数である場合には数41により与えられる。これにより、例えば、確率密度関数や分布関数などの確率分布を反映する関数の形式で、損失額についての確率分布が求められる。
ポアソン法とQD法に基づいてラプラス逆変換部318を構成する場合の処理について述べる。この場合、ラプラス逆変換部318は、ポートフォリオ関数のデータから連分数の係数を算出する連分数係数算出部318A、連分数の係数と損失額から連分数の値を算出する連分数評価部318B、および逆変換関数算出部318Cを備える。ポートフォリオ関数のラプラス逆変換の積分をポアソン法により近似する場合、近似無限級数の係数は、数56によってγおよびhから算出される助変数λにおけるポートフォリオ関数の値によって表現される。このため、連分数係数算出部318Aには、数56に従う助変数の集合{λ}の各要素に対応したポートフォリオ関数のデータが入力される。連分数係数算出部318Aで行われる処理は、QD法(数50および数51)によって、入力されたポートフォリオ関数のデータから連分数の係数を算出することである。例えば、ポートフォリオ関数がモーメント母関数の場合、数46の最下段の式によってポートフォリオ関数データから級数の係数cを算出し、それらを数51の第二式に代入した上で数51の漸化式の演算を実行し、数50に示される連分数の係数の値を算出する処理が行われる。次に、連分数係数算出部318Aにより算出された係数は、連分数評価部318Bが受け取って連分数の値の算出に用いられる。連分数評価部318Bでは、パラメータ記憶部370から損失額の集合{t、t、・・・、tNT}の各要素を順次呼び出し、数46下段の式によって損失額からzを算出し、連分数係数算出部318Aにより算出された係数を用いて数54の漸化式および数55の計算を行い、各損失額に対応した連分数の値を算出する。最後に、連分数評価部318Bで算出された連分数の値を逆変換関数算出部318Cが受取って、ポートフォリオ関数を逆変換した関数の、各損失額における値の近似値が算出される。逆変換関数算出部318Cで行われる処理は、数48において、中括弧の前に掛かる係数を算出し、連分数評価部318Bで算出された連分数の実部の値との乗算を行うことである。
なお、連分数係数算出部318Aおよび連分数評価部318Bの処理で用いられる演算は四則演算のみであり、非常に高速に実行可能である。また、逆変換関数算出部318Cの処理も、初等関数の計算と四則演算に帰着できるため、極めて高速に実行可能である。このため、ラプラス逆変換部318の演算は、全体としても非常に高速に実行することが可能である。
ポアソン法によって得られるラプラス逆変換の近似級数の係数には、損失額tの値は含まれない。このため、連分数係数算出部で係数を算出した後、複数の損失額tの値に対して連分数評価部318Bおよび逆変換関数算出部318Cを繰り返し動作させることにより、数48に従って、異なる損失額tに対して、確率密度関数や分布関数などのリスクに関連した関数の値を算出することが可能である。また、連分数係数算出部によって得られた連分数の係数のデータを記憶装置に保存しておく構成とすることも可能である。このような構成にすることにより、記憶装置から連分数係数を呼び出して連分数評価部318Bおよび逆変換関数算出部318Cのみを動作させて、任意の損失額に対するポートフォリオ関数のラプラス逆変換の値を算出することができる。
なお、ポアソン法以外の方法によって得られるラプラス逆変換の近似級数を利用する場合、当該級数の係数には損失額tの値が含まれることがある。こうした近似級数を与える例としては、Gaver法が挙げられる。このような場合、算出対象とする各損失額に対して、ラプラス変換に必要となる助変数の値をパラメータ記憶部370に記憶しておく。そして、損失額ごとに、各助変数に対応したポートフォリオ関数データの算出とラプラス逆変換の処理が行われる。
リスク指標算出部320は、ラプラス逆変換部318によって算出された、損失額の集合{t、t、・・・、tNT}に対応したリスクに関連した関数のデータから、ポートフォリオの損失についてのリスクを示すリスク指標を算出する。ここで算出されるリスク指標は必ずしも一種類に限らず、複数のリスク指標が算出されたり、あるいは上記実施形態によって算出されたリスク指標を用いて更なるリスク指標を算出することも含む。また、計算の内容によっては、損失額tを決定したい場合がある。この例としては、信頼率pが与えられた場合にVaRを求める計算があげられる。このような場合には二分法等の収束計算が有効であるが、実装上、リスク指標算出部320の計算結果に応じて再びラプラス逆変換部318を動作させるために、リスク指標算出部320からラプラス逆変換部318を呼び出すように構成することも本実施形態においては可能である。
上述の本発明の実施の形態は、本発明の範囲内において様々なリスク指標の計算に合わせて変形することができる。その変形の実施例について以下説明する。
[実施例2]
実施例の一つとして、助変数の集合{λ}の全ての要素に対するポートフォリオ関数のデータを並行して算出することができる。この場合、損失指標関数算出部306では、企業ごとに、各助変数および各離散化評価点に対して損失指標関数のデータを算出することができる。また、セクター関数データ算出部308では、助変数ごと離散化評価点ごとにセクター関数データを算出し、セクター関数データ記憶部350に、セクターSと離散化評価点gとに加えて、ラプラス変換の助変数λの各値にも対応させてデータとして記憶することができる。さらに、セクター乗算部312では、助変数の各値に対して、全セクターについてセクター関数データを乗じる処理を行って、助変数ごとの条件付ポートフォリオ関数の近似値を算出することができる。さらに、ポートフォリオ関数算出部316では、助変数ごとの条件付ポートフォリオ関数の近似値を用いて、助変数ごとのポートフォリオ関数のデータを算出する処理を行うことができる。ラプラス逆変換部318では、助変数ごとのポートフォリオ関数のデータを用いてラプラス逆変換の数値計算を実行することができる。
なお、この実施例においても、全ての企業に対する損失指標関数のデータを算出した後にセクター関数データの算出を行う必要はなく、企業ごとに損失指標関数の算出とセクター関数データとの乗算を行う方法で実施することも可能である。また、全ての積分点に対して助変数ごと条件付ポートフォリオ関数のデータを算出した後で助変数ごとポートフォリオ関数の算出を行う必要はなく、積分点毎に、助変数ごと条件付ポートフォリオ関数の算出と助変数ごとポートフォリオ関数の合算を行う処理とすることもできる。本発明をこれらの処理方法を用いて実施することにより、使用する記憶領域が減らせると同時に、無駄な反復計算を避けることができ、通常のデスクトップのコンピュータでも、企業数が数百万件に及ぶ大規模ポートフォリオのリスク指標を高速に算出することが可能となる。
[実施例3]
実施例の一つとして、損失指標関数算出部306が計算する損失指標関数を、企業ごとの条件付モーメント母関数(数31第二式の右辺の中括弧内)とし、セクター関数データ算出部308で計算するセクター関数をセクター内の全ての企業にわたる損失指標関数の積であるセクター別条件付モーメント母関数(数31第二式)とし、セクター乗算部312が計算する条件付ポートフォリオ関数を、全てのセクターにわたるセクター関数の積である条件付モーメント母関数とし、ポートフォリオ関数算出部が計算するポートフォリオ関数をポートフォリオ全体のモーメント母関数(数67)とすることができる。この場合、ラプラス逆変換部318において算出される、ポートフォリオ関数をラプラス逆変換した値は、損失の確率分布を与える確率密度関数(数41)のデータとなる。そして、リスク指標算出部320は、この確率密度関数のデータに基づいてリスク指標を算出する。このリスク指標は損失についての確率密度関数から算出可能な様々なものを選ぶことができる。なお、この例では、ポートフォリオ助変数関数は恒等関数となっている。
例えば、リスク指標を予測損失額とすることができる。この場合、リスク指標算出部320は、密度関数から損失額の期待値を算出して予測損失額を得る。
[実施例4]
ここで、ポートフォリオ助変数関数を1/λとし、その他の処理は実施例3と同じものとした実施例も可能である。この実施例では、ラプラス逆変換部318において算出される、ポートフォリオ関数をラプラス逆変換した値は、損失の確率分布の分布関数(数43)のデータとなる。そして、リスク指標算出部320は、この分布関数のデータに基づいてリスク指標を算出する。このリスク指標は損失の確率分布の分布関数から算出可能な様々なものを選ぶことができる。
[実施例5]
他の一例として、リスク指標に所定の信頼区間に対応する信用VaR額を含むことができる。信用VaR額とは、分布関数の値が所定の値(信頼区間)となる損失額のことである。例えば、予め決められた損失額に対して分布関数の値を計算しておき、それを適切に補間することにより信用VaR額を求める事ができる。また、分布関数は単調増加関数であるため、二分法等の反復計算によって、分布関数の値が信頼区間に一致する損失額を探索し、信用VaR額を求める事もできる。いずれの場合も、ラプラス逆変換部318において算出される分布関数のデータを用いて信用VaR額を算出することができる。
[実施例6]
また、他の例として、分布関数を用いる実施形態において、ウエイト乗算部314が、数34の右辺の算出結果を得る処理に追加して、得られた算出結果を、セクターSごとにセクター乗算ステップで特定された離散化評価点g と当該セクターSとに対応付けて、セクター別離散化評価点別に、全ての積分点にわたって和P (数81第二式)をとる第1の追加計算処理部である和データ算出部314Aを備えることができる。また、和データ算出部314Aで算出された和データP をセクターSおよび離散化評価点gに対応付けて記憶する追加の記憶装置である和データ記憶部380を備えることができる。
このとき、リスク指標算出部320は、ポートフォリオ内の各企業iについて、離散化評価点gごとに、損失生起確率(数31の第三式)と助変数λに当該企業の債権のエクスポージャEを乗じた値の指数関数とを用いて定義されるリスク寄与度指標関数R(数71)の各離散化評価点での値であるリスク寄与度指標関数データ(数80)を算出し、当該企業のセクターと当該離散化評価点とにより特定される前記和データP を和データ記憶部380から呼び出して、前記リスク寄与度指標関数データと乗算して、全ての離散化評価点にわたる当該乗算結果の和をとって、エクスポージャによる分布関数の偏微分値のラプラス変換データを求める追加算出部320Aを備えることができる。また、ラプラス逆変換部318は、分布関数の算出に加えて、追加算出部320Aによって算出された偏微分値のラプラス変換データとリスク指標算出部320によって算出された信用VaR額から、企業のエクスポージャによる分布関数の偏微分値データを、すべての企業に対し算出する処理を行うことができる。さらに、信用VaR額と分布関数の各企業のエクスポージャによる偏微分値データとエクスポージャとを含んで定義される、信用VaR額に基づく各企業のエコノミックキャピタルの表現(数69)に、信用VaR額と偏微分値データとエクスポージャデータとを代入して、信用VaR額に基づく企業のエコノミックキャピタルを算出する追加リスク指標算出部320Bを含むことができる。また、追加リスク指標算出部320Bでは、こうして得られた各企業のエコノミックキャピタルを、当該企業のエクスポージャで除すことにより、リスク寄与度(数61)を算出することもできる。信用VaR額に基づくリスク寄与度とは、ある企業のエクスポージャを微小量変化させた際のVaR額の変化(数61)をいい、エコノミックキャピタルとは、そのリスク寄与度に当該企業のエクスポージャを乗じた値(数63)である。
[実施例7]
上記実施例6における追加算出部320Aの処理において、エクスポージャによる分布関数の偏微分値のラプラス変換データをさらに助変数で除す処理を追加的に行うこともできる。そして、ラプラス逆変換部318では、追加算出部320Aで算出されたエクスポージャによる分布関数の偏微分値のラプラス変換データをさらに助変数で除したデータ、および信用リスク算出部320で算出される信用VaR額とを用いて、企業のエクスポージャによる分布関数の偏微分値を[0,VaR]の区間で損失額について積分したデータ(数94)を、すべての企業に対して算出する処理を行うことができる。このとき、リスク指標算出部320は、企業の平均デフォルト率と、ラプラス逆変換部318により算出された分布関数の偏微分値の積分データとの和を取り、その和を全区間からの信頼区間の残余によって除算することにより、条件付きVaR額CVaRに基づくリスク寄与度(数93)を、全ての企業に対して算出する処理を行う追加リスク指標算出部320Cをさらに含むことができる。ここで、条件付VaR額(CVaR)とは、信用VaR額以上の損失が発生してしまったという条件の下での、ポートフォリオの損失額の条件付期待値である。
[実施例8]
本発明の実施の形態において、損失判定基準は、企業がデフォルトとなる企業価値の上限を与えるデフォルト閾値C(数7)を含む基準とすることができる。このとき、損失指標関数が、セクターSに含まれる企業iについて、デフォルト時の損失を表すエクスポージャEと、デフォルト閾値により定まる、セクター変数yが与えられた条件での条件付デフォルト確率p(y)とを含んで定義されている(数31第二式の右辺の中括弧内)。この実施例により、本実施の形態においてデフォルトモードに基づいて損失を考慮することができる。
[実施例9]
また、実施例7において、損失判定基準が、上記基準に加えて、企業の格付が変化する企業価値の値である格付閾値を少なくとも一つさらに含む基準とし、損失指標関数が、セクターSに含まれる企業iについて、格付推移時およびデフォルト時の損益を表すL(r=>s)と、セクター変数yが与えられた条件での企業の条件付格付推移確率p(r=>s)(y)(数9)をさらに含んで定義されている変形例も実施可能である。この場合、デフォルトモードの場合と同様のデフォルトによる損失の発生に加えて、格付の変化を考慮したMtMモードの計算を行うこともできる。通常はMtMモードに用いる格付のうち最も低位のものはデフォルトに相当するので、MtMモードにおける損失判定基準は、上述のデフォルト閾値と格付閾値とを併せて含んでいる。なお、後に説明するように、デフォルト状態は複数存在してもよい。
ここで、MtMモードにおける損失判定基準が、例えば上述のようにr格付からs格付(共に、デフォルトを含む)への遷移確率として与えられた場合について、デフォルトの性質を適切に反映させる手法について説明する。図15(b)にこのMtMモードの場合の入力データの例を示している。図15(b)の各欄に記載されているように、MtMモードでは、リスク計測を実行する時点における格付ごとに、リスク計測期間終了時点で最上段に示された各格付に遷移する確率が数値データとして与えられている。例えば、この表から、リスク計測の時点において格付Cにある企業は、対象期間の後に格付A,B,・・・G、およびデフォルトとなる確率は、それぞれ、0.4%、1.5%、・・・、0.4%および0.3%であることが読み取れる。このような入力データを用いてMtMモードの計算を債権取引の実態に合わせてより適切に行うためには、デフォルトが持つ特別な性質、つまり、デフォルトは他の格付とは異なり、一度デフォルトになるとそこからデフォルト以外の他の格付に遷移しないという性質を反映するための追加の情報を用いる。この情報を図17に示す。
図17は、格付ごとに各時点までにデフォルトとなるデフォルト率を与える例を示すデータである。ここでの各時点でのデフォルト率は、累積デフォルト率、すなわち、遅くともその時点までにデフォルトとなる確率を示している。ここで、「デフォルト1」〜「デフォルトN」とある列のそれぞれは、デフォルトになるまでの時点を考慮して債務者のデフォルト状態として分類したものである。例えば、デフォルト状態を区分してN等分した場合、例えば、1年を月次となるように期間を区分して設定した場合には、図17においてN=12として、1年後までを月ごとに12等分した各時点までにデフォルトとなる累積のデフォルト率を各時点に対するデータとして付与する。
各時点の累積デフォルト率は、デフォルトの性質上、時間の経過とともに増大するものとなる。その時間依存性は、市況や経済状況を反映させて、さまざまに設定することができる。例えば、評価する時点からの経過時間に比例するように増大させることもできるし、また、単純な比例関係ではない場合には、初期値と中間時点での値と最終時点での値などから例えばスプライン関数によって補間して与えて時間依存性を付与することができる。
そして、図15(b)と図17によって与えられる格付やデフォルトの遷移情報は、図18に示すような損失額のデータと共に用いられる。すなわち、図18は、デフォルトモードを説明した実施例1において図14によって説明したのと同様の企業ごとに与えられる情報の例をMtMモードについて示したものである。図18において、「1年後の状態ごとの損益額」は、1年後に、債務者がその格付となった場合の損失額を表している。金額に付した符号は、プラスが損失を表し、マイナスが利益を表しており、単位は通貨単位(日本円)である。例えば、債務者番号のラベル「1」と一年後の状態ごとの損失額のラベル「B」とによって指定される欄の記載は、「債務者番号1の債務者の格付が、1年後にB格になった場合、2,000,000円の損失が発生する」という事象を意味している。なお、一般には、一人の債務者について複数の債権が存在するが、図18では、複数の債権から発生する損益を債務者ごとに集計したものを入力データとしている。ただし、本発明を実施するにあたっては、債権別の損益を入力データとして用いることもできる。
図15(b)の格付推移情報に加えて図17で示した各デフォルト状態への遷移情報の考慮が必要なのは、MtMモードにおいては債権の満期を考慮するため、すなわち、デフォルトとなる時点によって発生する損失が異なりうるためである。例えば、債権満期が6ヶ月であれば、リスク計測時点から5ヶ月後にデフォルトした場合には損失が発生する一方、6ヶ月を過ぎて(例えば、11ヶ月後に)デフォルトした場合は損失が発生することはない。このため、債務者番号2の行に例示したように、早期のデフォルトにおいては損失が発生し、満期以降のデフォルトでは元本が償還されたことに伴う利益が発生していることがあり得る。
このように、すでに図15(b)に示したMtMモードの場合のデフォルト率に加えてより詳細な情報、すなわち、図17のような各格付の債務者が各時点までにデフォルトに遷移する情報を与えること、および、それにあわせて図18のような各時点での格付やデフォルト状態に対する損失額を与えることにより、格付変動による債権の市場価値の変動を適切に反映したMtMモードにおける損失額分布の算出が可能となる。
図18に示したデータを用いて、MtMモードにおける損失額分布の密度関数を算出する方法について説明する。ここで、Lijを、第i番目の債務者が一年後にj番目の状態になったときの損益額とする。すなわち、Lijは、図18の表のi行(j+4)列の数値に対応する変数を表す。MtMモードの場合、ポートフォリオの全債務者の状態によっては、損失ではなく利益が生じる可能性がある。これは、損失額が負の領域でも損失額分布が値を持つことを意味する。ラプラス変換法は、通常はサポートが0以上の関数にしか適用できないため、そのままではMtMモードでの損失額分布の密度関数算出に適用することができない。しかし、損失額分布を適当に平行移動することによって0以上のサポートを持つようにできるため、実際にはラプラス変換法を適用することができる。具体的には、次式によって関数f (t)を定義する。
Figure 0004443619
ただし、
Figure 0004443619
である。この関数f (t)のサポートは0以上となるので、ラプラス変換法を適用して算出することができる。実際に計算すると、f (t)のラプラス変換は次のようになる。
Figure 0004443619
ここで
Figure 0004443619
は、条件付の状態推移確率であり、「共通リスク因子の値がベクトルxである」という条件の下で企業iがj番目の状態に遷移する確率を表す。企業価値モデルでは、図13および図15(b)、図17の情報からこの条件付状態推移確率を算出することができる。条件付推移確率は、例えばモンテカルロシミュレーションでMtMモードのリスク計測を行う際にも必要とされるものであり、その計算式は同業者には広く知られているため、ここでは説明を割愛する。数97の最下段の表現はポートフォリオ関数の条件を満たしているため、本発明の手法を適用して高速に計算でき、これをラプラス逆変換することによってf (t)を算出することができる。このようにしてf (t)が得られると、
Figure 0004443619
としてMtMモードでの損失額分布の密度関数の値を算出することができる。
図18に示した状態ごとの損失額を算出するためには、リスク計測時点における債権の現在価値(現在価額)および、リスク計測期間後(例えば1年後)の格付ごとの将来価値を算出する必要があるが、このためには、当業者には明らかであるような現在価値の算出方法である割引キャッシュフロー法、すなわち、将来にわたる債権からのキャッシュフローを所定の割引率を考慮して割引いて現在価額を算出する計算を行う。この際、キャッシュフローを適切に考慮するためには、満期や表面利率、利払・元本償還スケジュールを含む契約条件を考慮することができ、更に、割引率には、リスクフリー(無リスク)の債権の金利(例えば、国債利率)に、デフォルトを除く格付それぞれが持つリスクを反映させた格付別のスプレッドの金利を上乗せした割引率を用いることができるなど、当業者には自明の手法を用いることができる。なお、格付別スプレッドは、社債の利回り情報やクレジット・デフォルト・スワップのプレミアムの情報等から算出する方法が知られている。
本実施例の計算装置においては、上記各機能手段に加えて、このような計算を行うための手段を備えていることができる。例えば、図19に示したように、キャッシュフロー展開に必要な情報を債権情報記憶部502に準備し、その情報を利用して、キャッシュフローの情報、すなわち、各時点でのキャッシュフローのデータをキャッシュフロー展開部504によって生成する。また、社債の利回り情報やクレジット・デフォルト・スワップのプレミアムの情報等を含む情報を社債情報記憶部512に準備し、その情報を利用して、格付別スプレッド算出部514において格付別のスプレッドを算出する。更に、無リスク金利情報記憶部522にリスクフリーの債権の金利情報を準備しておく。そして、キャッシュフロー展開部504からの各時点でのキャッシュフローのデータ、格付別スプレッド算出部514からの格付別のスプレッドのデータ、および、無リスク金利情報記憶部522からのリスクフリーの債権の金利情報のデータを損益計算部540において組み合わせて、計算時点での現在価値および一年後の状態(格付)ごとの将来価値を計算する。その結果を格付別に求めることによって、図18に示したように、デフォルトを除いた格付ごとの損失額(損益額)が得られる。
なお、図18の情報は、債権の現在価値や将来価値を算出する既存のシステムの出力を利用して作成することもでき、本実施例の計算装置は、外部から図18に相当するデータを読み込む構成とすることもできる。
[実施例10]
次に、実施例1により説明したものとは異なる形態の実装を行う実施例について説明する。この実施例では、具体的にポートフォリオ関数が損失額分布の分布関数のラプラス変換である場合を取り上げ、本発明の実施の形態として、コンピュータプログラムによって計算を実施する際のプログラムの構成を、機能ブロック図とフローチャートを用いて説明する。なお、これ以降の実施例の説明に用いるフローチャートでは、特に初期化の処理を明示していない変数や配列については、全て初期値は0となっているものとする。以下の説明では、上述の数式によって記載した変数とほぼ同様のノーテーションを採用しているが、コンピュータプログラムに実装する便宜上一部変更しているものもあるため、数式及びそこに用いた変数との対応を必要に応じて記す。また、コンピュータに実装する上での数値計算上必要な各変数の仕様についても適宜図面にまとめている。
図20Aは、本実施例のプログラムによって実現される計算装置の構成を示すブロック図である。本実施例では、キーボード1302から入力された各種パラメータとデータベース1304〜1310に格納された入力データとから、最終的にELやVaR、CVaR等のリスク指標を計算するための構成を示している。パラメータ記憶部1314には、計算に必要となる各種パラメータが格納されている。本実施形態では、パラメータ記憶部1314に格納されているパラメータはキーボード1302から入力する実装としているが、本発明の実施にあたってこれらのパラメータの与え方は本質的ではなく、いくつかのパラメータについて、プログラム中で予め設定された値を用いたり、キーボード1302から入力された情報に基づいてパラメータ算出部1312で算出したりする構成とするともできる。入力データ記憶部1316には、1304、1306、1308、および、1310の各データベースから、必要なデータが格納されている。ここでパラメータ記憶部1314、入力データ記憶部1316および計算結果記憶部1318は、メインメモリ中に確保された領域や、ハードディスクドライブにおいてOSにより管理されるファイルなどにより実現することができる。なお、本実施例では、各債務者(企業)のデフォルト率は、図14および図15(a)のように債務者の格付と格付別デフォルト率によって与えられるものとする。
本実施例では、プログラム内で債務者や格付を特定するために、債務者IDや格付ID等のIDに代わって連続する整数値をとる変数(インデックス)を使用する。このインデックスとしては、債務者(企業)を特定するインデックスである債務者番号i、ラプラス逆変換に用いる助変数を特定するインデックスである助変数番号k、積分点を特定するインデックスである積分点番号l、離散化評価点を特定するインデックスである評価点番号m、格付を特定するインデックスである格付番号r、セクターを特定するインデックスであるセクター番号s、共通リスク因子を特定するインデックスである因子番号nが挙げられる。図20B(1)に、本実施例で使用するインデックスについて示す。これらのインデックスは、プログラム中でループの制御や配列の要素を特定するために用いられるものであり、以下で行う説明やフローチャート中でも、図20B(1)に示したインデックスを使用する。なお、以下の説明では、債務者番号を表すインデックスiとの混同を避けるため、虚数単位をjの文字で表す。
図20B(2)は、図20Aのパラメータ記憶部1314内に示された、パラメータを表す変数について説明したものである。表中の「型」の列は、コンピュータ内部での変数の表現について示したものである。例えば「double」とあるのは倍精度浮動小数点数として扱われる変数であり、「long」とあるのは倍精度整数として扱われる変数を表す。ただし、ここで示した変数型はあくまで一例であり、異なる変数型を用いても本発明を実施することは可能である。これらのパラメータのうち、ラプラス逆変換に用いるパラメータであるγおよびhは、キーボード1302からポアソン法の近似精度を規定するパラメータnおよび計算に用いる損失額の上限値tmax入力し、数47の式にしたがってパラメータ算出部1312で算出する構成とすることができる。
図20Cは、入力データ記憶部1316内に示された入力データを表す変数の内容を示したものである。「入力DB」の列は、それぞれの変数が、図20A中のどのデータベース(DB)から得られるものかを示したものである。また、配列として扱われる変数については、「引数」の列に、配列の引数の情報を記載した。「入力データ例との関係」の列には、図13〜図18に示した入力データ例と各変数の関係について簡潔に説明している。
計算結果記憶部1318は、計算過程で得られるデータを格納する記憶装置である。この計算結果記憶部1318は、例えばメインメモリ中に確保された領域を用いて実現することができる。なお、計算結果記憶部1318には、離散化評価点のデータを記憶する離散化評価点記憶部1318A、損失生起確率データを記憶する損失生起確率データ記憶部1318B、セクター関数データを記憶するセクター関数データ記憶部1318C、ポートフォリオ関数のデータを記憶するポートフォリオ関数データ記憶部1318Dが含まれる。さらに、上述した以外のデータを記憶する追加記憶部1318Eも含まれる。
離散化評価点算出部1320は、離散化評価点の値を格納した配列であるg[m]の算出を行う。このg[m]は、本実施例における離散化評価点データであり、その各要素には、数40の変数gで示した値を格納する。離散化評価点算出部1320には、g[m]を算出するために、パラメータ記憶部1314に格納されている離散化評価点の最大値Max_g、離散化評価点の最小値Min_g、および離散化評価点の個数Nが入力される。離散化評価点算出部1320の処理では、数40の右辺の式に基づいて全ての離散化評価点番号mに対して配列g[m]の各要素を計算していき、結果を計算結果記憶部1318に格納する。
損失生起確率データ算出部1322は、N、格付別デフォルト率の配列pd[r]、セクターごとの感応度係数の配列α[s,n]、格付の数Nr、セクターSの数N、共通リスク因子の数Nf、g[m]の入力に基づいて、離散化評価点別、格付別、セクター別の条件付デフォルト率の算出を行い、離散化評価点番号mと格付番号rとセクター番号sを引数とする配列CPD[m、r、s]およびセクター番号sを引数とし、数30第二式のβの値を格納する配列β[s]を出力する。条件付デフォルト率の計算式は数31第三式に示されているが、本発明ではセクター変数を離散化して計算を実行するため、後の計算に現れる条件付デフォルト率も有限個の値しかとらない。このCPD[m、r、s]は、後の計算に現れるすべての条件付デフォルト率の値を格納した配列であり、本実施例における損失生起確率データとなっている。具体的に、β[s]とCPD[m、r、s]の各要素の値は、それぞれ次の式に基づいて計算される。
Figure 0004443619
このモジュールでは、数100の計算を、1≦m≦N、1≦r≦Nr、1≦s≦Nを満たすすべての[m、r、s]組み合わせについて行う。なお、入力されるNは、パラメータ記憶部1314に格納され、pd[r]、α[s,n]、Nr、N、Nfは、入力データ記憶部1316に格納され、g[m]は、計算結果記憶部1318に格納されている。また、算出されたβ[s]とCPD[m、r、s]は計算結果記憶部1318に格納され、後に他のモジュールから呼び出され計算に使用される。なお、条件付PD算出部1322の処理においては、標準正規分布の分布関数およびその逆関数の値を求める必要があるが、これらの関数値を算出するモジュールの構成方法は広く知られており、ブロック図からは割愛している。
なお、本実施例では、後のループの計算を高速化するために、損失生起確率データ算出部1322で損失生起確率のデータを算出しているが、この処理は本発明を実施するにあたって必須のものではない。例えば、次に説明するセクター関数データ算出部1324において、損失生起確率の算出処理を行う実施態様とすることも可能である。
セクター関数データ算出部1324は、ラプラス逆変換の計算に用いられるパラメータであるγおよびh、ラプラス逆変換に用いる助変数の個数N、N、債務者のエクスポージャを格納した配列E[i]、債務者の格付を格納した配列R[i]、債務者のセクターを格納した配列S[i]、債務者数N、CPD[m、r、s]の入力に基づいて、離散化評価点ごと助変数ごとにセクター別条件付きモーメント母関数のデータを算出し、離散化評価点番号mと助変数番号kとセクター番号sを引数とする配列SMGF[m、k、s]を出力する。このSMGF[m、k、s]の各要素は、数31第二式でλ=γ+jkh(jは虚数単位)、y=g[m]とした値であり、次の式によって計算される。
Figure 0004443619
このモジュールに入力されるγ、h、N、Nは、パラメータ記憶部1314に格納され、E[i]、R[i]、S[i]、Nは入力データ記憶部1316に格納され、CPD[m、r、s]は計算結果記憶部1318に格納されている。このセクター関数データ算出部1324の処理はCalcSectorMGFモジュールの処理である。このCalcSectorMGFモジュールの処理について、更に詳細に図21AおよびBのフローチャートを用いて説明する。なお、このモジュールで算出されるSMGF[m、k、s]は、本実施例におけるセクター関数データとなっている。
図21AおよびBは、セクター別条件付きモーメント母関数のデータを算出するCalcSectorMGFモジュールの処理フローを示すフローチャートである。CalcSectorMGFモジュールの処理では、まず配列SMFG[m、k、s]のすべての要素を実数の1に初期化し(S2102)、債務者番号を示すインデックスiを1に初期化し(S2104)、インデックスiを、計測対象ポートフォリオの債務者数を表す変数Nと比較して終了判定を行う(S2106)。債務者番号を示すインデックスiが債務者数を表す変数N以下である場合には、助変数番号を示すインデックスkを0に初期化し(S2108)、インデックスkがN−1以下の値にある限り、複素数の指数関数の係数を表す配列Ex[k]に対して値exp[{γ+jkh}E[i]]を代入し(S2112)、kをインクリメントしてゆく(S2114)。
次いで、離散化評価点を指定するインデックスmを1に初期化(S2116)し、N以下のmに対して(S2118)、CPD[m、R[i]、S[i]]をローカル変数PDに代入する(S2120)。そして、kを0からN−1までの範囲で増加させながら(S2122、S2124、S2130)、1−PD+PD×Ex[k]を計算して変数PMGFに代入し(S2126)、配列要素SMGF[m、k、S[i]]にPMGFを掛け合わせていく(S2128)。この処理をmをインクリメントさせながら(S2132)行うことにより、数101の右辺の積のうち、債務者iに関する計算が終了する。これを、ポートフォリオに含まれるすべての債務者について行うことにより(S2134)、すべての配列要素SMGF[m、k、s]が計算される。
CalcSectorMGFモジュールの処理においては、複素数の指数関数の係数を表す配列Ex[k]は、数101の右辺の積の第3番目の項における指数関数の値(複素数値)を与える。これを先に求めて数値配列として得たのは、離散化評価点番号mをスキャンするループ(S2118〜S2132)の内部において助変数番号kをループさせているため(S2122〜S2130)、負荷が高い指数関数の数値計算の処理をmのループから外して計算量を削減するためである。
CalcSectorMGFモジュールの処理の過程で算出されるPMGFは、本実施例における損失指標関数データである。S2108〜S2114、S2120、S2126の各ステップは、この損失指標関数データであるPMGFを算出するための処理となっている。すなわち、本実施例では、セクター関数データ算出部1324が、損失指標関数算出部1323を含んだ構成となっている(図20A)。このように、計算処理速度を向上させる工夫上、ある演算部が他の演算部を呼び出しながら処理を進める場合があるが、このような場合も本発明の実施態様に含まれる。
ポートフォリオ関数算出部1326は、γ、h、N、N、N、Nf、α[s,n]、積分点に関連したウエイト値w[l]、共通リスク変数としての意味を持つ積分点の配列X[n、l]、積分点の数N、g[m]、β[s]、SMGF[m,k,s]の入力に基づいてポートフォリオ関数の算出を行い、助変数番号kを引数とする配列PF[k]を出力する。このPF[k]は、本実施例におけるポートフォリオ関数データであり、その各要素は、数34の右辺でλ=γ+jkhとし、さらにγ+jkhで除した値となる。入力されるγ、h、N、Nは、パラメータ記憶部1314に格納され、N、Nf、α[s,n]、w[l]、X[n、l]、Nは、入力データ記憶部1316に格納され、g[m]、β[s]、SMGF[m,k,s]は計算結果記憶部1318に格納されている。このポートフォリオ関数算出部1326の処理はCalcPFモジュールの処理である。このCalcPFモジュールの処理について、更に詳細に図22AおよびBのフローチャートを用いて説明する。
図22AおよびBは、配列PF[k]を算出するCalcPFモジュールの処理フローを示すフローチャートである。CalcPFモジュールの処理では、各積分点に対して、まず、離散化評価点を指定するためのインデックスである評価点番号をセクターごとに計算し(S2208〜S2216)、その後、すべてのセクターのセクター別条件付モーメント母関数の積を計算して条件付モーメント母関数の値を算出する(S2222〜S2228)。そして、条件付モーメント母関数に積分点に付随したウエイトをかけ、すべての積分点について足し上げることにより(S2230)、モーメント母関数のデータMGF[k]を算出する。最後に、モーメント母関数のデータMGF[k]を助変数番号kに対応した助変数の値で除算してポートフォリオ関数のデータPF[k]を算出する(S2236〜S2242)。
CalcPFモジュールの処理では、積分点ごとに計算を実行していく。まず、積分点を示すループ用のインデックスlを1に初期化し(S2202)、インデックスlを、積分点の数を表す変数Nと比較して終了判定を行いながら(S2204)、インデックスlをインクリメントする(S2234)。
インデックスlが新たな値なると、初めにセクターを表すインデックスsを引数とする、離散化評価点番号を表す配列M[s]を決定する(S2208〜S2216)。このM[s]は、数34の右辺に現れるm にあたるものである。M[s]を決定するためには、インデックスsを、セクター数を表す変数Nまでの範囲で増加させながら(S2208、S2210、S2216)、数32によりセクター変数を算出してyに代入し(S2212)、|y−g[m]|を最小とする配列番号mを特定してM[s]=mとすればよい(S2214)。これにより、セクター番号sごとに、セクターリスク因子yの値を最もよく近似する離散化評価点gを与える評価点番号M[s]が決定される。これにより、セクター番号sを指定しさえすれば積分点に対応した離散化評価点番号が決定され、セクター関数データ算出部1324で算出したセクター関数データSMGF[m、k、s]を呼び出せるようになる。
次いで、積分点に対応した条件付モーメント母関数を算出して、積分点に付随するウエイトでの加重和を計算していく。本実施例では、ラプラス逆変換に必要となるN個のモーメント母関数の値の算出を、一回の積分点ループの中で行う処理としている。まず、助変数番号を示すインデックスkを0に初期化し(S2218)、N−1以下のkに対して(S2220)条件付モーメント母関数の算出を行う(S2221〜S2228)。条件付モーメント母関数の算出は、まず条件付モーメント母関数のデータを格納する変数CMGFを実数の1に初期化し(S2221)、セクター番号を表すインデックスsを1に初期化し(S2222)、sをインクリメントしながら(S2228)、CMGFに対してセクター関数データSMGF[M[s],k,s]を乗じてゆく(S2226)。全てのセクターについてこの計算を実行することにより(S2224)、積分点番号lと助変数番号kに対応した条件付モーメント母関数のデータであるCMGFが算出される。さらに、積分点に応じたウエイト値w[l]をCMGFに乗じた上で、モーメント母関数の助変数番号kの成分MGF[k]に加えていく(S2230)。この計算をすべてのkに対して実行することにより(S2232)、ひとつの積分点からの積分値への寄与の計算が終了する。
上述の計算をすべての積分点に対して行うことにより(S2234)、モーメント母関数のデータMGF[k]が得られる。さらに、助変数番号kごとに(S2236、S2238、S2242)、モーメント母関数のデータMGF[k]をγ+jkhで除すことにより(S2240)、ポートフォリオ関数のデータPF[k]を算出する。こうして計算されたPF[k]は、計算結果記憶部1318に格納される(図20A)
CalcPFモジュールの過程で算出されるCMGFは、本実施例における条件付ポートフォリオ関数の近似値となっている。S2208〜S2216、およびS2221〜S2228のステップは、セクター関数データを乗算してCMGFを算出するための処理、すなわちセクター乗算ステップの処理である。このように、本実施例では、ポートフォリオ関数算出部1326は、セクター乗算部1325を含んだ構成となっている(図20A)。また、S2202、S2204、S2218、S2220、S2230〜S2234のステップは、条件付ポートフォリオ関数のデータであるCMGFに、積分点に関連するウエイトw[l]を掛けて足し上げる処理であり、これらの処理によって算出されるMGF[k]は、条件付ポートフォリオ関数の共通リスク因子に関する平均となっている。さらに、S2236〜S2242のステップにおいて、MGF[k]をγ+jkhで除しているが、これは、本実施例におけるポートフォリオ助変数関数が助変数の逆数によって与えられるためである。
リスク指標算出部1328は、γ、h、tmax、N、N、p、PF[k]の入力に基づいて、VaRやCVaR、ELといったリスク指標を算出する。ここでNは、分布関数の値を算出する損失額の数を決定するパラメータであり、pはVaRおよびCVaRを算出する際の信頼率である。リスク指標算出部1328にはラプラス逆変換を行うラプラス逆変換部1330が含まれており、リスク指標の算出にあたっては、このラプラス逆変換部1330の出力が利用される。入力されるγ、h、tmax、N、N、pは、パラメータ記憶部1314に格納され、PF[k]は計算結果記憶部1318に格納されている。
本実施例では、ラプラス逆変換を実行するにあたってポアソン−QD法(de Hoogのアルゴリズム)を利用する。ラプラス逆変換部1330の入力は、γ、h、t、N、およびN個の要素を持つ複素数型の配列C[k]であり、出力はtにおける関数の値である。このラプラス逆変換部1330の処理はラプラス逆変換モジュールLIの処理である。以下では、ラプラス逆変換部1330によって値を算出する関数をf(t)として、本実施例におけるラプラス逆変換モジュールLIの処理について説明する。ただし、f(t)は実軸上で実数値をとるラプラス変換可能な関数であるとする。
ポアソン法によれば、f(t)は次の級数で近似できる。
Figure 0004443619
ラプラス逆変換モジュールLIの入力となる配列C[k]の各要素には、数102の級数に表れるf(t)をラプラス変換した関数の値を与える。すなわち、
Figure 0004443619
とする。ラプラス逆変換モジュールLIでは、まず係数の配列C[k]から、QDアルゴリズムによって連分数の係数を算出する。具体的には、c=C[0]/2、c=C[k](k=1,…,N−1)とた上で数51の漸化式の計算を実行し、数50の係数aを得る。次に算出した連分数の係数aと入力されたtを用いて数54の計算を実行し、AおよびBを算出する。ただし、数54に現れるzは、数102の第五式によって入力値であるtから算出される。最後に、f(t)の近似値として
Figure 0004443619
を出力する。
ラプラス逆変換モジュールLIの主な処理である数51および数54の漸化式の計算は四則演算のみで実行できるため、当該モジュールの処理は非常に高速に実行することが可能である。このため、さまざまなtに対する関数の値f(t)を高速に算出することができる。また、ラプラス逆変換モジュールLIで行われる処理のうち、数51の処理は変数tに依存しない。このため、複数のtの値t、t、・・・に対してf(t)の値を算出する場合、tに対する値を算出するときのみ数51の処理を実行し、得られた連分数の係数aを配列a[k]として計算結果記憶部1318に格納し、t以降の値を算出する際には計算結果記憶部1318に格納された配列a[k]を利用し、数51の処理は省略するという実施態様も可能である。このような処理とすることにより、複数のtに対して関数の値を求める際の処理時間をさらに短縮することができる。
なお、本実施例の別の態様において、本発明を実施することもできる。本実施例において、ポートフォリオ関数算出部1326でモーメント母関数のデータMGF[k]をγ+jkhで除する処理(S2236〜S2242)を省いてモーメント母関数のデータMGF[k]をポートフォリオ関数算出部1326の出力とした上で、リスク指標算出部1328においてMGF[k]をγ+jkhで除する処理を行ってラプラス逆変換モジュールLIに入力することにより、分布関数のデータを算出することもできる。この場合、リスク指標算出部1328においてMGF[k]をγ+jkhで除する処理までをポートフォリオ関数算出ステップと解することができるため、このような処理を行う場合も本発明の実施態様に含まれる。
数43より、ポートフォリオ関数算出部1326で得られたポートフォリオ関数データPF[k]を、ラプラス逆変換モジュールLIの入力とすることにより、損失額分布の分布関数の値を算出することが可能となる。すなわち、
Figure 0004443619
とした上で、損失額tを変えながらラプラス逆変換モジュールLIの処理を繰り返し実行することで、幅広い損失額の範囲にわたって分布関数の値を算出することができる。このため、EL、VaR、CVaR、標準偏差といったリスク指標についても、容易に計算することができる。例えば、分布の平均値であるELは、
Figure 0004443619
として算出することができる。ここでN値を、1,000程度とすれば十分に精度高くELを算出することができる。次に、信頼率pのVaRを算出するには、二分法等の反復法によって、分布関数の値がpとなるような損失額tを求めればよい。さらに、CVaRを算出するには、
Figure 0004443619
という計算を行えばよい。なお、損失額分布の分散や標準偏差、歪度、尖度、中央値、四分位点等の統計量を分布関数から算出することは容易であり、そのような統計量はすべてリスク指標算出部1328の出力となりうる。
なお、リスク指標算出部1328は、算出するリスク指標やシステムの使い方等に応じて、様々な構成とすることができる。例えば、ある決まった信頼率のVaRやCVaRを毎回レポートするという場合には、予めプログラム中で信頼率pを与えておき、リスク指標を算出する構成とすることができる。また、キーボード1302から信頼率pを入力してVaRやCVaRを算出してディスプレイに表示したり、損失額tを入力してtに対応する分布関数の値を算出してディスプレイに表示したりする構成とすることもできる。
このように本実施例によってEL、VaR、CVaRといった様々なリスク指標が適切に計算される。なお、上述のCalcSectorMGFモジュールおよびCalcPFモジュールの説明に用いたフローチャートに現れる変数の仕様については、図23および図24Aおよび図24Bにまとめている。これらの変数の仕様の表の中で、「型」の列がcomplexとなっているものは、プログラム中で複素数として扱われる変数である。コンピュータプログラムにおいて複素数を扱う方法にはさまざまなものが知られているが、どのような方法を用いたとしても本発明は実施可能である。
本実施例ではポアソン−QD法(de Hoogのアルゴリズム)によってラプラス逆変換を行う場合の処理について述べたが、これ以外の高速ラプラス変換法を用いた処理とすることも容易である。例えば、ポアソン法以外の無限級数化法を用いた場合、級数の係数の算出にあたって数56とは異なる助変数の値に対するポートフォリオ関数の値が必要となるが、本実施例のポートフォリオ関数の算出方法は助変数の値には依存しないため、こうした場合にも本実施例の処理を用いることができる。また、ラプラス逆変換部1330の処理のみ変更すれば、QD法以外の級数加速法を用いることも容易である。このように、本発明は、様々なラプラス逆変換法と組み合わせて実施することができる。さらに、計算するポートフォリオ関数を、特性関数や特性関数をフーリエ変換の助変数と虚数単位の積で除した関数とし、ラプラス逆変換部1330の処理をフーリエ変換の処理に変更すれば、本実施例と同様にして、フーリエ変換によって密度関数や分布関数を算出することもできる。
また、本実施例の大きな利点の一つとして、計算計算結果記憶部1318に格納される配列のサイズが十分に小さく、計算結果記憶部1318としてメインメモリ中に確保された領域等の高速アクセスが可能な記憶手段を用いることができる点が挙げられる。このような構成とすることにより、CalcSectorMGFモジュールやCalcPFモジュールの処理は高速に遂行することが可能である。さらに、本実施例では、計算結果記憶部1318に格納される配列はすべて、そのサイズが債務者数Nに依存しないため、債務者数が数百万件に上る大規模なポートフォリオであっても計算結果記憶部1318をメインメモリ中に確保された領域として処理を行うことが可能である。
[実施例11]
本実施例では、上述の実施例10の変形例として、ポートフォリオ関数算出部1326の計算においてモンテカルロ積分法を用いる処理について説明する。そのため、実施例10におけるCalcPFモジュールの代わりにCalcPF_MCモジュールを用いるが、それ以外の処理については実施例10と同様である。なお、この実施例においては、積分点情報を格納したデータベース1310は不要であり、入力データ記憶部1316にw[l]、X[n、l]、Nは記憶しない。一方、キーボード1302からは積分点数Nおよび乱数のシードRsが入力される。これらの変数はパラメータ記憶部1314に格納された上で、ポートフォリオ関数算出部1326で利用される。
モンテカルロ積分法を用いるポートフォリオ関数算出部1326の計算においては、γ、h、N、N、N、Nf、N、Rs、α[s,n]、g[m]、β[s]、SMGF[m,k,s]の入力に基づいて、ポートフォリオ関数データの算出を行い、助変数番号kを引数とする配列PF[k]を出力する。このPF[k]の各要素は、数34の右辺でλ=γ+jkh(jは虚数単位)とし、さらにγ+jkhで除した値となり、PF[k]は本実施例におけるポートフォリオ関数データである。ここで、図22AおよびBのCalcPFモジュールとは異なり、ウエイトw[l]はCalcPF_MCモジュール内で計算される。
図25AおよびBは、CalcPF_MCモジュールの動作を示すフローチャートである。ここで、図22AおよびBに示したCalcPFモジュールの動作との違いは、積分点の数Nで均等になるようなウエイトを設定すること(S2502)と、乱数を初期化する処理を行うこと(S2503)と、乱数を発生させて共通リスク変数を算出する処理(S2510〜S2518)を行うことだけであり、それ以外の処理は、図22AおよびBの処理と同様である。CalcPF_MCモジュールに用いる変数の仕様を、図26AおよびBにまとめている。
上述したように、モンテカルロ積分では均等のウエイトが用いられるため、ウエイトを設定する処理を最初に行う(S2502)。これに伴って、このウエイトを利用する処理であるステップS2542では、ステップS2502によって算出されたウエイトを用いる。ウエイトの設定に続いて、モンテカルロ積分で用いる乱数を、乱数シードRsを用いて初期化する処理を行う(S2503)。本実施例においては一様乱数を用いるが、一様乱数を発生させる方法としてはメルセンヌ・ツイスター法など様々なものが知られており、同業者であればそれらを実装することは容易である。なお、本発明は乱数の発生方法を特定の方法に限定するものではなく、また、乱数ではなく準乱数を用いて実施することも可能である。
乱数を発生させて共通リスク変数を算出する処理では、共通リスク因子を特定するインデックスである因子番号nを、1から共通リスク因子の数を与える変数Nfまでインクリメントしながら一様乱数を発生させ(S2514)、共通リスクファクターを算出する(S2516)。一様乱数から共通リスク変数を算出する処理は、数21でηからxを求める処理であり、一様乱数を標準正規分布の分布関数の逆関数で変換すればよい。ここで、S2516に示したNormSInv()という関数は、標準正規分布の分布関数の逆関数を表している。
上記以外の処理すなわち、ステップS2504〜S2506、S2520〜S2554の処理は、図22AおよびBに示したCalcPFモジュールと同様の処理を行い、また、ポートフォリオ関数算出部1326以外の機能部の処理も実施例10と同様に行うことによって、実施例10と同様の計算を行うことができる。なお、CalcPF_MCモジュールを用いた実装では、積分点の情報を内部で生成するため、共通リスク因子の数や積分点数が変更された場合でも入力データや各モジュールの処理をなんら変更することなく計算を行うことができるという利点を有している。また、入力データ記憶部1316に積分点の情報を格納する必要がないため、積分点の数を非常に多くした場合でも、入力データ記憶部1316としてメインメモリ中に確保された領域を用いることができる。このため、積分点を非常に多くした場合でも高速に計算を実行することが可能であるという点も、この実施例の利点の一つである。
[実施例12]
本実施例は、実施例10に示した構成を、エコノミックキャピタルの計算に適合させるために変形させた変形例であり、その機能ブロックを図27に示している。実施例10との相違点は、ポートフォリオ関数算出部1326の代わりにポートフォリオ関数算出部1326Aが用いられ、リスク指標算出部1328の代わりにリスク指標算出部1328Aが用いられ、個社エコノミックキャピタル算出部1332および和データ記憶部1318Fが追加されることである。
ポートフォリオ関数算出部1326Aは、γ、h、N、N、N、Nf、α[s,n]、w[l]、X[n、l]、N、g[m]、β[s]、SMGF[m,k,s]の入力に基づいて、ポートフォリオ関数データと、リスク寄与度算出に用いる和データの算出を行い、助変数番号kを引数とする配列PF[k]と、セクター番号sと離散化評価点番号mと助変数番号kを引数とする配列P[s、m、k]を出力する。このP[s、m、k]は、本実施例における和データであり、その各要素は、数88のP m, kに相当する。入力されるγ、h、N、Nがパラメータ記憶部1314に格納され、N、Nf、α[s,n]、w[l]、X[n、l]、Nが入力データ記憶部1316に格納され、g[m]、β[s]、SMGF[m,k,s]が計算結果記憶部1318に格納されることは実施例10と同様である。このポートフォリオ関数算出部1326Aの処理は、本実施例においてはCalcPF_RCモジュールの処理である。このCalcPF_RCモジュールの処理について、更に詳細に図28A〜Dのフローチャートを用いて説明する。
図28A〜Dは、モーメント母関数およびリスク寄与度算出用係数を算出するCalcPF_RCモジュールの処理フローを示すフローチャートである。CalcPF_RCモジュールの処理が図22AおよびBに示したCalcPFモジュールの処理と相違するのは、ステップS2832〜S2838の処理であるので、これらの処理以外の処理についての説明を省略する。
CalcPF_RCモジュールでは、ステップS2830によってMGF[k]を算出すると、次いで、各セクターについて(S2832、S2836)、ウエイトw[l]とCMGFの積をリスク寄与度算出用係数P[s、M[s]、k]に加える処理が行われる。そして、助変数番号を表すインデックスkがインクリメントされ(S2838)、kの終了判定が行われる(S2820)。全てのkについての処理が完了すると、積分点を表すインデックスlがインクリメントされて(S2840)、lの終了判定(S2804)へと戻る。このような追加の処理を行うことにより、数88に従うリスク寄与度算出用の和データP[s、m、k]が算出され、計算結果記憶部1318に格納される(図27)。
リスク指標算出部1328Aは、リスク指標算出部1328の処理と同様の処理を行って、少なくともVaRの値を算出する。算出されたVaRの値は計算結果記憶部1318に格納される。
更に、本実施例において追加される個社エコノミックキャピタル算出部1332は、γ、h、N、N、E[i]、R[i]、S[i]、N、CPD[m、r、s]、P[s、m、k]、VaRの入力に基づいてポートフォリオに含まれる全ての債務者のエコノミックキャピタルの算出を行い、債務者番号iを引数とする配列EC_VaR[i]を出力する。このEC_VaR[i]の各要素は数63のECに相当する。入力されるγ、h、N、Nはパラメータ記憶部1314に格納され、E[i]、R[i]、S[i]、Nは入力データ記憶部1316に格納され、CPD[m、r、s]、P[s、m、k]、VaRは計算結果記憶部1318に格納されている。この個社エコノミックキャピタル算出部1332の処理はCalcECモジュールの処理である。このCalcECモジュールの処理について、更に詳細に図29A〜Cのフローチャートを用いて説明する。
図29A〜Cは、個社のエコノミックキャピタルを算出するCalcECモジュールの処理フローを示すフローチャートである。CalcECモジュールの処理は、図21AおよびBに示したCalcSectorMGFモジュールの処理に類似した処理であり、相違点は、SMGF[m,k,s]の初期化処理(S2102、図21A)がないこと、RCMGF_VaR[k]の初期化処理(S2905)が加わること、計算対象が異なることからステップS2924およびS2926で計算される関数が異なること、ラプラス逆変換の処理S2932や総和の計算S2934が行われること、及び、終了前に規格化の処理がS2938〜S2944において行われることである。これらのうち初期化の処理S2905は自明であるので、これ以外の処理について以下で説明する。
CalcECモジュールの処理におけるステップS2924で計算されるローカル変数Rは、数76でλ=γ+jkhとしたものに相当し、本実施例におけるリスク寄与度指標関数のデータとなっている。また、S2926で計算する配列RCMGF_VaR[k]の各要素は、数82の右辺の値に相当する。このため、ステップS2924では、数71右辺と同様の式によりローカル変数Rが計算され、ステップS2926では、そのローカル変数Rとリスク寄与度算出用の和データP[s、m、k]の積を足し上げていくことにより、数82の右辺の値に相当する配列RCMGF_VaR[k]の各要素が算出される。
次に、ステップS2932において、RCMGF_VaR[k]をラプラス逆変換モジュールLIによってラプラス逆変換して債務者iのエクスポージャーE[i]を掛けることにより、配列EC_VaR[i]を債務者iに対して求める。ラプラス逆変換モジュールLIは実施例10で用いたものと同じものであり、このモジュールへの入力をC[k]=RCMGF_VaR[k](k=0、1、・・・、N−1)、t=VaRとすることにより、所望の結果が得られる。このEC_VaR[i]の値は、数65式右辺で、−f(VaR)の除算を行う前のものである。f(VaR)の値は、ポートフォリオ関数算出部1326Aの処理過程で算出されるMGF[k]と、リスク指標算出部1328Aで算出されるVaRをラプラス逆変換モジュールLIに入力することにより算出することができ、このような実施態様とすれば、数65に従って債務者iのVaRベースエコノミックキャピタルを計算することもできる。ただし、この方法では、数値計算の誤差の影響により、VaRベースエコノミックキャピタルの全ての債務者についての総和が厳密にはVaRに一致しなくなる。このため、本実施例では、数69に基づいてVaRベースエコノミックキャピタルを計算している。規格化の処理S2938〜S2944では、数69に対応する計算を行って、最終的に債務者iのVaRベースエコノミックキャピタルEC_VaR[i]を得る。なお、上述のCalcPF_RCモジュールおよびCalcECモジュールの説明に用いたフローチャートに現れる変数の仕様について図30A、Bおよび図31A、Bにまとめている。
個社のVaRベースエコノミックキャピタル算出モジュールCalc_ECでは、和データP[s、m、k]を用いることにより、積分点に関するループを行うことなくエコノミックキャピタルを算出することができる。このため、一債務者あたりのエコノミックキャピタル算出にかかる計算時間をきわめて短くすることができ、大規模なポートフォリオでも全債務者のエコノミックキャピタルを算出することが可能である。なお、本実施例のCalcPF_RCで行われる数値積分の処理を、実施例11と同様に変更することにより、容易にモンテカルロ積分を利用する実装とすることができる。
[実施例13]
本実施例は、CVaRベースエコノミックキャピタルを算出する処理を実施する態様を示す実施例であり、その機能ブロックを、上述の実施例12の構成を示すために用いた図27に示している。実施例12との相違点は、ポートフォリオ関数算出部1326Aの処理が、CalcPF_RCモジュールではなくCalcPF_RC2モジュールの処理であること、これに伴って、PF[k]、P[s、m、k]に追加してPD_avg[s、r]が算出されること、追加の入力としてNr、CPD[m,r,s]が用いられること、リスク指標算出部1328Aの出力にCVaRが含まれること、個社エコノミックキャピタル算出部1332の処理がCalcECモジュールではなく、CalcEC2モジュールの処理であること、これに伴って追加の入力としてp、CVaR、PD_avg[s、r]が用いられることである。ここでpは、個社エコノミックキャピタル算出部1332に入力されるVaRおよびCVaRの値を算出する際に用いた信頼率である。CalcEC2モジュールで算出されるEC_CVaR[i]の各要素は、数90のRC CVaRに個社のエクスポージャEを掛けたもの相当する。ここで、ポートフォリオ関数算出部1326Aに入力されるNrは、入力データ記憶部1316に格納され、CPD[m,r,s]は、計算結果記憶部1318に格納され、個社エコノミックキャピタル算出部1332に入力されるpはパラメータ記憶部1314に格納され、CVaR、PD_avg[s、r]は計算結果記憶部1318に格納されている。ここに示したCalcPF_RC2モジュールの処理とCalcEC2モジュールの処理について、それぞれ、図28A〜Dおよび図29A〜Cのフローチャートを用いて更に詳細に説明する。
図28A〜Dには、CalcPF_RCモジュールの処理フローに加えて、それに類似した処理が行われるCalcPF_RC2モジュールの処理フローも示されている。CalcPF_RC2モジュールの処理がCalcPF_RCモジュールの処理と相違するのはステップS2815とステップS2841〜S2858の処理であるので、これらの処理以外の処理についての説明を省略する。
CalcPF_RC2モジュールで新たに追加した処理では、格付番号r、セクター番号sを持つ債務者の平均デフォルト率を要素とする配列PD_avg[s、r]を算出する。このうち、ステップS2185の処理では、PD_avg[s、r]を算出するために用いられる、ウエイトの和を格納した配列w_sum[s、m]の算出を行う。具体的に、PD_avg[s、r]、w_sum[s、m]の各要素は、次の式に基づいて計算される。
Figure 0004443619
ここで、L は数81の第一式で与えられる集合である。この配列PD_avg[s、r]は、後に説明するCalc_EC2モジュール内でCVaRベースエコノミックキャピタルを算出する際に使用されるものであり、具体的には、数93の下段の式の中括弧内第一項に現れる債務者のデフォルト率PDの近似値として用いられる。ここで、数93に現れるPDの厳密な値は図14の債務者の格付および図15(a)の格付別デフォルト率によって与えられ、pd[R[i]]という配列の要素で表すことができる。数93の下段の式の計算を行う場合にも、この厳密値をそのまま用いることも可能である。本実施例で厳密値ではなくPD_avg[s、r]を用いる理由は数値計算上の誤差を考慮してのことである。数93の下段の式の中括弧内第二項は数値積分によって算出するため、積分点の偏りに伴う数値積分の誤差が含まれている。このため、第一項のPDも同じ積分点を用いて算出した平均値であるPD_avg[s、r]を用いることにより、最終的に算出されるCVaRベースエコノミックキャピタルの誤差を小さくすることができる。なお、PDがPD_avg[s、r]を用いて近似できることは、次のように確かめられる。
Figure 0004443619
ステップS2815では、セクター番号sと評価点番号mを引数とする、離散化評価点に対する積分ウエイトの和を要素とする配列w_sum[s、m]の算出処理を行う。この配列w_sum[s、m]は、数109の第二式に相当するものである。積分点番号lをインクリメントしながら、積分評価点ごとに全てのセクター番号sに対してw_sum[s、M[s]]にw[l]を加えていく処理を行うことにより、配列w_sum[s、m]の全ての要素を算出することができる。
ステップS2840〜S2858では、積分点についてのループが終了(S2804)した後に、格付番号r、セクター番号sを持つ債務者の平均デフォルト率を要素とする配列PD_avg[s、r]を算出する。まず、離散化評価点番号mを1からNまでインクリメントさせながら(S2848、S2850、S2854)、CPD[m、r、s]に重みw_sum[s、m]を乗じてPD_avg[s、r]に加えていく(S2852)。この処理を全てのセクター番号sについて行い(S2844、S2846、S2856)、更にその処理を全ての格付番号rについて行うことにより(S2841、S2842、S2858)、PD_avg[s、r]の各要素に、数109の第一式の和に相当する値が格納される。
図29A〜Cには、CalcECモジュールの処理フローに加えて、それに類似した処理が行われるCalcEC2モジュールの処理フローも示されている。CalcEC2モジュールの処理がCalcECモジュールの処理と相違するのはステップS2946〜S2952、ステップS2954およびS2956、ステップS2943の処理であるので、これらの処理以外の処理についての説明を省略する。
CalcEC2モジュールのステップS2946〜S2952の処理では、助変数番号kを引数とする配列RCMGF_CVaR[k]を算出する処理を行う。ここで、配列RCMGF_CVaR[k]の各要素は、数94第二式の括弧内の式でλ=γ+jkhとした値に相当する。数94を導出した際に述べたことから、このRCMGF_CVaR[k]は、RCMGF_VaR[k]を助変数で割ることにより計算できる。このため、これらのステップでは、助変数番号kをインクリメントさせながら(S2946、S2948、S2952)、助変数番号kごとにRCMGF_VaR[k]をγ+jkhで除算して結果を配列RCMGF_CVaR[k]に格納するという処理(S2950)を行う。
ステップS2954では、数93に基づいて債務者ごとのCVaRベースエコノミックキャピタルの算出を行い、債務者番号iを引数とする配列EC_CVaR[i]に結果を格納する。ここで、数93の下段中括弧内の第一項目には、PD_avg[R[i],S[i]]を用いる。また、数93の下段中括弧内の第二項目は、数94式に従ってラプラス逆変換により算出する。数94のラプラス逆変換は、ステップS2946〜S2952によって得られたRCMGF_CVaR[k]をラプラス逆変換モジュールLIの入力とすることにより、計算することができる。具体的には、ラプラス逆変換モジュールへの入力をC[k]=RCMGF_VaR[k](k=0、1、・・・、N−1)、t=VaRとして処理を実行すればよい。なお、上述の処理において、PD_avg[R[i],S[i]]の代わりにpd[R[i]]を用いることもできる。両者の結果は、共通リスク変数に関する積分を数値計算することによって生じる誤差によって差異が生じるが、本質的には同じ結果を与えるものである。このようにPD_avg[R[i],S[i]]の代わりにpd[R[i]]を用いる場合には、PD_avg[R[i],S[i]]の算出に関連した処理は不要となる。
ステップS2956では、CVaRベースエコノミックキャピタルの全ての債務者に関する総和TotalEC_CVaRを算出する。そして、ステップS2843では、TotalEC_CVaRを用いて規格化を行うことにより、債務者iのCVaRベースエコノミックキャピタルEC_CVaR[i]を得る。ここで規格化を行うのは、CalcECモジュールにおいて行ったのと同様に、CVaRベースエコノミックキャピタルの総和が、CVaRに一致するようにするためである。ただし、この規格化は本発明において必須のものではなく、規格化の処理を行う前のEC_CVaR[i]の値も、債務者iのCVaRベースのエコノミック・キャピタルの近似値としての意味を持つ。
このように本実施例によって、ポートフォリオの全債務者に対するVaRベースエコノミックキャピタルおよびCVaRベースエコノミックキャピタルが適切に計算される。Calc_EC2モジュールも積分点に関するループを行うことなくエコノミックキャピタルを算出することができ、大規模なポートフォリオでも全債務者のCVaRベースエコノミックキャピタルを算出することが可能である。なお、上述のCalcPF_RC2モジュールおよびCalcEC2モジュールの説明に用いたフローチャートに現れる変数の仕様について図32A、Bおよび図33A、Bにまとめている。
以上、本発明の実施の形態につき述べたが、本発明は既述の実施の形態に限定されるものではなく、本発明の技術的思想に基づいて各種の変形、変更および組み合わせが可能であり、特許請求の範囲の記載に基づいて発明が理解される。
本発明の実施形態の計算方法が実現されるコンピュータの機能ブロック図である。 本発明の実施形態の計算方法によって実現される専用計算機の構成を示す機能ブロック図である。 本発明の計算を行うポートフォリオの損失額分布を、各種のリスク指標とともに示す分布図である。 本発明の計算の際に損失を考慮する基準を示す対比表である。 損失を考慮する基準の違いを具体例によって示す説明図である。 複数の企業の損失発生事象の組み合わせについて、デフォルト事象の相関を説明する説明図である。 損失額の確率分布を単一の企業と複数の企業の場合で比較する説明図である。 損失額の確率分布を分布関数によって示す説明図である。 本発明の実施形態における計算の際に損失を考慮する基準を示す対比表である。 デフォルトモードの場合の一定期間後の損失発生の様子を示す説明図である。 MtMモードの場合の一定期間後の損失発生の様子を示す説明図である。 QDアルゴリズムの計算手順によって連分数の係数が算出される処理の手順を示す説明図である。 本発明の実施例において用いるセクターリスク因子を共通リスク因子から生成するための係数(感応度係数)のデータの例を示す図である。 本発明の実施例において用いる企業(債務者)ごとに与えられるデータの例を示す図である。 本発明のある実施例において用いるデフォルトモードにおいて用いられる格付ごとに平均デフォルト率の例(図15a)と、他の実施例のMtMモードにおいて用いられる格付ごとの平均格付遷移確率の例(図15b)とを示す説明図である。 本発明の実施例において用いる積分点の例を示す説明図である。 本発明の実施例において用いる企業(債務者)に与えられうる格付ごとに与えられるデフォルトに移行する率のデータの例を示す図である。 本発明の実施例において用いる企業(債務者)ごとに与えられるデータの例を示す図である。 MtMモードの計測に利用する状態ごとの損益額を算出する計算装置の構成を示すブロック図である。 本発明の実施例のプログラムによって実現される計算装置の機能ブロック図である。 図20Aに示したブロック図によって実施される本発明の実施例において利用する変数の仕様をまとめた表である。 図20Aに示したブロック図によって実施される本発明の実施例において利用する変数の仕様をまとめた表である。 本発明の実施例のプログラムの処理フローを表すフローチャートである。 本発明の実施例のプログラムの処理フローを表すフローチャートである。 本発明の実施例のプログラムの処理フローを表すフローチャートである。 本発明の実施例のプログラムの処理フローを表すフローチャートである。 本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。 本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。 本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。 本発明の実施例のプログラムの処理フローを表すフローチャートである。 本発明の実施例のプログラムの処理フローを表すフローチャートである。 本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。 本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。 本発明の実施例のプログラムによって実現される計算装置の機能ブロック図である。 本発明の実施例のプログラムの処理フローを表すフローチャートである。 本発明の実施例のプログラムの処理フローを表すフローチャートである。 本発明の実施例のプログラムの処理フローを表すフローチャートである。 本発明の実施例のプログラムの処理フローを表すフローチャートである。 本発明の実施例のプログラムの処理フローを表すフローチャートである。 本発明の実施例のプログラムの処理フローを表すフローチャートである。 本発明の実施例のプログラムの処理フローを表すフローチャートである。 本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。 本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。 本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。 本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。 本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。 本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。 本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。 本発明の実施例のプログラムにおいて用いる変数の仕様をまとめた表である。
符号の説明
102 演算手段
108 メインメモリ
118 ハードディスクドライブ
300 リスク指標の計算装置
306 損失指標関数算出部
308 セクター関数データ算出部
312 セクター乗算部
314 ウエイト乗算部
316 狭義ポートフォリオ関数算出部
318 ラプラス逆変換部
320 リスク指標算出部
350 セクター関数データ記憶部

Claims (29)

  1. 演算手段とセクター関数データ記憶手段を含む記憶手段とを備えるコンピュータを用いて実現される、複数の企業に対する債権を含むポートフォリオの損失についてのリスク指標を求める計算方法であって、
    損失指標関数算出手段が、損失指標関数のデータを企業ごとに算出するステップであって、前記損失指標関数とは、前記ポートフォリオに含まれる企業を分けるセクターごとのセクターリスク因子の実現値であるセクター変数の各値に対し与えられる各企業の損失生起確率と、ラプラス変換のための助変数に企業に対する債権のエクスポージャを乗じた値の指数関数とを用いて企業ごとに定義される関数であり、前記セクターリスク因子とは、前記損失生起確率の決定に用いられる企業価値に影響しうる複数のリスク因子である共通リスク因子の一次結合として前記セクターに含まれる企業に共通する確率変数であり、前記損失生起確率とは、当該企業の属するセクターのセクターリスク因子が前記セクター変数の各値となる条件における、前記企業価値に基づく当該企業の損失の発生の可能性を示す条件付き確率であり、前記損失指標関数の前記定義は、該損失生起確率の関数を含み、前記損失指標関数のデータは、前記損失指標関数の前記定義における前記セクター変数の各値の代わりに、離散化評価点の値を用いて算出され、前記離散化評価点とは、前記セクター変数の分布範囲に対応する範囲にあって前記演算手段によって算出され又は予め前記記憶手段に記憶された有限個の離散的な点である、損失指標関数のデータを企業ごとに算出するステップと、
    セクター関数データ算出手段が、前記離散化評価点のそれぞれについてセクター関数データを算出し、算出したセクター関数データをセクターごと前記離散化評価点ごとに前記セクター関数データ記憶手段に記憶するステップであって、前記セクター関数とは、前記セクターごとに定義される関数であって該セクター内の全ての企業にわたる前記損失指標関数の積を含む関数であり、前記セクター関数データとは、セクター関数の前記離散化評価点における値であり、前記セクター関数データは、前記損失指標関数の前記データを各セクター内の全ての企業について乗算した値を用いて算出され、前記セクター関数データ算出手段は、算出された前記セクター関数データを少なくともセクターと離散化評価点とに対応させて前記セクター関数データ記憶手段に記憶する、セクター関数データ算出ステップと、
    セクター乗算手段が、前記共通リスク因子に関する実現値である共通リスク変数についての積分を行うための各積分点について、セクターごとに、当該積分点の成分の一次結合であるセクター変数の近傍にある前記離散化評価点の一つを特定して、セクターおよび該特定された一つの離散化評価点に対応する前記セクター関数データを前記セクター関数データ記憶手段から呼び出して、呼び出された前記セクター関数データを全セクターについて乗じることにより、条件付ポートフォリオ関数の各積分点における近似値を算出するセクター乗算ステップであって、前記条件付ポートフォリオ関数とは、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積を含む関数である、セクター乗算ステップと、
    ポートフォリオ関数算出手段が、ポートフォリオ関数データを算出するステップであって、前記ポートフォリオ関数とは、前記条件付ポートフォリオ関数の共通リスク因子に関する平均と、前記助変数の関数であるポートフォリオ助変数関数との積として定義される関数であり、前記ポートフォリオ関数算出手段は、前記条件付ポートフォリオ関数を含む被積分関数の前記共通リスク変数についての積分を前記積分点における前記条件付ポートフォリオ関数の前記近似値を用いて数値計算することによって前記条件付ポートフォリオ関数の共通リスク因子に関する平均を算出し、算出した該平均と前記助変数の関数である前記ポートフォリオ助変数関数の値との積を計算することによって、前記ポートフォリオ関数データを算出する、ポートフォリオ関数算出ステップと、
    ラプラス逆変換手段が、前記ポートフォリオ関数データに基づいて、前記助変数についての積分を数値計算することにより該ポートフォリオ関数をラプラス逆変換した関数の値のデータを算出するラプラス逆変換ステップと、
    リスク指標算出手段が、該ポートフォリオ関数をラプラス逆変換した関数の値のデータから前記ポートフォリオの損失についてのリスクを示すリスク指標を算出するリスク指標算出ステップと
    を含むリスク指標の計算方法。
  2. 前記セクター関数が、前記セクター内の全ての企業にわたる前記損失指標関数の積であり、
    前記条件付ポートフォリオ関数が、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積である、請求項1に記載のリスク指標の計算方法。
  3. 前記セクター関数が、前記セクター内の全ての企業にわたる前記損失指標関数の積と、セクターごとに定義される前記助変数の関数であるセクター助変数関数との積であり、
    前記セクター関数データは、前記損失指標関数の前記データを各セクター内の全ての企業について乗算した値と前記セクター助変数関数の値とを乗算することにより算出され、
    前記条件付ポートフォリオ関数が、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積と、助変数の関数である条件付ポートフォリオ助変数関数との積である、請求項1に記載のリスク指標の計算方法。
  4. 前記ポートフォリオ関数算出ステップは、
    各積分点について、前記条件付ポートフォリオ関数の前記近似値に、当該積分点に関連するウエイト値を乗じて重み付けデータを得るウエイト乗算ステップと、
    全ての積分点について前記重み付けデータを合算して前記条件付ポートフォリオ関数の前記共通リスク因子に関する平均を算出し、該平均と前記助変数の関数である前記ポートフォリオ助変数関数の値との積を計算することにより前記ポートフォリオ関数のデータを算出するステップと
    を含む、請求項1に記載のリスク指標の計算方法。
  5. 前記ポートフォリオ関数算出ステップは、各積分点について、前記条件付ポートフォリオ関数の前記近似値を合算し積分点数により除算して前記条件付ポートフォリオ関数の前記共通リスク因子に関する平均を算出し、該平均と前記助変数の関数である前記ポートフォリオ助変数関数の値との積を計算することにより前記ポートフォリオ関数のデータを算出するステップを含む、請求項1に記載のリスク指標の計算方法。
  6. 損失指標関数のデータを企業ごとに算出する前記ステップは、前記ラプラス逆変換ステップの数値計算において用いる前記助変数の値ごとに損失指標関数の前記データを算出するステップであり、
    前記セクター関数データ算出ステップは、各セクターと各離散化評価点と前記助変数の各値とに対応するセクター関数データである助変数毎セクター関数データを、前記セクターと前記離散化評価点と前記助変数の各値とに対応させて前記セクター関数データとして前記セクター関数データ記憶手段に記憶するステップであり、
    前記セクター乗算ステップは、前記助変数の各値に対して、セクターごとに特定された一つの離散化評価点について、前記セクター関数データ記憶手段から前記助変数毎セクター関数データを、前記セクター関数データとして呼び出して全セクターについて乗じるステップであり、
    前記ポートフォリオ関数算出ステップが、前記助変数の各値に対して実行され、
    前記ラプラス逆変換ステップは、前記助変数の各値に対する前記ポートフォリオ関数のデータにより前記助変数についての積分計算の数値計算を実行するステップである、請求項1に記載のリスク指標の計算方法。
  7. 前記損失指標関数が、前記セクターリスク因子が前記離散化評価点となる条件における企業ごとの条件付きモーメント母関数であり、前記セクター関数がセクター内の全ての企業にわたる該損失指標関数の積であり、前記条件付ポートフォリオ関数が前記ポートフォリオに含まれる全てのセクターにわたる該セクター関数の積であり、前記ポートフォリオ助変数関数が恒等関数であり、前記ポートフォリオ関数をラプラス逆変換した関数が前記損失の確率分布を与える確率密度関数であり、前記リスク指標算出ステップにおいて該確率密度関数の値のデータに基づいて前記リスク指標が算出される、請求項1に記載のリスク指標の計算方法。
  8. 前記損失指標関数が、前記セクターリスク因子が前記離散化評価点となる条件における企業ごとの条件付きモーメント母関数であり、前記セクター関数がセクター内の全ての企業にわたる該損失指標関数の積であり、前記条件付ポートフォリオ関数が前記ポートフォリオに含まれる全てのセクターにわたる該セクター関数の積であり、前記ポートフォリオ助変数関数が前記助変数による除算関数であり、前記ポートフォリオ関数をラプラス逆変換した関数が前記損失の確率分布を与える分布関数であり、前記リスク指標算出ステップにおいて該分布関数の値のデータに基づいて前記リスク指標が算出される、請求項1に記載のリスク指標の計算方法。
  9. 前記リスク指標が信用バリューアットリスク額を含むものであり、
    前記演算手段が、前記ウエイト乗算ステップで得られた前記重み付けデータを、セクターごとに前記セクター乗算ステップで特定された離散化評価点と当該セクターとに対応付けて、セクター別離散化評価点別に、全ての積分点にわたって和をとって和データを算出する第1の追加計算ステップと、
    前記演算手段が、前記和データを少なくともセクターと離散化評価点とに対応させて和データ記憶手段に記憶する追加記憶ステップと、
    前記演算手段が、前記ポートフォリオ内の全ての企業について、離散化評価点ごとに、前記損失生起確率と、前記助変数に各企業に対する債権のエクスポージャを乗じた値の指数関数とを用いて定義されるリスク寄与度指標関数のデータを算出し、当該企業のセクターと当該離散化評価点とにより特定される前記和データを前記和データ記憶手段から呼び出して前記リスク寄与度指標関数のデータと乗算して、全ての離散化評価点にわたる当該乗算結果の和をとって当該企業のエクスポージャによる分布関数の偏微分値のラプラス変換データを求める第2の追加計算ステップと、
    前記演算手段が、前記第2の追加計算ステップによって得られた各企業のエクスポージャによる分布関数の偏微分値のラプラス変換データから、各企業のエクスポージャによる分布関数の偏微分の前記信用バリューアットリスク額における値のデータを、前記ポートフォリオに含まれる全ての企業に対して算出する追加のラプラス逆変換ステップと、
    前記演算手段が、該追加のラプラス逆変換ステップにより得られた全ての企業のエクスポージャによる分布関数の偏微分の前記信用バリューアットリスク額における値のデータと、全ての企業のエクスポージャと、前記信用バリューアットリスク額とから、各企業のエコノミックキャピタルを算出するステップと
    をさらに含む請求項4に記載のリスク指標の計算方法。
  10. 前記リスク指標が信用バリューアットリスク額を含み、
    前記演算手段が、各企業のエクスポージャによる分布関数の偏微分値の前記ラプラス変換データを助変数で除算して企業別のデータを得る第3の追加計算ステップと、
    前記演算手段が、該第3の追加計算ステップにより得られた企業別のデータから、各企業のエクスポージャによる分布関数の偏微分を、0から前記信用バリューアットリスク額までの区間において損失額によって積分した値である積分値データを、ラプラス逆変換により算出する第2の追加のラプラス逆変換ステップと、
    前記演算手段が、該第2の追加のラプラス逆変換ステップにより得られた各企業の前記積分値データと当該企業の前記損失生起確率の前記セクターリスク因子に関する平均値である平均デフォルト確率との和をとり、該和を、全区間からの信頼区間の残余によって除算して、各企業の条件付きバリューアットリスク額に基づくリスク寄与度を算出するステップと
    をさらに含む請求項9に記載のリスク指標の計算方法。
  11. 前記損失生起確率は、企業がデフォルトとなる前記企業価値の上限であるデフォルト閾値を含む基準に基づいて前記セクター変数の各値に対して与えられるものであり、前記損失生起確率は、前記セクター変数が与えられた条件での当該企業の条件付デフォルト確率である、請求項1に記載のリスク指標の計算方法。
  12. 前記基準は、企業の格付が変化する前記企業価値についての格付閾値を少なくとも一つさらに含む基準であり、
    前記損失指標関数が、格付推移時の損益と、前記セクター変数が与えられた条件での当該企業の条件付格付推移確率とをさらに含んで定義されている、請求項11に記載のリスク指標の計算方法。
  13. 前記ラプラス逆変換ステップは、ラプラス逆変換の無限区間積分を近似する級数の係数のデータから該級数の項ごとの和よりも速く該級数の値に収束する計算法を与える収束加速法を用いて、該級数の近似値を求める収束加速ステップを含む、請求項1〜6、9または10のいずれかに記載のリスク指標の計算方法。
  14. 前記ラプラス逆変換ステップは、ラプラス逆変換の無限区間積分を近似する級数の係数のデータから該級数を表現する連分数の係数を算出するステップと、該係数を用いて該連分数の値の数値計算を行うステップとを含む、請求項1〜6、9または10のいずれかに記載のリスク指標の計算方法。
  15. ラプラス逆変換の無限区間積分を近似する前記級数として、ラプラス逆変換の無限区間積分の積分にポアソン法を適用して得られる無限級数を用いる、請求項14に記載のリスク指標の計算方法。
  16. 前記連分数の係数を算出するステップは、QD法に基づいて連分数の係数を求めるステップを含む、請求項14に記載のリスク指標の計算方法。
  17. 前記級数がポアソン法に基づいて得られた無限級数であり、
    前記連分数の係数を算出するステップがQD法に基づいて連分数の係数を求めるステップである、請求項14に記載のリスク指標の計算方法。
  18. 前記リスク指標が予測損失額を含み、該予測損失額が、前記確率密度関数または前記分布関数から算出される請求項7または8に記載のリスク指標の計算方法。
  19. 前記リスク指標が所定の信頼区間に対応する信用バリューアットリスク額を含み、該信用バリューアットリスク額が、前記分布関数から算出される請求項8に記載のリスク指標の計算方法。
  20. 前記セクター乗算ステップは、セクター変数との差の絶対値を最小にするよう前記離散化評価点の集合から一つの前記離散化評価点を特定する、請求項1に記載のリスク指標の計算方法。
  21. 演算手段とセクター関数データ記憶手段を含む記憶手段とを備えるコンピュータを用いて実現される、複数の企業に対する債権を含むポートフォリオの損失についてのリスク指標を求める計算方法であって、
    損失指標関数算出手段が、損失指標関数のデータを企業ごとに算出するステップであって、前記損失指標関数とは、前記ポートフォリオに含まれる企業を分けるセクターごとのセクターリスク因子の実現値であるセクター変数の各値に対し与えられる各企業の損失生起確率と、フーリエ変換のための助変数に企業に対する債権のエクスポージャと虚数単位を乗じた値の指数関数とを用いて企業ごとに定義される関数であり、前記セクターリスク因子とは、前記損失生起確率の決定に用いられる企業価値に影響しうる複数のリスク因子である共通リスク因子の一次結合として前記セクターに含まれる企業に共通する確率変数であり、前記損失生起確率とは、当該企業の属するセクターリスク因子が前記セクター変数の各値となる条件における前記企業価値に基づく当該企業の損失の発生の可能性を示す条件付き確率であり、前記損失指標関数の前記定義は、該損失生起確率の関数を含み、前記損失指標関数のデータは、前記損失指標関数の前記定義における前記セクター変数の各値の代わりに、離散化評価点の値を用いて算出され、前記離散化評価点とは、前記セクター変数の分布範囲に対応する範囲にあって前記演算手段によって算出され又は予め前記記憶手段に記憶された有限個の離散的な点である、損失指標関数のデータを企業ごとに算出するステップと、
    セクター関数データ算出手段が、前記離散化評価点のそれぞれについてセクター関数データを算出し、算出したセクター関数データをセクターごと前記離散化評価点ごとに前記セクター関数データ記憶手段に記憶するステップであって、記セクター関数とは、前記セクターごとに定義される関数であって該セクター内の全ての企業にわたる前記損失指標関数の積を含む関数であり、前記セクター関数データとは、セクター関数の前記離散化評価点における値であり、前記セクター関数データは、前記損失指標関数の前記データを各セクター内の全ての企業について乗算した値を用いて算出され、前記セクター関数データ算出手段は、算出された前記セクター関数データを少なくともセクターと離散化評価点とに対応させて前記セクター関数データ記憶手段に記憶する、セクター関数データ算出ステップと、
    セクター乗算手段が、前記共通リスク因子に関する実現値である共通リスク変数についての積分を行うための各積分点について、セクターごとに、当該積分点の成分の一次結合であるセクター変数の近傍にある前記離散化評価点の一つを特定して、セクターおよび該特定された一つの離散化評価点に対応する前記セクター関数データを前記セクター関数データ記憶手段から呼び出して、呼び出された前記セクター関数データを全セクターについて乗じることにより、条件付ポートフォリオ関数の各積分点における近似値を算出するセクター乗算ステップであって、前記条件付ポートフォリオ関数とは、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積を含む関数である、セクター乗算ステップと、
    ポートフォリオ関数算出手段が、ポートフォリオ関数データを算出するステップであって、前記ポートフォリオ関数とは、前記条件付ポートフォリオ関数の共通リスク因子に関する平均と、前記助変数の関数であるポートフォリオ助変数関数との積として定義される関数であり、前記ポートフォリオ関数算出手段は、前記条件付ポートフォリオ関数を含む被積分関数の前記共通リスク変数についての積分を前記積分点における前記条件付ポートフォリオ関数の前記近似値を用いて数値計算することによって前記条件付ポートフォリオ関数の共通リスク因子に関する平均を算出し、算出した該平均と前記助変数の関数である前記ポートフォリオ助変数関数の値との積を計算することによって、前記ポートフォリオ関数データを算出する、ポートフォリオ関数算出ステップと、
    逆フーリエ変換手段が、前記ポートフォリオ関数データに基づいて、前記助変数についての積分を数値計算することにより該ポートフォリオ関数を逆フーリエ変換した関数の値のデータを算出する逆フーリエ変換ステップと、
    リスク指標算出手段が、該ポートフォリオ関数を逆フーリエ変換した関数の値のデータから前記ポートフォリオの損失についてのリスクを示すリスク指標を算出するリスク指標算出ステップと
    を含むリスク指標の計算方法。
  22. 前記セクター関数が、前記セクター内の全ての企業にわたる前記損失指標関数の積であり、
    前記条件付ポートフォリオ関数が、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積である、請求項21に記載のリスク指標の計算方法。
  23. 前記セクター関数が、前記セクター内の全ての企業にわたる前記損失指標関数の積と、セクターごとに定義される前記助変数の関数であるセクター助変数関数との積であり、
    前記セクター関数データは、前記損失指標関数の前記データを各セクター内の全ての企業について乗算した値と前記セクター助変数関数の値とを乗算することにより算出され、
    前記条件付ポートフォリオ関数が、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積と、助変数の関数である条件付ポートフォリオ助変数関数との積である、請求項21に記載のリスク指標の計算方法。
  24. 前記ポートフォリオ関数算出ステップは、
    各積分点について、前記条件付ポートフォリオ関数の前記近似値に、当該積分点に関連するウエイト値を乗じて重み付けデータを得るウエイト乗算ステップと、
    全ての積分点について前記重み付けデータを合算して前記条件付ポートフォリオ関数の前記共通リスク因子に関する平均を算出し、該平均と前記助変数の関数であるポートフォリオ助変数関数との積を計算することにより前記ポートフォリオ関数のデータを算出するステップと
    を含む、請求項21に記載のリスク指標の計算方法。
  25. 前記ポートフォリオ関数算出ステップは、各積分点について、前記条件付ポートフォリオ関数の前記近似値を合算し積分点数により除算して前記条件付ポートフォリオ関数の前記共通リスク因子に関する平均を算出し、該平均と前記助変数の関数であるポートフォリオ助変数関数との積を計算することにより前記ポートフォリオ関数のデータを算出するステップを含む、請求項21に記載のリスク指標の計算方法。
  26. 損失指標関数のデータを企業ごとに算出する前記ステップは、前記逆フーリエ変換ステップの数値計算において用いる前記助変数の値ごとに損失指標関数の前記データを算出するステップであり、
    前記セクター関数データ算出ステップは、各セクターと各離散化評価点と前記助変数の各値とに対応するセクター関数データである助変数毎セクター関数データを、前記セクターと前記離散化評価点と前記助変数の各値とに対応させて前記セクター関数データとして前記セクター関数データ記憶手段に記憶するステップであり、
    前記セクター乗算ステップは、前記助変数の各値に対して、セクターごとに特定された一つの離散化評価点について、前記セクター関数データ記憶手段から前記助変数毎セクター関数データを、前記セクター関数データとして呼び出して全セクターについて乗じるステップであり、
    前記ポートフォリオ関数算出ステップが、助変数の各値に対して実行され、
    前記逆フーリエ変換ステップは、前記助変数の各値に対する前記ポートフォリオ関数のデータにより前記助変数についての積分計算の数値計算を実行するステップである、請求項21に記載のリスク指標の計算方法。
  27. 演算手段と記憶手段を備えるコンピュータに請求項1または21に記載のリスク指標の計算方法を実行させるためのコンピュータプログラム。
  28. 演算装置とセクター関数データ記憶部を含む記憶装置を備えるコンピュータによって実現される、複数の企業に対する債権を含むポートフォリオの損失についてのリスク指標を求める計算装置であって、
    損失指標関数のデータを企業ごとに算出する損失指標関数算出部であって、前記損失指標関数とは、前記ポートフォリオに含まれる企業を分けるセクターごとのセクターリスク因子の実現値であるセクター変数の各値に対し与えられる各企業の損失生起確率と、ラプラス変換のための助変数に企業に対する債権のエクスポージャを乗じた値の指数関数とを用いて企業ごとに定義される関数であり、前記セクターリスク因子とは、前記損失生起確率の決定に用いられる企業価値に影響しうる複数のリスク因子である共通リスク因子の一次結合として前記セクターに含まれる企業に共通して定義される確率変数であり、前記損失生起確率とは、当該企業の属するセクターのセクターリスク因子が前記セクター変数の各値となる条件における、前記企業価値に基づく当該企業の損失の発生の可能性を示す条件付き確率であり、前記損失指標関数の前記定義は、該損失生起確率の関数を含み、前記損失指標関数のデータは、前記損失指標関数の前記定義における前記セクター変数の各値の代わりに、離散化評価点の値を用いて算出され、前記離散化評価点とは、前記セクター変数の分布範囲に対応する範囲にあって前記演算手段によって算出され又は予め前記記憶手段に記憶された有限個の離散的な点である、損失指標関数算出部と、
    前記離散化評価点のそれぞれについてセクター関数データを算出して、算出したセクター関数データをセクターごと前記離散化評価点ごとに前記セクター関数データ記憶手段に記憶するセクター関数データ算出部であって、前記セクター関数とは、前記セクターごとに定義される関数であって該セクター内の全ての企業にわたる前記損失指標関数の積を含む関数であり、前記セクター関数データとは、セクター関数の前記離散化評価点における値であり、前記セクター関数データを前記損失指標関数の前記データを各セクター内の全ての企業について乗算した値を用いて算出し、算出した前記セクター関数データを少なくともセクターと離散化評価点とに対応させて前記セクター関数データ記憶手段に記憶する、セクター関数データ算出部と、
    前記共通リスク因子に関する実現値である共通リスク変数についての積分を行うための各積分点について、セクターごとに、当該積分点の成分の一次結合であるセクター変数の近傍にある前記離散化評価点の一つを特定して、セクターおよび該特定された一つの離散化評価点に対応する前記セクター関数データを前記セクター関数データ記憶部から呼び出して、呼び出された前記セクター関数データを全セクターについて乗じることにより、条件付ポートフォリオ関数の各積分点における近似値を算出するセクター乗算部であって、前記条件付ポートフォリオ関数とは、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積を含む関数である、セクター乗算部と、
    ポートフォリオ関数データを算出するポートフォリオ関数算出部であって、前記ポートフォリオ関数とは、前記条件付ポートフォリオ関数の共通リスク因子に関する平均と、前記助変数の関数であるポートフォリオ助変数関数との積として定義される関数であり、前記条件付ポートフォリオ関数を含む被積分関数の前記共通リスク変数についての積分を前記積分点における前記条件付ポートフォリオ関数の前記近似値を用いて数値計算することによって前記条件付ポートフォリオ関数の共通リスク因子に関する平均を算出し、算出した該平均と前記助変数の関数である前記ポートフォリオ助変数関数の値との積を計算することによって、前記ポートフォリオ関数データを算出する、ポートフォリオ関数算出部と、
    前記ポートフォリオ関数データに基づいて、前記助変数についての積分を数値計算することにより該ポートフォリオ関数をラプラス逆変換した関数の値のデータを算出するラプラス逆変換部と、
    該ポートフォリオ関数をラプラス逆変換した関数の値のデータから前記ポートフォリオの損失についてのリスクを示すリスク指標を算出するリスク指標算出部と
    を備えているリスク指標の計算装置。
  29. 演算装置とセクター関数データ記憶部を含む記憶装置を備えるコンピュータによって実現される、複数の企業に対する債権を含むポートフォリオの損失についてのリスク指標を求める計算装置であって、
    損失指標関数のデータを企業ごとに算出する損失指標関数算出部であって、前記損失指標関数とは、前記ポートフォリオに含まれる企業を分けるセクターごとのセクターリスク因子の実現値であるセクター変数の各値に対し与えられる各企業の損失生起確率と、フーリエ変換のための助変数に企業に対する債権のエクスポージャと虚数単位を乗じた値の指数関数とを用いて企業ごとに定義される関数であり、前記セクターリスク因子とは、前記損失生起確率の決定に用いられる企業価値に影響しうる複数のリスク因子である共通リスク因子の一次結合として前記セクターに含まれる企業に共通して定義される確率変数であり、前記損失生起確率とは、当該企業の属するセクターのセクターリスク因子が前記セクター変数の各値となる条件における、前記企業価値に基づく当該企業の損失の発生の可能性を示す条件付確率であり、前記損失指標関数の前記定義は、該損失生起確率の関数を含み、前記損失指標関数のデータは、前記損失指標関数の前記定義における前記セクター変数の各値の代わりに、離散化評価点の値を用いて算出され、前記離散化評価点とは、前記セクター変数の分布範囲に対応する範囲にあって前記演算手段によって算出され又は予め前記記憶手段に記憶された有限個の離散的な点である、損失指標関数算出部と、
    前記離散化評価点のそれぞれについてセクター関数データを算出して、算出したセクター関数データをセクターごと前記離散化評価点ごとに前記セクター関数データ記憶手段に記憶するセクター関数データ算出部であって、前記セクター関数とは、前記セクターごとに定義される関数であって該セクター内の全ての企業にわたる前記損失指標関数の積を含む関数であり、前記セクター関数データとは、セクター関数の前記離散化評価点における値であり、前記セクター関数データを前記損失指標関数の前記データを各セクター内の全ての企業について乗算した値を用いて算出し、算出した前記セクター関数データを少なくともセクターと離散化評価点とに対応させて前記セクター関数データ記憶手段に記憶する、セクター関数データ算出部と、
    前記共通リスク因子に関する実現値である共通リスク変数についての積分を行うための各積分点について、セクターごとに、当該積分点の成分の一次結合であるセクター変数の近傍にある前記離散化評価点の一つを特定して、セクターおよび該特定された一つの離散化評価点に対応する前記セクター関数データを前記セクター関数データ記憶部から呼び出して、呼び出された前記セクター関数データを全セクターについて乗じることにより、条件付ポートフォリオ関数の各積分点における近似値を算出するセクター乗算部であって、前記条件付ポートフォリオ関数とは、前記ポートフォリオに含まれる全てのセクターにわたる前記セクター関数の積を含む関数である、セクター乗算部と、
    ポートフォリオ関数データを算出するポートフォリオ関数算出部であって、前記ポートフォリオ関数とは、前記条件付ポートフォリオ関数の共通リスク因子に関する平均と、前記助変数の関数であるポートフォリオ助変数関数との積として定義される関数であり、前記条件付ポートフォリオ関数を含む被積分関数の前記共通リスク変数についての積分を前記積分点における前記条件付ポートフォリオ関数の前記近似値を用いて数値計算することによって前記条件付ポートフォリオ関数の共通リスク因子に関する平均を算出し、算出した該平均と前記助変数の関数である前記ポートフォリオ助変数関数の値との積を計算することによって、前記ポートフォリオ関数データを算出する、ポートフォリオ関数算出部と、
    前記ポートフォリオ関数データに基づいて、前記助変数についての積分を数値計算することにより該ポートフォリオ関数を逆フーリエ変換した関数の値のデータを算出する逆フーリエ変換部と、
    該ポートフォリオ関数を逆フーリエ変換した関数の値のデータから前記ポートフォリオの損失についてのリスクを示すリスク指標を算出するリスク指標算出部と
    を備えているリスク指標の計算装置。
JP2008103243A 2007-06-28 2008-04-11 ポートフォリオの信用リスクの計算方法および装置 Active JP4443619B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008103243A JP4443619B2 (ja) 2007-06-28 2008-04-11 ポートフォリオの信用リスクの計算方法および装置
US12/213,778 US7627511B2 (en) 2007-06-28 2008-06-24 Method and apparatus for calculating credit risk of portfolio

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007171046 2007-06-28
JP2008103243A JP4443619B2 (ja) 2007-06-28 2008-04-11 ポートフォリオの信用リスクの計算方法および装置

Publications (2)

Publication Number Publication Date
JP2009032237A JP2009032237A (ja) 2009-02-12
JP4443619B2 true JP4443619B2 (ja) 2010-03-31

Family

ID=40402634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008103243A Active JP4443619B2 (ja) 2007-06-28 2008-04-11 ポートフォリオの信用リスクの計算方法および装置

Country Status (1)

Country Link
JP (1) JP4443619B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4621300B2 (ja) 2009-05-29 2011-01-26 新日鉄ソリューションズ株式会社 情報処理装置、情報処理方法及びプログラム
EP2472464A4 (en) 2009-09-25 2014-08-06 Nec Corp LOSS DISTRIBUTION CALCULATION SYSTEM, LOSS DISTRIBUTION CALCULATING METHOD, AND LOSS DISTRIBUTION CALCULATION UTILIZATION PROGRAM
JP5508506B1 (ja) * 2012-11-28 2014-06-04 株式会社三井住友銀行 Lgd推計システムおよびlgd推計方法
JP5953416B1 (ja) * 2015-10-30 2016-07-20 正人 久門 財務リスク管理装置、財務リスク管理プログラム及び記憶媒体
JP6194434B1 (ja) * 2016-09-29 2017-09-06 株式会社金融エンジニアリング・グループ 情報処理装置、情報処理方法及びプログラム
MY188312A (en) * 2017-05-08 2021-11-27 Hwa Lim Kim Dynamically-generated electronic database for portfolio selection
CN110162849B (zh) * 2019-05-07 2022-08-16 南京理工大学 一种混杂纤维混凝土的建模方法

Also Published As

Publication number Publication date
JP2009032237A (ja) 2009-02-12

Similar Documents

Publication Publication Date Title
US7627511B2 (en) Method and apparatus for calculating credit risk of portfolio
Antonio et al. Micro-level stochastic loss reserving for general insurance
US20060195391A1 (en) Modeling loss in a term structured financial portfolio
US8112340B2 (en) Collateralized debt obligation evaluation system and method
JP4443619B2 (ja) ポートフォリオの信用リスクの計算方法および装置
Cuchiero et al. Affine multiple yield curve models
US20030014356A1 (en) Method and system for simulating risk factors in parametric models using risk neutral historical bootstrapping
CN101185097A (zh) 高级抵押借款诊断分析的方法和设备
US20090177612A1 (en) Method and Apparatus for Analyzing Data to Provide Decision Making Information
Bijak et al. Modelling LGD for unsecured retail loans using Bayesian methods
US20070016498A1 (en) Methods and systems for valuing investments, budgets and decisions
US7698196B1 (en) Method and system for modeling and benchmarking private equity and applications of same
Flores-Sosa et al. The OWA operator in multiple linear regression
Gavalas et al. Bank credit risk management and migration analysis; conditioning transition matrices on the stage of the business cycle
Alkhodhairi et al. Bitcoin candlestick prediction with deep neural networks based on real time data
Itkin et al. Four-factor model of quanto CDS with jumps-at-default and stochastic recovery
Shi et al. Quantitative data analysis in finance
Griffin et al. Estimating the probability of informed trading: A Bayesian approach
Elazouni et al. Contractor-finance decision-making tool using multi-objective optimization
US20210304310A1 (en) System and method for estimating multifactor models of illiquid, stale and noisy financial and economic data
US11610169B1 (en) Dynamic prediction modeling
Xiong et al. Putting a price tag on temperature
Akca et al. Adaptive stochastic risk estimation of firm operating profit
Albanese* et al. Discrete credit barrier models
Botha et al. The loss optimisation of loan recovery decision times using forecast cash flows

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090310

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20090409

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091013

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091222

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100112

R150 Certificate of patent or registration of utility model

Ref document number: 4443619

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160122

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250