(57)【特許請求の範囲】
【請求項１】
ネットワークを介して他装置と通信する通信部と、
金融商品市場のシステムから送信されてくる、金融商品の売買注文の電文データを通信部を介して受信し、該電文データを金融商品の売買注文における価格種類毎の採用優先度を用いて、各電文データが含んでいる価格のうち採用優先度最高のものを採用価格として決定し、各電文データが示す銘柄情報を予め設定した銘柄と該当銘柄のデータが算定に利用される指数との対応関係を用いて、算出すべき指数を特定し、前記特定した算出すべき指数の情報を通知する採用価格決定部と、
前記特定した指数に対応した所定式に、前記採用価格を適用して指数用基礎数値を算定し、前記所定式に、前記指数用基礎数値を適用して指数を算定する処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行する指数算出部と、
前記採用価格決定部から通知された前記情報が示す全指数の算定値について前記各スレッドから取得できるまで待機し、前記各スレッドから前記全指数の算定値を取得した後、取得した当該全指数のデータをブロッキングして１電文にまとめ、該電文を、前記通信部を介して外部装置に配信するマージ処理部と、
を備えることを特徴とする指数算出システム。
【請求項２】
前記採用価格決定部は、コンピュータプログラムに従って処理を実行し、当該プログラムに予め設定された前記価格種類毎の採用優先度を用いて、前記採用価格を決定することを特徴とする請求項１に記載の指数算出システム。
【請求項３】
ネットワークを介して他装置と通信する通信部を備えたコンピュータシステムが、
金融商品市場のシステムから送信されてくる、金融商品の売買注文の電文データを通信部を介して受信し、該電文データを金融商品の売買注文における価格種類毎の採用優先度を用いて、各電文データが含んでいる価格のうち採用優先度最高のものを採用価格として決定し、各電文データが示す銘柄情報を予め設定した銘柄と該当銘柄のデータが算定に利用される指数との対応関係を用いて、算出すべき指数を特定し、前記特定した算出すべき指数の情報を通知する処理と、
前記特定した指数に対応した所定式に、前記採用価格を適用して指数用基礎数値を算定し、前記所定式に、前記指数用基礎数値を適用して指数を算定する処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行する処理と、
前記各スレッドから、通知された前記情報が示す全指数の算定値について取得できるまで待機し、前記全指数の算定値について取得した後、当該全指数の算定値をブロッキングして１電文にまとめ、該電文を、前記通信部を介して外部装置に配信する処理と、
を実行することを特徴とする指数算出方法。
【請求項４】
前記コンピュータシステムは、コンピュータプログラムに従って各処理を実行し、
前記採用価格の決定を、前記コンピュータプログラムに予め設定された前記価格種類毎の採用優先度を用いて、前記採用価格を決定することを特徴とする請求項３に記載の指数算出方法。
【請求項５】
ネットワークを介して他装置と通信する通信部を備えたコンピュータシステムに、
金融商品市場のシステムから送信されてくる、金融商品の売買注文の電文データを通信部を介して受信し、該電文データを金融商品の売買注文における価格種類毎の採用優先度を用いて、各電文データが含んでいる価格のうち採用優先度最高のものを採用価格として決定し、各電文データが示す銘柄情報を予め設定した銘柄と該当銘柄のデータが算定に利用される指数との対応関係を用いて、算出すべき指数を特定し、前記特定した算出すべき指数の情報を通知する処理と、
前記特定した指数に対応した所定式に、前記採用価格を適用して指数用基礎数値を算定し、前記所定式に、前記指数用基礎数値を適用して指数を算定する処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行する処理と、
前記各スレッドから、通知された前記情報が示す全指数の算定値について取得できるまで待機し、前記全指数の算定値について取得した後、当該全指数の算定値をブロッキングして１電文にまとめ、該電文を、前記通信部を介して外部装置に配信する処理と、
を実行させることを特徴とする指数算出プログラム。
【請求項６】
前記採用価格の決定を、当該指数算出プログラムに予め設定された前記価格種類毎の採用優先度を用いて、前記採用価格を決定することを特徴とする請求項５に記載の指数算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指数算出システム、指数算出方法、指数算出プログラムに関するものであり、具体的には、金融商品市場の各種指数を高頻度に算出する技術に関する。なお、本発明での金融商品市場は、金融商品取引法で規定されるものを指す。
【背景技術】
【０００２】
金融商品市場において発表される各種指数等は、市況を判断する際の参考値としての性格が強かった。しかし近年では、いわゆるアルゴリズム取引の広がりと共に、この指数を用いた自動取引が活発化しつつある。こうした市場状況を表す指数の決定手法がいくつか提案されている。
【０００３】
例えば、複数の取引対象の価格情報に基づく指数を決定する指数決定方法において、所定数の取引対象が属する取引対象群の取引対象を、第１属性の取引対象及び第２属性の取引対象に選別し、第２属性と異なる第３属性の取引対象を選択し、第３属性の取引対象の価格情報の変化に連動して価格情報が変動する第４属性の計算用取引対象を設定し、設定された第４属性の計算用取引対象の価格情報、及び第１属性の取引対象の価格情報に基づき指数を決定することを特徴とする指数決定方法（例えば、特許文献１参照）などが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２４９９６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１のアルゴリズム取引では、株価に代表される金融商品の時価や出来高などに応じてコンピュータが自動的に株式に代表される金融商品の売買注文を行うため、注文処理が高速で、電文送信の間隔も例えばミリ秒単位などと従来より短くなっている。当然、こうした注文の高速化、高頻度化に伴って、注文時の判断材料となる指数を高頻度で迅速に提供してほしいとのニーズも高まることになる。
【０００６】
しかし、指数の提供側（市場側）における処理システムでは、依然として秒単位での処理が行われており、投資家側との処理速度の乖離は大きい。投資家の側からすれば、投資の判断材料となるべき指数の粒度が粗いとも言える。
【０００７】
そこで本発明の目的は、金融商品市場の各種指数を高頻度に算出可能とする技術の提供にある。
【課題を解決するための手段】
【０００８】
上記課題を解決する本発明の指数算出システムは、ネットワークを介して他装置と通信する通信部と、
金融商品市場のシステムから送信されてくる、金融商品の売買注文の電文データを通信部を介して受信し、該電文データを金融商品の売買注文における価格種類毎の採用優先度を用いて、各電文データが含んでいる価格のうち採用優先度最高のものを採用価格として決定し、各電文データが示す銘柄情報を予め設定した銘柄と該当銘柄のデータが算定に利用される指数との対応関係を用いて、算出すべき指数を特定し、前記特定した算出すべき指数の情報を通知する採用価格決定部と、前記特定した指数に対応した所定式に、前記採用価格を適用して指数用基礎数値を算定し、前記所定式に、前記指数用基礎数値を適用して指数を算定する処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行する指数算出部と、前記採用価格決定部から通知された前記情報が示す全指数の算定値について前記各スレッドから取得できるまで待機し、前記各スレッドから前記全指数の算定値を取得した後、取得した当該全指数のデータをブロッキングして１電文にまとめ、該電文を、前記通信部を介して外部装置に配信するマージ処理部とを備えることを特徴とする。なお、採用優先度については、プログラムに設定しても良いし、テーブルに格納しても良い。また、指数用基礎数値は、時価総額その他採用価格から算出される値を用いることが好適である。
【０００９】
また、本発明の指数算出方法は、ネットワークを介して他装置と通信する通信部を備えたコンピュータシステムが、金融商品市場のシステムから送信されてくる、金融商品の売買注文の電文データを通信部を介して受信し、該電文データを金融商品の売買注文における価格種類毎の採用優先度を用いて、各電文データが含んでいる価格のうち採用優先度最高のものを採用価格として決定し、各電文データが示す銘柄情報を予め設定した銘柄と該当銘柄のデータが算定に利用される指数との対応関係を用いて、算出すべき指数を特定し、前記特定した算出すべき指数の情報を通知する処理と、前記特定した指数に対応した所定式に、前記採用価格を適用して指数用基礎数値を算定し、前記所定式に、前記指数用基礎数値を適用して指数を算定する処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行する処理と、前記各スレッドから、通知された前記情報が示す全指数の算定値について取得できるまで待機し、前記全指数の算定値について取得した後、当該全指数の算定値をブロッキングして１電文にまとめ、該電文を、前記通信部を介して外部装置に配信する処理とを実行することを特徴とする。
【００１０】
また、本発明の指数算出プログラムは、ネットワークを介して他装置と通信する通信部を備えたコンピュータシステムに、金融商品市場のシステムから送信されてくる、金融商品の売買注文の電文データを通信部を介して受信し、該電文データを金融商品の売買注文における価格種類毎の採用優先度を用いて、各電文データが含んでいる価格のうち採用優先度最高のものを採用価格として決定し、各電文データが示す銘柄情報を予め設定した銘柄と該当銘柄のデータが算定に利用される指数との対応関係を用いて、算出すべき指数を特定し、前記特定した算出すべき指数の情報を通知する処理と、前記特定した指数に対応した所定式に、前記採用価格を適用して指数用基礎数値を算定し、前記所定式に、前記指数用基礎数値を適用して指数を算定する処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行する処理と、前記各スレッドから、通知された前記情報が示す全指数の算定値について取得できるまで待機し、前記全指数の算定値について取得した後、当該全指数の算定値をブロッキングして１電文にまとめ、該電文を、前記通信部を介して外部装置に配信する処理とを実行させることを特徴とする。
【００１１】
さらに、本発明には以下の態様が含まれる。  
採用価格の優先度を、予めプログラムに設定しておき、これを用いるものである。このプログラムとは、上述した指数算出システム（またはコンピュータシステム)を動作させるためのもの、ないし、指数算出方法の各処理を指数算出システム（コンピュータシステム）に実行させるものである。  
また、金融商品の売買注文における価格種類毎の採用優先度を記述した第１テーブルを用いて、採用価格を決定してもよい。  
さらに、銘柄と該当銘柄のデータが算定に利用される指数との対応関係を記述した第２テーブルを用いて、算出すべき処理を特定することも本発明に含まれる。さらに、これら第１および第２のテーブルを指数算出システム（コンピュータシステム）が有する記憶部に格納することも本発明の一態様である。  
またさらに、指数用基礎数値は、時価総額その他採用価格から算出される値を用いることが好適である。なお、本願明細書では、時価総額を指数用基礎数値として用いるものを指数用時価総額と表現する。
【発明の効果】
【００１２】
本発明によれば、金融商品市場の各種指数を高頻度に算出可能となる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態の指数算出システムを含むネットワーク構成図である。
【図２】本実施形態の指数算出システムのハードウェア構成を示す図である。
【図３】本実施形態の指数算出システムが利用するテーブル例を示す図である。
【図４】本実施形態の指数算出方法の処理手順例を示すフロー図である。
【図５】本実施形態の指数算出方法の概念例を示す図である。
【発明を実施するための形態】
【００１４】
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態の指数算出システムを含むネットワーク構成図である。図１に示す指数算出システム１００（以下、システム１００）は、金融商品市場の各種指数を高頻度に算出するコンピュータシステムである。従って、前記システム１００は、図１に示すように、金融商品市場システム１０、および証券会社等のユーザシステム２０らとネットワーク１４０を介して通信可能に結ばれている状況を想定している。また、前記システム１００としては単体のサーバ装置ないし機能を各々分担したサーバの集合体であるサーバ装置群が想定できる。前記金融商品市場システム１０は、市場参加者の端末から受信した金融商品の売買注文の電文データを、ネットワーク１４０を介して前記システム１００に配信してくる。一方、従来システムであれば、１電文受信毎に、指数用時価総額の算出から指数の算出までをシリアルに処理していることから、このような高頻度で配信される電文に対応することはそもそも出来ない。
【００１５】
前記システム１００はコンピュータシステムであるから、図２に示すように、プログラム１０２を格納したハードディスクドライブなどの記憶部１０１、この記憶部１０１からプログラム１０２をメモリ１０３に読み出して実行する演算部１０４、他装置とネットワーク１４０を介して通信するＮＩＣ（Network Interface card）などの通信部１０７を備えている。指数算出システムとして備えるべき機能は、演算部１０４がプログラム１０２を実行することで実装される。また、前記システム１００は、記憶部１０１において、第１テーブル１２５、第２テーブル１２６を備えているものとする。なお、これらテーブルの構造等については後述する。
【００１６】
続いて、前記システム１００の演算部１０４がプログラム１０２を実行することで実現される機能部について説明する。前記システム１００は、金融商品市場システム１０から送信されてくる、金融商品の売買注文の電文データを通信部１０７を介して受信し、該電文データを記憶部１０１の第１テーブル１２５に照合して、各電文データが含んでいる価格のうち採用優先度最高のものを採用価格として決定し、各電文データが示す銘柄情報を第２テーブル１２６に照合し、算出すべき指数を特定する採用価格決定部１１０を備える。なお、本例では、第１のテーブルにデータを格納しているが、プログラム１０２自身に保持させても良い。
【００１７】
また、前記システム１００は、前記特定した指数に対応した所定式に前記採用価格を適用して指数用時価総額を算定し、前記特定した指数に対応した所定式に前記指数用時価総額を適用して指数を算定する指数算出部１１１を備えている。なお、前記採用価格決定部１１０は、この指数算出部１１１とは別プロセスにおいて処理を実行しても良いし、同一プロセスでも良い。別プロセスで実行する場合、各機能部１１０〜１１２は、例えばプロセス間通信で必要なデータ類をやりとりするなどして協調動作させても良い。また、同一プロセスで実行する場合、スレッドを別々に動作させても良い。こうしたプロセスやスレッドの取り扱いについては既存技術を採用すれば良い。
【００１８】
このように、電文データから採用価格の決定を行う処理を指数算出等の処理とは独立に行うとすれば、高頻度に配信されてくる膨大な数の電文データであっても、（採用価格の決定処理は負荷が小さいため）高速に処理することが可能である。こうして処理により得られる採用価格をもとに指数算定が行えるから、処理全体として効率化が図られて、高頻度の指数算定が可能となる。
【００１９】
また、指数用時価総額の算定に用いる所定式としては、例えば、"前回算定時の指数用時価総額"−（"前回算定時の採用価格"×"株式数"）＋（"今回の採用価格"×"株式数"）、といった式になる。当然、こうした数式は前記システム１００の記憶部１０１ないしメモリ１０３に予め用意されている。また、数式に代入する値として前回算定時に関するデータについては、システム１００が指数用時価総額算定毎にメモリ１０３ないし記憶部１０１等に保持し利用可能であるものとする。また、指数を算定するために用いる所定式としては、例えば、"時価総額"÷（"基準時価総額"÷倍率÷１００）、といった式になる。指数用時価総額に関するものと同様に、こうした数式は前記システム１００の記憶部１０１ないしメモリ１０３に予め用意されている。また、数式に代入する値として前回算定時に関するデータについては、システム１００が指数算定毎にメモリ１０３ないし記憶部１０１等に保持し利用可能であるものとする。なお、"時価総額"÷（"基準時価総額"÷倍率÷１００）、の式のうち、（"基準時価総額"÷倍率÷１００）、の項については、１日に１回算定して値を該当日は固定的に使用できるから、システム側としては計算ステップを低減でき更に効率的である。
【００２０】
また、前記指数算出部１１１は、前記指数用時価総額および指数の算定処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行するものとすれば好適である。こうした処理を行うとすれば、１スレッドで算出する指数の数は１つとなり、シリアル処理時のように他の銘柄に関する処理値を待たねば次処理を開始できない、といった排他待ちの状況は生じないことになる。
【００２１】
なお、指数は、該当指数の構成銘柄の約定値段等を採用し算出したもの、気配の種類のうち最良売り気配などと呼ばれ、該当指数の構成銘柄の"最良売り気配"を採用し算出したもの、気配の種類のうち最良買い気配などと呼ばれ、該当指数の構成銘柄の"最良買い気配"を採用し、算出したもの、などがあげられる。
【００２２】
また、前記システム１００は、前記各スレッドから指数の算定値を取得して１電文にマージするなどしてまとめ、該電文のデータを通信部１０７を介してユーザシステム２０など外部装置に配信するマージ処理部１１２を備えるとすれば好適である。スレッド毎に指数の値を算定しているから、同種ないし関連する指数に関しては１電文にまとめて配信する必要がある。このマージ処理部１１２の存在により、こうした複数の指数に関して値をとりまとめてユーザシステム２０側に配信することが可能となる。
【００２３】
この場合、前記採用価格決定部１１０は、前記特定した算出すべき指数の情報を前記マージ処理部１１２に通知するとすれば更に好適となる。こうした通知がなされると、前記マージ処理部１１２は、前記通知が示す全指数の算定値について前記各スレッドから取得できるまで待機し、すなわち、各スレッドから得た算定値をメモリ１０３等にプールしておき、通知が指定する全ての指数について算定値がそろったならば、該当の複数指数のデータを１電文にまとめ、該電文を通信部１０７を介してユーザシステム２０など外部装置に配信することとなる。
【００２４】
−−−データ構造例−−−
次に、本実施形態のシステム１００が用いるテーブルのデータ構造例について説明する。図３は、本実施形態の指数算出システムが利用するテーブル例を示す図である。前記システム１００は、自身の備える、或いはネットワーク経由で利用可能なハードディスクドライブなどの不揮発性記憶装置において、第１テーブル１２５および第２テーブル１２６を備えている。第１テーブル１２５は、金融商品の売買注文における、約定値、買い気配、売り気配などといった価格種類毎の採用優先度（例：最高、高、中、低、最低）を記述したテーブルである。また、第２テーブル１２６は、銘柄と該当銘柄のデータが算定に利用される指数との対応関係を記述したテーブルである。なお、本例では、テーブルを用いたが、プログラム１０２に設定しても良い。
【００２５】
−−−処理手順例−−−
以下、本実施形態における指数算出方法の実際手順について図に基づき説明する。以下で説明する指数算出方法に対応する各種動作は、前記システム１００のメモリ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００２６】
図４は、本実施形態における指数算出方法の処理手順例を示すフロー図であり、図５は本実施形態の指数算出方法の概念例を示す図である。この場合、まず前記システム１００の採用価格決定部１１０は、金融商品市場システム１０から送信されてくる、金融商品の売買注文の電文データを通信部１０７を介して受信する（ｓ１００）。
【００２７】
また、前記採用価格決定部１１０は、前記ステップｓ１００で受信した電文データを記憶部１０１の第１テーブル１２５に照合して、各電文データが含んでいる価格のうち採用優先度最高のものを採用価格として決定する（ｓ１０１）。例えば、受信電文データに、"約定価格"、"特別気配"の２種類の価格データが含まれていた場合、第１テーブル１２５に照合して、採用優先度のより高い"特別気配"の値を採用価格として決定する。
【００２８】
また前記採用価格決定部１１０は、各電文データが示す銘柄情報を第２テーブル１２６に照合し、算出すべき指数を特定する（ｓ１０２）。例えば、"銘柄ＡＢＣ"に関する電文データであった場合、第２テーブル１２６により、"指数Ａ買い気配"、"指数Ａ売り気配"の２種類の指数を特定する、といった処理になる。
【００２９】
前記採用価格決定部１１０は、前記ステップｓ１０２で特定した、算出すべき指数の情報を前記マージ処理部１１２に通知する（ｓ１０３）。一方、マージ処理部１１２は、この通知を受信し、指数算出部１１１の各スレッドからの該当指数に関する算定値を待ち受ける状態を開始する（ｓ１０４）。こうした指数に関する通知がなされると、マージ処理部１１２は、前記通知が示す全指数の算定値について前記各スレッドから取得できるまで待機することとなる。
【００３０】
一方、前記システム１００の指数算出部１１１は、前記特定された指数の情報（採用価格）を前記採用価格決定部１１０から取得し（例えばプロセス間通信にて）、該当指数に対応した所定式に前記採用価格（これも前記採用価格決定部１１０からプロセス間通信等を介して取得）を適用して指数用時価総額を算定する（ｓ１０５）。なお、採用価格決定部１１０では、複数の採用価格を決定しても良く、この場合、決定する採用価格毎に、当該価格を取得する指数算出部１１１を特定する。
【００３１】
また指数算出部１１１は、前記採用価格決定部１１０から情報を得て、自身に設定されている所定式に、前記ステップｓ１０５で算定した指数用時価総額を適用して指数を算定する（ｓ１０６）。なお、前記採用価格決定部１１０は、この指数算出部１１１とは別プロセスにおいて処理を実行するものとする。
【００３２】
上記ステップｓ１０５での指数用時価総額の算定に用いる所定式としては、例えば、"前回算定時の指数用時価総額"−（"前回算定時の採用価格"×"株式数"）＋（"今回の採用価格"×"株式数"）、といった式になる。当然、こうした数式は前記システム１００の記憶部１０１ないしメモリ１０３に予め用意されていて、システム１００が必要に応じて呼び出して利用できる。また、数式に代入する値として前回算定時に関するデータについては、システム１００が指数用時価総額算定毎にメモリ１０３ないし記憶部１０１等に保持し利用可能であるものとする。また、指数を算定するために用いる所定式としては、例えば、"時価総額"÷（"基準時価総額"÷倍率÷１００）、といった式になる。指数用時価総額に関するものと同様に、こうした数式は前記システム１００の記憶部１０１ないしメモリ１０３に予め用意されている。また、数式に代入する値として前回算定時に関するデータについては、システム１００が指数算定毎にメモリ１０３ないし記憶部１０１等に保持し利用可能であるものとする。なお、"時価総額"÷（"基準時価総額"÷倍率÷１００）、の式のうち、（"基準時価総額"÷倍率÷１００）、の項については、１日に１回算定して値を該当日は固定的に使用できるから、システム側としては計算ステップを低減でき更に効率的である。
【００３３】
このように、電文データから採用価格の決定を行う処理を指数算出等の処理とは独立に行うとすれば、高頻度に配信されてくる膨大な数の電文データであっても、（採用価格の決定処理は負荷が小さいため）高速に処理することが可能である。こうして処理により得られる採用価格をもとに指数算定が行えるから、処理全体として効率化が図られて、高頻度の指数算定が可能となる。
【００３４】
なお、本実施形態では、指数用基礎数値の一例として、指数用時価総額を用いたが、採用価格を用いて他の計算方法により算出する値を用いてもよい。それには、みなし額面を用いて算出する値も含まれる。
【００３５】
ここで、前記指数算出部１１１は、図５の概念例にて示すように、前記ステップｓ１０５、ｓ１０６における指数用時価総額および指数の算定処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行するものとすれば更に好適である。こうした処理を行うとすれば、１スレッドで算出する指数の数は１つとなり、シリアル処理時のように他の銘柄に関する処理値を待たねば次処理を開始できない、といった排他待ちの状況は生じないことになる。
【００３６】
なお、指数は、該当指数の構成銘柄の約定値段等を採用し算出したもの、気配の種類のうち最良売り気配などと呼ばれ、該当指数の構成銘柄の"最良売り気配"を採用し算出したもの、気配の種類のうち最良買い気配などと呼ばれ、該当指数の構成銘柄の"最良買い気配"を採用し、算出したもの、などがあげられる。
【００３７】
続いて、前記システム１００のマージ処理部１１２は、前記各スレッドから指数の算定値を取得して１電文にマージするなどしてまとめ（ｓ１０７）、該電文のデータを通信部１０７を介してユーザシステム２０など外部装置に配信する（ｓ１０８）。スレッド毎に指数の値を算定しているから、同種ないし関連する指数に関しては１電文にまとめて配信する必要がある。このマージ処理部１１２の存在により、こうした複数の指数に関して値をとりまとめてユーザシステム２０側に配信することが可能となる。
【００３８】
ただし、前記ステップｓ１０３にて、マージ処理部１１２は採用価格決定部１１０より、算出すべき指数の情報について通知を受けている。そこで、マージ処理部１１２は、前記通知が示す全指数の算定値について前記各スレッドから取得できるまで待機し、すなわち、各スレッドから得た算定値をメモリ１０３等にプールしておき、前記通知が指定する全ての指数について算定値がそろったならば、該当の複数指数のデータを１電文にまとめ、該電文を通信部１０７を介してユーザシステム２０など外部装置に配信する。採用価格決定部１１０からの前記通知が、例えば、「指数Ａ売り気配、指数Ａ買い気配」という２種類の指数についてのものであった場合、前記マージ処理部１１２は、これら２種類の指数に関する算定値がスレッドから得られるまで待機し、いずれの算定値も取得できた場合に、「指数Ａ」に関する気配値として電文データにまとめてユーザシステム２０に配信することとなる。金融商品の売買注文の処理を行うユーザシステム２０側としても、五月雨式に指数の情報を配信されるのではなく、ある指数に関して関連する算定値をまとめて取得し、売買の判断データに採用できるため、発注処理の効率化が図られることにもなる。
【００３９】
なお、ある銘柄に関する採用価格の変動の有無にかかわらず、指数の算出を行うより、採用価格の変動があった場合にのみ指数算出を実行するとすれば、システム側での無駄な処理を抑制し、ひいては該当処理のためのリソースや処理時間の効率化を図ることも出来る。この場合、例えば、採用価格決定部１１０が、採用価格決定を行うごとに該当銘柄に関する採用価格のログを記憶部１０１に格納しておく。なお、採用価格のログについては、メモリ１０３に格納し、読み出すようにしても良い。そして、金融商品市場システム１０から該当銘柄に関する金融商品の売買注文の電文データを新たに受信した場合、該当銘柄に関し前回決定した採用価格の値を記憶部１０１から読み出し、この値と、今回決定した採用価格とを比較する。この比較により、該当銘柄の採用価格に関して、前回と変動があったか否か判定し、採用価格の変動があった場合のみ、採用価格決定部１１０は、以降の指数用時価総額および指数の算定処理を行うよう、指数算出部１１１に処理開始の指示を通知する。
【００４０】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【００４１】
こうした本実施形態によれば、金融商品市場の各種指数を高頻度に算出することが可能となる。例えば、現状では、秒間隔および定時単位（例：１５秒間隔）で提供している指数情報を、ミリ秒単位で提供することが可能となる。このことはすなわち、売買とほぼ連動した指数算出が行われることになり、投資家側からすれば、取引判断のリアルタイム性が向上するとも言える。
【００４２】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、前記指数算出部は、前記指数用時価総額および指数の算定処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行するものであり、前記各スレッドから指数の算定値を取得して１電文にまとめ、該電文を通信部を介して外部装置に配信するマージ処理部を備えるとしてもよい。
【００４３】
また、前記採用価格決定部は、前記特定した算出すべき指数の情報を前記マージ処理部に通知し、前記マージ処理部は、前記通知が示す全指数の算定値について前記各スレッドから取得できるまで待機し、該当の複数指数のデータを１電文にまとめ、該電文を通信部を介して外部装置に配信するとしてもよい。
【符号の説明】
【００４４】
１０  金融商品市場システム
２０  ユーザシステム
１００  指数算出システム
１０１  記憶部
１０２  プログラム
１０３  メモリ
１０４  ＣＰＵ（演算部）
１０７  通信部
１１０  採用価格決定部
１１１  指数算出部
１１２  マージ処理部
１２５  第１テーブル
１２６  第２テーブル
１４０  ネットワーク
【図１】
0005373755.tif 000002
【図２】
0005373755.tif 000003
【図３】
0005373755.tif 000004
【図４】
0005373755.tif 000005
【図５】
0005373755.tif 000006