【誤訳訂正書】
【提出日】平成25年7月17日(2013.7.17)
【誤訳訂正１】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【発明の詳細な説明】
【発明の名称】混成マルチスレッドおよびマルチプロセス・コンピュータ・シミュレーション・システムおよび方法
【技術分野】
【０００１】
（関連出願に対する相互引用）
本願は、２００５年９月２７日に出願し、連番第６０／７２１，２３９号を有する米国仮特許出願の優先権を主張する。その開示内容は、ここで引用したことにより、本願にも含まれるものとする。
（発明の分野）
本発明は、一般的にそして種々の実施形態において、コンピュータ・シミュレーション・システムおよび方法に関し、更に特定すれば、信用リスク(credit exposure)を判断するために投資ポートフォリオにおける取引を値踏みする混成マルチスレッドおよびマルチプロセス・コンピュータ・シミュレーション・システムおよび方法に関する。
【背景技術】
【０００２】
本願が取り組む問題全般は次の通りである。非常に多数の独立した問題に対する解を得て、次いで解に基づいて総合的な成果をあげるためには、コンピュータ・システムが必要である。個々の問題には、千差万別の複雑度がある可能性があり、したがって解くために必要となる計算時間も千差万別となる場合もある。問題を解くことは、１つ以上の共通入力に依存する可能性があるが、問題は、他のいずれに対して得られた解を参照することなく、各々を解くことができるという意味で、独立である。ここで用いる場合、「問題モジュール」という用語は独立した問題の各々を指す。
【０００３】
本願が取り組む具体的な問題は、投資ポートフォリオに伴う信用リスクを評価するという問題である。即ち、投資ポートフォリオの所有者は、所与の投資ポートフォリオにおける各カウンターパーティ(counterparty：取引相手の金融機関)に対する彼らの信用リスクを定量化することが必要となる場合が頻繁にある。ポートフォリオは、通例、カウンターパーティの集合体から成り、各カウンターパーティは、ポートフォリオ所有者に対して支払いを行うこと、および／またはここでは「取引」と称する、１つ以上の金融商品取り扱いに応じたその他の義務(duty)を果たすことを余儀なくされている。各取り扱いの基礎となる金融商品は、例えば、何らかの金融資産、商品指標、既定の変数、またはその組み合わせに応じた値を有するコール(call)またはプット(put)オプションのような、派生商品である場合もある。ポートフォリオ所有者の各カウンターパーティに対する総信用リスクは、現在の信用リスクおよび潜在的な信用リスクの和として表すことができる。現在の信用リスクは、カウンターパーティが現在その義務を果たし損ねている（即ち、不履行）場合にポートフォリオ所有者が被る最大損失を表す。潜在的な信用リスクは、商品の満期に先立つ先日付において不履行となった場合に被る最大損失を表す。ポートフォリオ所有者による信用リスクの判断は、とりわけ、あるカウンターパーティおよび信用危険度査定(credit risk valuation)に対する所定の信用限度に基づいて、当該カウンターパーティとの追加トランザクションを承認するために用いられる。
【０００４】
潜在的な支払いの判断は本来投機的であるので、所与のポートフォリオ内においてポートフォリオ所有者の各カウンターパーティに対する潜在的な信用リスクをシミュレーションするために、統計モデルが採用されることが多い。第１ステップとして、このようなモデルは、通例、多数の市場想定場面(market scenario)を、とりわけ、各カウンターパーティと関連のある取引の価値に影響を及ぼす１つ以上の市場危険要因に基づいて、シミュレートする。このような危険要因には、例えば、取引した資産の今後の価格、利率、および通貨交換レートが含まれる可能性がある。各市場の想定場面では、例えば、複数の時間範囲(time horizon)、例えば、指定した期間における各月におけるこのような要因に対して数値を得ることができる。各想定場面は、その発生尤度(likelihood)を表す確率も含むことができる。
【０００５】
市場の想定場面をシミュレートする時間は、取引の基礎となる金融商品の満期までの残存時間に基づいて選択することができる。シミュレートした市場の想定場面の作成は、例えば、既知のモンテ・カルロ・シミュレーション技法を用いて実施することができる。シミュレートした市場の想定場面を作成するとき、個々のカウンターパーティと関連のある各取引は、シミュレートした市場の想定場面毎に、時間範囲にわたって値踏みすることができる。決定した値踏みに基づいて、各シミュレートした市場の想定場面に対するポートフォリオ所有者のカウンターパーティに対する潜在的な信用リスクを判断することができる。次いで、シミュレートした市場の想定場面全てに対する潜在的な信用リスクを統計的に分析して、ポートフォリオ所有者のカウンターパーティに対する潜在的信用リスクの全体的推定値を決定することができる。必要であれば、ポートフォリオ内におけるカウンターパーティの推定潜在的信用リスクを組み合わせて、ポートフォリオ全体が表す潜在的な信用リスクの推定値を決定することもできる。
【０００６】
ポートフォリオ内部においてポートフォリオ所有者の各カウンターパーティに対する信用リスクの推定値を決定するために取引を値踏みするプロセスでは、計算が集中的に行われる。即ち、大型の投資ポートフォリオでは、数千ものカウンターパーティを含むことも希ではなく、各カウンターパーティが１つ以上の商取引(transaction)の下でポートフォリオ所有者に契約上義務を負わされている。多数の市場の想定場面（例えば、１０００〜２０００）を作成し、更に想定場面に対してかなりの数の時間範囲を設定する場合、必要な値踏み計算の回数は軽く１００億回の桁になる場合もある。このため、信用リスクに基づいてポートフォリオ所有者がリアル・タイムに投資判断を行う能力は、このような値踏み計算を実行するのに要する時間量によって制限されるのが一般である。
【０００７】
信用リスクの決定は、先に引用した一般的な問題の一例である。即ち、一般的な問題に対して引用した問題モジュールは、特定のカウンターパーティと関連のある個々の取引に対する信用リスクの計算に対応する。信用リスクの決定は、一般的な問題の範疇に該当する。何故なら、個々の取引毎の信用リスクは、他のいずれの取引に対する信用リスクを参照しなくても計算することができるからである。取引の複雑度は範囲が大きく変動するのが通例であるので、個々の取引に対して信用リスクを計算するには、一般に、広く異なる量の計算時間が必要となる。
【０００８】
ポートフォリオ所有者の潜在的なリスクを決定するために取引を値踏みすることは、マルチスレッド・プロセス手法を用いて以前から行われている。図１は、マルチスレッド・プロセス手法を実施する従来技術のコンピュータ・システムのブロック図である。図１に示すように、ルート・スクリプト(root script)１５が、並列に動作する複数のマスタ・サーバ２５の各々において、マルチスレッド・プロセス２０を開始する。ルート・スクリプト１５は、例えば、マスタ・サーバ２５の各々と通信する制御サーバ１６上で実行することができる。各マスタ・サーバ２５内において、マルチスレッド・プロセス２０の各スレッド３０を、対応するサーバ・エンジン３５内に実装し、シミュレートした市場の想定場面の１つ以上にわたって、所与のカウンターパーティ４５に対して取引４０を値踏みするように動作する。各マスタ・サーバ２５が同時に実装することができるスレッド３０の数が制限されるので、シミュレートした市場の想定場面に基づいて所与のカウンターパーティ４５と関連のある全ての取引４０を値踏みするためには、各マルチスレッド・プロセス２０にはかなりの時間量が必要となるのが通例である。
【０００９】
所与のカウンターパーティ４５に対する取引４０に値踏みするために各マルチスレッド・プロセス２０が必要とする時間は、取引４０の数および複雑度によってほぼ決定される。即ち、取引４０の一部が単純であれば値踏みは比較的素早く行うことができるが、他の取引４０が複雑な程、値踏みに要する時間は大幅に延長する可能性がある。各取引４０には、アルゴリズムが連動し、時間範囲の各々において市場の想定場面毎に走らせなければならない場合もある。取引４０の種別によって、このアルゴリズムの複雑度、およびそれを走らせるのに必要な時間が決まる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
図１に示すように、カウンターパーティの取引４０を値踏みする純粋なマルチスレッド・プロセスを利用するコンピュータ・システムは、シングル・プロセスの中で所与のカウンターパーティ４５の値踏み計算を全て実行する。このようなシステムは、取引４０が比較的単純であれば、容認できる期間の間に値踏み計算を完了することができるが、複雑な取引４０があると、値踏み計算を実行するためには、容認できないほど長い時間を必要とすることもあり得る。
【課題を解決するための手段】
【００１１】
一般的な一態様では、本願は、複数の問題モジュールに対する解を決定することを含む計算実行方法を開示する。問題モジュールは、複雑度が異なり、それらの解を組み合わせて計算に対する解を決定する。本方法は、問題モジュールの各々を少なくとも１つのマスタ・サーバに送出するステップと、問題モジュールの各々について複雑度を推定するステップと、閾値複雑度レベルを決定するステップと、複雑度が閾値複雑度レベルを超過する問題モジュールを少なくとも１つのスレーブ・サーバに送り、ここから問題モジュールに対する解を得るステップと、複雑度が閾値複雑度レベルを超過していない各問題モジュールの解を、少なくとも１つのマスタ・サーバにおいて決定するステップと、計算に対する解を決定するために、問題モジュールに対する解を組み合わせるステップとを含むことができる。
【００１２】
別の一般的な態様では、本願は、更に、投資ポートフォリオの所有者のカウンターパーティに対する信用リスクを投資ポートフォリオ内において定量化する方法を開示する。カウンターパーティは複数の取引に応じてポートフォリオ所有者に義務を負う。本方法は、カウンターパーティおよび取引を示す信号を少なくとも１つのマスタ・サーバに送るステップと、取引の各々について複雑度を推定するステップと、複雑度が閾値複雑度レベルを超過していない取引の各々について、少なくとも１つのマスタ・サーバにおいて取引に対する価格を決定するステップと、閾値複雑度レベルを決定するステップと、複雑度が閾値複雑度レベルを超過する取引の各々について、当該取引を少なくとも１つのスレーブ・サーバに送り、少なくとも１つのスレーブ・サーバにおいて取引に対する価格を決定するステップと、ポートフォリオ所有者のカウンターパーティに対する信用リスクを決定するために、取引に対する価格を組み合わせるステップとを含むことができる。
【００１３】
別の一般的な態様では、本願は、複数の想定場面に基づいて取引を値踏みするために用いられるアルゴリズムの基準複雑度を計算する方法を開示する。想定場面は、複数の時間範囲にわたる取引の価格に関係するパラメータの今後の値を表す。各基準複雑度は特定の取引種別に関連があり、取引の各々について実際の取引の複雑度を推定するために用いられる。本方法は、取引種別毎に、取引種別の少なくとも１つの特色を用いて基準取引を定義し、複数の想定場面に基づいて基準取引を値踏みし、複数の想定場面において基準取引を値踏みするのに必要な時間に基づいて、取引種別に対する基準複雑度を決定することを含む。
【発明を実施するための最良の形態】
【００１４】
図２は、本発明の種々の実施形態によるコンピュータ・システムのブロック図である。コンピュータ・システム５０は、１つ以上のマスタ・サーバ５５を備えることができる。種々の実施形態によれば、各マスタ・サーバ５５は、複数のシミュレートした市場の想定場面の各々について、特定のカウンターパーティ７０と関連のある取引６５の少なくとも一部に値踏みを行うマルチスレッド・プロセス６０を実施するように動作的に構成することができる。種々の実施形態によれば、シミュレートした市場の想定場面は、例えば、将来の市場のモンテ・カルロ・シミュレーションを用いて、予め決定することができる。各マスタ・サーバ５５上におけるプロセスの実施は、マスタ・サーバ５５の各々と通信する制御サーバ７６上で実行するルート・スクリプト７５の出力に応じて開始し制御することができる。更に、コンピュータ・システム５０は、各マスタ・サーバ５５と通信する１つ以上のスレーブ・サーバ・プール８０も含むことができる。各スレーブ・サーバ・プール８０は、対応するマスタ・サーバ５５から供給されるデータを受信し処理するために、１つ以上のスレーブ・サーバ（図示せず）をまたがって分散した１つ以上のスレーブ・サーバ・エンジン１００を備えることができる。以下で論ずるが、スレーブ・サーバ・プール８０は、必要に応じて、マスタ・サーバ５５に対して計算支援を行うグリッド・コンピューティング・ネットワークを集合的に定義することができる。
【００１５】
図２に示すように、特定のカウンターパーティ７０に対して値踏みする取引６５は、推定した相対的な複雑度に応じて、各マスタ・サーバ５５内において順序付けすることができる。取引６５の複雑度は、一般に、その価格を決定する際に必要となる時間量に応じて変動する。例えば、値踏みするのに３ｍｓの計算時間を必要とする取引６５は、値踏みするのに１ｍｓの計算時間を必要とする取引６５よりも複雑である。カウンターパーティ７０毎の取引６５の相対的な複雑度は、種々の実施形態によれば、３つの成分、即ち、１）基準複雑度成分（基幹形態複雑度成分と呼ぶ場合もある）、２）実際／基準調節成分、および３）時間範囲調節成分に基づいて決定することができる。これらの成分は、例えば、取引６５に値踏みをする時間範囲の数、取引６５によって表されるキャッシュ・フローの数、および取引６５の値踏みをする、シミュレートした市場の想定場面の数のような、取引６５の複雑度に影響を及ぼす可能性がある種々の要因を反映する。図２に示すように、取引６５は、複雑度が最も高いものから最も低いものに順番に並べることができる。
【００１６】
各マスタ・サーバ５５内において、取引６５の推定相対的複雑度に基づいてこれらを順番に並べた後、複雑度閾値８５に応じて取引６５を類別することができる。種々の実施形態によれば、複雑度閾値８５は、システム５０のユーザによって定義することができる。他の実施形態では、複雑度閾値８５は、既定の調節不能な値としてもよい。複雑度閾値８５は、取引６５を、複雑度閾値８５未満の複雑度を有する第１グループと、複雑度閾値８５以上の複雑度を有する第２グループとに分離するように動作する。ある実施形態では、複雑度閾値８５は作業負荷をマスタ・サーバ５５とスレーブ・サーバとの間で分散し、できるだけ速く解を決定するように選択することもできる。
【００１７】
次に、制御サーバ７６のルート・スクリプト７５が供給する出力に応じて、各マスタ・サーバ５５上において、マルチスレッド・プロセス６０を開始することができる。図２に示すように、定義した複雑度閾値８５よりも複雑度が低い各取引６５の値踏みは、対応するサーバ・エンジン９５の内部に実装したシングル・プロセス・スレッド９０によって、対応するマスタ・サーバ５５の内部で実行することができる。つまり、これらの取引６５について、各マスタ・サーバ５５上に実装したマルチスレッド・プロセス６０のみを利用して、値踏みの計算を並列に処理する。
【００１８】
複雑度が定義した複雑度閾値８５以上である各取引６５について、対応するマスタ・サーバ５５は、それと通信する１つ以上のスレーブ・サーバ・プール８０の内の１つにおいて、別個のプロセスを開始することができる。次いで、マスタ・サーバ５５は、これらの取引６５の各々に関するデータ、およびシミュレートした市場の想定場面に関するデータを直列化し、１つ以上のスレーブ・サーバ・プール８０内部において対応するプロセスに分散する。受信した直列化データに基づいて、スレーブ・サーバ・プール８０内部の各プロセスは、スレーブ・サーバの対応するスレーブ・サーバ・エンジン１００内に実装してあるプロセス・スレッド（図示せず）を利用して、取引６５を値踏みすることができる。つまり、複雑度が高い取引６５に対して、分散マルチプロセス手法を利用して、値踏み計算を並列で処理する。スレーブ・サーバ・プール８０内に実装したプロセスが生成する値踏みを直列化し、対応するマスタ・サーバ５５に伝達し、マスタ・サーバ５５の内部で決定した値踏みと合体することができる。
【００１９】
このように、図２のコンピュータ・システム５０は、混成並列化手法を実施し、所与のカウンターパーティ７０と関連のある取引６５の複雑度が低い程、マルチスレッド・プロセス６０を用いて内部で値踏みを行い、同じカウンターパーティ７０と関連がある取引６５の複雑度が高い程、分散プロセスを用いて離れて値踏みを行うことが認められよう。混成並列化によって、図１のシステム１０のようなマルチスレッド並列化のみを利用するシステムと比較して、様々な利点が得られる。第１に、マルチスレッドおよび分散処理を用いる混成並列化は粒度(granularity)を高める。即ち、分散プロセスを用いる並列化は、プロセス間通信量が増大するが、この増大は、分散プロセスによって利用可能となる計算リソース量の増大によって相殺される。第２に、混成並列化は、カウンターパーティ７０毎にトランザクションの全てを値踏みするのに必要な時間を短縮するように機能する。即ち、スレーブ・サーバ・プール８０内部における多数のプロセス間で複雑な取引６５を分散することによって、このような取引６５が、マスタ・サーバ５５内に実装したマルチスレッド・プロセス６０の「遂行を妨げる(bottlenecking)」ことを防止する。複雑な取引６５の数に応じて、計算効率の利得は計算時間を著しく短縮することができる。第３に、混成並列化によって高いスケーラビリティ(scalability)が可能となる。即ち、コンピュータ・システム５０が複雑な取引６５を処理する能力の対応する向上を実現するために、追加のスレーブ・サーバ・プール８０を加えることもできる。
【００２０】
図３は、本発明の種々の実施形態にしたがって、複雑度が異なる問題モジュールから成る複合問題１０５を解く方法１１０を示す。ステップ１２０において、各問題モジュールを複数のマスタ・サーバ５５の１つに送出する。マスタ・サーバ５５の各々は、前述のように、１つ以上のスレーブ・サーバ・プール８０と通信することができる。ステップ１３０において、各問題モジュールの複雑度の推定を行う。ステップ１４０において、マスタ・サーバ５５とスレーブ・サーバのスレーブ・サーバ・エンジン１００との間の計算負荷を均衡させるのに役立つ閾値複雑度レベル８５を決定する。
【００２１】
ステップ１５０において、各問題モジュールの複雑度を、閾値複雑度レベル８５と比較する。ステップ１６０において、複雑度が閾値複雑度レベル８５を超過しない問題モジュールをマスタ・サーバ５５において処理し、一方複雑度が閾値複雑度レベル８５を超過する問題モジュールを、処理のために、マスタ・サーバ５５と通信するスレーブ・サーバ・プール８０内にあるスレーブ・サーバ・エンジン１００に送る。
【００２２】
ステップ１８０において、全ての問題モジュールの解を組み合わせて、複合問題１０５の解を決定する。
【００２３】
図４ａおよび図４ｂは、本発明の種々の実施形態にしたがって、一部が例外的に複雑である可能性がある、複雑度が異なる問題モジュールから成る複合問題１０５を解く方法２００のフロー図である。ステップ１２０において、各問題モジュールを複数のマスタ・サーバ５５の１つに送出する。マスタ・サーバ５５の各々は、前述のように、１つ以上のスレーブ・サーバ・プール８０と通信することができる。ステップ１３０において、各問題モジュールの複雑度の推定を行う。ステップ２１０において、複雑度に基づいて問題モジュールを並び替え、最も複雑な問題モジュールから最も複雑でない問題モジュールまで順に並べる。ステップ１４０において、マスタ・サーバ５５とスレーブ・サーバのスレーブ・サーバ・エンジン１００との間の計算負荷を均衡させるのに役立つ閾値複雑度レベル８５を決定する。複雑度に基づいて問題モジュールを並び換えることによって、複数のマスタ・サーバ５５および／またはスレーブ・サーバを最大限利用することを可能にすることにより、計算時間を短縮することができる。ある数のサーバがアイドル状態にある一方別のサーバが特に複雑な計算を終了するという計算のよどみ(tail)は、このようにすれば、低減または解消することができる。
【００２４】
ステップ１５０において、問題モジュールの複雑度を、閾値複雑度レベル８５と比較する。ステップ１６０において、複雑度が閾値複雑度レベル８５を超過しない問題モジュールをマスタ・サーバ５５において処理し、一方ステップ２２０において複雑度が閾値複雑度レベル８５を超過する問題モジュールを検査する。ステップ２４０において、例外的に複雑度が高い問題モジュールを、処理のために複数のスレーブ・サーバ・エンジン１００に分散することができる。複雑度が例外的に高くない各問題モジュールは、ステップ１７０において１つのスレーブ・サーバ・エンジン１００で解くことができる。ステップ１８０において、全ての問題モジュールの解を組み合わせて、複合問題の解を決定する。尚、問題モジュールを並び換えるステップ２１０、および複数のスレーブ・サーバ・エンジン１００において複雑度が例外的に高い問題モジュールを解くステップ２４０は、互いに独立して用いても、同じプロセス２００で用いてもよいことを注記しておく。
【００２５】
図５は、本発明の種々の実施形態にしたがって投資ポートフォリオにおいて取引６５を値踏みする方法３００のフロー図である。この方法が取り組む問題は、先に引用した一般的問題の一例である。ポートフォリオは、複数のカウンターパーティ７０に対して複数の取引６５を収容すると見なされる。方法３００は、１つのカウンターパーティ７０に対する取引６５の全てを値踏みすることを目的とする。方法３００は、全てのカウンターパーティ７０について繰り返して、ポートフォリオに対する価格を決定することができる。先に引用した複合問題は、１つのカウンターパーティ７０の取引６５の全てを値踏みすることに対応する。問題モジュールは、１つの取引６５を値踏みすることに対応する。
【００２６】
方法３００を実際に用いる当事者は、多数の想定場面を含むデータベースを有すると考えられ、各想定場面は、複数の時間範囲に跨って多数の経済的指標に対して値を指定する。時間範囲は、例えば、指定した基幹における各月としてもよい。各取引６５を値踏みするには、想定場面をデータとして用い、取引６５に値踏みアルゴリズムを適用する。
【００２７】
ステップ３１０において、各取引６５を複数のマスタ・サーバ５５に送出する。ステップ３２０において、各取引６５の複雑度を推定する。ステップ３３０において、閾値複雑度レベル８５を決定する。ステップ３４０において、各取引６５の複雑度を閾値複雑度レベル８５と比較する。個々の取引６５について推定した複雑度が閾値複雑度レベル８５を超過していない場合、ステップ３５０において取引６５の価格をマスタ・サーバ５５において計算する。取引６５の複雑度が閾値複雑度レベル８５を超過している場合、ステップ３６０において、スレーブ・サーバ・プール８０のスレーブ・サーバ・エンジン１００の内の１つにおいて取引６５の値踏みを行う。ステップ３７０において、全ての取引６５の価格を組み合わせて、ポートフォリオ所有者のカウンターパーティ７０に対する信用リスクを決定する。
【００２８】
図６は、本発明の種々の実施形態にしたがって、ポートフォリオにおける取引６５の価格に基づいて、ポートフォリオ所有者のカウンターパーティ７０に対する信用リスクを決定する方法３７５のフロー図である。方法３７５は、カウンターパーティ７０の全ての取引６５の観念値(notional value)即ち額面額、および各々について計算した価格を収容するデータベース３８０を用いる。ステップ３９０において、観念値の全てを加算し、計算した価格をそれから減算して、ポートフォリオ所有者のカウンターパーティ７０に対する信用リスクを決定する。
【００２９】
図７ａおよび図７ｂは、本発明の種々の実施形態にしたがって、投資ポートフォリオにおける取引６５を値踏みする方法４００のフロー図である。方法３００におけると同様、ステップ３１０において、カウンターパーティ７０の各取引６５を複数のマスタ・サーバ５５に送出する。ステップ３２０において、各取引６５の複雑度を推定する。任意のステップ４１０において、取引６５を並び換えて、複雑度が最も高い取引から最も低い取引に順に並べる。
【００３０】
ステップ３００におけると同様、方法４００は更に閾値複雑度レベル８５を決定するステップ３３０を含み、ステップ３４０において、各取引６５を検査して、その複雑度が閾値複雑度レベル８５を超過するか否か判定を行う。取引６５の複雑度が閾値複雑度レベル８５を超過していない場合、ステップ３５０において、その価格をマスタ・サーバ５５において決定する。その価格が閾値複雑度レベル８５を超過している場合、任意のステップ４２０においてそれを再度検査して、その複雑度が例外的に高いか否か判定を行う。複雑度が例外的に高くはない場合、ステップ３６０において、スレーブ・コンピュータ・プール８０のスレーブ・サーバ・エンジン１００の内の１つにおいてその値を判定する。その複雑度が例外的に高い場合、ステップ４３０において、処理のために、スレーブ・コンピュータ・プール８０における複数のスレーブ・サーバ・エンジン１００に分散する。例えば、取引６５についての想定場面の１群を１つのスレーブ・サーバ・エンジン１００において処理し、別の１群を異なるスレーブ・サーバ・エンジン１００において処理することができる。ステップ３７０において、全ての取引６５の価格を組み合わせて、ポートフォリオ所有者のカウンターパーティ７０に対する信用供与を決定する。
【００３１】
図８は、取引６５について基準複雑度を判定する方法５００のフロー図である。ステップ５１０において、特定の種類の取引の１つ以上の特色(characteristic feature)（例えば、「変動金利」取引(floating leg trade)）を具体化する基準取引を選択する。ステップ５２０において、好ましくは他にプログラムが走っていないコンピュータ・システムを用いることによって、複数の想定場面について基準取引の値踏みを行う。ステップ５３０において、複数の想定場面について基準取引を値踏みするのに必要な時間を用いて、この取引種別の基準複雑度を判定する。
【００３２】
個々の取引種別の実際の推定される複雑度は、基準複雑度を、取引６５の実際(actual fact)とそれを評価する時間範囲の数とによって修正したものである。
【００３３】
ここで用いる場合、「サーバ」は、例えばそして限定ではなく、単体または組み合わせでもよく、種々のワイヤレスまたはワイヤライン型を含む、パーソナル・コンピュータ（ＰＣ）、メイン・フレーム、マイクロコンピュータ、ミニコンピュータ、ラップトップ、パーソナル・データ、プロセッサ、および／またはスタンドアロン・アプリケーションのためにおよび／または１つまたは複数のネットワーク状媒体を通じてデータを処理する構成が可能なその他のいずれのコンピュータ化デバイスでもよい。ここに開示したサーバは、データを取り込み、処理し、格納し、および／または伝達する際に用いられるある種のソフトウェア・アプリケーションを格納するために、動作的に連動するメモリを含むことができる。尚、このようなメモリは、その動作的に連動するコンピュータまたはコンピュータ・システムに対して内部、外部、ローカル、またはリモートでもよいことは認めることができる。また、メモリは、例えばそして限定ではなく、ハード・ディスク、光ディスク、フロッピ・ディスク、ＲＯＭ（リード・オンリメモリ）、ＲＡＭ（ランダム・アクセス・メモリ）、ＰＲＯＭ（プログラマブルＲＯＭ）、 ＥＥＰＲＯＭ（拡張消去可能ＰＲＯＭ）、および／またはその他の同様のコンピュータ読み取り可能媒体を含む、ソフトウェアまたはその他の命令を格納するいずれの手段も含むことができる。
【００３４】
ここに開示したサーバは、適したコンピュータ命令形式であればいずれの形式を用いた、サーバの１つまたは複数のプロセッサ、あるいはその他のいずれもコンピュータ・システムが実行するソフトウェア・コードにしたがって動作することもできる。ソフトウェア・コードは、コンピュータ読み取り可能媒体上に、一連の命令即ちコマンドとして格納することができる。「コンピュータ読み取り可能媒体」という用語は、ここで用いる場合、例えば、ディスケットのような磁気または光メモリ・デバイス、読み取り専用および書き込み可能型双方のコンパクト・ディスク、光ディスク・ドライブ、およびハード・ディスク・ドライブを含むことができる。また、コンピュータ読み取り可能媒体は、物理的、仮想的、永続的、一時的、半永続的、および／または半一時的であるメモリ・ストレージを含むこともできる。更に、コンピュータ読み取り可能媒体は、１つ以上の搬送波上で送信される１つ以上のデータ信号も含むことができる。
【００３５】
以上、本発明の種々の実施形態について説明したが、これらの実施形態に対する種々の修正、変更、および改造は、開示した発明の利点の少なくとも一部を達成することにより、当業者には容易に想起できることは、明白なはずである。したがって、実施形態は、添付した特許請求の範囲に明記した、開示した発明の範囲および主旨から逸脱することなく、このような修正、変更、および改造を全て含むことを意図している。
【図面の簡単な説明】
【００３６】
【図１】図１は、マルチスレッド・プロセス手法を実施する従来技術のコンピュータ・システムのブロック図である。
【図２】図２は、本発明の種々の実施形態によるコンピュータ・システムのブロック図である。
【図３】図３は、本発明の種々の実施形態にしたがって、複雑度が異なる問題モジュールから成る複合問題を解く方法のフロー図である。
【図４ａ】図４ａは、本発明の種々の実施形態にしたがって、複雑度が異なる問題モジュールから成る複合問題を解く方法のフロー図である。
【図４ｂ】図４ｂは、本発明の種々の実施形態にしたがって、複雑度が異なる問題モジュールから成る複合問題を解く方法のフロー図である。
【図５】図５は、本発明の種々の実施形態にしたがって、投資ポートフォリオにおける取引を値踏みする方法のフロー図である。
【図６】図６は、本発明の種々の実施形態にしたがって、ポートフォリオにおける取引の価格に基づいて、カウンターパーティに対するポートフォリオ所有者の信用リスクを決定する方法のフロー図である。
【図７ａ】図７ａは、本発明の種々の実施形態にしたがって、投資ポートフォリオにおける取引を値踏みする方法のフロー図である。
【図７ｂ】図７ｂは、本発明の種々の実施形態にしたがって、投資ポートフォリオにおける取引を値踏みする方法のフロー図である。
【図８】図８は、本発明の種々の実施形態にしたがって、取引について基準複雑度を判定する方法のフロー図である。
【誤訳訂正２】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
投資ポートフォリオの所有者がカウンターパーティとの間で行う複数の取引の価格を決定し、各々の前記取引に対して決定された価格を組み合わせて、前記カウンターパーティに対する信用リスクを定量化する方法であって、前記複数の取引は価格決定に関して異なる複雑度を有する方法において、
少なくとも（i）それぞれの前記取引と同じ種別の基準取引の価格を決定するのに必要な計算時間に基づいてそれぞれの前記取引に対して決定される所定の基準複雑度と、（ii）それぞれの前記取引が値踏みされるべき時間範囲の数とに基づいて、少なくとも１つのマスタ・サーバがそれぞれの前記取引の複雑度を推定するステップと、
前記少なくとも１つのマスタ・サーバが、前記複数の取引を、複雑度閾値レベルを超える複雑度を有する第１のグループと、前記複雑度閾値レベルを超えない複雑度を有する第２のグループとに類別するステップと、
前記少なくとも１つのマスタ・サーバから、前記第１のグループの取引に対するデータを複数のスレーブ・サーバに送出し、該データに基づいて前記第１のグループの取引の価格を計算させるとともに、前記少なくとも１つのマスタ・サーバが前記複数のスレーブ・サーバから前記第１のグループの取引に対する前記価格を得るステップと、
前記少なくとも１つのマスタ・サーバの１つ以上のローカル・サーバ・エンジンが前記第２のグループの取引に対する価格を決定するステップと、
前記少なくとも１つのマスタ・サーバが、前記第１のグループの取引と前記第２のグループの取引とに対する前記価格を組み合わせて、前記信用供与を決定するステップと、
を備えている方法。
【請求項２】
前記複数のスレーブ・サーバの各々は、前記少なくとも１つのマスタ・サーバのうちの１つのマスタ・サーバと通信する、請求項１記載の方法。
【請求項３】
前記取引は、制御サーバ上で実行するルート・スクリプトによって前記少なくとも１つのマスタ・サーバに送出され、前記制御サーバは前記少なくとも１つのマスタ・サーバと通信する、請求項１記載の方法。
【請求項４】
前記取引のうち複雑度の高い取引ほど先に解決するように、前記複雑度閾値よりも大きな複雑度を有する取引を並び換える、請求項１記載の方法。
【請求項５】
投資ポートフォリオの所有者がカウンターパーティとの間で行う複数の取引の価格を決定し、各々の前記取引に対して決定された価格を組み合わせて、前記カウンターパーティに対する信用リスクを定量化する方法であって、前記複数の取引は価格決定に関して異なる複雑度を有する方法をプロセッサに実行させるための命令を格納したコンピュータ読み取り可能記憶媒体であって、
前記方法が、
少なくとも（i）それぞれの前記取引と同じ種別の基準取引の価格を決定するのに必要な計算時間に基づいてそれぞれの前記取引に対して決定される所定の基準複雑度と、（ii）それぞれの前記取引が値踏みされるべき時間範囲の数とに基づいて、少なくとも１つのマスタ・サーバがそれぞれの前記取引の複雑度を推定するステップと、
前記少なくとも１つのマスタ・サーバが、前記複数の取引を、複雑度閾値レベルを超える複雑度を有する第１のグループと、前記複雑度閾値レベルを超えない複雑度を有する第２のグループとに類別するステップと、
前記少なくとも１つのマスタ・サーバから、前記第１のグループの取引に対するデータを複数のスレーブ・サーバに送出し、該データに基づいて前記第１のグループの取引の価格を計算させるとともに、前記少なくとも１つのマスタ・サーバが前記複数のスレーブ・サーバから前記第１のグループの取引に対する前記価格を得るステップと、
前記少なくとも１つのマスタ・サーバの１つ以上のローカル・サーバ・エンジンが前記第２のグループの取引に対する価格を決定するステップと、
前記少なくとも１つのマスタ・サーバが、前記第１のグループの取引と前記第２のグループの取引とに対する前記価格を組み合わせて、前記信用供与を決定するステップと、
を備えてなるコンピュータ読み取り可能記憶媒体。
【請求項６】
投資ポートフォリオの所有者がカウンターパーティとの間で行う複数の取引の価格を決定し、各々の前記取引に対して決定された価格を組み合わせて、前記カウンターパーティに対する信用リスクを定量化する方法であって、前記カウンターパーティは前記複数の取引に応じて前記ポートフォリオ所有者に義務を負う方法において、
制御サーバが、前記カウンターパーティと前記取引とを示す信号を少なくとも１つのマスタ・サーバに送るステップと、
前記少なくとも１つのマスタ・サーバが、少なくとも（i）それぞれの前記取引と同じ種別の基準取引の価格を決定するのに必要な計算時間に基づいてそれぞれの前記取引に対して決定される所定の基準複雑度と、（ii）それぞれの前記取引が値踏みされるべき時間範囲の数とに基づいて、それぞれの前記取引の複雑度を推定するステップと、
前記少なくとも１つのマスタ・サーバが、前記複数の取引を、複雑度閾値レベルを超える複雑度を有する第１のグループと、前記複雑度閾値レベルを超えない複雑度を有する第２のグループとに類別するステップと、
前記少なくとも１つのマスタ・サーバが、前記第１のグループの取引に対するデータを複数のスレーブ・サーバに送り、前記複数のスレーブ・サーバによって前記第１のグループの取引における各取引に対する価格を決定するステップと、
前記少なくとも１つのマスタ・サーバのローカル・サーバ・エンジンが、前記第２のグループの取引における各取引に対する価格を決定するステップと、
前記少なくとも１つのマスタ・サーバが、前記第１のグループの取引と前記第２のグループの取引とに対する前記価格を組み合わせて、前記ポートフォリオ所有者の前記カウンターパーティに対する信用供与を決定するステップと、
を備えている方法。
【請求項７】
前記カウンターパーティに対する前記信用リスクは、前記カウンターパーティの前記取引全ての観念値を加算し、そこから前記カウンターパーティに対する前記取引の前記価格を減算することによって決定される、請求項６記載の方法。
【請求項８】
前記第２のグループの取引における各取引について、マルチスレッド・プロセスの少なくとも１つのスレッドによって前記価格を決定する、請求項６記載の方法。
【請求項９】
前記マルチスレッド・プロセスを前記複数のローカル・サーバ・エンジンによって実行する、請求項８記載の方法。
【請求項１０】
前記第２のグループの取引における取引が複雑度に基づいて並び替えられ、
前記第２のグループの取引における各取引に対する価格を決定する前記ステップが、複雑度が高い順に実行され、
前記第１のグループの取引における取引が複雑度に基づいて並び替えられ、
前記第１のグループの取引における各取引に対する価格を決定する前記ステップが、複雑度が高い順に実行される、
請求項６記載の方法。
【誤訳訂正３】
【訂正対象書類名】図面
【訂正対象項目名】図５
【訂正方法】変更
【訂正の内容】
【図５】
2009510615.tif 000001
【誤訳訂正４】
【訂正対象書類名】図面
【訂正対象項目名】図６
【訂正方法】変更
【訂正の内容】
【図６】
2009510615.tif 000002
【誤訳訂正５】
【訂正対象書類名】図面
【訂正対象項目名】図７ｂ
【訂正方法】変更
【訂正の内容】
【図７ｂ】
2009510615.tif 000003
【誤訳訂正６】
【訂正対象書類名】図面
【訂正対象項目名】図８
【訂正方法】変更
【訂正の内容】
【図８】
2009510615.tif 000004