JP4536833B2 - 金融情報処理システム - Google Patents
金融情報処理システム Download PDFInfo
- Publication number
- JP4536833B2 JP4536833B2 JP06171598A JP6171598A JP4536833B2 JP 4536833 B2 JP4536833 B2 JP 4536833B2 JP 06171598 A JP06171598 A JP 06171598A JP 6171598 A JP6171598 A JP 6171598A JP 4536833 B2 JP4536833 B2 JP 4536833B2
- Authority
- JP
- Japan
- Prior art keywords
- portfolio
- calculation
- portfolios
- washing process
- price washing
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、スワップ、オプションといった金融派生商品(デリバティブ)取引のディーリングやリスク管理業務を支援する金融情報処理システムに関するものである。
【0002】
【従来の技術】
デリバティブ取引では、ディーラは、現在の資産価値はいくらなのか、あるいは資産価値の増減はどの程度なのか等、業務に伴うリスク状態を迅速且つ正確に把握するために、コンピュータを用いて、複数のポートフォリオについて値洗処理を行っている。ここで、ポートフォリオとは、一定の基準で区分された約定データの集まりをいう。また、約定データとは、過去に成立したデリバティブ商品の取引の内容・条件を記録したデータのことである。通常、値洗処理では、金利や為替レートのような市況データを用いて、一定の計算式によって資産の現在価値を評価している。特に、ポートフォリオ単位で値洗処理を行うことにより、ディーラは、現在のリスク状態をより詳しく評価することができる。
【0003】
【発明が解決しようとする課題】
ところで、金利や為替レート等の市況データは時々刻々と変動しており、これに伴い、現在の資産価値やリスク状態もどんどん変わっていく。このため、ディーラは、実際の市場の動きに連動させて、複数のポートフォリオについて一日に何度でも値洗処理を行い、常に、最新のリスク状態を評価することが望まれる。しかし、値洗処理の対象となるポートフォリオには通常、数十から数千もの約定データが含まれており、また、約定データの数は今後も増大する傾向にある。このため、複数のポートフォリオについての値洗処理には何十分、場合によっては数時間もかかることがある。この処理時間の短縮が課題となっていた。
【0004】
本発明は上記事情に基づいてなされたものであり、複数のポートフォリオについての値洗処理を短時間で行うことができる金融情報処理システムを提供することを目的とするものである。
【0005】
【課題を解決するための手段】
上記の目的を達成するための本発明に係る金融情報処理システムは、複数のポートフォリオについて、当該ポートフォリオのIDと共に、当該ポートフォリオに含まれる複数の約定データを記憶する記憶手段と、前記記憶手段から所定の複数のポートフォリオについて前記IDを用いて対応するポートフォリオに含まれる複数の約定データを読み出し、その読み出した複数のポートフォリオに含まれる複数の約定データに対する値洗処理を実行する複数の計算プロセス手段と、複数のポートフォリオについて前記IDを用いて対応するポートフォリオに含まれる複数の約定データに対する値洗処理を行うべき旨の指示を受けたときに、一つの前記計算プロセス手段を立ち上げ、その立ち上げた前記一つの計算プロセス手段に前記指示を受けた複数のポートフォリオの内の一つのポートフォリオに含まれる複数の約定データに対する値洗処理を実行させると共に、前記一つの計算プロセス手段による値洗処理の実行中におけるCPU稼働率の最大値を求めた後、その求めたCPU稼働率の最大値に基づいて、同時に実行可能な前記計算プロセス手段の数を決定し、その決定した数だけ前記計算プロセス手段を立ち上げ、前記指示された複数のポートフォリオに含まれる複数の約定データについての値洗処理をその立ち上げた前記各計算プロセス手段により並列して実行させる制御プロセス手段と、を具備し、前記制御プロセス手段は、前記求められたCPU稼働率の最大値を元に、同時に実行させたときにCPU稼働率が合計で100%より小さくなる数の複数の前記計算プロセス手段を同時に実行可能な前記計算プロセス手段の数として決定して、決定した数の計算プロセス手段を立ち上げ、前記制御プロセス手段により立ち上げられた各計算プロセス手段は、値洗処理を実行する際に、複数のスレッドを生成し、前記各スレッドにポートフォリオに含まれる約定データに対する所定の計算を独立して実行させることを特徴とするものである。
【0006】
制御プロセス手段は、複数のポートフォリオについて値洗処理を行うべき旨の指示を受けると、同時に実行可能な計算プロセス手段の数を決定し、その決定した数だけ計算プロセス手段を立ち上げる。そして、その立ち上げた各計算プロセス手段にマルチプロセスで値洗処理を実行させる。このようにマルチプロセスで値洗処理を行うことにより、本発明では、迅速な値洗処理が可能であり、結果が出るまでの時間を大幅に短縮することができる。
【0007】
また、上記の目的を達成するための本発明に係るコンピュータ読み取り可能な記録媒体は、複数のポートフォリオについて、当該ポートフォリオのIDと共に、当該ポートフォリオに含まれる複数の約定データを記憶する記憶手段から所定の一つ又は複数のポートフォリオについて前記IDを用いて対応するポートフォリオに含まれる複数の約定データを読み出し、その読み出した一つ又は複数のポートフォリオに含まれる複数の約定データに対する値洗処理を複数のスレッドで独立して実行する複数の計算プログラムと、一つ又は複数のポートフォリオについて前記IDを用いて対応するポートフォリオに含まれる複数の約定データに対する値洗処理を行うべき旨の指示を受けたときに、一つの前記計算プロセス手段を立ち上げ、その立ち上げた前記一つの計算プロセス手段に前記指示を受けた一つのポートフォリオ又は複数のポートフォリオの内の一つのポートフォリオに含まれる複数の約定データに対する値洗処理を実行させると共に、前記一つの計算プロセス手段による値洗処理の実行中におけるCPU稼働率の最大値を求めた後、その求めたCPU稼働率の最大値に基づいて、同時に実行させたときにCPU稼働率が合計で100%より小さくなる数の前記計算プロセス手段を同時に実行可能な前記計算プログラムの数として決定し、その決定した数だけ前記計算プログラムを立ち上げ、前記指示された一つ又は複数のポートフォリオに含まれる複数の約定データに対する値洗処理をその立ち上げた前記各計算プログラムにより並列して実行させる制御プログラムと、を具備することを特徴とするものである。
【0008】
【発明の実施の形態】
以下に本発明の第一実施形態について図面を参照して説明する。図1は本発明の第一実施形態である金融情報処理システムの全体的な構成を示す図である。
図1に示すように、第一実施形態の金融情報処理システムは、ネットワーク10上に、複数のディーラ端末20と、ネットワーク10の中央部に位置する複数の計算サーバ30と、データベース40とが接続されている。各ディーラ端末20は、ディーラが取引業務を行うディーリングルームに設置され、各計算サーバ30やデータベース40は、例えば別室に設置されている。両者の間では、プロセス間通信が行われる。各計算サーバ30はマルチプロセッサ対応の並列コンピュータであり、後述するように、マルチプロセス及びマルチスレッドにより複数のポートフォリオについて値洗処理を実行する。
【0009】
第一実施形態の金融情報処理システムが主として計算の対象とするのは、デリバティブ取引に関連する約定データである。デリバティブ取引とは、原資産の価格に応じ、その価値が決定される商品(デリバティブ商品)を取引するもので、実際の決済は先のことになる。約定データとは、過去に成立したデリバティブ商品の取引の内容・条件を記録したデータのことである。約定データは、金融機関によって異なるが、多い場合には数万から数十万という数に達するが、これらは一定の基準でグループ化されている。各グループ毎に分けられた約定データの集まりがポートフォリオである。グループ分けは、例えば、スワップ、スワップション等の商品毎又は部署毎等により行われる。また、一つのポートフォリオには、通常、数十から数千という約定データが含まれる。
【0010】
ディーラは、今現在保有しているポートフォリオの現在価値や、マーケットの変動により発生し得るリスク等を迅速に評価する必要がある。また、新たに取引の引き合いがあったときに、ディーラは、その引き合いを受けるべきかどうかを短時間に判断するためにも、現在保有する資産価値の時価評価を短時間に知る必要がある。加えて、その資産が、将来のある時点において、どの程度変動している可能性があるかという評価も行う必要がある。
【0011】
しかしながら、約定データに記述されるデリバティブの価値は、実際の金銭の集積ではなく、変動金利、原資産価値に連動して変化する。しかも、一般的に、その評価には高等数学を駆使した経済理論に基づく高度な計算処理が必要で、約定件数が非常に多くなると、約定データを用いた資産の評価は、高性能なコンピュータで行う必要がある。この約定データを使って、現在の資産を評価する計算が、計算サーバ30によって行われる。かかる現在の資産を評価する計算処理は値洗処理と呼ばれる。特に、第一実施形態では、複数のポートフォリオについてポートフォリオ単位で値洗処理を行うことにする。このようにポートフォリオ単位で値洗処理を行うことにより、ディーラは現在の資産価値を詳しく評価することができる。尚、第一実施形態では、値洗処理の対象となる複数のポートフォリオは、同じような種類のポートフォリオからなるものとする。すなわち、各ポートフォリオについて、約定データの件数、スワップやスワップション等の商品の種類等がほとんど同じであるとする。
【0012】
図2はディーラ端末20と計算サーバ30を一台ずつ示している。ディーラ端末20には、ディスプレイ装置50及びキーボード60等が接続されている。ディスプレイ装置50には、値洗処理の実行状況や処理結果などが表示される。キーボード60は、ディーラが値洗処理の対象となるポートフォリオを特定するIDを指定する場合等に使用される。また、ディーラ端末20には、値洗処理の結果を紙に出力するプリンタ(不図示)も接続されている。尚、ネットワークを介したプリンタサーバを用いてもよい。
【0013】
ディーラ端末20の内部では、ネットワーク10を介しての値洗処理要求の計算サーバ30への送信、値洗処理の実行状況の受信、値洗処理の結果の受信などを行う金融デリバティブ資産価値評価用アプリケーションソフトウエア(以下単に「クライアントアプリケーション」と称する。)21が稼働している。ディーラは、ディーリング業務中、複数のポートフォリオについて値洗処理を実行させようと思ったときには、ディーラ端末20上でその旨の指示を、ポートフォリオのIDとともにキーボード60等から打ち込む。すると、クライアントアプリケーション21がこれを受け取り、計算サーバ30に値洗処理要求として送信する。この値洗処理要求には、ポートフォリオを特定するIDが含まれている。計算サーバ30が値洗処理要求を受け取ると、実際に値洗処理を開始する。この具体的な処理内容については後述する。尚、ディーラ端末20上では、クライアントアプリケーション21の他にも、デリバティブ取引のリスク管理を行う種々のアプリケーションプログラムが稼働している。
【0014】
図1に示すデータベース40には、複数のポートフォリオが格納されている。各ポートフォリオに含まれる約定データには、そのポートフォリオのIDが付されている。また、現在又は過去の金利や為替レート等の市況データもデータベース40に格納されている。ディーラ端末20から計算サーバ30に値洗処理要求が送られると、計算サーバ30は、その値洗処理要求と一緒に送られたポートフォリオのIDに基づいて、そのIDに対応する約定データをデータベース40から、計算サーバ30の主メモリ上に読み出す。また、このとき、所定の市況データも主メモリ上に読み出す。
【0015】
計算サーバ30上では、図2に示すように、制御プロセス31と計算プロセス32とが稼働している。計算プロセス32は、制御プロセス31による制御のもとで、データベース40から所定の一つのポートフォリオを読み出し、その読み出した一つのポートフォリオに対する値洗処理を実行するものである。制御プロセス31は、計算サーバ30上に常に一つだけ常駐していて、ディーラ端末20からの値洗処理要求を待っている。制御プロセス31は、ディーラ端末20から値洗処理要求が送られてくると、同時に実行可能な計算プロセス32の数を決定し、その決定した数だけ計算プロセス32を立ち上げる。そして、その立ち上げた各計算プロセス32に、値洗処理要求に対応した複数のポートフォリオについて値洗処理を並列して実行させる。すなわち、マルチプロセスにより複数のポートフォリオについての値洗処理が実行される。尚、第一実施形態では、各計算サーバ30には、複数の計算プロセス32による値洗処理を実行するCPUを例えば八個搭載している。尚、計算プロセス32自体を動作させるメインのCPUは別個に設けられていてもよい。
【0016】
また、各計算プロセス32は、常時、処理状況を制御プロセス31に通知する。制御プロセス31は、その処理状況をクライアントアプリケーション21に送信し、その端末のディスプレイ装置50に表示させる。
図3は計算サーバ30上における制御プロセス31と計算プロセス32との関係を示した図である。図3では、ある一つのディーラ端末20上で稼働しているクライアントアプリケーション21が、計算サーバ30上の制御プロセス31に対して値洗処理要求を出している状況を示している。この場合、第一実施形態では、制御プロセス31は、まず、図3(a)に示すように、一つの計算プロセス32だけを立ち上げ、その計算プロセス32に、値洗処理要求に対応した複数のポートフォリオのうち、代表的な一つのポートフォリオに対する値洗処理をトライアル的に実行させる。そして、その実行中におけるCPU稼働率をモニタし、そのCPU稼働率の最大値を求める。ここで、CPU稼働率とは、値洗処理を実行する八個のCPUすべてがフル稼働した場合を100%としたときに、当該処理の実行中にCPUが何%稼働しているかを表したものをいう。CPU稼働率が低いということは、計算サーバ30の処理能力に余裕があることを意味する。
【0017】
次に、制御プロセス31は、上記のようにして求めたCPU稼働率の最大値に基づいて、同時に実行可能な、すなわち、もしいくつかの計算プロセス32を同時に実行させたとしたときに最大のCPU稼働率が100%よりある程度小さくなるような計算プロセス32の数を決定する。ここで、最大のCPU稼働率が100%になるように計算プロセス32の数を決定しないのは、最大のCPU稼働率が100%又はそれ以上では、CPUに負荷をかけすぎてしまい、かえって処理の効率が悪くなってしまうからである。例えば、トライアル的に実行して求めたCPU稼働率の最大値が約30%であったとすると、制御プロセス31は、同時に実行可能な計算プロセス32の数を三つに決定する。
【0018】
制御プロセス31は、この決定した計算プロセス32の数だけ、実際に計算プロセス32を立ち上げる。図3(b)では、一例として、制御プロセス31が三つの計算プロセス32,32,32を立ち上げた場合を示している。そして、制御プロセス31は、立ち上げた各計算プロセス32に、トライアル的に実行したポートフォリオ以外の他のポートフォリオについて値洗処理を並列して実行させる。尚、第一実施形態では、値洗処理の対象となる複数のポートフォリオは同じような種類のポートフォリオからなるので、各計算プロセス32はポートフォリオを任意の順番で処理してよい。
【0019】
次に、各計算プロセス32によって実行される一つのポートフォリオに対する値洗処理の内容について説明する。一つのポートフォリオに対する値洗処理は、大きく分けて、前処理と、約定計算処理と、後処理という三つの処理からなる。前処理とは、当該計算プロセス32による処理対象であるポートフォリオをデータベース40から計算サーバ30の主メモリ上に読み出し、その読み出したポートフォリオの各約定データに対して、約定計算に入るための準備処理を行うものである。この準備処理では、具体的には、金利データ等を用いて、約定データを後述のスレッドによる計算がしやすいように加工し、その加工した結果の約定データを主メモリに書き込む。
【0020】
尚、各計算プロセス32がデータベース40から読み出したポートフォリオはそれぞれ、主メモリ上の異なる領域に一時記憶される。そして、第一実施形態では、マルチアクセスをサポートするためのマルチエンジンを用いて、各計算プロセス32が主メモリに記憶されたデータの読み出し等を同時に行えるようにしている。
【0021】
約定計算処理は、マルチスレッドで各約定データに対する所定の計算を実行するものである。各計算プロセス32は、約定計算処理に入ると、まず、スレッドの数を決める。スレッドとは、計算サーバ30に備えられているCPUの数に応じて分割された処理の単位であり、計算プロセス32によってソフトウエア的に設定される。すなわち、スレッドの数がその計算プロセス32が専有するCPUの数となる。スレッドの数が決定されると、計算プロセス32は、その数だけスレッドを生成し、各スレッドは、ポートフォリオに含まれる各約定データに対する所定の計算を独立して並列に実行する。
【0022】
後処理とは、約定計算処理が終了した以降の処理のことである。実際、約定計算が終わった時点で、ポートフォリオについての最終的な結果が算出されているわけではない。この後処理では、各スレッドで処理された結果を集めて、ポートフォリオについての最終的な結果を計算したり、また、この得られた結果をデータベース40に書き込んだりする。
【0023】
図4は一つの計算プロセス32の動作を模式的に示した図である。図4において、入力側の共有メモリ38は、計算サーバ30に備えられたRAM等からなる主メモリである。入力側共有メモリ38には、この計算プロセス32が抱えているポートフォリオが記憶され、一つのテーブルとされる。図4の例では、そのポートフォリオに含まれるn件の約定データD1 ,D2 ,・・・ ,Dn が記憶されている。ポートフォリオは、元々データベース40に蓄えられており、これを計算プロセス32が引き出して、入力側の共有メモリ38に記憶させる。
【0024】
実際に値洗処理を行う場合には、計算プロセス32は、まず、前処理として、データベース40から所定のポートフォリオを取ってきて、入力側共有メモリ38上に書き込む。その後、約定計算処理に入り、ソフトウエア的にスレッドを設定する。図4では、一例として、四つのスレッド33,33,33,33が設定されている。一つのスレッド33が、一つのCPUを使って独立に処理を行う単位となるので、四つのスレッド33,33,33,33がそれぞれ一つずつ、入力側共有メモリ38から約定データを読み出して、合計四つのCPUを使って並列度4の並列処理を行っている。すなわち、n件の約定データD1 ,D2 ,・・・ ,Dn が一つずつ順番に処理されるのではなく、四つのCPUが協調しながらn件の約定データD1 ,D2 ,・・・ ,Dn を処理する。このようにマルチスレッドで並列的な処理を行うことにより、約定計算処理に要する時間が短縮される。
【0025】
約定データの読み出しの際には、ロック機構34の排他制御によって、あるスレッドが入力側共有メモリ38から約定データを読み出している間は、他のスレッドが約定データの読み出しを行うことができないようになっている。また、同じ約定データを複数のスレッドで処理することがないように、一度あるスレッドによって読み出された約定データは、他のスレッドからは読み出されないようにしている。尚、ロック機構34は、OS標準の排他ロック機構によって実現される。この点については後述する。尚、このロック機構34は、ロックファイルを作ると共に、各スレッドがこのロックファイルを見に行ってアクセスできるかどうかを判断することによって実現するようにしてもよい。
【0026】
各スレッド毎にCPUによって計算されたデータは、出力側の共有メモリ39に、例えばマトリクス形式のデータとして書き込まれる。この出力側共有メモリ39も、計算サーバ30の主メモリである。このとき、各スレッドが無秩序にデータを書き込むと、データ全体が整合がとれないという問題が生じるので、この場合も、ロック機構35が働いて、あるスレッドが出力側共有メモリ39にデータを書き込んでいるときには、他のスレッドがデータの書き込みを行うことができないような排他制御を行う。
【0027】
図5は図4に示した入力側の共有メモリ38上に展開されている約定データのテーブルを示す図である。このテーブルの各行に約定データが置かれており、各行の右端には、1ビットの処理済フラグが設けられている。各スレッドは、自分が処理を実行している約定データには処理済フラグ「1」をセットし、その約定データは既に処理が済んでいることを表示する。他のスレッドは、このテーブルを見るときに、処理済フラグ「1」がセットされている約定データはスキップし、処理済フラグが「0」の約定データを探して読み出す。このとき、第一実施形態では、処理済フラグが「0」の約定データのうち、一番上にある約定データをポインタで指し示すようにしている。スレッドは、このポインタを探して読み出すべきデータを見つけ出す。これにより、スレッドが読み出すべき約定データを簡単に探し出せるようにしている。尚、ポインタを用いずに、スレッドが処理済フラグをスキャンして、「0」のものを見つけ次第それを読み出すようにしてもよい。
【0028】
次に、第一実施形態の金融情報処理システムにおいて、複数のポートフォリオについて値洗処理を行う際の処理の手順について説明する。図6は複数のポートフォリオについて値洗処理を行う際の処理手順を示すフローチャートである。
あるディーラが所定のディーラ端末20から複数のポートフォリオについて値洗処理を行う旨の指示を計算サーバ30に送ると、計算サーバ30の制御プロセス31は、一つの計算プロセス32を立ち上げて、その計算プロセス32に特定の一つのポートフォリオについての値洗処理をトライアル的に実行させる(step11)。制御プロセス31は、そのトライアル的な値洗処理の実行中におけるCPU稼働率をモニタし、そのCPU稼働率の最大値を求める。そして、求めたCPU稼働率の最大値に基づいて、最適な計算プロセス32の数を決定する(step12)。その後、制御プロセス31は、step12で決定した数だけ計算プロセス32を立ち上げ、各計算プロセス32に複数のポートフォリオについて所定の順番で値洗処理を並列して実行させる(step13)。
【0029】
図7は一つの計算プロセスにおいて行われる処理の手順を示したフローチャートである。制御プロセス31が、図6のstep13の処理において複数の計算プロセス32を立ち上げたときに、それぞれの計算プロセス32において図7に示す処理が開始される。図7の処理手順が開始されると、まず、計算プロセス32は、制御プロセス31によって指示された処理対象となるポートフォリオをデータベース40から計算サーバ30の主メモリ上に読み出すと共に、スレッドの数を決定し、その決定した数だけスレッドを生成する(step21)。次に、計算プロセス32は、各スレッドに約定計算をするための演算を並列処理で実行させる(step22)。すなわち、スレッドの数に対応したCPUによって、同時に独立して演算が実行される。並列処理が終了すると、スレッドを消去する(step23)。これにより、一つの計算プロセス32の処理が終了する。
【0030】
図8は図7に示した処理手順のうちstep22の部分の処理手順を詳しく示したフローチャートである。step30では、まず、スレッドは、図4に示したロック機構34がロック状態であるかどうか、すなわち別のスレッドがロック機構34をロック状態にしているかどうかを判断する。ロックされておらず、自分が入力側共有メモリ38から約定データを読み出せる状態であれば、他のスレッドが読み出しを行うことができないように、ロック機構34のロックをかける(step31)。次に、スレッドは、約定データの中から、図5に示すようにポインタが指し示している処理済フラグが「0」の約定データを探して、それをフェッチするという処理を行い、そして、その約定データの処理済フラグに「1」をセットする(step32)。このようにスレッドが約定データを読み出して、その約定データの処理済フラグに「1」をセットすると、入力側共有メモリ38へのアクセスを排除する必要がなくなるので、ロックを解除し(step33)、その後、実際の計算処理に移行する(step34)。計算が終わると、スレッドは、図4に示したロック機構35がロック状態であるかどうか、すなわち別のスレッドがロック機構35をロック状態にしているかどうかを判断する(step35)。ロックされておらず、自分が出力側共有メモリ39に計算結果データを書き込める状態であれば、他のスレッドが書き込みを行うことができないように、ロック機構35のロックをかける(step36)。次に、スレッドは、その計算結果データを出力側共有メモリ39に書き込み(step37)、その後、ロックを解除する(step38)。step39では、未処理の約定データがあるかどうかを判断する。未処理のものがある場合には、上で説明したのと同様の処理を繰り返し、一方、未処理の約定データがなくなった場合には、処理を終了する。
【0031】
次に、第一実施形態の金融情報処理システムを用いて、複数のポートフォリオについての値洗処理を、上述したマルチプロセス及びマルチスレッドによる処理方式(本発明の処理方式)で行った場合と、マルチプロセスによらずマルチスレッドだけによる処理方式(マルチスレッド処理方式)で行った場合と、マルチプロセスやマルチスレッドを用いない従来の処理方式で行った場合とについて、比較して説明する。図9(a)は従来の処理方式で複数のポートフォリオについての値洗処理を行ったときのCPU稼働率と処理時間との関係を示す図、図9(b)はマルチスレッド処理方式で複数のポートフォリオについての値洗処理を行ったときのCPU稼働率と処理時間との関係を示す図、図9(c)は本発明の処理方式で複数のポートフォリオについての値洗処理を行ったときのCPU稼働率と処理時間との関係を示す図である。ここで、図9(a),(b)及び(c)において、縦軸はCPU稼働率を、横軸は処理時間を表す。
【0032】
従来の処理方式では、一つのCPUが各ポートフォリオについて一つずつシーケンシャルに処理すると共に、そのホートフォリオに含まれる各約定データについても一つずつ処理することになる。第一実施形態では、CPU稼働率は、八個のCPUすべてがフルに稼働したときを100%として定められる。従来の処理方式では、常時、一つのCPUしか稼働していないため、当然、CPU稼働率は、図9(a)に示すように、各ポートフォリオについて前処理、約定計算処理及び後処理を行う全期間にわたってかなり小さい。したがって、すべてのポートフォリオについて値洗処理が終了するまでの処理時間は非常に長い。
【0033】
一方、マルチスレッド処理方式では、各ポートフォリオについて一つずつシーケンシャルに値洗処理を行うが、その値洗処理の中で約定計算処理についてはマルチスレッドで処理することになる。このため、図9(b)に示すように、各ポートフォリオについて約定計算処理を行う期間では、CPU稼働率が高くなる。これに対し、前処理又は後処理を行う期間では、従来の処理方式でもマルチスレッド処理方式でも、CPU稼働率は同じである。また、一つのポートフォリオについて約定計算処理を行うときの処理量は、図9(a)又は(b)において、その約定計算処理を行っている期間に対応する、CPU稼働率を表す曲線と横軸とで囲まれた面積で表される。かかる処理量は、当然のことながら、従来の処理方式を用いた場合であろうと、マルチスレッド処理方式を用いた場合であろうと変わらない。このため、マルチスレッド処理方式により値洗処理を行う場合は、約定計算処理を行う期間におけるCPU稼働率が高いので、従来の処理方式により値洗処理を行う場合に比べて、約定計算処理に要する処理時間が短くなる。したがって、すべてのポートフォリオについて値洗処理が終了するまでの処理時間が短縮する。
【0034】
ところで、現在、一つのポートフォリオには数十から数千の約定データが含まれている。かかる程度の規模の約定データを含むポートフォリオを、第一実施形態の金融情報処理システムを用いてマルチスレッド処理方式で値洗処理を行う場合、通常、約定計算処理の期間におけるCPU稼働率は例えば約20〜40%であったとすると、CPUの処理能力にまだ余裕がある。本発明の処理方式は、この点に着目し、余裕があるCPUの処理能力を有効に活用して、複数の計算プロセス32に複数のポートフォリオについて値洗処理を並列して実行させるものである。したがって、ポートフォリオについての値洗処理はいくつか同時に実行されるので、CPU稼働率は、図9(c)に示すように、極めて高くなる。このため、複数のポートフォリオについての値洗処理が終了するまでの処理時間は、マルチスレッド処理方式により値洗処理を行う場合に比べて、大幅に短縮する。
【0035】
第一実施形態の金融情報処理システムでは、複数の計算プロセスに複数のポートフォリオについての値洗処理を並列して実行させることにより、迅速な処理が可能であり、結果が出るまでの時間を大幅に短縮することができる。このため、ディーラは、実際の市場の動きに連動させて、複数のポートフォリオについて一日に何度でも値洗処理を行い、常に、最新のリスク状態を迅速に評価することが可能となる。
【0036】
次に、本発明の第二実施形態である金融情報処理システムについて説明する。第二実施形態の金融情報処理システムでは、同時に実行可能な計算プロセスの数を決定する方法が、上記第一実施形態の方法と異なる。また、上記の第一実施形態では、値洗処理の対象となる複数のポートフォリオが同じような種類のポートフォリオの集まりである場合を考えていた。しかし、第二実施形態では、値洗処理の対象となる複数のポートフォリオには、種類の異なるポートフォリオが含まれていてもよい。尚、第二実施形態において第一実施形態のものと同一の機能を有するものには、同一の符号を付すことにより、その詳細な説明を省略する。
【0037】
第二実施形態では、計算サーバ30の制御プロセス31は、予め代表的な一つのポートフォリオに対する値洗処理を実行させたときのCPU稼働率の最大値に関するデータを持っている。制御プロセス31は、ディーラ端末20から複数のポートフォリオについて値洗処理を実行する旨の指示を受けたときに、CPU稼働率の最大値に関するデータに基づいて、同時に実行可能な計算プロセス32の数の初期値を決定する。そして、その決定した初期値だけ計算プロセス32を立ち上げて、マルチプロセスで値洗処理を実行させる。
【0038】
また、制御プロセス31は、CPU稼働率に関する下限値Ta 及び上限値Tb のデータを予め持っている。制御プロセス31は、複数の計算プロセス32に値洗処理を実行させている間、常時、CPU稼働率をモニタしている。そして、CPU稼働率が範囲[Ta ,Tb ]に含まれているときは、制御プロセス31は、そのまま複数の計算プロセス32に処理を実行させる。一方、制御プロセス31は、CPU稼働率が下限値Ta より小さくなったと判断すると、同時に実行させるべき計算プロセスの数を一つ増加することを決定する。また、CPU稼働率が上限値Tb より大きくなったと判断すると、同時に実行させるべき計算プロセス32の数を一つ減少することを決定する。そして、かかる決定をすると、制御プロセス31は、実際にその決定した数の計算プロセス32に値洗処理を並列して実行させる。このように、第二実施形態では、CPU稼働率が一定の範囲内に収まるように、制御プロセス31が同時実行させる計算プロセス32の数を自動的に決定することにより、値洗処理の対象となる複数のポートフォリオに、種類の異なるポートフォリオが含まれていても、値洗処理を効率よく実行させることができる。
【0039】
図10は第二実施形態の金融情報処理システムにおいて複数のポートフォリオについて値洗処理を行う際の処理手順を示すフローチャートである。あるディーラがディーラ端末20から複数のポートフォリオについて値洗処理を行う旨の指示を計算サーバ30に送ると、制御プロセス31は、予め設けられたCPU稼働率の最大値に関するデータに基づいて、同時に実行可能な計算プロセス32の数を決定する(step41)。次に、制御プロセス31は、決定した数だけ計算プロセス32を立ち上げ、各計算プロセス32に値洗処理を並列して実行させる(step42)。そして、値洗処理を実行している間(step43)、制御プロセス31は、常時、CPU稼働率をモニタして、CPU稼働率が所定の範囲[Ta ,Tb ]内に収まっているか否かを判断する(step44)。CPU稼働率が所定の範囲[Ta ,Tb ]内に収まっていれば、そのまま各計算プロセス32に値洗処理を実行させる(step42)。一方、CPU稼働率が所定の範囲[Ta ,Tb ]内に収まっていないと判断すると、制御プロセス31は、同時に実行させるべき計算プロセス32の数を変更することを決定し(step45)、その変更した数の計算プロセス32に値洗処理を実行させる(step42)。そして、制御プロセス31が処理対象のすべてのポートフォリオについて値洗処理が終了したと判断すると(step43)、図10のフローから抜ける。
【0040】
第二実施形態の金融情報処理システムでは、上記第一実施形態のものと同様に、複数の計算プロセスに複数のポートフォリオについての値洗処理を並列して実行させることにより、迅速な処理が可能であり、結果が出るまでの時間を大幅に短縮することができる。また、第二実施形態の金融情報処理システムでは、マルチプロセスで値洗処理を実行させている間に、制御プロセスが、CPU稼働率が所定の範囲内に収まっているか否かを判断し、それに応じて、計算プロセスの数を変更することにより、値洗処理の対象となる複数のポートフォリオに種類の異なるポートフォリオが含まれている場合でも、値洗処理の効率を向上させることができるので、より迅速な処理が可能である。
【0041】
次に、本発明の第三実施形態である金融情報処理システムについて説明する。第三実施形態の金融情報処理システムでは、同時に実行可能な計算プロセスの数を決定する方法が、上記第一及び第二実施形態の方法と異なる。また、上記の第一実施形態では、値洗処理の対象となる複数のポートフォリオが同じような種類のポートフォリオの集まりである場合を考えていた。しかし、第三実施形態では、第二実施形態と同様に、値洗処理の対象となる複数のポートフォリオには、種類の異なるポートフォリオが含まれていてもよい。尚、第三実施形態において第一実施形態のものと同一の機能を有するものには、同一の符号を付すことにより、その詳細な説明を省略する。
【0042】
第三実施形態の金融情報処理システムでは、データベース40は、複数のポートフォリオを格納すると共に、ポートフォリオに対する値洗処理の特性を記した処理特性データを表形式で格納している。図11はポートフォリオの処理特性データの集まりである処理特性テーブルを説明するための図である。かかる処理特性テーブルには、図11に示すように、ポートフォリオのIDと、ポートフォリオの種類と、ポートフォリオに対する値洗処理の実行中におけるCPU稼働率の最大値と、ポートフォリオに対する値洗処理に要する処理時間と、ポートフォリオに含まれる約定データの件数とが記載される。ここで、ポートフォリオの種類の欄には、例えば、このポートフォリオに含まれる約定データが、スワップだけであるとか、スワップとスワップションとからなるとかが記載される。
【0043】
尚、ポートフォリオの処理特性データを、予めすべてのポートフォリオに対して作成し、データベース40に記憶させておく必要はない。第三実施形態では、処理特性データが作成されていないポートフォリオについては、後述するように、値洗処理要求が出され、実際に値洗処理を実行する際に、処理特性データが作成される。
【0044】
計算サーバ30の制御プロセス31は、ディーラ端末20から複数のポートフォリオについて値洗処理を実行する旨の指示を受けたときに、その指示に対応したポートフォリオの処理特性データのうち、データベース40に記憶されているものを、計算サーバ30の主メモリ上に読み出す。そして、制御プロセス31は、処理特性データがデータベース40に記憶されていないポートフォリオについては、一つの計算プロセス32に値洗処理を個別に実行させると共に、処理特性データを作成してデータベース40に記憶させる。一方、処理特性データがデータベース40に記憶されているポートフォリオについては、制御プロセス31は、データベース40から読み出した処理特性データに基づいて、同時に実行可能な計算プロセス32の数と、ポートフォリオの処理順番とを決定する。そして、その決定した数だけ計算プロセス32を立ち上げ、それらの計算プロセス32に、その決定した処理順番に従って値洗処理を並列して実行させる。
【0045】
次に、計算プロセス32の数とポートフォリオの処理順番との決定の仕方を具体的に説明する。例えば、処理対象となる複数のポートフォリオのうち、二つのポートフォリオがスワップションを多数含むものであり、他のポートフォリオがスワップのみを含むものであるとする。ここで、スワップションを多数含むポートフォリオは、CPU稼働率の最大値が例えば40〜50%であり、スワップのみを含むポートフォリオは、CPU稼働率の最大値が例えば20〜30%である。この場合、制御プロセス31は、最初に、二つの計算プロセス32を立ち上げ、その二つの計算プロセス32に、スワップションを多数含むポートフォリオについての値洗処理を同時に実行させる。次に、かかるスワップションを多数含む二つのポートフォリオについての値洗処理が終了した後、もう一つの計算プロセス32を立ち上げ、合計三つの計算プロセス32に、スワップのみを含むポートフォリオについての値洗処理を同時に実行させる。このように、制御プロセス31は、複数のポートフォリオについての値洗処理が効率よく行われるように、計算プロセス32の数とポートフォリオの処理順番を決定する。
【0046】
図12は第三実施形態の金融情報処理システムにおいて複数のポートフォリオについて値洗処理を行う際の処理手順を示すフローチャートである。あるディーラがディーラ端末20から複数のポートフォリオについて値洗処理を行う旨の指示を計算サーバ30に送ると、制御プロセス31は、その指示に対応したポートフォリオについての処理特性データをデータベース40から主メモリ上に読み出し、処理対象のポートフォリオのすべてについて処理特性データがデータベース40に記憶されているか否かを判断する(step51)。処理対象のすべてのポートフォリオについて処理特性データがあると判断すると、step54に移行する。一方、処理特性データのないポートフォリオが少なくとも一つあると判断すると、制御プロセス31は、一つの計算プログラム32を立ち上げ、その計算プログラム32に、その処理特性データがないポートフォリオについて個別に値洗処理を実行させる(step52)。そして、制御プロセス31は、かかる処理の際に、CPU稼働率や処理時間等をモニタし、そのポートフォリオについての処理特性データを新たに作成して、これをデータベース40に格納する(step53)。その後、step54に移行する。尚、処理対象のポートフォリオのすべてについて処理特性データがない場合には、step52の値洗処理によって結果がすべて得られているので、step54以下のステップに進むことなく、このstep53で処理が終了する。
【0047】
次に、step54では、制御プロセス31は、step51の処理の際に読み出した処理特性データに基づいて、同時に実行可能な計算プロセス32の数を決定すると共に、ポートフォリオの処理順番を例えば稼働率の大きい順に決定する(step54)。そして、制御プロセス31は、決定した数だけ計算プロセス32を立ち上げ、各計算プロセス32に、決定した処理順番に従って、step51で読み出した処理特性データに対応するポートフォリオについて値洗処理を並列して実行させる(step55)。
【0048】
このように、新たなポートフォリオについては、処理特性データを作成するために、値洗処理が個別に行われ、一方、すでに処理特性データが作成されているポートフォリオについては、マルチプロセスにより値洗処理が行われる。したがって、今回の処理対象となるポートフォリオのすべてが、これまでに少なくとも一回値洗処理が行われたポートフォリオであれば、今回の値洗処理では、step52及びstep53のステップを全く経由せずに、step54のステップから処理が行われることになるので、処理時間が大幅に短縮する。
【0049】
尚、ポートフォリオは常に同じであるわけではなく、将来、それに含まれる約定データの件数が増加したり、それに伴って種類が変化することがある。かかる場合に対処するために、処理特性データを一定の期間毎に更新するようにしてもよい。
第三実施形態の金融情報処理システムでは、上記第一実施形態のものと同様に、複数の計算プロセスに複数のポートフォリオについての値洗処理を並列して実行させることにより、迅速な処理が可能であり、結果が出るまでの時間を大幅に短縮することができる。また、第三実施形態の金融情報処理システムでは、ポートフォリオの処理特性データに基づいて、同時に実行可能な計算プロセスの数とポートフォリオの処理順番とを決定することにより、値洗処理の対象となる複数のポートフォリオに種類の異なるポートフォリオが含まれている場合でも、値洗処理の効率を向上させることができる。
【0050】
尚、本発明は上記の各実施形態に限定されるものではなく、その要旨の範囲内において種々の変形が可能である。
上記の各実施形態では、約定計算処理をマルチスレッドで行う場合について説明したが、約定計算処理を必ずしもマルチスレッドで行う必要はない。但し、この場合は、当然のことながら、マルチプロセスとマルチスレッドで値洗処理を行う場合に比べて処理時間が遅くなる。
【0051】
また、上記の各実施形態では、各計算サーバに、値洗処理を実行するCPUを八個搭載した場合について説明したが、一般に、八個以外の任意の数のCPUを各計算サーバに搭載してもよい。極端な場合、各計算サーバは一つのCPUを用いたものであってもよい。
【0052】
【発明の効果】
以上説明したように本発明に係る金融情報処理システムによれば、複数の計算プロセスに複数のポートフォリオについての値洗処理を並列して実行させることにより、迅速な処理が可能であり、結果が出るまでの時間を大幅に短縮することができる。このため、ディーラは、実際の市場の動きに連動させて、複数のポートフォリオについて一日に何度でも値洗処理を行い、常に、最新のリスク状態を迅速に評価することが可能となる。
【図面の簡単な説明】
【図1】本発明の第一実施形態である金融情報処理システムの全体的な構成を示す図である。
【図2】その金融情報処理システムのうちディーラ端末と計算サーバを一台ずつ示した図である。
【図3】計算サーバ上における制御プロセスと計算プロセスとの関係を示した図である。
【図4】計算プロセスの動作を模式的に示した図である。
【図5】図4に示す入力側共有メモリ上に展開されている約定データのテーブルを示す図である。
【図6】第一実施形態の金融情報処理システムにおいて複数のポートフォリオについて値洗処理を行う際の処理手順を示すフローチャートである。
【図7】一つの計算プロセスにおいて行われる処理の手順を示したフローチャートである。
【図8】図7に示した処理手順の一部の処理手順を詳しく示したフローチャートである。
【図9】従来の処理方式、マルチスレッド処理方式及び本発明の処理方式のそれぞれで複数のポートフォリオについての値洗処理を行ったときのCPU稼働率と処理時間との関係を示す図である。
【図10】第二実施形態の金融情報処理システムにおいて複数のポートフォリオについて値洗処理を行う際の処理手順を示すフローチャートである。
【図11】ポートフォリオの処理特性データの集まりである処理特性テーブルを説明するための図である。
【図12】第三実施形態の金融情報処理システムにおいて複数のポートフォリオについて値洗処理を行う際の処理手順を示すフローチャートである。
【符号の説明】
10 ネットワーク
20 ディーラ端末
21 クライアントアプリケーション
30 計算サーバ
31 制御プロセス
32 計算プロセス
33 スレッド
34,35 ロック機構
38 入力側共有メモリ
39 出力側共有メモリ
40 データベース
50 ディスプレイ装置
60 キーボード
Claims (6)
- 複数のポートフォリオについて、当該ポートフォリオのIDと共に、当該ポートフォリオに含まれる複数の約定データを記憶する記憶手段と、
前記記憶手段から所定の複数のポートフォリオについて前記IDを用いて対応するポートフォリオに含まれる複数の約定データを読み出し、その読み出した複数のポートフォリオに含まれる複数の約定データに対する値洗処理を実行する複数の計算プロセス手段と、
複数のポートフォリオについて前記IDを用いて対応するポートフォリオに含まれる複数の約定データに対する値洗処理を行うべき旨の指示を受けたときに、一つの前記計算プロセス手段を立ち上げ、その立ち上げた前記一つの計算プロセス手段に前記指示を受けた複数のポートフォリオの内の一つのポートフォリオに含まれる複数の約定データに対する値洗処理を実行させると共に、前記一つの計算プロセス手段による値洗処理の実行中におけるCPU稼働率の最大値を求めた後、その求めたCPU稼働率の最大値に基づいて、同時に実行可能な前記計算プロセス手段の数を決定し、その決定した数だけ前記計算プロセス手段を立ち上げ、前記指示された複数のポートフォリオに含まれる複数の約定データについての値洗処理をその立ち上げた前記各計算プロセス手段により並列して実行させる制御プロセス手段と、を具備し、
前記制御プロセス手段は、前記求められたCPU稼働率の最大値を元に、同時に実行させたときにCPU稼働率が合計で100%より小さくなる数の複数の前記計算プロセス手段を同時に実行可能な前記計算プロセス手段の数として決定して、決定した数の計算プロセス手段を立ち上げ、
前記制御プロセス手段により立ち上げられた各計算プロセス手段は、値洗処理を実行する際に、複数のスレッドを生成し、前記各スレッドにポートフォリオに含まれる約定データに対する所定の計算を独立して実行させることを特徴とする金融情報処理システム。 - 前記制御プロセス手段は、更に、CPU稼働率上限値のデータ及びCPU稼働率下限値のデータを有し、前記計算プロセス手段の並列実行中におけるCPU稼働率が前記CPU稼働率の上限値より大きくなったと判断すると、前記同時に実行可能な前記計算プロセス手段の数を減少させ、一方、前記計算プロセス手段の並列実行中におけるCPU稼働率が前記CPU稼働率下限値よりも小さくなったと判断すると、前記同時に実行可能な前記計算プロセス手段の数を増加させることを特徴とする請求項1記載の金融情報処理システム。
- 複数のポートフォリオについて、当該ポートフォリオのIDと共に、当該ポートフォリオに含まれる複数の約定データを記憶する記憶手段と、
前記記憶手段から所定の複数のポートフォリオについて前記IDを用いて対応するポートフォリオに含まれる複数の約定データを読み出し、その読み出した複数のポートフォリオに含まれる複数の約定データに対する値洗処理を実行する複数の計算プロセス手段と、
複数のポートフォリオについて前記IDを用いて対応するポートフォリオに含まれる複数の約定データに対する値洗処理を行うべき旨の指示を受けた場合、同時に実行可能な複数の前記計算プロセス手段の数を決定し、その決定した数だけ前記計算プロセス手段を立ち上げ、前記指示された複数のポートフォリオに含まれる複数の約定データについての値洗処理をその立ち上げた前記各計算プロセス手段により並列して実行させる制御プロセス手段と、を具備し、
前記記憶手段は、複数のポートフォリオについて、当該ポートフォリオのIDと共に、更に当該ポートフォリオに含まれる複数の約定データに対する値洗処理実行中のCPU稼働率の最大値に関する情報を含むポートフォリオについての処理特性データを記憶しており、
前記制御プロセス手段は、前記指示を受けたときに、前記指示に対応したポートフォリオについての前記処理特性データを前記記憶手段から読み出し、前記記憶手段から読み出した前記処理特性データに含まれるCPU稼働率の最大値を元に、同時に実行させたときにCPU稼働率が合計で100%より小さくなる数の複数の前記計算プロセス手段を同時に実行可能な前記計算プロセス手段の数として決定して、決定した数の計算プロセス手段を立ち上げ、
前記制御プロセス手段により立ち上げられた各計算プロセス手段は、値洗処理を実行する際に、複数のスレッドを生成し、前記各スレッドにポートフォリオに含まれる約定データに対する所定の計算を独立して実行させることを特徴とする金融情報処理システム。 - 前記制御プロセス手段は、対応する前記処理特性データが前記記憶手段に記憶されていないポートフォリオの実行指示を受けたときは、一つの前記計算プロセス手段を立ち上げ、その立ち上げた前記一つの計算プロセス手段に当該ポートフォリオに含まれる複数の約定データに対する値洗処理を実行させると共に前記処理特性データを作成して前記記憶手段に記憶させることを特徴とする請求項3記載の金融情報処理システム。
- 前記制御プロセス手段は、複数のポートフォリオについて各ポートフォリオに含まれる複数の約定データに対する値洗処理を行うべき指示を受けたときに、前記記憶手段に記憶されているそれぞれのポートフォリオのCPU稼働率が高い順に値洗処理を行うよう処理順番を決定し、決定した処理順番に従って値洗処理を実行することを特徴とする請求項3又は4に記載の金融情報処理システム。
- 複数のポートフォリオについて、当該ポートフォリオのIDと共に、当該ポートフォリオに含まれる複数の約定データを記憶する記憶手段から所定の複数のポートフォリオについて前記IDを用いて対応するポートフォリオに含まれる複数の約定データを読み出し、その読み出した複数のポートフォリオに含まれる複数の約定データに対する値洗処理を複数のスレッドで独立して実行する複数の計算プログラムと、複数のポートフォリオについて前記IDを用いて対応するポートフォリオに含まれる複数の約定データに対する値洗処理を行うべき旨の指示を受けたときに、一つの前記計算プログラムを立ち上げ、その立ち上げた前記一つの計算プログラムに前記指示を受けた複数のポートフォリオの内の一つのポートフォリオに含まれる複数の約定データに対する値洗処理を実行させると共に、前記一つの計算プログラムによる値洗処理の実行中におけるCPU稼働率の最大値を求めた後、その求めたCPU稼働率の最大値に基づいて、同時に実行させたときにCPU稼働率が合計で100%より小さくなる数の複数の前記計算プログラムを同時に実行可能な前記計算プログラムの数として決定し、その決定した数だけ前記計算プログラムを立ち上げ、前記指示された複数のポートフォリオに含まれる複数の約定データに対する値洗処理をその立ち上げた前記各計算プログラムにより並列して実行させる制御プログラムと、を具備することを特徴とするコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06171598A JP4536833B2 (ja) | 1998-03-12 | 1998-03-12 | 金融情報処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06171598A JP4536833B2 (ja) | 1998-03-12 | 1998-03-12 | 金融情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11259559A JPH11259559A (ja) | 1999-09-24 |
JP4536833B2 true JP4536833B2 (ja) | 2010-09-01 |
Family
ID=13179214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP06171598A Expired - Fee Related JP4536833B2 (ja) | 1998-03-12 | 1998-03-12 | 金融情報処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4536833B2 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7464052B1 (en) * | 1999-06-04 | 2008-12-09 | Trading Research Design, Inc. | Portfolio accounting and risk management system |
US7356498B2 (en) | 1999-12-30 | 2008-04-08 | Chicago Board Options Exchange, Incorporated | Automated trading exchange system having integrated quote risk monitoring and integrated quote modification services |
US9727916B1 (en) | 1999-12-30 | 2017-08-08 | Chicago Board Options Exchange, Incorporated | Automated trading exchange system having integrated quote risk monitoring and integrated quote modification services |
US7840482B2 (en) | 2006-06-19 | 2010-11-23 | Exegy Incorporated | Method and system for high speed options pricing |
US7921046B2 (en) | 2006-06-19 | 2011-04-05 | Exegy Incorporated | High speed processing of financial information using FPGA devices |
US7660793B2 (en) | 2006-11-13 | 2010-02-09 | Exegy Incorporated | Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors |
JP4776571B2 (ja) * | 2007-03-16 | 2011-09-21 | 富士通株式会社 | 実行制御プログラム,実行制御方法及び実行制御装置 |
US10229453B2 (en) | 2008-01-11 | 2019-03-12 | Ip Reservoir, Llc | Method and system for low latency basket calculation |
CA2744746C (en) | 2008-12-15 | 2019-12-24 | Exegy Incorporated | Method and apparatus for high-speed processing of financial market depth data |
US8433628B2 (en) | 2008-12-29 | 2013-04-30 | Fmr Llc | Real-time trade forecaster |
US10037568B2 (en) | 2010-12-09 | 2018-07-31 | Ip Reservoir, Llc | Method and apparatus for managing orders in financial markets |
JP5373755B2 (ja) * | 2010-12-15 | 2013-12-18 | 株式会社日立製作所 | 指数算出システム、指数算出方法、指数算出プログラム |
JP5632323B2 (ja) * | 2011-03-31 | 2014-11-26 | 株式会社東芝 | 証券システムにおける管理端末、プログラム及び方法。 |
US10121196B2 (en) | 2012-03-27 | 2018-11-06 | Ip Reservoir, Llc | Offload processing of data packets containing financial market data |
US9990393B2 (en) | 2012-03-27 | 2018-06-05 | Ip Reservoir, Llc | Intelligent feed switch |
US10650452B2 (en) | 2012-03-27 | 2020-05-12 | Ip Reservoir, Llc | Offload processing of data packets |
US11436672B2 (en) | 2012-03-27 | 2022-09-06 | Exegy Incorporated | Intelligent switch for processing financial market data |
-
1998
- 1998-03-12 JP JP06171598A patent/JP4536833B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11259559A (ja) | 1999-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4536833B2 (ja) | 金融情報処理システム | |
US8904225B2 (en) | Stream data processing failure recovery method and device | |
CN107230092B (zh) | 账务处理方法、装置及服务器 | |
CN110806933B (zh) | 一种批量任务处理方法、装置、设备和存储介质 | |
US9088537B2 (en) | Apparatus and method for executing agent | |
US9146952B1 (en) | System and method for distributed back-off in a database-oriented environment | |
CN109426550A (zh) | 资源的调度方法及设备 | |
CN107977167A (zh) | 一种基于纠删码的分布式存储系统的退化读优化方法 | |
US8775767B2 (en) | Method and system for allocating memory to a pipeline | |
CN110275767A (zh) | 一种批量数据处理方法及装置 | |
US7921220B2 (en) | Reducing occurrences of two-phase commits in a multi-node computing system | |
JP2009510615A5 (ja) | ||
JP2009510615A (ja) | 混成マルチスレッドおよびマルチプロセス・コンピュータ・シミュレーション・システムおよび方法 | |
CN112596871A (zh) | 业务处理方法和装置 | |
US20150120613A1 (en) | Real-time trade forecaster | |
US11816020B2 (en) | Online query execution using a big data framework | |
CN108062224B (zh) | 基于文件句柄的数据读写方法、装置及计算设备 | |
KR20200009282A (ko) | 증권 직접 주문 시스템에서의 주문 데이터 처리 방법 및 이를 위한 컴퓨터 프로그램 | |
CN114677222A (zh) | 区块链的并行交易处理方法、系统和计算机存储介质 | |
CN109783717B (zh) | 查询任务处理方法、系统、服务器集群及装置、计算机可读存储介质 | |
CN112948078A (zh) | 基于服务调用的收益分配任务处理方法及装置 | |
JP3797402B2 (ja) | 情報処理システム、情報処理方法及び情報処理プログラムを記録した記録媒体 | |
CN110188069A (zh) | 一种csv文件存储方法、装置及计算机设备 | |
CN116308850B (zh) | 对账方法、对账系统、对账服务器及存储介质 | |
CN113157425A (zh) | 业务访问的处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070522 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070723 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070919 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080324 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080404 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080502 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100513 |
|
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: 20100617 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130625 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |