(57)【要約】【課題】  特定の支払指図が長時間決済されずに待ち行列に待機し続けることを防止し、決済リスクが増大することを防ぐことが可能な技術を提供する。【解決手段】  複数の利用者の支払指図を相殺して差額分のみを決済するマルチラテラルネッティング決済方法において、マルチラテラルネッティング決済可能な支払指図の組合せを示すネッティング解を複数のアルゴリズムにより求めて記憶装置に格納するステップと、前記求めた複数のネッティング解について、それぞれの解を複数の評価方法により評価したスコアで得点付けして前記ネッティング解に対応付けて記憶装置に格納するステップと、前記得点付けしたスコアをネッティング解毎に集計して各ネッティング解のトータルスコアを算出し、その算出したトータルスコアの最も高いネッティング解を決済の行われる解として決定するステップと、前記決定したネッティング解の支払指図による支払後の残高を記憶装置へ格納することにより当該ネッティング解による決済を行うステップとを有するものである。【選択図】図１
2007058726.tif 000002
【特許請求の範囲】
【請求項１】
複数の利用者の支払指図を相殺して差額分のみを決済するマルチラテラルネッティング決済方法において、
マルチラテラルネッティング決済可能な支払指図の組合せを示すネッティング解を複数のアルゴリズムにより求めて記憶装置に格納するステップと、
前記求めた複数のネッティング解について、それぞれの解を複数の評価方法により評価したスコアで得点付けして前記ネッティング解に対応付けて記憶装置に格納するステップと、
前記得点付けしたスコアをネッティング解毎に集計して各ネッティング解のトータルスコアを算出し、その算出したトータルスコアの最も高いネッティング解を決済の行われる解として決定するステップと、
前記決定したネッティング解の支払指図による支払後の残高を記憶装置へ格納することにより当該ネッティング解による決済を行うステップとを有することを特徴とするマルチラテラルネッティング決済方法。
【請求項２】
前記アルゴリズムに対応した評価方法により前記スコアを求めることを特徴とする請求項１に記載されたマルチラテラルネッティング決済方法。
【請求項３】
前記評価方法毎に予め設定された重みデータにより前記スコアの重み付けを行って前記トータルスコアを算出することを特徴とする請求項１または請求項２のいずれかに記載されたマルチラテラルネッティング決済方法。
【請求項４】
前記評価方法毎に設定される重みデータの値を、過去の平均スコアに応じて変更することを特徴とする請求項１乃至請求項３のいずれか１項に記載されたマルチラテラルネッティング決済方法。
【請求項５】
待ち行列に待機中の支払指図データと残高データを集計して仮残高を算出し、その仮残高が負である場合に、前記複数のアルゴリズムにより除外対象となる支払指図を決定して集計対象から除外することにより、その仮残高が非負となるネッティング解を各アルゴリズム毎に求めることを特徴とする請求項１乃至請求項４のいずれか１項に記載されたマルチラテラルネッティング決済方法。
【請求項６】
前記決済の行われる解として決定したネッティング解について、そのネッティング解を求める際に算出した仮残高を残高データベースへ格納することにより当該ネッティング解による決済を行うことを特徴とする請求項１乃至請求項５のいずれか１項に記載されたマルチラテラルネッティング決済方法。
【請求項７】
前記ネッティング解を複数のアルゴリズムにより求める際に、待ち行列で最後尾の支払指図をネッティング対象から除外する処理、待ち行列で金額が最小の支払指図をネッティング対象から除外する処理、支払先の待ち行列が空である支払指図をネッティング対象から除外する処理によりネッティング解を求めることを特徴とする請求項１乃至請求項６のいずれか１項に記載されたマルチラテラルネッティング決済方法。
【請求項８】
前記複数の評価方法により評価したスコアで得点付けする際に、決済される支払指図の件数、決済される支払指図の金額、決済される支払指図の待機時間及び決済される支払指図のエクスポージャーにより得点付けを行うことを特徴とする請求項１乃至請求項７のいずれか１項に記載されたマルチラテラルネッティング決済方法。
【請求項９】
複数の利用者の支払指図を相殺して差額分のみを決済するマルチラテラルネッティング決済システムにおいて、
マルチラテラルネッティング決済可能な支払指図の組合せを示すネッティング解を複数のアルゴリズムにより求めて記憶装置に格納するネッティング解導出処理部と、
前記求めた複数のネッティング解について、それぞれの解を複数の評価方法により評価したスコアで得点付けして前記ネッティング解に対応付けて記憶装置に格納するネッティング解評価処理部と、
前記得点付けしたスコアをネッティング解毎に集計して各ネッティング解のトータルスコアを算出し、その算出したトータルスコアの最も高いネッティング解を決済の行われる解として決定するネッティング解決定処理部と、
前記決定したネッティング解の支払指図による支払後の残高を記憶装置へ格納することにより当該ネッティング解による決済を行う決済管理処理部とを備えることを特徴とするマルチラテラルネッティング決済システム。
【請求項１０】
複数の利用者の支払指図を相殺して差額分のみを決済するマルチラテラルネッティング決済方法をコンピュータに実行させる為のプログラムにおいて、
マルチラテラルネッティング決済可能な支払指図の組合せを示すネッティング解を複数のアルゴリズムにより求めて記憶装置に格納するステップと、
前記求めた複数のネッティング解について、それぞれの解を複数の評価方法により評価したスコアで得点付けして前記ネッティング解に対応付けて記憶装置に格納するステップと、
前記得点付けしたスコアをネッティング解毎に集計して各ネッティング解のトータルスコアを算出し、その算出したトータルスコアの最も高いネッティング解を決済の行われる解として決定するステップと、
前記決定したネッティング解の支払指図による支払後の残高を記憶装置へ格納することにより当該ネッティング解による決済を行うステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は銀行間決済等で用いられる決済システムにおける、複数の利用者の支払指図を相殺して差額分のみを決済するネッティング決済を行うマルチラテラルネッティング決済技術に関し、特にネッティング可能な支払指図の組合せを確定する為の複数の戦略を併用するマルチラテラルネッティング決済技術に適用して有効な技術に関するものである。
【背景技術】
【０００２】
銀行間決済や、企業グループにおけるキャッシュマネジメントで用いられる、決済システムにおいて、決済リスクの削減は重要な課題の一つである。
【０００３】
決済リスクとは、決済が行われずその結果損害を被る可能性である。資金決済システムにおいては、支払指図が出されてから最終的な決済が行われるまでのタイムラグの期間と、取引金額の大きさにより決済リスクの大きさが決められ、この期間と金額の積（以下エクスポージャと称す）、他に合計金額、決済可能件数等によって計測される。
【０００４】
決済システムにおける、決済リスクの削減の為の手段の一つとして、ネッティングが挙げられる。ネッティングとは、待ち行列に待機中の支払指図を、決済システム利用者間で相殺し、差額のみを決済する方法のことである。二利用者間で行われる場合にはバイラテラルネッティング、三者以上の多数利用者間で行われる場合にはマルチラテラルネッティングと呼ばれる。
【０００５】
ネッティングにおいて、利用者の入出金の差である差引残高を削減する効果を有する従来技術として、例えば特許文献１に記載されている。この方法によれば、差引残高の絶対値が減少する場合に入出金の相殺処理を行うので、口座の差引残高を効率良く減らすことが可能である。
【０００６】
ネッティングにおいて、利用者の債務を閾値以上に増加させない効果を有する従来技術として、例えば特許文献２に記載されている。この方法によれば、予め格納された閾値とネッティング決済を行った場合の残高とを比較し、ネッティングを行うか否かを判定するので、利用者の債務が大きくなり過ぎないシステムを提供可能である。
【０００７】
ネッティングにおいて、マルチラテラルネッティング決済の額が利用者の担保に足りず決済できない場合、決済処理をバイラテラルネッティングで行い、利用者間で資金の受け渡しを行う従来技術が、特許文献３にて記載されている。この技術では利用者を信用度に応じてグループ化し管理する機能も備えており、一つの利用者の債務不履行による影響が、他の全ての利用者に及ぶことを防ぐ効果を持っている。
【０００８】
待機中の支払指図からマルチラテラルネッティング決済可能な組合せを求めるアルゴリズムの従来技術として、例えば非特許文献１に記載の方法がある。ここでは、待機中支払指図が全て決済された場合の各利用者の資金不足を確認し、資金不足がある場合にはその利用者が支払元となっている支払指図を待ち順位最後尾よりネッティング対象から除外し、資金不足がなくなるまでこれを繰り返す方法が記載されている。
【０００９】
【特許文献１】特開２０００−３２２４７５号公報
【特許文献２】特開平１１−３３７４号公報
【特許文献３】米国特許６８２６５４５号明細書
【非特許文献１】「大口決済システムの構築等資金決済システムの再編について」平成１６年３月、全国銀行協会
【発明の開示】
【発明が解決しようとする課題】
【００１０】
マルチラテラルネッティングを行う際、待ち行列に待機中の支払指図の中からネッティング可能な支払指図の組合せ、即ち、ネッティング解を確定するにあたり、いくつかの戦略が考えられる。例えば、待ち時間の長いものから先に決済させる先入先出戦略、決済される支払指図の総額を最大化する戦略、決済される支払指図の件数を最大する戦略等である。これらの戦略は、いずれも決済リスク削減の為に有効な戦略である。その内の一つが採用されている場合、特定の戦略にのみ基づき決済が実行されることになり、いくつかの支払指図の決済が実行されずに待ち行列に待機し続けるということが起こり得る。例えば、決済される支払指図の総額を最大化する戦略が採られている場合には、少額の支払指図は、待ち行列に長時間待機してしまう等の状況が考えられる。こういった場合、待機し続ける支払指図による決済リスクが増大し続けることになる。
【００１１】
本発明の目的は上記問題を解決し、特定の支払指図が長時間決済されずに待ち行列に待機し続けることを防止し、決済リスクが増大することを防ぐことが可能な技術を提供することにある。
【課題を解決するための手段】
【００１２】
本発明は、複数の利用者の支払指図を相殺して差額分のみを決済するマルチラテラルネッティング決済システムにおいて、複数のアルゴリズムから導出されるネッティング解を複数の評価方法で評価してスコアを算出し、そのトータルスコアが最も高いネッティング解により決済を行うものである。
【００１３】
本発明のマルチラテラルネッティング決済システムでは、まずマルチラテラルネッティング決済可能な組合せであるネッティング解を複数のアルゴリズムにより求める。すなわち、待ち行列に待機中の支払指図データと残高データを集計して仮残高を算出し、その仮残高が負である場合に、複数のアルゴリズムにより除外対象となる支払指図を決定して集計対象から除外することにより、前記仮残高が非負となるネッティング解を各アルゴリズム毎に求める。
【００１４】
次に、前記求めた複数のネッティング解について、それぞれの解を複数の評価方法により評価したスコアで得点付けする。例えば、前記求めた複数のネッティング解について、待ち行列待機中の全支払指図件数に対するネッティング対象の支払指図件数の割合や、待ち行列待機中の全支払指図金額合計に対するネッティング対象の支払指図金額合計の割合等に応じたスコアを算出し、そのネッティング解と対応付けて記憶装置に格納する。
【００１５】
そして、前記得点付けしたスコアをネッティング解毎に集計して各ネッティング解のトータルスコアを算出した後、それらのトータルスコアを比較し、前記算出したトータルスコアの最も高いネッティング解を決済の行われる解として決定し、そのネッティング解により算出した仮残高を残高データベースに格納することにより当該ネッティング解による決済を実行する。
【発明の効果】
【００１６】
本発明によれば、特定の支払指図が長時間決済されずに待ち行列に待機し続けることを防止し、決済リスクが増大することを防ぐことが可能である。
【発明を実施するための最良の形態】
【００１７】
以下に複数の戦略を併用することにより、決済リスクをより減少させることが可能な一実施形態のマルチラテラルネッティング決済システムについて説明する。
【００１８】
図１は本実施形態のマルチラテラルネッティング決済システム１０の全体構成を示す図である。図１に示す様に本実施形態のマルチラテラルネッティング決済システム１０は、決済管理処理部１０１と、ネッティング解導出処理部１０６と、ネッティング解評価処理部１０７と、ネッティング解決定処理部１０９とを有している。
【００１９】
決済管理処理部１０１は、マルチラテラルネッティング決済システム１０の決済処理全体を管理し、ネッティング解決定処理部１０９で決定したネッティング解の支払指図による支払後の残高を残高データベース（利用者ごと）１０３へ格納することにより当該ネッティング解による決済を行う処理部である。
【００２０】
ネッティング解導出処理部１０６は、マルチラテラルネッティング決済可能な支払指図の組合せを示すネッティング解を複数のアルゴリズム１０６１〜１０６３により求めて記憶装置に格納する処理部である。
【００２１】
ネッティング解評価処理部１０７は、前記求めた複数のネッティング解について、それぞれの解を複数の評価方法のスコアリング１０７１〜１０７４により評価したスコアで得点付けして前記ネッティング解に対応付けて記憶装置に格納する処理部である。
【００２２】
ネッティング解決定処理部１０９は、前記得点付けしたスコアをネッティング解毎に集計して各ネッティング解のトータルスコアを算出し、その算出したトータルスコアの最も高いネッティング解を決済の行われる解として決定する処理部である。
【００２３】
マルチラテラルネッティング決済システム１０を決済管理処理部１０１、ネッティング解導出処理部１０６、ネッティング解評価処理部１０７及びネッティング解決定処理部１０９として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００２４】
本実施形態のマルチラテラルネッティング決済システム１０は、ネットワークを通じて利用者端末１０４と接続されている。利用者端末１０４は、利用者からの支払指図を入力し、マルチラテラルネッティング決済システム１０は、そのデータを待ち行列データベース（利用者ごと）１０２に格納する。またマルチラテラルネッティング決済システム１０は、利用者端末１０４での利用者からの入力を用いて残高データベース（利用者ごと）１０３の更新を行う。ここで、残高データベース（利用者ごと）１０３の残高データは負の値を取る事を許容しない、即ち、貸越しを許容しない管理がなされており、決済の実行が繰り返されることにより利用者の残高が不足した場合に、利用者はネットワークを介して接続されている本決済システム外の口座データから資金を移動して流動性を確保する。
【００２５】
管理者は、管理者端末１０５を用いて、マルチラテラルネッティング決済システム１０の操作及び設定が可能である。
【００２６】
本システムによる決済業務全体は決済管理処理部１０１により管理される。決済管理処理部１０１は所定時間経過毎にマルチラテラルネッティング決済を実行する。マルチラテラルネッティング決済実行中は、決済管理処理部１０１により、利用者による利用者端末１０４を用いた待ち行列データベース（利用者ごと）１０２及び残高データベース（利用者ごと）１０３の更新が禁止される。
【００２７】
マルチラテラルネッティング決済は、待ち行列データベース（利用者ごと）１０２に格納されている支払指図データと残高データベース（利用者ごと）１０３に格納されている残高データを用い、ネッティング解導出処理部１０６、ネッティング解評価処理部１０７及びネッティング解決定処理部１０９を順次実行させて、ネッティング解、即ち、ネッティング対象となる支払指図の組合せを特定し、これに基づき待ち行列データベース（利用者ごと）１０２及び残高データベース（利用者ごと）１０３を更新することによって行われる。
【００２８】
ネッティング解導出処理部１０６は、アルゴリズム１０６１〜１０６３の３種類のアルゴリズムを用いて３種類のネッティング解を導出する。各アルゴリズムにおけるネッティング解導出の詳細は後述する。
【００２９】
ネッティング解評価処理部１０７は、スコアリング１０７１〜１０７４の４種類のスコアリングを用いて、ネッティング解導出処理部１０６で導出された３種類のネッティング解それぞれについて、４種類のスコア、計１２のスコアを計算する。各スコアリングにおけるスコア計算方法の詳細は後述する。
【００３０】
ネッティング解決定処理部１０９は、ネッティング解導出処理部１０６で求められる３種類の解ごとの、ネッティング解評価処理部１０７で計算される４種類のスコアを用いて、重みデータベース１０８に格納されている重みデータに基づき、各ネッティング解の重み付きトータルスコアを算出する。トータルスコア算出の詳細については後述する。
【００３１】
重みデータベース１０８に格納されている重みデータは、ヒストリカルデータベース１１０に格納されている、支払指図、ネッティング解、スコアのヒストリカルデータに基づき、決済管理処理部１０１により自動調整を行うことが可能である。この自動調整の詳細については後述する。
以上が本実施形態に係る全体構成図である。
【００３２】
図４５は本実施形態のマルチラテラルネッティング決済システム１０の概略構成を示す図である。図４５に示す様にマルチラテラルネッティング決済システム１０は、ＣＰＵ、メモリや磁気ディスク装置等のハードウェア資源を備え、各処理部の処理を実行するソフトウェアとハードウェア資源とが協働することによりマルチラテラルネッティング決済処理を行う。
【００３３】
ここで、ネッティング解の導出を行う処理装置を各アルゴリズムごとに備えたり、スコアリングによりネッティング解を評価する処理装置を備える等、複数の処理装置によりマルチラテラルネッティング決済システム１０を構成するものとしても良い。
【００３４】
図１３は本実施形態の待ち行列データベース（利用者ごと）１０２のデータ形式を示す図である。本実施形態の待ち行列データベース（利用者ごと）１０２では利用者毎にテーブルが一つ定義されているものとし、図１３には利用者Ａのテーブルを例として挙げる。表の一つの行がこの利用者が支払元である一つの支払指図を表している。支払先欄には待機中の支払指図ごとの支払先利用者の名称が格納されている。金額欄には待機中支払指図の金額が格納されている。入力時刻欄には待機中支払指図ごとの入力時刻が格納されている。
【００３５】
図１４は本実施形態の残高データベース（利用者ごと）１０３のデータ形式を示す図である。図１４に示す様に本実施形態の残高データベース（利用者ごと）１０３では、利用者欄に利用者名称が格納されており、金額欄にその利用者の残高金額が格納されている。
【００３６】
図１５は本実施形態の重みデータベース１０８のデータ形式を示す図である。図１５に示す様に本実施形態の重みデータベース１０８では、各スコアリング毎に重みの値が格納されている。ここで、図中のスコアリング種別に示されたスコアリング(1)〜(4)は、それぞれスコアリング１０７１〜１０７４を示している。
【００３７】
図１６は本実施形態のヒストリカルデータベース１１０のデータ形式を示す図である。図１６に示す様に本実施形態のヒストリカルデータベース１１０では、一回のマルチラテラルネッティング決済毎に表の一行が対応している。日付欄にはマルチラテラルネッティング決済が実行された日付が格納されている。回欄にはその日付の何回目のマルチラテラルネッティング決済であるかが格納されている。日付欄及び回欄に格納されているデータの双方によりマルチラテラルネッティング決済が特定される。
【００３８】
３種類のアルゴリズム毎に、トータルスコア欄及び４つのスコア欄が設けられており、各アルゴリズムにより導出されたネッティング解毎にスコアデータが格納される。ここで、図中のアルゴリズム(1)〜(3)は、それぞれアルゴリズム１０６１〜１０６３を示している。また各スコア欄はその番号順にそれぞれスコアリング１０７１〜１０７４に対応しており、それぞれのスコアリングで計算されたスコアが、対応するスコア欄に格納されるものとする。
【００３９】
最適解欄には、３種のアルゴリズムにより導出されたネッティング解の内、最適解、即ち、マルチラテラルネッティング決済が実行されたネッティング解が記録される。図１６では、アルゴリズム(3)により導出されたネッティング解により決済が実行された場合のデータが格納されている。
【００４０】
図２は本実施形態のマルチラテラルネッティング決済を実行する手順のフローを示す図である。本実施形態の決済管理処理部１０１は時刻計測を行い（ステップ２２０１）、前回のマルチラテラルネッティング決済開始から所定時間（ここでは３０分と設定）が経過しているかを判断し（ステップ２２０２）、３０分経過していない場合には時刻計測（ステップ２２０１）に戻り、３０分経過していた場合にはマルチラテラルネッティング決済の処理を開始し（ステップ２２０３）、その際、開始時刻とネッティングの回数のデータをヒストリカルデータベース１１０に格納する（ステップ２８０１）。
【００４１】
マルチラテラルネッティング決済処理の開始に伴い決済管理処理部１０１は、各利用者の利用者端末１０４に処理の開始を通知する（ステップ２１０１）。決済管理処理部１０１はマルチラテラルネッティング決済処理の実行中は利用者による待ち行列データ及び残高データの更新を受け付けない。
【００４２】
マルチラテラルネッティング決済の処理の開始を受けて、ネッティング解導出処理部１０６は、待ち行列データベース（利用者ごと）１０２及び残高データベース（利用者ごと）１０３からそれぞれ待ち行列待機中の支払指図データ及び残高データを読込み（ステップ２３０１及びステップ２３０２）、アルゴリズム１０６１〜１０６３の処理を実行するプログラムを呼び出して、それぞれ独立にマルチラテラルネッティング決済の解の導出を行う（ステップ２４０１〜２４０３）。それぞれのアルゴリズムにおける解の導出方法の詳細については後述する。
【００４３】
ネッティング解評価処理部１０７は、スコアリング１０７１〜１０７４の４種類のスコア算出方法の処理を実行するプログラムを呼び出して、ステップ２４０１〜２４０３でそれぞれ独立に導出された３種類の解についてスコアを算出する（ステップ２５０１〜２５１２）。ステップ２４０１で導出された解のスコア算出はステップ２５０１〜２５０４、ステップ２４０２で導出された解のスコア算出はステップ２５０５〜２５０８、ステップ２４０３で導出された解のスコア算出はステップ２５０９〜２５１２である。算出された各スコアはヒストリカルデータベース１１０に格納される（ステップ２８０２）。各スコアリングにおけるスコア算出方法の詳細については後述する。
【００４４】
こうして３種類のアルゴリズムにより導出されたネッティング解それぞれについて４種類のスコアリングによって算出された全１２個のスコアデータを、ネッティング解決定処理部１０９に受け渡し、それぞれの解のトータルスコアを算出する（ステップ２６０１）。その際、決済管理処理部１０１は、ヒストリカルデータベース１１０から各アルゴリズムにより導出された各解のスコアデータ及び決済が実行された解のデータを読込み（ステップ２８０３）、トータルスコア算出の為の重み調整を行い（ステップ２２０４）、重みデータベース１０８を更新する（ステップ２７０１）。重み調整の方法の詳細については後述する。
【００４５】
重みデータベース１０８は更新された重みデータをネッティング解決定処理部１０９におけるステップ２６０１に引渡す（ステップ２７０２）。ネッティング解決定処理部１０９はステップ２６０１でスコアデータ及び重みデータを用いて３種類の解それぞれのトータルスコアを算出する。算出された各解の各トータルスコアはヒストリカルデータベース１１０のアルゴリズムごとのトータルスコア欄に格納される（ステップ２８０４）。ネッティング解決定処理部１０９は算出された重み付きトータルスコアの最も高かった解を最適解として決定する（ステップ２６０２）。決定された最適解はヒストリカルデータベース１１０に格納される（ステップ２８０５）。トータルスコアの算出方法の詳細については後述する。
【００４６】
決済管理処理部１０１はこうして決定された最適解データをネッティング解決定処理部１０９から受け取り、最適解データに基づき待ち行列データベース（利用者ごと）１０２及び残高データベース（利用者ごと）１０３を更新し（ステップ２３０３及びステップ２３０４）決済を実行する（ステップ２２０５）。待ち行列データベース（利用者ごと）１０２及び残高データベース（利用者ごと）１０３の更新情報は利用者端末１０４にそれぞれ通知される（ステップ２１０２）。
【００４７】
マルチラテラルネッティング決済処理の終了（ステップ２２０６）を受けて、決済管理処理部１０１はステップ２２０１の時刻計測に戻り、次回マルチラテラルネッティング決済の開始までステップ２２０１とステップ２２０２を繰り返す。
以上が本実施形態に係るマルチラテラルネッティング決済を実行する手順のフロー図の説明である。
【００４８】
次に、図２のステップ２４０１〜２４０３で実行される、ネッティング解導出処理部１０６のアルゴリズム１０６１〜１０６３のネッティング解導出のフローについて説明する。
【００４９】
図３は本実施形態の３種類の各アルゴリズムで共通のネッティング解導出手順のフローを示す図である。図３のネッティング解導出手順では、ステップ３０７の除外対象支払指図決定において、各アルゴリズムに固有の方法が用いられる。この詳細については後述する。
【００５０】
図３に示す様に本実施形態のネッティング解導出手順では、支払指図データ３０１及び残高データ３０２を読み込み、その読み込んだ全ての支払指図データをネッティング対象支払指図データとして特定する（ステップ３０３）。利用者ごとのネッティング対象支払指図データ及び残高データから利用者ごとの仮残高の計算を行う（ステップ３０４）。仮残高は、利用者毎に残高から当該利用者の支払指図金額の合計を減じ、当該利用者への支払指図金額の合計を加えたものである。そして、この利用者ごとの仮残高が全て非負か否かを判定する（ステップ３０５）。
【００５１】
利用者ごとの仮残高が全て非負の場合、利用者ごとの残高データを仮残高データに更新しネッティング対象支払指図を各利用者の待ち行列データから消去することによりマルチラテラルネッティング決済が成立するので、この時のネッティング対象支払指図をマルチラテラルネッティング決済の解として特定する（ステップ３１０）。
【００５２】
仮残高が非負でない利用者がある場合、利用者ごとの残高データの貸越しは許容されていないので、このネッティング対象支払指図ではマルチラテラルネッティングが成立しない。そこで、ネッティング対象支払指図から特定の一つの支払指図を除外する。その際、仮残高が最小の利用先の待ち行列に待機中の支払指図から除外対象の支払指図を選ぶ。
【００５３】
前記計算した仮残高の値を比較して仮残高が最小である利用先を特定し（ステップ３０６）、その利用先の待ち行列に待機中の支払指図の中から、それぞれのアルゴリズムに応じた方法で除外する支払指図を特定する（ステップ３０７）。ステップ３０７で特定した支払指図を除外してネッティング対象支払指図を更新し（ステップ３０８）、ネッティング対象支払指図の個数が０か否か判定して（ステップ３０９）、０の場合には空集合を解として特定し（ステップ３１０）、０でない場合にはステップ３０４に戻り更新されたネッティング対象支払指図について仮残高の計算を行い、解が特定されるまでこの手順を繰り返す。
【００５４】
以上が図２のステップ２４０１〜２４０３で実行される、ネッティング解導出処理部１０６のアルゴリズム１０６１〜１０６３のネッティング解導出のフローについての説明である。
【００５５】
次に、前述の各アルゴリズムに固有の除外対象支払指図の特定方法について以下で説明する。
アルゴリズム１０６１では先入先出戦略を用いる。即ち、図３のステップ３０６で仮残高が負かつ最小の利用先の待ち行列に待機中の支払指図の内でネッティング対象支払指図から除外する支払指図を特定する際、待ち行列の最後尾の支払指図を除外対象とする方法を用いる。これは、ネッティング解導出に関する従来の技術として例示した方法に準じた方法である。
【００５６】
アルゴリズム１０６２では決済額最大化戦略を用いる。即ち、図３のステップ３０６で仮残高が負かつ最小の利用先の待ち行列に待機中の支払指図の内でネッティング対象支払指図から除外する支払指図を特定する際、金額が最小の支払指図を除外対象とする方法を用いる。金額が最小の支払指図が複数存在する場合には、待ち行列の順位が後ろの支払指図から除外する。
【００５７】
アルゴリズム１０６３では決済件数最大化戦略を用いる。即ち、図３のステップ３０６で仮残高が負かつ最小の利用先の待ち行列に待機中の支払指図の内でネッティング対象支払指図から除外する支払指図を特定する際、その支払先の待ち行列が空である支払指図から除外する。支払先の待ち行列が空である支払指図が複数存在する場合には、待ち行列の順位がより後ろの支払指図から除外する。
以上が各アルゴリズムに固有の除外対象支払指図の特定方法についての説明である。
【００５８】
次に、図２のステップ２５０１、ステップ２５０５及びステップ２５０９で実行される、図１のネッティング解評価処理部１０７におけるスコアリング１０７１の評価方法を説明する。
【００５９】
スコアリング１０７１では、マルチラテラルネッティングによって決済される支払指図の件数を評価する。決済される件数が多いほど、待ち行列に引き続き待機する支払指図は少なくなり、決済リスクの減少が見込まれる。これを評価するため、数１で定義されるスコアを計算する。
【００６０】
[数１]
ネッティング対象の支払指図件数／待ち行列待機中の全支払指図件数
ネッティングされる支払指図件数が多いほどスコアは高くなり、待ち行列待機中の全支払指図がネッティングされた時に最高スコア1.0点満点となる。以上がスコアリング１０７１の説明である。
【００６１】
次に、図２のステップ２５０２、ステップ２５０６及びステップ２５１０で実行される、図１のネッティング解評価処理部１０７におけるスコアリング１０７２の評価方法を説明する。スコアリング１０７２では、マルチラテラルネッティングによって決済される支払指図の金額を評価する。決済される金額の合計が大きいほど、待ち行列に引き続き待機する支払指図の金額合計は小さくなり、決済リスクの減少が見込まれる。これを評価するため、数２で定義されるスコアを計算する。
【００６２】
[数２]
ネッティング対象の支払指図金額合計／待ち行列待機中の全支払指図金額合計
ネッティングされる支払指図金額合計が大きいほどスコアは高くなり、待ち行列待機中の全支払指図がネッティングされた時に最高スコア1.0点満点となる。以上がスコアリング１０７２の説明である。
【００６３】
次に、図２のステップ２５０３、ステップ２５０７及びステップ２５１１で実行される、図１のネッティング解評価処理部１０７におけるスコアリング１０７３の評価方法を説明する。スコアリング１０７３では、マルチラテラルネッティングによって決済される支払指図の待機時間を評価する。決済される支払指図の待機時間の合計が大きいほど、待ち行列に引き続き待機する支払指図の待機時間合計は小さくなり、決済リスクの減少が見込まれる。これを評価するため、数３で定義されるスコアを計算する。
【００６４】
[数３]
ネッティング対象の支払指図待機時間合計／待ち行列待機中の全支払指図待機時間合計
ネッティングされる支払指図待機時間合計が大きいほどスコアは高くなり、待ち行列待機中の全支払指図がネッティングされた時に最高スコア1.0点満点となる。以上がスコアリング１０７３の説明である。
【００６５】
次に、図２のステップ２５０４、ステップ２５０８及びステップ２５１２で実行される、図１のネッティング解評価処理部１０７におけるスコアリング１０７４の評価方法を説明する。スコアリング１０７４では、マルチラテラルネッティングによって決済される支払指図のエクスポージャーを評価する。ここで、各支払指図のエクスポージャーとは、各支払指図の金額に各支払指図の待ち時間を乗じたものとして定義される。決済される支払指図のエクスポージャーの合計が大きいほど、待ち行列に引き続き待機する支払指図のエクスポージャー合計は小さくなり、決済リスクの減少が見込まれる。これを評価するため、数４で定義されるスコアを計算する。
【００６６】
[数４]
ネッティング対象の支払指図エクスポージャー合計／
待ち行列待機中の全支払指図エクスポージャー合計
ネッティングされる支払指図エクスポージャー合計が大きいほどスコアは高くなり、待ち行列待機中の全支払指図がネッティングされた時に最高スコア1.0点満点となる。
【００６７】
前記の様に本実施形態では、アルゴリズム１０６１〜１０６３に対応したスコアリング１０７１〜１０７４によりスコアを求めている。
すなわち、アルゴリズム１０６１では先入先出戦略で除外対象を特定することにより待ち時間の長い支払指図をネッティング対象としており、これに対応してスコアリング１０７３及びスコアリング１０７４では、決済される支払指図の待機時間を含む数式によりスコアを求めている。またアルゴリズム１０６２では決済額最大化戦略で除外対象を特定することにより金額の大きい支払指図をネッティング対象としており、これに対応してスコアリング１０７２及びスコアリング１０７４では、決済される支払指図の金額を含む数式によりスコアを求めている。さらにアルゴリズム１０６３では決済件数最大化戦略で除外対象を特定することにより支払先の待ち行列が空でない支払指図をネッティング対象としており、これに対応してスコアリング１０７１では、決済される支払指図の件数を含む数式によりスコアを求めている。
以上がスコアリング１０７４の説明である。
【００６８】
次に図２のステップ２６０１で実行されるトータルスコアの算出方法について以下で説明する。アルゴリズム１０６１により導出された解に対して、スコアリング１０７１〜１０７４でそれぞれ算出されたスコアをそれぞれX11、X12、X13、X14とする。同様にアルゴリズム１０６２で導出された解に対するスコアをそれぞれX21、X22、X23、X24とし、アルゴリズム１０６３で導出された解に対するスコアをそれぞれX31、X32、X33、X34とする。スコアリング１０７１〜１０７４についてそれぞれ設定される重みをw1、w2、w3、w4とする。アルゴリズム１０６１で導出された解に対するトータルスコアX1t、及びアルゴリズム１０６２で導出された解に対するトータルスコアX2t、及びアルゴリズム１０６３で導出された解に対するトータルスコアX3tを以下の数５で定義する。
【００６９】
[数５]
X1t = w1×X11 + w2×X12 + w3×X13 + w4×X14
X2t = w1×X21 + w2×X22 + w3×X23 + w4×X24
X3t = w1×X31 + w2×X32 + w3×X33 + w4×X34
重みの合計を1.0とすることで、各トータルスコアは1.0点満点となる。重みを均等に全て0.25にした場合、４種類のスコアリング、即ち、スコアリングの支払指図件数の評価、スコアリングの支払指図金額の評価、スコアリングの支払指図待機時間の評価及びスコアリングの支払指図エクスポージャーの評価を均等に評価することになる。重みの値を特定のスコアリングで大きく設定することにより、この時のトータルスコアにより重みの値を大きくしたスコアリングの評価に重点を置いた評価がなされる。例えば極端な例としては、w1を1.0とし、他の全てを０とすると、Xt＝X1となり、スコアリングの支払指図件数の評価のみでトータルスコアによる評価がなされることになる。３種類のアルゴリズムにより導出される３種類の解毎にトータルスコアを算出し、その大小によってどのアルゴリズムで導出した解を最適解とするかが決定される。以上が図２のステップ２６０１で実行されるトータルスコアの算出方法についての説明である。
【００７０】
次に、図２のステップ２２０４で実行される重み調整について以下で説明する。重み調整はヒストリカルデータベース１１０に格納されている、直前のネッティングで採用されたアルゴリズムによるネッティング解における各スコアリングにより算出されるスコアの、管理者が予め設定した期間におけるマルチラテラルネッティング決済の平均スコアによりなされる。この平均スコアが最も低かったスコアリングの重みを、管理者が予め設定した値だけ増加させ、他のアルゴリズムの重みを重みの合計が１となる様に均等に減少させる。
【００７１】
図１６に例示した過去データを用いて重み調整の手順の具体例を説明する。2005/7/1における３回目のマルチラテラルネッティング決済実行において、管理者により直前２回のマルチラテラルネッティング決済の平均を用いる設定がなされているとする。図１６の最適解欄によると直前のネッティング決済はアルゴリズム１０６３であるアルゴリズム(3)による解が最適解として採用され実行されている。
【００７２】
図１６の例では、直前の最適解であるアルゴリズム１０６３による解の各スコアリングによるスコアは、スコアリング１０７１については、前回のマルチラテラルネッティング決済のスコア(1)が0.5、前々回のスコア(1)が0.7であり、スコアリング１０７２については、前回のマルチラテラルネッティング決済のスコア(2)が0.6、前々回のスコア(2)が0.5であり、スコアリング１０７３については、前回のマルチラテラルネッティング決済のスコア(3)が0.6、前々回のスコア(3)が0.4であり、スコアリング１０７４については、前回のマルチラテラルネッティング決済のスコア(4)が0.8、前々回のスコア(4)が0.6であり、従って、直前２回のマルチラテラルネッティング決済における各スコアリングによるスコアの平均は、スコアリング１０７１が0.6、スコアリング１０７２が0.55、スコアリング１０７３が0.5、スコアリング１０７４が0.7で、スコアリング１０７３による平均スコアが最小となっている。
【００７３】
これを受けて、例えば管理者により、重み調整の幅が0.09と設定されている場合、スコアリング１０７３の重みを0.09増加し、スコアリング１０７１、スコアリング１０７２及びスコアリング１０７４の重みを均等に0.03ずつ減少させることにより重み調整が行われる。前記の様に本実施形態では、アルゴリズム１０６１〜１０６３に対応したスコアリング１０７１〜１０７４によりスコアを求めているので、そのスコアリングに対する重みを調整することにより、最適解を導出するアルゴリズムを変更することができる。
以上が図２のステップ２２０４で実行される重み調整についての説明である。
【００７４】
図４は本実施形態の利用者端末１０４の画面を示す図である。利用者端末１０４は利用者毎に用意されており、図４の画面も利用者毎に用意される。この画面を用いて利用者は支払指図入力を行うことができる。支払先欄４０１に支払先を入力し、金額欄４０２に支払金額を入力して、実行ボタン４０３を押下すると、マルチラテラルネッティング決済システム１０は、その支払指図入力を受け付けて待ち行列データベース（利用者ごと）１０２の当該利用者の待ち行列データを更新し、待ち行列待機中支払指図一覧４０４には当該利用者の待ち行列データ状況を表示する。
【００７５】
図４の画面を用いて利用者は残高の入出金を行うことができる。現在残高欄４０５には当該利用者の現在の残高が表示される。入金欄４０６に入金額を入力し入金実行ボタン４０７を押下することにより利用者は残高の入金を行うことができる。また、出金欄４０８に出金額を入力し出金実行ボタン４０９を押下することにより利用者は残高の出金を行うことができる。マルチラテラルネッティング決済システム１０は、それらの入金額または出金額の入力を受け付けて、残高データベース（利用者ごと）１０３の残高データを更新する。以上が図４の利用者端末１０４の画面についての説明である。
【００７６】
図５は本実施形態の管理者端末１０５の画面を示す図である。管理者はこの画面を用いて本システムの設定を行う。図５には初期状態として現在の設定が表示され、各入力セル等に設定を入力し更新ボタン５０９を押下することで設定が更新される。入力した情報を元に戻す際にはキャンセルボタン５１０を押下する。マルチラテラルネッティング決済システム１０は、それらの設定の入力を受け付けてメモリや磁気ディスク装置中の設定データを更新する。
【００７７】
マルチラテラルネッティング決済実行間隔欄５０１にはマルチラテラルネッティング決済を行う間隔を入力する。図５には３０分が設定されている状態を示す。重み値欄５０２には現在の重みデータの値が表示される。重み調整の自動調整を行う場合にはラジオボタン５０３を選択し、重みを手動で調整する場合にはラジオボタン５０４を選択する。ラジオボタン５０４が選択されている場合、重み値欄５０２に重みデータを手動で入力可能となり、重み値欄５０２に各スコアリングの重みを入力後更新ボタン５０９を押下することで重みデータが更新される。
【００７８】
ラジオボタン５０３が選択されている際は、自動調整実行間隔欄５０５から使用ヒストリカルデータ期間欄５０８までに入力される設定データに基づき重みの自動調整が行われる。自動調整実行間隔欄５０５では重みの自動調整を実行する間隔を営業日単位及びネッティング回単位で設定する。図５では１営業日毎、１回毎、即ち毎営業日毎回重み自動調整がなされる設定が入力されている例が示されている。自動調整幅欄５０６では重み自動調整の幅を設定する。図５では0.09が入力されている例が示されている。
【００７９】
使用ヒストリカルデータ期間欄５０７及び５０８で、重み調整を実行する際に用いるヒストリカルデータの期間を設定する。使用ヒストリカルデータ期間欄５０７の年前欄では実行されるマルチラテラルネッティング決済を基準として何年前のデータから使用するかを設定する。使用ヒストリカルデータ期間欄５０７の月前欄では実行されるマルチラテラルネッティング決済を基準として何月前のデータから使用するかを設定する。使用ヒストリカルデータ期間欄５０７の年営業日前欄では実行されるマルチラテラルネッティング決済を基準として何営業日前のデータから使用するかを設定する。同様に、使用ヒストリカルデータ期間欄５０８の年前欄では実行されるマルチラテラルネッティング決済を基準として何年前のデータまで使用するかを設定する。使用ヒストリカルデータ期間欄５０８の月前欄では実行されるマルチラテラルネッティング決済を基準として何月前のデータまで使用するかを設定する。使用ヒストリカルデータ期間欄５０８の年営業日前欄では実行されるマルチラテラルネッティング決済を基準として何営業日前のデータまで使用するかを設定する。
図５では実行されるマルチラテラルネッティング決済と同年同月同営業日の２回前から１回前までのデータを用いる設定の例が示されている。以上が図５の管理者端末１０５の画面についての説明である。
【００８０】
図６は本実施形態の図２のステップ２１０１で利用者端末に通知されるマルチラテラルネッティング決済開始の通知画面を示す図である。本実施形態のマルチラテラルネッティング決済システム１０は、マルチラテラルネッティング決済実行中、図５の画面の前面に図６のメッセージ画面を表示し続ける。この間、図５の画面による入力は受け付けられない。
【００８１】
図７は本実施形態の図２のステップ２１０２で利用者端末に通知されるマルチラテラルネッティング決済完了、データ更新の通知画面を示す図である。本実施形態のマルチラテラルネッティング決済システム１０は、決済完了時に図６のメッセージ画面を図７のメッセージ画面に切り替え、図７のメッセージ画面の了解ボタンの押下を受け付けると、図７の画面を消して図５の画面に戻り、利用者は実行された決済の内容を確認でき、新しい支払指図入力及び残高の更新ができる様になる。以上が図６及び図７のメッセージ画面の説明である。
【００８２】
以下では、前述した３種類のアルゴリズムにより、特定されるマルチラテラルネッティングの解が変化する例を説明し、各々の解について、前述した４種類のスコアリングにより算出されるスコアが変化する例を説明する。利用者A、利用者B、利用者C、利用者D、利用者E及び利用者Fの、６つの利用者のマルチラテラルネッティング決済が実行される直前の状態を以下に示す。
【００８３】
図１７は本実施形態の各利用者の待ち行列待機中支払指図の例を示す図である。図１７では各利用者の待ち行列で待機中の支払指図を表しており、利用者C、利用者E及び利用者Fの待ち行列は空であるものとする。
【００８４】
図１７の待ち時間欄には、本来のデータベース構造では図１４に示した様に入力時刻が格納されているが、ここでは説明を容易にするため、マルチラテラルネッティング決済開始時刻から入力時刻を減じた待ち時間を分単位で示す。
【００８５】
図８は本実施形態のマルチラテラルネッティング決済システム１０の図１７で示した待ち行列待機中支払指図を示す模式図である。図８では、待ち行列に待機中の各利用者間の支払指図を矢印とその金額で表しており、例えばAからBへの矢印は、利用者Aから利用者Bへの金額250の支払指図を表している。
【００８６】
図１８は本実施形態の各利用者の残高を示す図である。図１８では、利用者Aの残高が「250」で他の利用者の残高が「0」であることを表している。
【００８７】
まず、本実施形態のマルチラテラルネッティング決済システム１０において、アルゴリズム１０６１に基づきネッティング解を求める場合について説明する。
【００８８】
図１９は本実施形態のアルゴリズム１０６１による仮残高の推移を示す図である。図１９では、図１７、図１８及び図８で示した状態からアルゴリズム１０６１によりネッティング解を求めた場合の仮残高の推移を表している。
【００８９】
図２０は本実施形態の待ち行列待機中支払指図の変化を示す図である。図２０では、図１７、図１８及び図８で示した状態からアルゴリズム１０６１によりネッティング解を求めた場合のネッティング解の変化を表している。
【００９０】
アルゴリズム１０６１に従って、解を求めるためネッティング対象支払指図の除外を行った場合、図２０の(1)〜(3)で示した見え消し線で消された支払指図が図中の番号の順に除外される。一つの支払指図が除外されていくごとの仮残高の推移を示したのが図１９である。最初の段階で仮残高が負かつ最小である利用者は利用者Bであり、利用者Bの待ち行列待機中支払指図から、ネッティング対象から除外する支払指図が選ばれる。
【００９１】
アルゴリズム１０６１では前述の様に先入先出戦略、即ち待ち行列の最後尾の支払指図が除外されるので、図２０の(1)の支払指図が除外される。その結果、仮残高は図１９の「B→Dを消」列に示した値に推移する。この時、仮残高が負かつ最小の利用先は利用先Bで同じくアルゴリズム１０６１により、図２０の(2)の支払指図が除外される。その結果、仮残高は図１９の「B→Cを消」列に示した値に推移する。この時、仮残高が負かつ最小の利用先は利用先Dで同じくアルゴリズム１０６１により、図２０の(3)の支払指図が除外される。この結果、仮残高は図１９の「D→Eを消」列に示した値に推移し、全ての利用先の仮残高が非負となり、この仮残高の値に残高を更新すればネッティング対象から除外されなかった支払指図、即ち図２０で見え消し線により削除されていない２つの支払指図によるマルチラテラルネッティングが成立する。この解の支払指図を図９に模式的に示す。
【００９２】
図９は本実施形態のマルチラテラルネッティング決済システム１０のアルゴリズム１０６１による解を示す支払指図である。図９で、点線で示したのがこの解でネッティング対象から除外された支払指図であり、実線で示したのがネッティング対象となった支払指図である。この解に対する、４種類の各スコアリングによるスコアの値を図２１に示す。
【００９３】
図２１は本実施形態のアルゴリズム１０６１による解のスコアを示す図である。図２１のスコア(1)は、数１に示した計算式に基づき、2/5を計算した結果である。図２１のスコア(2)は、数２に示した計算式に基づき、(250+150)/(250+150+200+150+40)を計算した結果である。図２１のスコア(3)は、数３に示した計算式に基づき、(20+19)/(20+19+10+5+4)を計算した結果である。図２１のスコア(4)は、数４に示した計算式に基づき、(20×250+19×150)/(250×20+150×19+200×10+150×5+40×4)を計算した結果である。
以上が、アルゴリズム１０６１に基づき解を求めた場合の説明である。
【００９４】
続いて、本実施形態のマルチラテラルネッティング決済システム１０において、アルゴリズム１０６２に基づき解を求める場合について説明する。
【００９５】
図２２は本実施形態のアルゴリズム１０６２による仮残高の推移を示す図である。図２２では、図１７、図１８及び図８で示した状態からアルゴリズム１０６２によりネッティング解を求めた場合の仮残高の推移を表している。
【００９６】
図２３は本実施形態の待ち行列待機中支払指図の変化を示す図である。図２３では、図１７、図１８及び図８で示した状態からアルゴリズム１０６２によりネッティング解を求めた場合のネッティング解の変化を表している。
【００９７】
アルゴリズム１０６２に従って、解を求めるためネッティング対象支払指図の除外を行った場合、図２３の(1)〜(3)で示した見え消し線で消された支払指図がこの順に除外される。一つの支払指図が除外されていくごとの仮残高の推移を示したのが図２２である。最初の段階で仮残高が負かつ最小である利用者は利用者Bであり、利用者Bの待ち行列待機中支払指図から、ネッティング対象から除外する支払指図が選ばれる。
【００９８】
アルゴリズム１０６２では前述の様に決済額最大化戦略、即ち、待ち行列待機中の支払指図の内金額が最小の支払指図（該当する支払指図が複数ある場合には待ち行列の順番がより後ろの支払指図）が除外されるので、図２３の(1)の支払指図が除外される。その結果、仮残高は図２２の「B→Dを消」列に示した値に推移する。この時、仮残高が負かつ最小の利用先は利用先Bで同じくアルゴリズム１０６２により、図２３の(2)の支払指図が除外される。その結果、仮残高は図２２の「B→Fを消」列に示した値に推移する。この時、仮残高が負かつ最小の利用先は利用先Dで同じくアルゴリズム１０６２により、図２３の(3)の支払指図が除外される。この結果、仮残高は図２２の「D→Eを消」列に示した値に推移し、全ての利用先の仮残高が非負となり、この仮残高の値に残高を更新すればネッティング対象から除外されなかった支払指図、即ち図２３で見え消し線により削除されていない２つの支払指図によるマルチラテラルネッティングが成立する。この解の支払指図を図１０に模式的に示す。
【００９９】
図１０は本実施形態のマルチラテラルネッティング決済システム１０のアルゴリズム１０６２による解を示す支払指図である。図１０で、点線で示したのがこの解でネッティング対象から除外された支払指図であり、実線で示したのがネッティング対象となった支払指図である。この解に対する、４種類の各スコアリングによるスコアの値を図２４に示す。
【０１００】
図２４は本実施形態のアルゴリズム１０６２による解のスコアを示す図である。図２４のスコア(1)は、数１に示した計算式に基づき、2/5を計算した結果である。図２４のスコア(2)は、数２に示した計算式に基づき、(250+200)/(250+150+200+150+40)を計算した結果である。図２４のスコア(3)は、数３に示した計算式に基づき、(20+10)/(20+19+10+5+4)を計算した結果である。図２４のスコア(4)は、数４に示した計算式に基づき、(20×250+10×200)/(250×20+150×19+200×10+150×5+40×4)を計算した結果である。
以上が、アルゴリズム１０６２に基づき解を求めた場合の説明である。
【０１０１】
続いて、本実施形態のマルチラテラルネッティング決済システム１０において、アルゴリズム１０６３に基づきネッティング解を求める場合について説明する。
【０１０２】
図２５は本実施形態のアルゴリズム１０６３による仮残高の推移を示す図である。図２５では、図１７、図１８及び図８で示した状態からアルゴリズム１０６３によりネッティング解を求めた場合の仮残高の推移を表している。
【０１０３】
図２６は本実施形態の待ち行列待機中支払指図の変化を示す図である。図２６では、図１７、図１８及び図８で示した状態からアルゴリズム１０６３によりネッティング解を求めた場合のネッティング解の変化を表している。
【０１０４】
アルゴリズム１０６３に従って、解を求めるためネッティング対象支払指図の除外を行った場合、図２６の(1)及び(2)で示した見え消し線で消された支払指図がこの順に除外される。一つの支払指図が除外されていくごとの仮残高の推移を示したのが図２５である。最初の段階で仮残高が負かつ最小である利用者は利用者Bであり、利用者Bの待ち行列待機中支払指図から、ネッティング対象から除外する支払指図が選ばれる。
【０１０５】
アルゴリズム１０６３では前述の様に決済件数最大化戦略、即ち、待ち行列待機中の支払指図の内その支払先の待ち行列が空である支払指図（複数ある場合には待ち行列の順番がより後ろの支払指図）が除外されるので、図２６の(1)の支払指図が除外される。その結果、仮残高は図２５の「B→Cを消」列に示した値に推移する。この時、仮残高が負かつ最小の利用先は利用先Bで同じくアルゴリズム１０６３により、図２６の(2)の支払指図が除外される。この結果、仮残高は図２５の「B→Fを消」列に示した値に推移し、全ての利用先の仮残高が非負となり、この仮残高の値に残高を更新すればネッティング対象から除外されなかった支払指図、即ち図２６で見え消し線により削除されていない３つの支払指図によるマルチラテラルネッティングが成立する。この解の支払指図を図１１に模式的に示す。
【０１０６】
図１１は本実施形態のマルチラテラルネッティング決済システム１０のアルゴリズム１０６３による解を示す支払指図である。図１１で、点線で示したのがこの解でネッティング対象から除外された支払指図であり、実線で示したのがネッティング対象となった支払指図である。この解に対する、４種類の各スコアリングによるスコアの値を図２７に示す。
【０１０７】
図２７は本実施形態のアルゴリズム１０６２による解のスコアを示す図である。図２７のスコア(1)は、数１に示した計算式に基づき、3/5を計算した結果である。図２７のスコア(2)は、数２に示した計算式に基づき、(250+150+40)/(250+150+200+150+40)を計算した結果である。図２７のスコア(3)は、数３に示した計算式に基づき、(20+5+4)/(20+19+10+5+4)を計算した結果である。図２７のスコア(4)は、数４に示した計算式に基づき、(20×250+5×150+4×40)/(250×20+150×19+200×10+150×5+40×4)を計算した結果である。
以上が、アルゴリズム１０６３に基づき解を求めた場合の説明である。
【０１０８】
図２１及び図２４及び図２７を比較すると、スコアリング１０７１によるスコア(1)が最も高いのはアルゴリズム１０６３による解であり、スコアリング１０７２によるスコア(2)が最も高いのはアルゴリズム１０６２による解であり、スコアリング１０７３によるスコア(3)及びスコアリング１０７４によるスコア(4)が最も高いのはアルゴリズム１０６１による解であることがわかる。この様に、同一の支払指図及び残高の状況であっても、採用するアルゴリズムにより導出される解が異なり、かつそれぞれの解における、各スコアリングによるスコアも異なるため、これらを組み合わせて最も決済リスク削減上有効と考えられる解を選択する手法に有効性があることがわかる。
【０１０９】
以上が、前述した３種類のアルゴリズムにより、特定されるマルチラテラルネッティングの解が変化する例と、各々の解について、前述した４種類のスコアリングにより算出されるスコアが変化する例の説明である。
【０１１０】
続いて、図２のステップ２２０４で実行される重み調整の効果について、例を挙げて以下で説明する。
決済システム利用開始直後に、図２８で示す支払指図の入力があり、その際の残高が図２９に示す状態であるものとする。
【０１１１】
図２８は本実施形態の支払指図の入力例を示す図である。図２９は本実施形態の残高の状態を示す図である。図２８の「払→受」列は支払元と受取先の利用者名を表しており、例えば、A→Bは利用者Aから利用者Bに支払われる支払指図であることを示している。また、金額欄はそれぞれの支払指図の金額を示している。図２９では利用者ごとの残高の状態を示している。
このときの待ち行列は図３０に示した状態となる。この状況を図１２に模式的に示す。
【０１１２】
図３０は本実施形態の図２８の支払指図の入力時の待ち行列の状態を示す図である。図３０では、図２８に示した支払指図が入力された場合の各利用者の待ち行列の状態を表している。
【０１１３】
図１２は本実施形態のマルチラテラルネッティング決済システム１０の図３０の支払指図を示す模式図である。図１２では、図３０の待ち行列に待機中の各利用者間の支払指図を矢印とその金額で表しており、例えばAからBへの矢印は、利用者Aから利用者Bへの金額100の支払指図を表している。
【０１１４】
簡単のため、以下ではアルゴリズムは、アルゴリズム１０６１の決済件数最大化戦略とアルゴリズム１０６２の決済金額最大化戦略の２種類のみが使用され、スコアリングは、スコアリング１０７１の件数を評価するものとスコアリング１０７２の金額を評価するものの２種類のみが使用されている場合を考える。
【０１１５】
初期の重みデータは図３１に示される値をとっているものとし、１回目のマルチラテラルネッティング決済が実行されたとき、アルゴリズム１０６１による仮残高の推移は図３２、アルゴリズム１０６２による仮残高の推移は図３３の様になり、アルゴリズム１０６１のスコアは図３４、アルゴリズム１０６２のスコアは図３５の様になる。
【０１１６】
図３１は本実施形態の初期の重みデータを示す図である。図３１では、スコアリング１０７１及び１０７２の初期の重みデータがそれぞれ0.5であることを表しており、スコア(1)及びスコア(2)がそれぞれスコアリング１０７１及びスコアリング１０７２を示している。
【０１１７】
図３２は本実施形態のアルゴリズム１０６１による仮残高の推移を示す図である。図３２では、図２９、図３０及び図１２で示した状態からアルゴリズム１０６１によりネッティング解を求めた場合の仮残高の推移を表している。
【０１１８】
図３３は本実施形態のアルゴリズム１０６２による仮残高の推移を示す図である。図３３では、図２９、図３０及び図１２で示した状態からアルゴリズム１０６２によりネッティング解を求めた場合の仮残高の推移を表している。
【０１１９】
図３４は本実施形態のアルゴリズム１０６１のスコアを示す図である。図３４のスコア(1)及びスコア(2)は、図３２の様にアルゴリズム１０６１によりネッティング解を求めた場合の、数１及び数２の計算式に基づいて計算した結果をそれぞれ表している。
【０１２０】
図３５は本実施形態のアルゴリズム１０６２のスコアを示す図である。図３５のスコア(1)及びスコア(2)は、図３３の様にアルゴリズム１０６２によりネッティング解を求めた場合の、数１及び数２の計算式に基づいて計算した結果をそれぞれ表している。
【０１２１】
図３６は本実施形態の各アルゴリズムのトータルスコアを示す図である。図３６では、各アルゴリズムのスコアが図３４及び図３５の値である場合のアルゴリズム毎のトータルスコアを表している。
【０１２２】
図３７は本実施形態の残高の更新状況を示す図である。図３７では、アルゴリズム１０６１による解により決済を行った場合の残高の状況を表している。
【０１２３】
図３８は本実施形態の待ち行列の状況を示す図である。図３８では、アルゴリズム１０６１による解により決済を行った場合の待ち行列の状況を表している。
【０１２４】
図３１及び図３４及び図３５及び数５からそれぞれのアルゴリズムのトータルスコアは図３６の様になる。図３６からトータルスコアの大きなアルゴリズム１０６１による解が最適解として選択され、ネッティング決済が実行されて、各利用者の残高は図３７の様になり、待ち行列は図３８の様になる。
【０１２５】
図３９は本実施形態の前記ネッティング決済後の支払指図の入力状況を示す図である。図３９では、前記ネッティング決済の後に入力された支払指図を表している。
【０１２６】
前記ネッティング決済の後、２回目のネッティングの前に、図３９で示す支払指図の入力があり、利用者Aの残高に「70」の入金があり、利用者Bの残高から「70」の出金があったものとする。
【０１２７】
即ち、残高が図２９、待ち行列が図３０と同じ状況が再び作られた場合を考える。この後、２回目のネッティングの際に重み調整を行う。重み調整の設定は、使用するヒストリカルデータは直前１回のネッティング決済のものとし、重み調整を行う幅は0.1であり、重み調整を行う頻度は毎回のネッティング決済である設定がなされているとする。この時、直前のネッティングで実行されたアルゴリズムはアルゴリズム１０６１で、そのスコアは図３４に示されている様にスコアリング１０７２のスコア(2)が低くなっている。従って、前述した方法で重みを調整して、重みは図４０に示した様に変更される。
【０１２８】
図４０は本実施形態の重みデータの状況を示す図である。図４０では、スコアリング１０７１及び１０７２の重みデータがそれぞれ0.4、0.5に変更されたことを表している。
【０１２９】
残高及び支払指図の状況は１回目のネッティング前と同様であるので、各アルゴリズムの各スコアは図３４及び図３５に示した値と同様であり、仮残高の推移は図３３及び図３４と同等である。重みが図４０に示した値に更新されたため、各アルゴリズムのトータルスコアは図４１の様になる。
【０１３０】
図４１は本実施形態のマルチラテラルネッティング決済システム１０のトータルスコアを示す図である。この時も１回目のネッティングの時と同様に、トータルスコアの大きなアルゴリズム１０６１による解が最適解として選択され、ネッティング決済が実行されて、各利用者の残高は図３７と同様の値に更新され、待ち行列は図３８と同様に更新される。
【０１３１】
この後、３回目のネッティングの前にも、２回目のネッティングの前と同様に図３９で示す支払指図の入力があり、利用者Aの残高に「70」の入金があり、利用者Bの残高から「70」の出金があったものとする。従って、残高は図２９、待ち行列は図３０に示したのと同様の状況が三度作られた場合を考える。この後、３回目のネッティングの前にも２回目のネッティングの前と同様の重み調整が行われて、図４２に示す様に重みが更新される。
【０１３２】
図４２は本実施形態の重みデータの状況を示す図である。図４２では、スコアリング１０７１及び１０７２の重みデータがそれぞれ0.3、0.7に変更されたことを表している。その結果、２回目のネッティングと同様にトータルスコアを計算すると図４３の様になる。
【０１３３】
図４３は本実施形態のマルチラテラルネッティング決済システム１０のトータルスコアを示す図である。図４３に示した様に、３回目のネッティングでは１回目及び２回目と異なり、トータルスコアが最も大きなアルゴリズムはアルゴリズム１０６２となり、アルゴリズム１０６２による解に基づきマルチラテラルネッティング決済が行われた結果、待ち行列の状態は図４４の様に更新される。
【０１３４】
図４４は本実施形態のマルチラテラルネッティング決済システム１０の待ち行列状況を示す図である。図３８と図４４を比べると、１回目及び２回目のネッティング決済では決済されなかった、利用者Bから利用者Eへの支払指図、及び利用者Eから利用者Aへの支払指図が、重み調整の結果、３回目のネッティングによって決済されたことがわかる。重み調整を行わなかった場合、この例では同じ残高と支払指図の状況が繰り返されるため１回目のネッティングと同じ状況が繰り返され、いつまでも利用者Bから利用者Eへの支払指図、及び利用者Eから利用者Aへの支払指図が決済されない状況が続き、この２つの支払指図の残留による決済リスクの増大を防げなくなる。即ち、重み調整によりこの決済リスクの増大が防げたことになる。
【０１３５】
なお、重み調整時に用いるヒストリカルデータの使用期間を、例えば１ヶ月とする等、比較的大きくとり、頻度を、例えば同じく１ヶ月に１回とする等、比較的小さくすることにより、支払指図の入力に長期的なトレンドやサイクルといったパターンがある場合には、この方法で有効な決済戦略を採ることができる。
以上が、重み調整による効果の、説明例である。
【０１３６】
前記の様に本実施形態では、複数の戦略に応じた複数のアルゴリズムにより導出されるネッティング解のそれぞれを、複数の評価方法でそれぞれの解について算出されるスコアと予め設定した重みを用いて導出されるトータルスコアで評価し、最もトータルスコアが高い解を最適解として特定し、この最適解を用いて決済を行うことが可能で、これにより特定の支払指図が長時間決済されずに待ち行列に待機し続けることにより決済リスクが増大することを防ぐことが可能な決済システムが提供できる。また、上記のトータルスコア算出の際に用いる重みを、ヒストリカルデータに基づき自動調整を行うことにより、過去の支払指図状況に応じて最適解を導出し、例えば待ち行列に長時間待機している支払指図を決済させることが可能な決済システムを提供できる。
【０１３７】
以上説明した様に本実施形態のマルチラテラルネッティング決済システムによれば、複数のアルゴリズムから導出されるネッティング解を複数の評価方法で評価してスコアを算出し、そのトータルスコアが最も高いネッティング解により決済を行うので、特定の支払指図が長時間決済されずに待ち行列に待機し続けることを防止し、決済リスクが増大することを防ぐことが可能である。
【図面の簡単な説明】
【０１３８】
【図１】本実施形態のマルチラテラルネッティング決済システムの全体構成を示す図である。
【図２】本実施形態のマルチラテラルネッティング決済を実行する手順のフローを示す図である。
【図３】本実施形態の３種類の各アルゴリズムで共通のネッティング解導出手順のフローを示す図である。
【図４】本実施形態の利用者端末１０４の画面を示す図である。
【図５】本実施形態の管理者端末１０５の画面を示す図である。
【図６】本実施形態の図２のステップ２１０１で利用者端末に通知されるマルチラテラルネッティング決済開始の通知画面を示す図である。
【図７】本実施形態の図２のステップ２１０２で利用者端末に通知されるマルチラテラルネッティング決済完了、データ更新の通知画面を示す図である。
【図８】本実施形態のマルチラテラルネッティング決済システムの図１７で示した待ち行列待機中支払指図を示す模式図である。
【図９】本実施形態のマルチラテラルネッティング決済システムのアルゴリズム１０６１による解を示す支払指図である。
【図１０】本実施形態のマルチラテラルネッティング決済システムのアルゴリズム１０６２による解を示す支払指図である。
【図１１】本実施形態のマルチラテラルネッティング決済システムのアルゴリズム１０６３による解を示す支払指図である。
【図１２】本実施形態のマルチラテラルネッティング決済システムの図３０の支払指図を示す模式図である。
【図１３】本実施形態の待ち行列データベース（利用者ごと）１０２のデータ形式を示す図である。
【図１４】本実施形態の残高データベース（利用者ごと）１０３のデータ形式を示す図である。
【図１５】本実施形態の重みデータベース１０８のデータ形式を示す図である。
【図１６】本実施形態のヒストリカルデータベース１１０のデータ形式を示す図である。
【図１７】本実施形態の各利用者の待ち行列待機中支払指図の例を示す図である。
【図１８】本実施形態の各利用者の残高を示す図である。
【図１９】本実施形態のアルゴリズム１０６１による仮残高の推移を示す図である。
【図２０】本実施形態の待ち行列待機中支払指図の変化を示す図である。
【図２１】本実施形態のアルゴリズム１０６１による解のスコアを示す図である。
【図２２】本実施形態のアルゴリズム１０６２による仮残高の推移を示す図である。
【図２３】本実施形態の待ち行列待機中支払指図の変化を示す図である。
【図２４】本実施形態のアルゴリズム１０６２による解のスコアを示す図である。
【図２５】本実施形態のアルゴリズム１０６３による仮残高の推移を示す図である。
【図２６】本実施形態の待ち行列待機中支払指図の変化を示す図である。
【図２７】本実施形態のアルゴリズム１０６２による解のスコアを示す図である。
【図２８】本実施形態の支払指図の入力例を示す図である。
【図２９】本実施形態の残高の状態を示す図である。
【図３０】本実施形態の図２８の支払指図の入力時の待ち行列の状態を示す図である。
【図３１】本実施形態の初期の重みデータを示す図である。
【図３２】本実施形態のアルゴリズム１０６１による仮残高の推移を示す図である。
【図３３】本実施形態のアルゴリズム１０６２による仮残高の推移を示す図である。
【図３４】本実施形態のアルゴリズム１０６１のスコアを示す図である。
【図３５】本実施形態のアルゴリズム１０６２のスコアを示す図である。
【図３６】本実施形態の各アルゴリズムのトータルスコアを示す図である。
【図３７】本実施形態の残高の更新状況を示す図である。
【図３８】本実施形態の待ち行列の状況を示す図である。
【図３９】本実施形態の前記ネッティング決済後の支払指図の入力状況を示す図である。
【図４０】本実施形態の重みデータの状況を示す図である。
【図４１】本実施形態のマルチラテラルネッティング決済システムのトータルスコアを示す図である。
【図４２】本実施形態の重みデータの状況を示す図である。
【図４３】本実施形態のマルチラテラルネッティング決済システムのトータルスコアを示す図である。
【図４４】本実施形態のマルチラテラルネッティング決済システムの待ち行列状況を示す図である。
【図４５】本実施形態のマルチラテラルネッティング決済システム１０の概略構成を示す図である。
【符号の説明】
【０１３９】
１０…マルチラテラルネッティング決済システム、１０２…待ち行列データベース（利用者ごと）、１０３…残高データベース（利用者ごと）、１０４…利用者端末、１０５…管理者端末、１０８…重みデータベース、１１０…ヒストリカルデータベース、１０６１〜１０６３…アルゴリズム、１０７１〜１０７４…スコアリング、１０１…決済管理処理部、１０６…ネッティング解導出処理部、１０７…ネッティング解評価処理部、１０９…ネッティング解決定処理部、３０１…支払指図データ、３０２…残高データ、４０１…支払先欄、４０２…金額欄、４０３…実行ボタン、４０４…待ち行列待機中支払指図一覧、４０５…現在残高欄、４０６…入金欄、４０７…入金実行ボタン、４０８…出金欄、４０９…出金実行ボタン、５０１…マルチラテラルネッティング決済実行間隔欄、５０２…重み値欄、５０３及び５０４…ラジオボタン、５０５…自動調整実行間隔欄、５０６…自動調整幅欄、５０７及び５０８…使用ヒストリカルデータ期間欄、５０９…更新ボタン、５１０…キャンセルボタン。
【図１】
2007058726.tif 000003
【図２】
2007058726.tif 000004
【図３】
2007058726.tif 000005
【図４】
2007058726.tif 000006
【図５】
2007058726.tif 000007
【図６】
2007058726.tif 000008
【図７】
2007058726.tif 000009
【図８】
2007058726.tif 000010
【図９】
2007058726.tif 000011
【図１０】
2007058726.tif 000012
【図１１】
2007058726.tif 000013
【図１２】
2007058726.tif 000014
【図１３】
2007058726.tif 000015
【図１４】
2007058726.tif 000016
【図１５】
2007058726.tif 000017
【図１６】
2007058726.tif 000018
【図１７】
2007058726.tif 000019
【図１８】
2007058726.tif 000020
【図１９】
2007058726.tif 000021
【図２０】
2007058726.tif 000022
【図２１】
2007058726.tif 000023
【図２２】
2007058726.tif 000024
【図２３】
2007058726.tif 000025
【図２４】
2007058726.tif 000026
【図２５】
2007058726.tif 000027
【図２６】
2007058726.tif 000028
【図２７】
2007058726.tif 000029
【図２８】
2007058726.tif 000030
【図２９】
2007058726.tif 000031
【図３０】
2007058726.tif 000032
【図３１】
2007058726.tif 000033
【図３２】
2007058726.tif 000034
【図３３】
2007058726.tif 000035
【図３４】
2007058726.tif 000036
【図３５】
2007058726.tif 000037
【図３６】
2007058726.tif 000038
【図３７】
2007058726.tif 000039
【図３８】
2007058726.tif 000040
【図３９】
2007058726.tif 000041
【図４０】
2007058726.tif 000042
【図４１】
2007058726.tif 000043
【図４２】
2007058726.tif 000044
【図４３】
2007058726.tif 000045
【図４４】
2007058726.tif 000046
【図４５】
2007058726.tif 000047