JP5373755B2 - Index calculation system, index calculation method, index calculation program - Google Patents
Index calculation system, index calculation method, index calculation program Download PDFInfo
- Publication number
- JP5373755B2 JP5373755B2 JP2010279393A JP2010279393A JP5373755B2 JP 5373755 B2 JP5373755 B2 JP 5373755B2 JP 2010279393 A JP2010279393 A JP 2010279393A JP 2010279393 A JP2010279393 A JP 2010279393A JP 5373755 B2 JP5373755 B2 JP 5373755B2
- Authority
- JP
- Japan
- Prior art keywords
- index
- price
- adoption
- calculated
- data
- 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.)
- Active
Links
Images
Abstract
Description
本発明は、指数算出システム、指数算出方法、指数算出プログラムに関するものであり、具体的には、金融商品市場の各種指数を高頻度に算出する技術に関する。なお、本発明での金融商品市場は、金融商品取引法で規定されるものを指す。 The present invention relates to an index calculation system, an index calculation method, and an index calculation program. Specifically, the present invention relates to a technique for frequently calculating various indexes in a financial product market. Note that the financial product market in the present invention refers to that defined by the Financial Product Transaction Law.
金融商品市場において発表される各種指数等は、市況を判断する際の参考値としての性格が強かった。しかし近年では、いわゆるアルゴリズム取引の広がりと共に、この指数を用いた自動取引が活発化しつつある。こうした市場状況を表す指数の決定手法がいくつか提案されている。 Various indices, etc. announced in the financial products market were strong as reference values for judging market conditions. However, in recent years, with the spread of so-called algorithmic trading, automatic trading using this index is becoming active. Several methods have been proposed for determining indices that represent such market conditions.
例えば、複数の取引対象の価格情報に基づく指数を決定する指数決定方法において、所定数の取引対象が属する取引対象群の取引対象を、第1属性の取引対象及び第2属性の取引対象に選別し、第2属性と異なる第3属性の取引対象を選択し、第3属性の取引対象の価格情報の変化に連動して価格情報が変動する第4属性の計算用取引対象を設定し、設定された第4属性の計算用取引対象の価格情報、及び第1属性の取引対象の価格情報に基づき指数を決定することを特徴とする指数決定方法(例えば、特許文献1参照)などが提案されている。 For example, in an index determination method for determining an index based on price information of a plurality of transaction objects, a transaction object of a transaction object group to which a predetermined number of transaction objects belong is selected as a transaction object having a first attribute and a transaction object having a second attribute. Then, select a transaction object with a third attribute different from the second attribute, set a transaction object for calculation with a fourth attribute whose price information fluctuates in conjunction with a change in price information of the transaction object with the third attribute, and set An index determination method characterized by determining an index based on the calculated price information of the fourth transaction object and the price information of the first attribute transaction object (for example, see Patent Document 1) is proposed. ing.
上述した特許文献1のアルゴリズム取引では、株価に代表される金融商品の時価や出来高などに応じてコンピュータが自動的に株式に代表される金融商品の売買注文を行うため、注文処理が高速で、電文送信の間隔も例えばミリ秒単位などと従来より短くなっている。当然、こうした注文の高速化、高頻度化に伴って、注文時の判断材料となる指数を高頻度で迅速に提供してほしいとのニーズも高まることになる。 In the algorithm trading of Patent Document 1 described above, the computer automatically places a buy / sell order for a financial product represented by stocks in accordance with the market price or trading volume of the financial product represented by stock price, so the order processing is fast, The interval between message transmissions is also shorter than before, for example, in milliseconds. Of course, with the increase in the speed and frequency of such orders, the need for promptly providing an index as a judgment material at the time of ordering increases.
しかし、指数の提供側(市場側)における処理システムでは、依然として秒単位での処理が行われており、投資家側との処理速度の乖離は大きい。投資家の側からすれば、投資の判断材料となるべき指数の粒度が粗いとも言える。 However, in the processing system on the index provider side (market side), processing is still performed in units of seconds, and the difference in processing speed with the investor side is large. From the perspective of investors, it can be said that the granularity of the index that should be used as a basis for investment decisions is coarse.
そこで本発明の目的は、金融商品市場の各種指数を高頻度に算出可能とする技術の提供にある。 Therefore, an object of the present invention is to provide a technique that can calculate various indices of a financial product market with high frequency.
上記課題を解決する本発明の指数算出システムは、ネットワークを介して他装置と通信する通信部と、
金融商品市場のシステムから送信されてくる、金融商品の売買注文の電文データを通信部を介して受信し、該電文データを金融商品の売買注文における価格種類毎の採用優先度を用いて、各電文データが含んでいる価格のうち採用優先度最高のものを採用価格として決定し、各電文データが示す銘柄情報を予め設定した銘柄と該当銘柄のデータが算定に利用される指数との対応関係を用いて、算出すべき指数を特定し、前記特定した算出すべき指数の情報を通知する採用価格決定部と、前記特定した指数に対応した所定式に、前記採用価格を適用して指数用基礎数値を算定し、前記所定式に、前記指数用基礎数値を適用して指数を算定する処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行する指数算出部と、前記採用価格決定部から通知された前記情報が示す全指数の算定値について前記各スレッドから取得できるまで待機し、前記各スレッドから前記全指数の算定値を取得した後、取得した当該全指数のデータをブロッキングして1電文にまとめ、該電文を、前記通信部を介して外部装置に配信するマージ処理部とを備えることを特徴とする。なお、採用優先度については、プログラムに設定しても良いし、テーブルに格納しても良い。また、指数用基礎数値は、時価総額その他採用価格から算出される値を用いることが好適である。
An index calculation system of the present invention that solves the above problems includes a communication unit that communicates with other devices via a network,
Received from the financial product market system, the electronic data of the financial product buy / sell order is received via the communication unit, and the telegram data is used for each price type in the buy / sell order of the financial product, Among the prices included in the message data, the one with the highest adoption priority is determined as the adoption price. To identify an index to be calculated, and to adopt an adoption price determination unit for notifying information of the identified index to be calculated, and applying the adoption price to a predetermined formula corresponding to the identified index calculated basic numbers, the predetermined equation, the process to calculate the index by applying the basic numerical for the exponent, the exponent calculation unit for parallel execution in a separate thread for each sign species related index each to the same index, the Wait until the calculated values of all indices indicated by the information notified from the price determination unit can be acquired from each thread, obtain the calculated values of all indexes from each thread, and then acquire the data of all the indexes acquired And a merge processing unit that blocks the messages into one message and distributes the message to an external device via the communication unit . Note that the employment priority may be set in a program or stored in a table. In addition, it is preferable to use a value calculated from the market capitalization and other adopted prices as the basic index value.
また、本発明の指数算出方法は、ネットワークを介して他装置と通信する通信部を備えたコンピュータシステムが、金融商品市場のシステムから送信されてくる、金融商品の売買注文の電文データを通信部を介して受信し、該電文データを金融商品の売買注文における価格種類毎の採用優先度を用いて、各電文データが含んでいる価格のうち採用優先度最高のものを採用価格として決定し、各電文データが示す銘柄情報を予め設定した銘柄と該当銘柄のデータが算定に利用される指数との対応関係を用いて、算出すべき指数を特定し、前記特定した算出すべき指数の情報を通知する処理と、前記特定した指数に対応した所定式に、前記採用価格を適用して指数用基礎数値を算定し、前記所定式に、前記指数用基礎数値を適用して指数を算定する処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行する処理と、前記各スレッドから、通知された前記情報が示す全指数の算定値について取得できるまで待機し、前記全指数の算定値について取得した後、当該全指数の算定値をブロッキングして1電文にまとめ、該電文を、前記通信部を介して外部装置に配信する処理とを実行することを特徴とする。 Also, the index calculation method of the present invention includes a communication unit that transmits electronic data of financial product buying and selling orders transmitted from a financial product market system by a computer system having a communication unit that communicates with other devices via a network. Using the adoption priority for each price type in the purchase order of the financial product, the highest adoption priority among the prices included in each message data is determined as the adoption price, The index to be calculated is identified by using the correspondence relationship between the brand for which the brand information indicated by each message data is set in advance and the index for which the data of the corresponding brand is used for calculation, and the information on the identified index to be calculated a process to be notified, to a predetermined type corresponding to the specified index, the adopted price by applying to calculate the index for basic factors, the predetermined equation, to calculate the index by applying the basic numerical for the exponent Processing, and processing for parallel execution in a separate thread for each sign species related index each to the same exponent, from each thread waits until it can acquire Calculation value of all index indicating the information that is notified, of the total index After obtaining the calculated values, the calculated values of all the indexes are blocked and combined into one message, and the message is distributed to an external device through the communication unit .
また、本発明の指数算出プログラムは、ネットワークを介して他装置と通信する通信部を備えたコンピュータシステムに、金融商品市場のシステムから送信されてくる、金融商品の売買注文の電文データを通信部を介して受信し、該電文データを金融商品の売買注文における価格種類毎の採用優先度を用いて、各電文データが含んでいる価格のうち採用優先度最高のものを採用価格として決定し、各電文データが示す銘柄情報を予め設定した銘柄と該当銘柄のデータが算定に利用される指数との対応関係を用いて、算出すべき指数を特定し、前記特定した算出すべき指数の情報を通知する処理と、前記特定した指数に対応した所定式に、前記採用価格を適用して指数用基礎数値を算定し、前記所定式に、前記指数用基礎数値を適用して指数を算定する処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行する処理と、前記各スレッドから、通知された前記情報が示す全指数の算定値について取得できるまで待機し、前記全指数の算定値について取得した後、当該全指数の算定値をブロッキングして1電文にまとめ、該電文を、前記通信部を介して外部装置に配信する処理とを実行させることを特徴とする。 Also, the index calculation program of the present invention is a communication unit for transmitting electronic data of financial product trading orders transmitted from a financial product market system to a computer system having a communication unit that communicates with other devices via a network. Using the adoption priority for each price type in the purchase order of the financial product, the highest adoption priority among the prices included in each message data is determined as the adoption price, The index to be calculated is identified by using the correspondence relationship between the brand for which the brand information indicated by each message data is set in advance and the index for which the data of the corresponding brand is used for calculation, and the information on the identified index to be calculated a process to be notified, to a predetermined type corresponding to the specified index, the adopted price by applying to calculate the index for basic factors, the predetermined equation, the index by applying the basic numerical for the exponent The processing constant to, waiting processing for parallel execution in a separate thread for each sign species related index each to the same index, from said each thread, to be obtained for calculating the full index indicating the information that is notified, the total After obtaining the calculated values of the indexes, the calculated values of all the indexes are blocked, combined into one message, and the message is distributed to an external device via the communication unit .
さらに、本発明には以下の態様が含まれる。
採用価格の優先度を、予めプログラムに設定しておき、これを用いるものである。このプログラムとは、上述した指数算出システム(またはコンピュータシステム)を動作させるためのもの、ないし、指数算出方法の各処理を指数算出システム(コンピュータシステム)に実行させるものである。
また、金融商品の売買注文における価格種類毎の採用優先度を記述した第1テーブルを用いて、採用価格を決定してもよい。
さらに、銘柄と該当銘柄のデータが算定に利用される指数との対応関係を記述した第2テーブルを用いて、算出すべき処理を特定することも本発明に含まれる。さらに、これら第1および第2のテーブルを指数算出システム(コンピュータシステム)が有する記憶部に格納することも本発明の一態様である。
またさらに、指数用基礎数値は、時価総額その他採用価格から算出される値を用いることが好適である。なお、本願明細書では、時価総額を指数用基礎数値として用いるものを指数用時価総額と表現する。
Further, the present invention includes the following aspects.
The priority of the recruitment price is set in advance in the program and used. This program is for operating the above-described index calculation system (or computer system), or for causing the index calculation system (computer system) to execute each process of the index calculation method.
In addition, the adoption price may be determined using the first table describing the adoption priority for each price type in the purchase and sale order of the financial product.
Furthermore, it is also included in the present invention to specify the process to be calculated using the second table describing the correspondence relationship between the brand and the index for which the data of the brand is used for calculation. Furthermore, it is also an aspect of the present invention to store these first and second tables in a storage unit included in an index calculation system (computer system).
Furthermore, it is preferable to use a value calculated from the market capitalization and other adopted prices as the basic index value. In the specification of the present application, what uses the market capitalization as the basic index value is expressed as the index capitalization.
本発明によれば、金融商品市場の各種指数を高頻度に算出可能となる。 According to the present invention, various indices of the financial product market can be calculated with high frequency.
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態の指数算出システムを含むネットワーク構成図である。図1に示す指数算出システム100(以下、システム100)は、金融商品市場の各種指数を高頻度に算出するコンピュータシステムである。従って、前記システム100は、図1に示すように、金融商品市場システム10、および証券会社等のユーザシステム20らとネットワーク140を介して通信可能に結ばれている状況を想定している。また、前記システム100としては単体のサーバ装置ないし機能を各々分担したサーバの集合体であるサーバ装置群が想定できる。前記金融商品市場システム10は、市場参加者の端末から受信した金融商品の売買注文の電文データを、ネットワーク140を介して前記システム100に配信してくる。一方、従来システムであれば、1電文受信毎に、指数用時価総額の算出から指数の算出までをシリアルに処理していることから、このような高頻度で配信される電文に対応することはそもそも出来ない。
--- System configuration ---
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a network configuration diagram including the index calculation system of the present embodiment. An index calculation system 100 (hereinafter, system 100) shown in FIG. 1 is a computer system that frequently calculates various indices of a financial product market. Therefore, as shown in FIG. 1, the
前記システム100はコンピュータシステムであるから、図2に示すように、プログラム102を格納したハードディスクドライブなどの記憶部101、この記憶部101からプログラム102をメモリ103に読み出して実行する演算部104、他装置とネットワーク140を介して通信するNIC(Network Interface card)などの通信部107を備えている。指数算出システムとして備えるべき機能は、演算部104がプログラム102を実行することで実装される。また、前記システム100は、記憶部101において、第1テーブル125、第2テーブル126を備えているものとする。なお、これらテーブルの構造等については後述する。
Since the
続いて、前記システム100の演算部104がプログラム102を実行することで実現される機能部について説明する。前記システム100は、金融商品市場システム10から送信されてくる、金融商品の売買注文の電文データを通信部107を介して受信し、該電文データを記憶部101の第1テーブル125に照合して、各電文データが含んでいる価格のうち採用優先度最高のものを採用価格として決定し、各電文データが示す銘柄情報を第2テーブル126に照合し、算出すべき指数を特定する採用価格決定部110を備える。なお、本例では、第1のテーブルにデータを格納しているが、プログラム102自身に保持させても良い。
Next, functional units realized by the
また、前記システム100は、前記特定した指数に対応した所定式に前記採用価格を適用して指数用時価総額を算定し、前記特定した指数に対応した所定式に前記指数用時価総額を適用して指数を算定する指数算出部111を備えている。なお、前記採用価格決定部110は、この指数算出部111とは別プロセスにおいて処理を実行しても良いし、同一プロセスでも良い。別プロセスで実行する場合、各機能部110〜112は、例えばプロセス間通信で必要なデータ類をやりとりするなどして協調動作させても良い。また、同一プロセスで実行する場合、スレッドを別々に動作させても良い。こうしたプロセスやスレッドの取り扱いについては既存技術を採用すれば良い。
Further, the
このように、電文データから採用価格の決定を行う処理を指数算出等の処理とは独立に行うとすれば、高頻度に配信されてくる膨大な数の電文データであっても、(採用価格の決定処理は負荷が小さいため)高速に処理することが可能である。こうして処理により得られる採用価格をもとに指数算定が行えるから、処理全体として効率化が図られて、高頻度の指数算定が可能となる。 As described above, if the processing for determining the adoption price from the telegram data is performed independently of the processing such as index calculation, even if there is a huge number of telegram data distributed frequently, This determination process can be performed at high speed (because the load is small). Since the index calculation can be performed based on the adopted price obtained by the processing in this way, the efficiency of the entire process is improved, and the index calculation at a high frequency becomes possible.
また、指数用時価総額の算定に用いる所定式としては、例えば、"前回算定時の指数用時価総額"−("前回算定時の採用価格"×"株式数")+("今回の採用価格"×"株式数")、といった式になる。当然、こうした数式は前記システム100の記憶部101ないしメモリ103に予め用意されている。また、数式に代入する値として前回算定時に関するデータについては、システム100が指数用時価総額算定毎にメモリ103ないし記憶部101等に保持し利用可能であるものとする。また、指数を算定するために用いる所定式としては、例えば、"時価総額"÷("基準時価総額"÷倍率÷100)、といった式になる。指数用時価総額に関するものと同様に、こうした数式は前記システム100の記憶部101ないしメモリ103に予め用意されている。また、数式に代入する値として前回算定時に関するデータについては、システム100が指数算定毎にメモリ103ないし記憶部101等に保持し利用可能であるものとする。なお、"時価総額"÷("基準時価総額"÷倍率÷100)、の式のうち、("基準時価総額"÷倍率÷100)、の項については、1日に1回算定して値を該当日は固定的に使用できるから、システム側としては計算ステップを低減でき更に効率的である。
In addition, as a predetermined formula used for calculating the market capitalization for the index, for example, “market capitalization for the index at the previous calculation” − (“adopted price at the previous calculation” × “number of shares”) + (“adopted current price”) “ד Number of shares ”)). Of course, these mathematical formulas are prepared in advance in the
また、前記指数算出部111は、前記指数用時価総額および指数の算定処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行するものとすれば好適である。こうした処理を行うとすれば、1スレッドで算出する指数の数は1つとなり、シリアル処理時のように他の銘柄に関する処理値を待たねば次処理を開始できない、といった排他待ちの状況は生じないことになる。
Further, it is preferable that the
なお、指数は、該当指数の構成銘柄の約定値段等を採用し算出したもの、気配の種類のうち最良売り気配などと呼ばれ、該当指数の構成銘柄の"最良売り気配"を採用し算出したもの、気配の種類のうち最良買い気配などと呼ばれ、該当指数の構成銘柄の"最良買い気配"を採用し、算出したもの、などがあげられる。 The index is calculated by adopting the contract price of the constituent stock of the index, called the best selling price among the types of signs, and calculated by adopting the “best selling price” of the constituent stock of the index. This is called the best buy price among the types of things and signs, and is calculated by adopting the “best buy price” of the constituents of the corresponding index.
また、前記システム100は、前記各スレッドから指数の算定値を取得して1電文にマージするなどしてまとめ、該電文のデータを通信部107を介してユーザシステム20など外部装置に配信するマージ処理部112を備えるとすれば好適である。スレッド毎に指数の値を算定しているから、同種ないし関連する指数に関しては1電文にまとめて配信する必要がある。このマージ処理部112の存在により、こうした複数の指数に関して値をとりまとめてユーザシステム20側に配信することが可能となる。
Further, the
この場合、前記採用価格決定部110は、前記特定した算出すべき指数の情報を前記マージ処理部112に通知するとすれば更に好適となる。こうした通知がなされると、前記マージ処理部112は、前記通知が示す全指数の算定値について前記各スレッドから取得できるまで待機し、すなわち、各スレッドから得た算定値をメモリ103等にプールしておき、通知が指定する全ての指数について算定値がそろったならば、該当の複数指数のデータを1電文にまとめ、該電文を通信部107を介してユーザシステム20など外部装置に配信することとなる。
In this case, it is more preferable that the adoption
−−−データ構造例−−−
次に、本実施形態のシステム100が用いるテーブルのデータ構造例について説明する。図3は、本実施形態の指数算出システムが利用するテーブル例を示す図である。前記システム100は、自身の備える、或いはネットワーク経由で利用可能なハードディスクドライブなどの不揮発性記憶装置において、第1テーブル125および第2テーブル126を備えている。第1テーブル125は、金融商品の売買注文における、約定値、買い気配、売り気配などといった価格種類毎の採用優先度(例:最高、高、中、低、最低)を記述したテーブルである。また、第2テーブル126は、銘柄と該当銘柄のデータが算定に利用される指数との対応関係を記述したテーブルである。なお、本例では、テーブルを用いたが、プログラム102に設定しても良い。
--- Data structure example ---
Next, an example of the data structure of the table used by the
−−−処理手順例−−−
以下、本実施形態における指数算出方法の実際手順について図に基づき説明する。以下で説明する指数算出方法に対応する各種動作は、前記システム100のメモリ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
--- Processing procedure example ---
Hereinafter, the actual procedure of the index calculation method in the present embodiment will be described with reference to the drawings. Various operations corresponding to the index calculation method described below are realized by a program that is read into the memory of the
図4は、本実施形態における指数算出方法の処理手順例を示すフロー図であり、図5は本実施形態の指数算出方法の概念例を示す図である。この場合、まず前記システム100の採用価格決定部110は、金融商品市場システム10から送信されてくる、金融商品の売買注文の電文データを通信部107を介して受信する(s100)。
FIG. 4 is a flowchart showing a processing procedure example of the index calculation method in the present embodiment, and FIG. 5 is a diagram showing a conceptual example of the index calculation method in the present embodiment. In this case, first, the adoption
また、前記採用価格決定部110は、前記ステップs100で受信した電文データを記憶部101の第1テーブル125に照合して、各電文データが含んでいる価格のうち採用優先度最高のものを採用価格として決定する(s101)。例えば、受信電文データに、"約定価格"、"特別気配"の2種類の価格データが含まれていた場合、第1テーブル125に照合して、採用優先度のより高い"特別気配"の値を採用価格として決定する。
The adopted
また前記採用価格決定部110は、各電文データが示す銘柄情報を第2テーブル126に照合し、算出すべき指数を特定する(s102)。例えば、"銘柄ABC"に関する電文データであった場合、第2テーブル126により、"指数A買い気配"、"指数A売り気配"の2種類の指数を特定する、といった処理になる。
Further, the adoption
前記採用価格決定部110は、前記ステップs102で特定した、算出すべき指数の情報を前記マージ処理部112に通知する(s103)。一方、マージ処理部112は、この通知を受信し、指数算出部111の各スレッドからの該当指数に関する算定値を待ち受ける状態を開始する(s104)。こうした指数に関する通知がなされると、マージ処理部112は、前記通知が示す全指数の算定値について前記各スレッドから取得できるまで待機することとなる。
The adopted
一方、前記システム100の指数算出部111は、前記特定された指数の情報(採用価格)を前記採用価格決定部110から取得し(例えばプロセス間通信にて)、該当指数に対応した所定式に前記採用価格(これも前記採用価格決定部110からプロセス間通信等を介して取得)を適用して指数用時価総額を算定する(s105)。なお、採用価格決定部110では、複数の採用価格を決定しても良く、この場合、決定する採用価格毎に、当該価格を取得する指数算出部111を特定する。
On the other hand, the
また指数算出部111は、前記採用価格決定部110から情報を得て、自身に設定されている所定式に、前記ステップs105で算定した指数用時価総額を適用して指数を算定する(s106)。なお、前記採用価格決定部110は、この指数算出部111とは別プロセスにおいて処理を実行するものとする。
Further, the
上記ステップs105での指数用時価総額の算定に用いる所定式としては、例えば、"前回算定時の指数用時価総額"−("前回算定時の採用価格"×"株式数")+("今回の採用価格"×"株式数")、といった式になる。当然、こうした数式は前記システム100の記憶部101ないしメモリ103に予め用意されていて、システム100が必要に応じて呼び出して利用できる。また、数式に代入する値として前回算定時に関するデータについては、システム100が指数用時価総額算定毎にメモリ103ないし記憶部101等に保持し利用可能であるものとする。また、指数を算定するために用いる所定式としては、例えば、"時価総額"÷("基準時価総額"÷倍率÷100)、といった式になる。指数用時価総額に関するものと同様に、こうした数式は前記システム100の記憶部101ないしメモリ103に予め用意されている。また、数式に代入する値として前回算定時に関するデータについては、システム100が指数算定毎にメモリ103ないし記憶部101等に保持し利用可能であるものとする。なお、"時価総額"÷("基準時価総額"÷倍率÷100)、の式のうち、("基準時価総額"÷倍率÷100)、の項については、1日に1回算定して値を該当日は固定的に使用できるから、システム側としては計算ステップを低減でき更に効率的である。
As a predetermined formula used for calculating the market capitalization for the index in the above step s105, for example, “market capitalization for the index at the previous calculation” − (“adopted price at the previous calculation” × “number of shares”) + (“this time Adoption price “ד Number of shares ”)). Of course, such mathematical formulas are prepared in advance in the
このように、電文データから採用価格の決定を行う処理を指数算出等の処理とは独立に行うとすれば、高頻度に配信されてくる膨大な数の電文データであっても、(採用価格の決定処理は負荷が小さいため)高速に処理することが可能である。こうして処理により得られる採用価格をもとに指数算定が行えるから、処理全体として効率化が図られて、高頻度の指数算定が可能となる。 As described above, if the processing for determining the adoption price from the telegram data is performed independently of the processing such as index calculation, even if there is a huge number of telegram data distributed frequently, This determination process can be performed at high speed (because the load is small). Since the index calculation can be performed based on the adopted price obtained by the processing in this way, the efficiency of the entire process is improved, and the index calculation at a high frequency becomes possible.
なお、本実施形態では、指数用基礎数値の一例として、指数用時価総額を用いたが、採用価格を用いて他の計算方法により算出する値を用いてもよい。それには、みなし額面を用いて算出する値も含まれる。 In this embodiment, the index market capitalization is used as an example of the index basic value, but a value calculated by another calculation method using the adopted price may be used. This includes values calculated using the deemed face value.
ここで、前記指数算出部111は、図5の概念例にて示すように、前記ステップs105、s106における指数用時価総額および指数の算定処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行するものとすれば更に好適である。こうした処理を行うとすれば、1スレッドで算出する指数の数は1つとなり、シリアル処理時のように他の銘柄に関する処理値を待たねば次処理を開始できない、といった排他待ちの状況は生じないことになる。
Here, as shown in the conceptual example of FIG. 5, the
なお、指数は、該当指数の構成銘柄の約定値段等を採用し算出したもの、気配の種類のうち最良売り気配などと呼ばれ、該当指数の構成銘柄の"最良売り気配"を採用し算出したもの、気配の種類のうち最良買い気配などと呼ばれ、該当指数の構成銘柄の"最良買い気配"を採用し、算出したもの、などがあげられる。 The index is calculated by adopting the contract price of the constituent stock of the index, called the best selling price among the types of signs, and calculated by adopting the “best selling price” of the constituent stock of the index. This is called the best buy price among the types of things and signs, and is calculated by adopting the “best buy price” of the constituents of the corresponding index.
続いて、前記システム100のマージ処理部112は、前記各スレッドから指数の算定値を取得して1電文にマージするなどしてまとめ(s107)、該電文のデータを通信部107を介してユーザシステム20など外部装置に配信する(s108)。スレッド毎に指数の値を算定しているから、同種ないし関連する指数に関しては1電文にまとめて配信する必要がある。このマージ処理部112の存在により、こうした複数の指数に関して値をとりまとめてユーザシステム20側に配信することが可能となる。
Subsequently, the
ただし、前記ステップs103にて、マージ処理部112は採用価格決定部110より、算出すべき指数の情報について通知を受けている。そこで、マージ処理部112は、前記通知が示す全指数の算定値について前記各スレッドから取得できるまで待機し、すなわち、各スレッドから得た算定値をメモリ103等にプールしておき、前記通知が指定する全ての指数について算定値がそろったならば、該当の複数指数のデータを1電文にまとめ、該電文を通信部107を介してユーザシステム20など外部装置に配信する。採用価格決定部110からの前記通知が、例えば、「指数A売り気配、指数A買い気配」という2種類の指数についてのものであった場合、前記マージ処理部112は、これら2種類の指数に関する算定値がスレッドから得られるまで待機し、いずれの算定値も取得できた場合に、「指数A」に関する気配値として電文データにまとめてユーザシステム20に配信することとなる。金融商品の売買注文の処理を行うユーザシステム20側としても、五月雨式に指数の情報を配信されるのではなく、ある指数に関して関連する算定値をまとめて取得し、売買の判断データに採用できるため、発注処理の効率化が図られることにもなる。
However, in step s103, the
なお、ある銘柄に関する採用価格の変動の有無にかかわらず、指数の算出を行うより、採用価格の変動があった場合にのみ指数算出を実行するとすれば、システム側での無駄な処理を抑制し、ひいては該当処理のためのリソースや処理時間の効率化を図ることも出来る。この場合、例えば、採用価格決定部110が、採用価格決定を行うごとに該当銘柄に関する採用価格のログを記憶部101に格納しておく。なお、採用価格のログについては、メモリ103に格納し、読み出すようにしても良い。そして、金融商品市場システム10から該当銘柄に関する金融商品の売買注文の電文データを新たに受信した場合、該当銘柄に関し前回決定した採用価格の値を記憶部101から読み出し、この値と、今回決定した採用価格とを比較する。この比較により、該当銘柄の採用価格に関して、前回と変動があったか否か判定し、採用価格の変動があった場合のみ、採用価格決定部110は、以降の指数用時価総額および指数の算定処理を行うよう、指数算出部111に処理開始の指示を通知する。
Regardless of whether there is a change in the adoption price for a particular issue, if the index calculation is executed only when the adoption price fluctuates, rather than calculating the index, wasteful processing on the system side can be suppressed. As a result, it is possible to improve the efficiency of resources and processing time for the corresponding processing. In this case, for example, the adoption
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。 Although the best mode for carrying out the present invention has been specifically described above, the present invention is not limited to this, and various modifications can be made without departing from the scope of the invention.
こうした本実施形態によれば、金融商品市場の各種指数を高頻度に算出することが可能となる。例えば、現状では、秒間隔および定時単位(例:15秒間隔)で提供している指数情報を、ミリ秒単位で提供することが可能となる。このことはすなわち、売買とほぼ連動した指数算出が行われることになり、投資家側からすれば、取引判断のリアルタイム性が向上するとも言える。 According to this embodiment, it is possible to calculate various indices of the financial product market with high frequency. For example, at present, it is possible to provide index information provided in units of milliseconds and in regular units (eg, intervals of 15 seconds) in milliseconds. This means that an index calculation that is almost linked to trading is performed. From the investor side, it can be said that the real-time property of transaction judgment is improved.
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、前記指数算出部は、前記指数用時価総額および指数の算定処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行するものであり、前記各スレッドから指数の算定値を取得して1電文にまとめ、該電文を通信部を介して外部装置に配信するマージ処理部を備えるとしてもよい。 At least the following will be clarified by the description of the present specification. That is, the index calculation unit executes the calculation process of the market capitalization and index for the index in parallel in different threads for each index or for each type of index related to the same index, and obtains the calculated index value from each thread. Then, it is possible to provide a merge processing unit that collects a single message and distributes the message to an external device via the communication unit.
また、前記採用価格決定部は、前記特定した算出すべき指数の情報を前記マージ処理部に通知し、前記マージ処理部は、前記通知が示す全指数の算定値について前記各スレッドから取得できるまで待機し、該当の複数指数のデータを1電文にまとめ、該電文を通信部を介して外部装置に配信するとしてもよい。 In addition, the adoption price determination unit notifies the merge processing unit of the specified index information to be calculated until the merge processing unit can obtain the calculated values of all indexes indicated by the notification from each thread. It is possible to wait, collect the data of the corresponding multiple indexes into one message, and distribute the message to an external device via the communication unit.
10 金融商品市場システム
20 ユーザシステム
100 指数算出システム
101 記憶部
102 プログラム
103 メモリ
104 CPU(演算部)
107 通信部
110 採用価格決定部
111 指数算出部
112 マージ処理部
125 第1テーブル
126 第2テーブル
140 ネットワーク
DESCRIPTION OF
Claims (6)
金融商品市場のシステムから送信されてくる、金融商品の売買注文の電文データを通信部を介して受信し、該電文データを金融商品の売買注文における価格種類毎の採用優先度を用いて、各電文データが含んでいる価格のうち採用優先度最高のものを採用価格として決定し、各電文データが示す銘柄情報を予め設定した銘柄と該当銘柄のデータが算定に利用される指数との対応関係を用いて、算出すべき指数を特定し、前記特定した算出すべき指数の情報を通知する採用価格決定部と、
前記特定した指数に対応した所定式に、前記採用価格を適用して指数用基礎数値を算定し、前記所定式に、前記指数用基礎数値を適用して指数を算定する処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行する指数算出部と、
前記採用価格決定部から通知された前記情報が示す全指数の算定値について前記各スレッドから取得できるまで待機し、前記各スレッドから前記全指数の算定値を取得した後、取得した当該全指数のデータをブロッキングして1電文にまとめ、該電文を、前記通信部を介して外部装置に配信するマージ処理部と、
を備えることを特徴とする指数算出システム。 A communication unit that communicates with other devices via a network;
Received from the financial product market system, the electronic data of the financial product buy / sell order is received via the communication unit, and the telegram data is used for each price type in the buy / sell order of the financial product, Among the prices included in the message data, the one with the highest adoption priority is determined as the adoption price. An adoption price determination unit that identifies an index to be calculated and notifies information on the identified index to be calculated ;
A process for calculating an index basic value by applying the adopted price to the predetermined formula corresponding to the specified index, and calculating the index by applying the basic index value to the predetermined formula is performed for each index or An index calculation unit that executes in parallel in different threads for each type of trait regarding the same index ;
Wait until the calculated values of all indices indicated by the information notified from the recruitment price determination unit can be obtained from each thread, and after obtaining the calculated values of all indices from each thread, A merge processing unit that blocks data and collects it into one message, and distributes the message to an external device via the communication unit;
Index calculation system comprising: a.
金融商品市場のシステムから送信されてくる、金融商品の売買注文の電文データを通信部を介して受信し、該電文データを金融商品の売買注文における価格種類毎の採用優先度を用いて、各電文データが含んでいる価格のうち採用優先度最高のものを採用価格として決定し、各電文データが示す銘柄情報を予め設定した銘柄と該当銘柄のデータが算定に利用される指数との対応関係を用いて、算出すべき指数を特定し、前記特定した算出すべき指数の情報を通知する処理と、
前記特定した指数に対応した所定式に、前記採用価格を適用して指数用基礎数値を算定し、前記所定式に、前記指数用基礎数値を適用して指数を算定する処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行する処理と、
前記各スレッドから、通知された前記情報が示す全指数の算定値について取得できるまで待機し、前記全指数の算定値について取得した後、当該全指数の算定値をブロッキングして1電文にまとめ、該電文を、前記通信部を介して外部装置に配信する処理と、
を実行することを特徴とする指数算出方法。 A computer system having a communication unit that communicates with other devices via a network,
Received from the financial product market system, the electronic data of the financial product buy / sell order is received via the communication unit, and the telegram data is used for each price type in the buy / sell order of the financial product, Among the prices included in the message data, the one with the highest adoption priority is determined as the adoption price, and the correspondence relationship between the brand for which the brand information indicated by each message data is set in advance and the index used for the calculation of the data for that brand A process for specifying an index to be calculated and notifying information on the specified index to be calculated ;
A process for calculating an index basic value by applying the adopted price to the predetermined formula corresponding to the specified index, and calculating the index by applying the basic index value to the predetermined formula is performed for each index or Processing that is executed in parallel in a separate thread for each type of breed related to the same index,
From each thread, wait until the calculated values of all indexes indicated by the notified information can be acquired, and after acquiring the calculated values of all indexes, block the calculated values of all indexes and combine them into one message. Processing for delivering the electronic message to an external device via the communication unit;
The index calculation method characterized by performing.
前記採用価格の決定を、前記コンピュータプログラムに予め設定された前記価格種類毎の採用優先度を用いて、前記採用価格を決定することを特徴とする請求項3に記載の指数算出方法。 The computer system executes each process according to a computer program,
4. The index calculation method according to claim 3 , wherein the adoption price is determined by using an employment priority for each price type preset in the computer program.
金融商品市場のシステムから送信されてくる、金融商品の売買注文の電文データを通信部を介して受信し、該電文データを金融商品の売買注文における価格種類毎の採用優先度を用いて、各電文データが含んでいる価格のうち採用優先度最高のものを採用価格として決定し、各電文データが示す銘柄情報を予め設定した銘柄と該当銘柄のデータが算定に利用される指数との対応関係を用いて、算出すべき指数を特定し、前記特定した算出すべき指数の情報を通知する処理と、
前記特定した指数に対応した所定式に、前記採用価格を適用して指数用基礎数値を算定し、前記所定式に、前記指数用基礎数値を適用して指数を算定する処理を、指数毎ないし同一指数に関する気配種毎に別スレッドでパラレル実行する処理と、
前記各スレッドから、通知された前記情報が示す全指数の算定値について取得できるまで待機し、前記全指数の算定値について取得した後、当該全指数の算定値をブロッキングして1電文にまとめ、該電文を、前記通信部を介して外部装置に配信する処理と、
を実行させることを特徴とする指数算出プログラム。 In a computer system having a communication unit that communicates with other devices via a network,
Received from the financial product market system, the electronic data of the financial product buy / sell order is received via the communication unit, and the telegram data is used for each price type in the buy / sell order of the financial product, Among the prices included in the message data, the one with the highest adoption priority is determined as the adoption price. A process for specifying an index to be calculated and notifying information on the specified index to be calculated ;
A process for calculating an index basic value by applying the adopted price to the predetermined formula corresponding to the specified index, and calculating the index by applying the basic index value to the predetermined formula is performed for each index or Processing that is executed in parallel in a separate thread for each type of breed related to the same index ,
From each thread, wait until the calculated values of all indexes indicated by the notified information can be acquired, and after acquiring the calculated values of all indexes, block the calculated values of all indexes and combine them into one message. Processing for delivering the electronic message to an external device via the communication unit;
An index calculation program characterized in that
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010279393A JP5373755B2 (en) | 2010-12-15 | 2010-12-15 | Index calculation system, index calculation method, index calculation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010279393A JP5373755B2 (en) | 2010-12-15 | 2010-12-15 | Index calculation system, index calculation method, index calculation program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012128650A JP2012128650A (en) | 2012-07-05 |
JP5373755B2 true JP5373755B2 (en) | 2013-12-18 |
Family
ID=46645595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010279393A Active JP5373755B2 (en) | 2010-12-15 | 2010-12-15 | Index calculation system, index calculation method, index calculation program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5373755B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07244690A (en) * | 1994-03-04 | 1995-09-19 | Kokusai Electric Co Ltd | Information display device and its data processing method |
JPH08185443A (en) * | 1994-12-29 | 1996-07-16 | Kokusai Electric Co Ltd | Security information processor |
JP4536833B2 (en) * | 1998-03-12 | 2010-09-01 | 新日鉄ソリューションズ株式会社 | Financial information processing system |
JP2001283000A (en) * | 2000-03-29 | 2001-10-12 | Hitachi Kokusai Electric Inc | Method and system for displaying information |
-
2010
- 2010-12-15 JP JP2010279393A patent/JP5373755B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012128650A (en) | 2012-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101136696B1 (en) | Stock information providing method and system for displaying firm's life stage and determining the overvaluation/undervaluation of a stock | |
US20210097612A1 (en) | Systems and Methods for Routing Trade Orders Based on Exchange Latency | |
JP2019512820A (en) | Distribution resource scheduling method, apparatus and system | |
CN109949095A (en) | Replenishing method and equipment | |
US20080288327A1 (en) | Store management system and program | |
CN110443715B (en) | Fund product recommendation method, device, equipment and computer readable storage medium | |
US9292336B1 (en) | Systems and methods providing optimization data | |
RU2622850C2 (en) | Method and server for processing product identifiers and machine-readable storage medium | |
JP2008129984A (en) | Transaction support system, transaction support program and recording medium thereof | |
JP6288662B1 (en) | Performance prediction management system and method | |
WO2022121216A1 (en) | Data processing method and apparatus, terminal, and readable storage medium | |
JP2005234673A (en) | Trade timing decision support program and trade ordering system having the program | |
JP2014052941A (en) | Order placement system | |
JP5373755B2 (en) | Index calculation system, index calculation method, index calculation program | |
WO2015137879A1 (en) | Method and apparatus for algorithmic control of the acceptance of orders by an e-commerce enterprise | |
JP2006338562A (en) | Financial instrument management system and financial instrument management method | |
JP2002024547A (en) | Stock buying and selling timing decision supporting system | |
US11037214B2 (en) | Generation of performance offerings for interactive applications | |
JPWO2017060996A1 (en) | Investment management proposal system | |
JP2006189995A (en) | Execution probability calculation system, and execution probability calculation program for limit order | |
CN111598698A (en) | Operation triggering method and related equipment | |
US20140365351A1 (en) | Common order queue for multiple trading platforms | |
KR102517169B1 (en) | System and method for automatic stock trading | |
CN109409993A (en) | Quotation acquisition methods, device, computer installation and the storage medium of computer resource | |
JP2013041422A (en) | Board information analysis apparatus, board information analysis method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130108 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130301 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130820 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130919 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5373755 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |