(57)【要約】【課題】複数の計算処理サーバを利用して、効率的に行なうための計算処理を行なうための負荷分散処理システム、負荷分散処理方法及び負荷分散処理プログラムを提供する。【解決手段】夜間バッチ処理を行ない、計算スロット管理サーバ２０の制御部２１は、その処理所要時間を実行結果履歴データ記憶部２４に記録する。締めバッチ処理を行なう場合には、制御部２１は、夜間バッチ処理を行なった計算スロットについて実行結果履歴を用いて重み付け値を算出する。新規スロットについては、新規スロットと同一計算モデルの計算スロット毎に平均残存期間を算出し、平均残存期間に近い既処理スロットの単位処理時間を算出する。そして、単位処理時間に取引件数を乗算して重み付け値を算出し、重み付け値の大きい順番に、ホストシステム５０に、ポジションや収益の算出処理のリクエストを発行する。【選択図】図１
2008083975.tif 000002
【特許請求の範囲】
【請求項１】
金融商品の取引毎に、商品属性と取引内容を含む取引実績データを記録した取引実績記憶手段と、
計算スロット毎に、取引内容の取引評価処理に要した処理所要時間と取引件数とを記録した処理実績記憶手段と、
前記取引評価処理を実行する複数の演算処理装置に接続された制御手段を備え、前記演算処理装置の負荷の分散処理を行なうためのシステムであって、
前記制御手段が、
前記取引実績記憶手段に記録された取引実績データについて、商品属性が共通する取引実績データをまとめた計算スロットを生成する計算スロット作成処理手段と、
前記計算スロットを用いて、第１のバッチ処理により取引評価処理を実行し、前記計算スロット毎に取引評価処理に要した処理所要時間を前記処理実績記憶手段に記録する履歴記録処理手段と、
前記第１のバッチ処理に後続する第２のバッチ処理を実行する場合には、前記処理実績記憶手段に記録された処理所要時間を取得し、
前記第１のバッチ処理後に前記取引実績記憶手段に記録された新規取引実績データについては、商品属性が共通する新規取引実績データをまとめて新規スロットを生成し、前記第１のバッチ処理の行なわれた既処理スロットの中から商品属性が共通する計算スロットを特定し、この計算スロットに含まれる取引件数と、前記新規スロットに含まれる取引件数とに基づいて新規スロットの予想計算時間を算出し、前記処理所要時間と前記予想計算時間に基づいて、前記第２のバッチ処理の実行順位を決定するスロット評価処理手段と、
前記実行順位を用いて、前記演算処理装置に取引評価処理を実行させる計量ディスパッチ処理手段と
を備えたことを特徴とする負荷分散処理システム。
【請求項２】
前記取引実績記憶手段には、各金融商品の残存期間を算出するための情報を更に記録しておき、
前記スロット評価処理手段は、前記既処理スロットに含まれる取引実績データの金融商品の残存期間の統計値を、既処理統計値として既処理スロット毎に取得し、
前記新規スロットに含まれる取引実績データの金融商品の残存期間の統計値を算出し、
前記新規スロットの統計値に近接する既処理統計値の既処理スロットを特定し、この既処理スロットの処理所要時間及び取引件数を前記処理実績記憶手段から取得して、新規スロットの予想計算時間を算出することを特徴とする請求項１に記載の負荷分散処理システム。
【請求項３】
前記第１のバッチ処理は業務開始前に実行し、前記第２のバッチ処理は業務開始後に実行することを特徴とする請求項１又は２に記載の負荷分散処理システム。
【請求項４】
金融商品の取引毎に、商品属性と取引量を含む取引実績データを記録した取引実績記憶手段と、
取引内容の取引評価処理に要した処理所要時間を記録した処理実績記憶手段と、
前記取引評価処理を実行する複数の演算処理装置に接続された制御手段を備えた負荷分散処理システムを用いて、前記演算処理装置の負荷の分散処理を行なうための方法であって、
前記制御手段が、
前記取引実績記憶手段に記録された取引実績データについて、商品属性が共通する取引実績データをまとめた計算スロットを生成する計算スロット作成処理段階と、
前記計算スロットを用いて、第１のバッチ処理により取引評価処理を実行し、前記計算スロット毎に取引評価処理に要した処理所要時間を前記処理実績記憶手段に記録する実行
履歴記録処理段階と、
前記第１のバッチ処理に後続する第２のバッチ処理を実行する場合には、前記処理実績記憶手段に記録された処理所要時間を取得し、
前記第１のバッチ処理後に前記取引実績記憶手段に記録された新規取引実績データについては商品属性が共通する新規取引実績データをまとめて新規スロットを生成し、前記第１のバッチ処理の行なわれた既処理スロットの中から商品属性が共通する計算スロットを特定し、この計算スロットに含まれる取引件数と、前記新規スロットに含まれる取引件数とに基づいて新規スロットの予想計算時間を算出し、前記処理所要時間と前記予想計算時間に基づいて、前記第２のバッチ処理の実行順位を決定するスロット評価処理段階と、
前記実行順位を用いて、前記演算処理装置に取引評価処理を実行させる計量ディスパッチ処理段階と
を実行することを特徴とする負荷分散処理方法。
【請求項５】
金融商品の取引毎に、商品属性と取引量を含む取引実績データを記録した取引実績記憶手段と、
取引内容の取引評価処理に要した処理所要時間を記録した処理実績記憶手段と、
前記取引評価処理を実行する複数の演算処理装置に接続された制御手段を備えた負荷分散処理システムを用いて、前記演算処理装置の負荷の分散処理を行なうためのプログラムであって、
前記制御手段を、
前記取引実績記憶手段に記録された取引実績データについて、商品属性が共通する取引実績データをまとめた計算スロットを生成する計算スロット作成処理手段と、
前記計算スロットを用いて、第１のバッチ処理により取引評価処理を実行し、前記計算スロット毎に取引評価処理に要した処理所要時間を前記処理実績記憶手段に記録する履歴記録処理手段と、
前記第１のバッチ処理に後続する第２のバッチ処理を実行する場合には、前記処理実績記憶手段に記録された処理所要時間を取得し、
前記第１のバッチ処理後に前記取引実績記憶手段に記録された新規取引実績データについては商品属性が共通する新規取引実績データをまとめて新規スロットを生成し、前記第１のバッチ処理の行なわれた既処理スロットの中から商品属性が共通する計算スロットを特定し、この計算スロットに含まれる取引件数と、前記新規スロットに含まれる取引件数とに基づいて新規スロットの予想計算時間を算出し、前記処理所要時間と前記予想計算時間に基づいて、前記第２のバッチ処理の実行順位を決定するスロット評価処理手段と、
前記実行順位を用いて、前記演算処理装置に取引評価処理を実行させる計量ディスパッチ処理手段
として機能させることを特徴とする負荷分散処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の計算処理を効率的に実現するための負荷分散処理システム、負荷分散処理方法及び負荷分散処理プログラムに関するものであり、特にデリバティブ（金融派生商品）についてリスクパラメータを効率的に算出するために用いる。
【背景技術】
【０００２】
今日、市場での各種取引において、大量の計算処理を効率的かつ迅速に行なうニーズが高まっている。例えば、金融取引のための各種計算も、大量の計算を迅速に行なう必要がある。具体的には、デリバティブ（金融派生商品）等に関する取引を行なう場合にも、金融商品の市場価格と自らのポジション（「デルタ」、「ベガ」、「ガンマ」のリスク値）や収益に関する情報を把握する必要がある。ここで、「デルタ」とは金利の変化による価値の変動額、「ベガ」とはボラティリティの変化による価値の変動額、「ガンマ」とは金利の変化によるデルタの変動額である。このようにポジションや収益を的確に把握することが、取引のリスク管理において大切である。
【０００３】
このようなポジション管理の計算に使用する数値は膨大であり、金融商品の時価は時々刻々と変化する。このため、一定の時点を定めて、その時間におけるポジションや収益を計算するようにしていることが多い。ここで、ポジション・収益管理を行なう各イベントについて説明する。
【０００４】
このイベントには、「スターティングポジション」、「新規約定情報発生」、「取引修正」、「日中レートリセット」、「一括承認での取引取り込み」、「クロージングポジション」等がある。この中で、特に計算処理量が多いイベントが、「スターティングポジション」及び「クロージングポジション」である。
【０００５】
この「スターティングポジション」は、日中の最新ポジション・収益情報のベースとなりうるデータを提供するイベントである。具体的には、業務開始時点において、Ｔｈｅｔａ算出用イールドカーブ、ボラティリティカーブ（以下、Ｔｈｅｔａ算出用カーブと呼ぶ）を使用して計算したユーザの業務開始時点での最新約定情報によるポジション・収益情報を、管理対象単位毎に提供する。ここで、イールドカーブやボラティリティカーブは、時間の変化による価値の変動額を算出するために用いられており、具体的には、前日営業日基準のマーケット情報を用いて当日基準で作成したカーブ情報である。これらのカーブ情報を使用して算出したリスク値は金利等のマーケット情報は変化させず、時間だけ変化させたリスク値となる。なお、「Ｔｈｅｔａ」とは時間の変化による価値の変動額を意味する。
【０００６】
一方、「クロージングポジション」は、日締めカーブによる最新ポジション・収益情報を管理対象単位ごとに提供するイベントである。ここで、「日締めカーブ」とは、当日日締め基準のマーケット情報を用いて当日基準で作成したイールドカーブ、ボラティリティカーブのカーブ情報である。
【０００７】
更に、マーケットの動向による変動を考慮して、リアルタイムでポジション情報、デリバティブ商品のリスク値、リスク値を含めたポジション評価を算出するための技術も検討されている（例えば、特許文献１を参照。）。この文献記載のポジション管理システムにおいては、データ項目と属性との組み合わせによってデータ要素のアドレスを定めた定義ファイルにしたがってシェアードメモリのアドレスにデータ要素を格納したリアルタイムデータベースを用いる。そして、リアルタイムデータベースから時価データ、属性データ
、パラメータを取得してリアルタイムのデリバティブ商品リスク値を算出する。
【特許文献１】特開２００３−２９６５７６号公報（第１頁）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ここで、イールドカーブやボラティリティカーブは期間毎に異なる値をもっているため、これらのカーブを構成している各期間の金利やボラティリティを単独でシフトさせて期間毎に上述のリスク値を算出する。このため、一取引のポジションを計算する場合、その取引の満期日までに含まれるイールドカーブ等を構成する期間すべてのポジションを計算する必要がある。従って、「スターティングポジション」や「クロージングポジション」では、１回に約４万件の取引に対して、ポジションや収益の計算処理を行なう。一取引に対して、商品によって算出するリスク値は異なるが、「デルタ」、「ベガ」、「ガンマ」を算出するため、全取引の計算件数は数百万回にも達する。
【０００９】
そして、「スターティングポジション」は１回／日の割で夜間バッチ処理により行なわれる。このため、「スターティングポジション」の計算処理には比較的に時間的に余裕がある。一方、「クロージングポジション」においては、数回／日の割で行なわれる上に、対象取引全件の最新ポジション・収益情報の計算〜管理対象単位毎への集約までの処理所要時間に制限があり、短時間に終わらせる必要がある。
【００１０】
更に、各金融商品の取引の内容に応じて計算モデルが異なり、この計算モデルによって計算負荷が異なり、中には処理に時間がかかるものも含まれる。
更に、大量の計算処理を効率的かつ迅速に行なうために、今日、複数の演算装置を用いた分散環境を利用する場合もある。このような分散環境において、限られた資源（メモリ、計算能力等）を有効利用しながら、効率的かつ迅速に計算することが大切である。
【００１１】
本発明は、上記課題を解決するためになされたものであり、その目的は、複数の演算処理装置を利用する分散環境において、大量の計算処理を効率的に行なうための負荷分散処理システム、負荷分散処理方法及び負荷分散処理プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上記問題点を解決するために、請求項１に記載の発明は、金融商品の取引毎に、商品属性と取引内容を含む取引実績データを記録した取引実績記憶手段と、計算スロット毎に、取引内容の取引評価処理に要した処理所要時間と取引件数とを記録した処理実績記憶手段と、前記取引評価処理を実行する複数の演算処理装置に接続された制御手段を備え、前記演算処理装置の負荷の分散処理を行なうためのシステムであって、前記制御手段が、前記取引実績記憶手段に記録された取引実績データについて、商品属性が共通する取引実績データをまとめた計算スロットを生成する計算スロット作成処理手段と、前記計算スロットを用いて、第１のバッチ処理により取引評価処理を実行し、前記計算スロット毎に取引評価処理に要した処理所要時間を前記処理実績記憶手段に記録する履歴記録処理手段と、前記第１のバッチ処理に後続する第２のバッチ処理を実行する場合には、前記処理実績記憶手段に記録された処理所要時間を取得し、前記第１のバッチ処理後に前記取引実績記憶手段に記録された新規取引実績データについては、商品属性が共通する新規取引実績データをまとめて新規スロットを生成し、前記第１のバッチ処理の行なわれた既処理スロットの中から商品属性が共通する計算スロットを特定し、この計算スロットに含まれる取引件数と、前記新規スロットに含まれる取引件数とに基づいて新規スロットの予想計算時間を算出し、前記処理所要時間と前記予想計算時間に基づいて、前記第２のバッチ処理の実行順位を決定するスロット評価処理手段と、前記実行順位を用いて、前記演算処理装置に取引評価処理を実行させる計量ディスパッチ処理手段とを備えたことを要旨とする。
【００１３】
請求項２に記載の発明は、請求項１に記載の負荷分散処理システムにおいて、前記取引実績記憶手段には、各金融商品の残存期間を算出するための情報を更に記録しておき、前記スロット評価処理手段は、前記既処理スロットに含まれる取引実績データの金融商品の残存期間の統計値を、既処理統計値として既処理スロット毎に取得し、前記新規スロットに含まれる取引実績データの金融商品の残存期間の統計値を算出し、前記新規スロットの統計値に近接する既処理統計値の既処理スロットを特定し、この既処理スロットの処理所要時間及び取引件数を前記処理実績記憶手段から取得して、新規スロットの予想計算時間を算出することを要旨とする。
【００１４】
請求項３に記載の発明は、請求項１又は２に記載の負荷分散処理システムにおいて、前記第１のバッチ処理は業務開始前に実行し、前記第２のバッチ処理は業務開始後に実行することを要旨とする。
【００１５】
請求項４に記載の発明は、金融商品の取引毎に、商品属性と取引量を含む取引実績データを記録した取引実績記憶手段と、取引内容の取引評価処理に要した処理所要時間を記録した処理実績記憶手段と、前記取引評価処理を実行する複数の演算処理装置に接続された制御手段を備えた負荷分散処理システムを用いて、前記演算処理装置の負荷の分散処理を行なうための方法であって、前記制御手段が、前記取引実績記憶手段に記録された取引実績データについて、商品属性が共通する取引実績データをまとめた計算スロットを生成する計算スロット作成処理段階と、前記計算スロットを用いて、第１のバッチ処理により取引評価処理を実行し、前記計算スロット毎に取引評価処理に要した処理所要時間を前記処理実績記憶手段に記録する実行履歴記録処理段階と、前記第１のバッチ処理に後続する第２のバッチ処理を実行する場合には、前記処理実績記憶手段に記録された処理所要時間を取得し、前記第１のバッチ処理後に前記取引実績記憶手段に記録された新規取引実績データについては商品属性が共通する新規取引実績データをまとめて新規スロットを生成し、前記第１のバッチ処理の行なわれた既処理スロットの中から商品属性が共通する計算スロットを特定し、この計算スロットに含まれる取引件数と、前記新規スロットに含まれる取引件数とに基づいて新規スロットの予想計算時間を算出し、前記処理所要時間と前記予想計算時間に基づいて、前記第２のバッチ処理の実行順位を決定するスロット評価処理段階と、前記実行順位を用いて、前記演算処理装置に取引評価処理を実行させる計量ディスパッチ処理段階とを実行することを要旨とする。
【００１６】
請求項５に記載の発明は、金融商品の取引毎に、商品属性と取引量を含む取引実績データを記録した取引実績記憶手段と、取引内容の取引評価処理に要した処理所要時間を記録した処理実績記憶手段と、前記取引評価処理を実行する複数の演算処理装置に接続された制御手段を備えた負荷分散処理システムを用いて、前記演算処理装置の負荷の分散処理を行なうためのプログラムであって、前記制御手段を、前記取引実績記憶手段に記録された取引実績データについて、商品属性が共通する取引実績データをまとめた計算スロットを生成する計算スロット作成処理手段と、前記計算スロットを用いて、第１のバッチ処理により取引評価処理を実行し、前記計算スロット毎に取引評価処理に要した処理所要時間を前記処理実績記憶手段に記録する履歴記録処理手段と、前記第１のバッチ処理に後続する第２のバッチ処理を実行する場合には、前記処理実績記憶手段に記録された処理所要時間を取得し、前記第１のバッチ処理後に前記取引実績記憶手段に記録された新規取引実績データについては商品属性が共通する新規取引実績データをまとめて新規スロットを生成し、前記第１のバッチ処理の行なわれた既処理スロットの中から商品属性が共通する計算スロットを特定し、この計算スロットに含まれる取引件数と、前記新規スロットに含まれる取引件数とに基づいて新規スロットの予想計算時間を算出し、前記処理所要時間と前記予想計算時間に基づいて、前記第２のバッチ処理の実行順位を決定するスロット評価処理手段と、前記実行順位を用いて、前記演算処理装置に取引評価処理を実行させる計量ディスパッチ処理手段として機能させることを要旨とする。
【００１７】
（作用）
請求項１、４又は５に記載の発明によれば、計算スロットを用いて、第１のバッチ処理により取引評価処理を実行し、計算スロット毎に取引評価処理に要した処理所要時間を処理実績記憶手段に記録する。そして、第１のバッチ処理に後続する第２のバッチ処理を実行する場合には、処理実績記憶手段に記録された処理所要時間を取得して、第２のバッチ処理の実行順位を決定する。これにより、過去の処理実績を今回の処理に反映させて、一つの演算処理装置に処理が集中しないように分散させることができる。具体的には、処理負荷の大きい計算スロットから処理を行なうことにより、負荷分散を図り、効率的に処理を終了することができる。
【００１８】
更に、第１のバッチ処理後に取引実績記憶手段に記録された新規取引実績データについては、商品属性が共通する新規取引実績データをまとめて新規スロットを生成する。そして、第１のバッチ処理の行なわれた既処理スロットの中から商品属性が共通する計算スロットを特定し、この計算スロットに含まれる取引件数と、新規スロットに含まれる取引件数とに基づいて新規スロットの予想計算時間を算出する。これにより、実績がない場合にも、第２のバッチ処理の実行順位を決定することができる。
【００１９】
請求項２に記載の発明によれば、既処理スロットに含まれる取引実績データの金融商品の残存期間の統計値を、既処理統計値として既処理スロット毎に取得する。更に、新規スロットに含まれる取引実績データの金融商品の残存期間の統計値を算出する。そして、新規スロットの統計値に近接する既処理統計値の既処理スロットを特定し、この既処理スロットの処理所要時間及び取引件数を処理実績記憶手段から取得して、新規スロットの予想計算時間を算出する。金融商品の残存期間によって計算負荷は異なるが、計算スロットというグループの中で、残存期間に基づく統計値により、実績がない新規スロットの場合にも、より的確に実行順位を決定することができる。
【００２０】
請求項３に記載の発明によれば、第１のバッチ処理は業務開始前に実行し、第２のバッチ処理は業務開始後に実行する。これにより、業務開始前に行なった処理実績を、業務開始後の処理に反映させることができる。
【発明の効果】
【００２１】
本発明によれば、複数の演算処理装置を利用する分散環境において、計算処理を効率的に行なうための負荷分散処理システム、負荷分散処理方法及び負荷分散処理プログラムを提供することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明を具体化した一実施形態を、図１〜図５を用いて説明する。本実施形態では、金融機関がデリバティブの販売や管理を行なう場合に、ポジションや収益を計算するために用いる負荷分散処理システム、負荷分散処理方法及び負荷分散処理プログラムとして説明する。本実施形態では、デリバティブについての取引評価処理（ポジションや収益の計算処理）のために、「スターティングポジション」及び「クロージングポジション」を実現するために、第１のバッチ処理としての夜間バッチ処理、第２のバッチ処理としての締めバッチ処理を行なう場合を想定する。
【００２３】
図１に示すように、本実施形態では、取引実績記憶手段としての約定管理データベース３０や計算スロット管理サーバ２０、複数のホストシステム５０からなるシステムを用いて、取引を行なった金融商品の取引評価処理を行なう。
【００２４】
計算スロット管理サーバ２０に接続されている約定管理データベース３０には、ポジシ
ョンや収益の計算の対象となる取引の内容を特定するための関する取引実績データが記録される。この取引実績データを用いることにより、各取引における取引状況、計算モデルを特定するための取引種別（取引属性）や残存期間を算出するための満期日等を特定することができる。
【００２５】
更に、計算スロット管理サーバ２０に接続されている各ホストシステム５０は、演算処理装置としての計量処理コンポーネント５１を備える。そして、この計量処理コンポーネント５１は、計算スロット管理サーバ２０からの計量リクエストに応じて、各取引のポジションや収益の計算処理を実行する。
【００２６】
この計算スロット管理サーバ２０は、負荷分散処理の管理を行なうコンピュータシステムである。計算スロット管理サーバ２０は、ＣＰＵ、ＲＡＭ、ＲＯＭ等から構成された制御手段としての制御部２１、グルーピング件数データ記憶部２２、デフォルト値定義データ記憶部２３、処理実績記憶手段としての実行結果履歴データ記憶部２４及び計算スロットデータ記憶部２５やスロット管理データ記憶部２６を備える。
【００２７】
計算スロット管理サーバ２０の制御部２１は、負荷分散処理を行なうための各種データの管理処理（計算スロット作成処理段階、実行履歴記録処理段階、スロット評価処理段階、計量ディスパッチ処理段階の処理等）を行なう。そのための負荷分散処理プログラムを実行することにより、制御部２１は、図１に示すように計算スロット作成処理手段２１１、スロット評価処理手段２１２、計量ディスパッチ処理手段２１５、履歴記録処理手段２１６として機能する。
【００２８】
ここで、計算スロット作成処理手段２１１は、計算対象の取引実績データをまとめて処理する計算スロットを作成する。スロット評価処理手段２１２は、各計算スロットの処理を実行する順番を決定する重み付け値を算出する。計量ディスパッチ処理手段２１５は、スロット評価処理手段２１２において算出された重み付け値の順番で、ホストシステム５０に対して計算処理の実行の計量リクエストを発行する。履歴記録処理手段２１６は、ホストシステム５０において、計算処理に要した時間を含む履歴データを取得し、実行結果履歴データ記憶部２４に記録する。
【００２９】
グルーピング件数データ記憶部２２には、計算モデル毎に、計算対象の取引実績データをまとめて計算するグループ（計算スロット）を作成する場合のグルーピング件数テーブルが記録されている。このグルーピング件数テーブルは、予め計算スロットを作成する件数を決定した場合に登録される。グルーピング件数テーブルにおいては、モデル識別子に対して最大取引件数に関するデータが関連付けられて記録されている。
【００３０】
モデル識別子データ領域には、取引実績データに関するポジションや収益を計算する場合に用いる計算モデルを特定するための識別子に関するデータが記録される。
最大取引件数データ領域には、この計算モデルを用いる場合に、一つの計算スロットに含めることができる最大の取引件数を特定するためのデータが記録される。この最大取引件数は、計算モデルを用いた場合の計算負荷を考慮して設定される。例えば、「モデル識別子：Ａ」については「５０件」、「モデル識別子：Ｂ」については「３００件」のように記録する。
【００３１】
デフォルト値定義データ記憶部２３には、計算モデル毎に、スターティングポジションにおいて夜間バッチ処理を行なう場合に用いるデフォルト値定義テーブルが記録されている。このデフォルト値定義テーブルは、予めデフォルト値を定義した場合に登録される。このデフォルト値定義テーブルは、モデル識別子に対して重み付け初期値に関するデータが関連付けられて記録されている。
【００３２】
モデル識別子データ領域には、取引実績データに関するポジションや収益を計算する場合に用いる計算モデルを特定するための識別子に関するデータが記録される。
重み付け初期値データ領域には、スターティングポジションにおけるバッチ処理において、計算処理の順番を決めるための重み付けを行なう場合に用いるデフォルト値に関するデータが記録される。
【００３３】
実行結果履歴データ記憶部２４には、計算スロット毎に、ポジションや収益の計算履歴に関する実行結果履歴データが記録されている。この実行結果履歴データは、ホストシステム５０においてポジションや収益の計算を行なった場合に記録される。実行結果履歴データにおいては、スロット識別子に対して、モデル識別子、取引件数、重み付け値、処理所要時間に関するデータが相互に関連付けられて記録される。
【００３４】
スロット識別子データ領域には、各計算スロットを特定するための識別子に関するデータが記録される。
モデル識別子データ領域には、この計算スロットの取引実績データに関するポジションや収益を計算する場合に用いた計算モデルを特定するための識別子に関するデータが記録される。
【００３５】
取引件数データ領域には、この計算スロットに含まれる取引件数に関するデータが記録される。
重み付け値データ領域には、ホストシステム５０において、この計算スロットの計算処理の順番を決定するために付与された重み付け値に関するデータが記録される。この重み付け値は、スターティングポジションにおける夜間バッチ処理において利用されたものである。
【００３６】
処理所要時間データ領域には、ホストシステム５０において、この計算スロットの計算処理に要した時間に関するデータが記録される。
計算スロットデータ記憶部２５には、計算スロット毎に、ポジションや収益の計算を行なうために作成した計算スロットに関するデータが記録される。この計算スロットデータは、計算スロットを生成した場合に記録される。この計算スロットデータには、スロット識別子に対して、この計算スロットにおいてグループ化された取引実績識別子に関するデータが関連付けられて記録される。
【００３７】
スロット識別子データ領域には、各計算スロットを特定するための識別子に関するデータが記録される。
取引識別子データ領域には、この計算スロットにおいて、共通した計算モデルを用いて計算処理が行なわれる取引実績データを特定するための識別子に関するデータが記録される。ここでは、この取引識別子データ領域には、この計算スロットに含まれる取引件数に応じた数の取引識別子が記録される。
【００３８】
スロット管理データ記憶部２６には、各計算スロットの処理の順番を決定するためのスロット管理データが記録される。このスロット管理データは、計算スロットを生成した場合に記録される。スロット管理データには、計算スロット毎に、スロット識別子に対して、モデル識別子、取引件数、重み付け値に関するデータが相互に関連付けられて記録される。
【００３９】
スロット識別子データ領域には、計算スロットを特定するための識別子に関するデータが記録される。
モデル識別子データ領域には、この計算スロットにおいて適用される計算モデルを特定
するための識別子に関するデータが記録される。
【００４０】
取引件数データ領域には、この計算スロットに含まれる取引件数に関するデータが記録される。
重み付け値データ領域には、ホストシステム５０において、この計算スロットの計算処理の実行順位を決定するために付与された重み付け値に関するデータが記録される。この重み付け値は、クロージングポジションにおける締めバッチ処理において利用される。具体的には、この重み付け値が大きい順番に計算処理が行なわれる。
【００４１】
以上のように構成されたシステムを用いて、ポジションや収益の計算の処理手順を説明する。ここでは、スターティングポジション、クロージングポジションの各イベントにおける処理を、図２〜図５を用いて説明する。
【００４２】
（スターティングポジション）
まず、スターティングポジションにおける処理を説明する。このスターティングポジションは、業務開始時点において１回／日の割合で夜間バッチ処理により行なわれる。
【００４３】
まず、計算スロット管理サーバ２０の制御部２１は、スロット分割処理を実行する（ステップＳ１−１）。具体的には、制御部２１の計算スロット作成処理手段２１１が、約定管理データベース３０から計算対象の取引実績データを取得する。そして、計算スロット作成処理手段２１１は、取引実績データの取引種別に基づいて、ポジションや収益の計算に用いる計算モデルの特定を行なう。そして、特定した計算モデル毎に、計算対象の取引実績データのグループ化を行なう。この場合、計算スロット作成処理手段２１１は、グルーピング件数データ記憶部２２に記録された最大取引件数を上限としてグループ化した計算スロットを作成する。本実施形態では、図３に示すように、「モデル識別子：Ａ」の「スロット１」、「スロットＭ」や「モデル識別子：Ｂ」の「スロット２」が生成された場合を想定する。
【００４４】
そして、計算スロット作成処理手段２１１は、スロット識別子を付与して、生成した計算スロットを構成する取引識別子を含めた計算スロットデータを計算スロットデータ記憶部２５に記録する。
【００４５】
次に、制御部２１のスロット評価処理手段２１２が各計算スロットの重み付け値を計算する。ここでは、図３に示すように、デフォルト値定義データ記憶部２３に記録された重み付け初期値に対して、各計算スロットに含まれる取引件数を加算して重み付け値を算出する。そして、スロット評価処理手段２１２は、各スロット識別子に関連付けてスロット管理データ記憶部２６に記録する。
【００４６】
次に、計算スロット管理サーバ２０の制御部２１は、夜間バッチ処理を実行する（ステップＳ１−２）。具体的には、制御部２１の計量ディスパッチ処理手段２１５が、スロット管理データ記憶部２６に記録された重み付け値に基づいて計算スロットを読み込む。ここでは、スロット管理データの重み付け値の大きい順番に計算スロットを読み込む。
【００４７】
そして、計量ディスパッチ処理手段２１５は、ホストシステム５０の計量処理コンポーネント５１に対して、計量リクエストを発行する。この計量リクエストには、計算スロットを特定するための情報（ここでは、スロット識別子）を含める。この場合、計量処理コンポーネント５１は、スロット識別子に基づいて、計算スロットデータ記憶部２５から取引識別子データを取得する。そして、約定管理データベース３０から取引実績データを取得し、スターティングポジションにおける計算処理を実行する。この計量処理コンポーネント５１における計算処理を、図５を用いて説明する。
【００４８】
まず、Ｔｈｅｔａ算出用カーブ作成コンポーネント５１０が、所定のデータ記憶部からレート情報を取得し、公知の方法を用いてＴｈｅｔａ算出用カーブデータを生成する。このＴｈｅｔａ算出用カーブデータは、所定のデータ記憶部に記録され、ポジション計算コンポーネント５２０に提供される。
【００４９】
ポジション計算コンポーネント５２０は、約定管理データベース３０に記憶された約定管理データを取得し、生成されたＴｈｅｔａ算出用カーブを用いて、取引別収益情報と取引別ポジション情報とを生成する。
【００５０】
また、ポート別集約コンポーネント５４０が、取引別収益情報と取引別ポジション情報とを用いて、ポート別収益情報やポート別ポジション情報を生成する。これにより、ポジションや収益の計算処理を終了する。
【００５１】
この場合、計量処理コンポーネント５１は、各計算スロットの計算処理に要した処理所要時間を測定する。次に、計量処理コンポーネント５１は、計算処理を行なったスロット識別子とともに、この処理所要時間を計算スロット管理サーバ２０の制御部２１に供給する。
【００５２】
そして、計算スロット管理サーバ２０の制御部２１は、実行結果履歴（処理所要時間）の記録処理を実行する（ステップＳ１−３）。制御部２１の履歴記録処理手段２１６は、計量処理コンポーネント５１により計算終了を把握するととともに、計算処理を終了したスロット識別子に関連付けて処理所要時間を記録する。
【００５３】
計量ディスパッチ処理手段２１５は、計量処理コンポーネント５１による計算処理の終了を検出した場合、未処理の計算スロットにおいて、スロット管理データ記憶部２６を用いて、重み付け値の大きい計算スロットを特定し、読み出す。そして、この計量処理コンポーネント５１に対して、特定した計算スロットについての計量リクエストを発行する。このように、順次、計算処理を繰り返し、計算処理対象の計算スロットがなくなった場合、夜間バッチ処理を終了する。
【００５４】
（クロージングポジション）
次に、クロージングポジションにおける処理を説明する。このクロージングポジションは締めバッチ処理により行われる。
【００５５】
計算スロット管理サーバ２０の制御部２１は、締めバッチ処理対象の特定処理を実行する（ステップＳ２−１）。具体的には、計算スロット作成処理手段２１１が、約定管理データベース３０を用いて締めバッチの処理対象を特定する。この場合、スターティングポジションの夜間バッチ処理において、ポジションや収益の計算を行なった計算スロットについては、この計算スロットを用いて計算処理を行なう。本実施形態では、図４に示すように、スロット１〜スロットＭは、スターティングポジションにおける既処理スロットと想定する。
【００５６】
一方、約定管理データベース３０に、スターティングポジションの夜間バッチ処理を行なっていない取引実績データ（新規取引実績データ）が記録されている場合には、計算スロット作成処理手段２１１が、新規取引実績データの取引種別に基づいて計算モデルを特定する。そして、計算モデル毎に、グルーピング件数データ記憶部２２に記録された最大取引件数内において、計算対象の新規取引実績データのグループ化を行なう。このように生成された新たな計算スロットに関するデータを、計算スロットデータ記憶部２５に格納する。本実施形態では、図４に示すように、「スロットＸ」が新規スロットとして生成さ
れた場合を想定する。
【００５７】
次に、制御部２１は、実行結果履歴の抽出を行なう（ステップＳ２−２）。具体的には、スロット評価処理手段２１２は、スターティングポジションにおいて夜間バッチ処理を行なった計算スロットについて、実行結果履歴データ記憶部２４から処理所要時間を抽出する。そして、スロット評価処理手段２１２は、この処理所要時間を、この計算スロットの重み付け値として設定し、スロット管理データ記憶部２６に記録する。ここでは、図４に示すように、「スロット１」、「スロット２」や「スロットＭ」に対して、処理所要時間：「ｔ１」、「ｔ２」、「ｔｍ」を重み付け値として用いる。
【００５８】
次に、計算スロット管理サーバ２０の制御部２１は、新規スロットの有無を判断する（ステップＳ２−３）。新規スロットが生成されている場合（ステップＳ２−３において「ＹＥＳ」の場合）には、この新規スロットに対して重み付けを行なうための処理を実行する。
【００５９】
まず、制御部２１は、新規スロットに適用する計算モデルを特定する（ステップＳ２−４）。具体的には、制御部２１のスロット評価処理手段２１２は、新規スロットを構成する取引実績データに基づいて計算モデルを特定する。ここでは、図４に示すように「スロットＸ」のモデル識別子は「Ａ」である場合と想定する。
【００６０】
そして、制御部２１は、計算スロットの残存期間の統計値としての平均残存期間の算出処理を実行する（ステップＳ２−５）。具体的には、まず、制御部２１のスロット評価処理手段２１２は、実行結果履歴データ記憶部２４において、この新規スロットの計算モデルと同じ計算モデルの計算スロットを特定する。そして、スロット評価処理手段２１２は、スロット評価処理手段２１２は、特定した計算スロットについて、計算スロットデータ記憶部２５を用いて、各計算スロットを構成する取引の取引識別子を特定する。
【００６１】
そして、スロット評価処理手段２１２は、この取引識別子を用いて、約定管理データベース３０から取引実績データを取得する。次に、スロット評価処理手段２１２は、各取引における満期日を用いて、計算対象となる期間（残存期間）を取得する。そして、各計算スロットにおける残存期間の平均値である平均残存期間（既処理統計値）を算出する。更に、スロット評価処理手段２１２は、新規スロットの平均残存期間についても同様に算出する。
【００６２】
次に、制御部２１は、新規スロットの平均残存期間に近い既処理スロットを特定する（ステップＳ２−６）。具体的には、スロット評価処理手段２１２は、新規スロットの平均残存期間と、同じ計算モデルの既処理スロットの平均残存期間とを比較し、最も近い既処理スロットを特定する。ここでは、図４に示すように、「スロットＸ」の「残存期間：Ｚｘ」は、同じ「計算モデルＡ」が適用される「スロットＭ」の「残存期間：Ｚｍ」に近い場合を想定する。
【００６３】
次に、制御部２１は、特定したスロットの単位処理時間を算出する（ステップＳ２−７）。具体的には、スロット評価処理手段２１２は、平均残存期間が近い既処理スロットにおける処理所要時間を実行結果履歴データ記憶部２４から取得する。そして、この処理所要時間を、この既処理スロットに含まれる取引件数で除算して単位処理時間を算出する。ここでは、図４に示すように、「スロットＭ」の処理所要時間：「ｔｍ」を、「スロットＭ」の取引件数：「Ｓｍ」で除算した単位処理時間ＵＴを算出する。
【００６４】
そして、制御部２１は、新規スロットの重み付け値を算出する（ステップＳ２−８）。具体的には、スロット評価処理手段２１２は、算出した単位処理時間ＵＴに、新規スロッ
トに含まれる取引件数（ここでは、「Ｓｘ」）を乗算することにより重み付け値を算出する。そして、スロット評価処理手段２１２は、このように算出した重み付け値を、スロット識別子に関連付けてスロット管理データ記憶部２６に記録する。
【００６５】
なお、新規スロットがない場合（ステップＳ２−３において「ＮＯ」の場合）には、ステップＳ２−４〜Ｓ２−８はスキップされる。
そして、計算スロット管理サーバ２０の制御部２１は、締めバッチ処理を実行する（ステップＳ２−９）。具体的には、夜間バッチ処理と同様に、計量ディスパッチ処理手段２１５が、計量処理コンポーネント５１に対して計量リクエストを発行する。この場合にも、計量ディスパッチ処理手段２１５は、重み付け値の大きい順番に計量リクエストの発行を行なう。
【００６６】
そして、計量処理コンポーネント５１から計算処理の終了通知を受けた計量ディスパッチ処理手段２１５は、残っている計算スロットの中から重み付け値の大きいものを再度選択し、計量リクエストの発行を繰り返す。そして、未処理の計算スロットがなくなった場合、締めバッチ処理を終了する。
【００６７】
以上、本実施形態によれば、以下に示す効果を得ることができる。
・  上記実施形態では、スロット管理データ記憶部２６には、計算スロット毎に、スロット識別子に対して、モデル識別子、取引件数、重み付け値に関するデータが相互に関連付けられて記録される。そして、計量ディスパッチ処理手段２１５が、スロット管理データ記憶部２６に記録された重み付け値に基づいて計算スロットを読み込む。ここでは、スロット管理データの重み付け値の大きい順番に計算スロットを読み込む。そして、計量ディスパッチ処理手段２１５は、ホストシステム５０の計量処理コンポーネント５１に対して計量リクエストを発行する。これにより、複数の演算処理装置を用いて計算処理を行なう場合、負荷の大きい計算スロットをバランスよく分散させることができる。その結果、最終的な計算結果を迅速に取得することができる。
【００６８】
・  上記実施形態では、実行結果履歴データ記憶部２４には、計算スロット毎に、スロット識別子に対して、モデル識別子、取引件数、重み付け値、処理所要時間に関するデータが相互に関連付けられて記録される。そして、クロージングポジションにおいては、スロット評価処理手段２１２は、スターティングポジションにおいて夜間バッチ処理を行なった計算スロットについて、実行結果履歴データ記憶部２４から処理所要時間を抽出する。そして、スロット評価処理手段２１２は、この処理所要時間を、この計算スロットの重み付け値として設定し、スロット管理データ記憶部２６に記録する。これにより、過去の計算処理の実績を活かして、計算処理の順番を決める重み付けを行なうことができる。
【００６９】
・  上記実施形態では、新規スロットが生成されている場合には、この新規スロットに対して重み付けを行なうための処理を実行する。ここでは、まず、制御部２１は、新規スロットに適用する計算モデルを特定し、新規スロットと同じ計算モデルの既処理スロットの平均残存期間を算出する。新規スロットの平均残存期間に近い既処理スロットを特定し、この既処理スロットの処理所要時間を利用する。具体的には、この処理所要時間に対して、計算スロットに含まれる取引件数を考慮した単位処理時間を算出し、この単位処理時間を用いて重み付け値を算出する。これにより、計算モデルによって計算に要する処理所要時間は異なるが、同じ計算モデルの既処理スロットを用いるため、より的確な重み付けを行なうことができる。
【００７０】
また、デリバティブのポジションや収益の計算においては、満期までの残存期間によって計算量が異なり、計算に要する所要期間が変わる。従って、計算スロットというグループを利用しながら、平均残存時間により、新規スロットに近い既処理スロットを特定し、
この計算スロットの処理所要時間を利用することにより、的確な重み付け値を算出することができる。
【００７１】
・  上記実施形態では、デフォルト値定義データ記憶部２３には重み付け初期値が記録されている。そして、スターティングポジションにおいて、制御部２１のスロット評価処理手段２１２が、重み付け初期値に対して、各計算スロットに含まれる取引件数を加算して重み付け値を算出する。これにより、スターティングポジションにおいても、重み付け処理を行なうことができる。
【００７２】
なお、上記実施形態は、以下の態様に変更してもよい。
○  上記実施形態では、負荷分散処理を、デリバティブについてのポジションや収益の管理に対して、「スターティングポジション」及び「クロージングポジション」においてバッチ処理を行なう場合に適用した。この負荷分散処理の適用は、これに限定されるものではなく、第１、第２のバッチ処理を行なう場合に、先行の第１のバッチ処理の結果を活かして、後続の第２のバッチ処理を行なう場合に適用することができる。
【００７３】
○  上記実施形態では、第１のバッチ処理において計算処理を行なっていない計算スロット（未処理スロット）の場合、計算モデルが共通しており、平均残存期間が近い既処理スロットの処理所要時間を利用する。この場合、未処理スロット及び商品属性が共通する既処理スロットを特定すれば、この既処理スロットの処理所要時間を、処理の順番を決める重み付け値として利用することができる。例えば、計算モデルの共通性に基づいて、処理所要時間を参照する既処理スロットを特定することも可能である。
【００７４】
○  上記実施形態では、残存期間の統計値として平均残存期間を用いたが、計算スロットの負荷に影響を与えるパラメータであって、この計算スロットに含まれる取引実績データを代表する値であれば、平均値に限定されるものではない。例えば、中心値を用いることも可能である。
【００７５】
○  上記実施形態では、計算スロット管理サーバ２０とホストシステム５０において、計算処理を行なったが、一体としたシステムとして実現することも可能である。また、スターティングポジションやクロージングポジションを実現するシステムを分けて構成することもできる。この場合には、処理実績記憶手段に格納された処理実績記憶手段としての実行結果履歴データ記憶部２４や計算スロットデータ記憶部２５に記録された情報を共有すればよい。
【００７６】
○  上記実施形態では、デフォルト値定義データ記憶部２３には、スターティングポジションにおいて夜間バッチ処理を行なう場合に用いるデフォルト値定義テーブルが記録されている。このデフォルト値定義テーブルは、予めデフォルト値を定義した場合に登録される。このデフォルト値定義テーブルは、計算モデル毎に、モデル識別子に対して重み付け初期値に関するデータが関連付けられて記録されている。この重み付け初期値は、実行結果履歴データ記憶部２４に記録される処理所要時間に応じて変更することも可能である。例えば、処理所要時間から取引件数（或いは取引件数の定数倍）を差し引いた値を重み付け初期値として用いることも可能である。これにより、スターティングポジションを実現する夜間バッチ処理の効率化を図ることができる。
【図面の簡単な説明】
【００７７】
【図１】本発明の一実施形態のシステムの概略図。
【図２】本発明の一実施形態の処理手順の説明図。
【図３】本発明の一実施形態の処理手順の説明図。
【図４】本発明の一実施形態の処理手順の説明図。
【図５】本発明の一実施形態の処理手順の説明図。
【符号の説明】
【００７８】
２０…負荷分散処理システム、２１…制御部、２１１…計算スロット作成処理手段、２１２…スロット評価処理手段、２１５…計量ディスパッチ処理手段、２１６…履歴記録処理手段、２２…グルーピング件数データ記憶部、２３…デフォルト値定義データ記憶部、２４…実行結果履歴データ記憶部、２５…計算スロットデータ記憶部、２６…スロット管理データ記憶部、３０…約定管理データベース、５０…ホストシステム、５１…計量処理コンポーネント。
【図１】
2008083975.tif 000003
【図２】
2008083975.tif 000004
【図３】
2008083975.tif 000005
【図４】
2008083975.tif 000006
【図５】
2008083975.tif 000007