説明

証券システムにおける管理端末、プログラム及び方法。

【課題】証券システムにおいて、要求応答の為の複数の回線を用意し、これを効率的に使用することである。
【解決手段】証券システムに複数の回線で接続される管理端末において、記憶装置に、要求応答処理により前記証券システムから受信する注文データ及び当該要求応答処理のキー値を保持する。第一の回線を用いて前記証券システムに対し新規要求を行うスレッドであって、直近の要求から時刻を遡る方向で、保持しているキー値までの新規要求を行い、この新規要求が終了すると、保持しているキー値を前記直近要求におけるキー値に更新し、該処理を繰り返す第一のスレッドを有する。第二の回線を用いて前記証券システムに対し更新要求を行うスレッドであって、保持しているキー値以前の注文データの更新要求を行い、該処理を繰り返す第二のスレッドを有する。処理装置は、これらスレッドを並列的に処理する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、要求応答型の電文シーケンスを効率化するための証券システム、方法、およびプログラムに関する。
【背景技術】
【0002】
従来の証券システムは、取引所と、この取引所にゲートウェイを介した回線で接続される、注文側である証券会社の管理者端末で構成されている。管理者端末は、株式の新たな注文(売りまたは買い)や、すでに行った注文の取消などを行うために、「新規要求」という電文を取引所に対して送信する。取引所は、この要求を受け付けると、注文受付番号を付して、「応答」という電文を管理者端末に送信する。「応答」は、新たな注文に対しては取引所がその注文を受け付けたことを示すものであり(まだ約定したわけではない。)、すでに行った注文の取消に対しては取引所がその注文を取消したことを示すものである。
【0003】
取引所において、ある端末から受け付けた注文(売りまたは買い)について、他の受け付けた注文(買いまたは売り)が合致すると、取引が約定する。一方、管理者端末は、取引所に対して、すでに行った注文の注文受付番号を指定して、「更新要求」という電文を送信し、これについての取引所からの「応答」を受信することにより、その注文が約定したのか否か、最新状態を知ることができる。
【0004】
このような要求応答型のシステムには、一つの要求に対する応答を受信した後に次の要求を送信し、これを繰り返すことによって大量の電文を受信するものがある。この仕組みでは取引所からの応答を受信しないと次の要求を送信することができず、その間にも新たな注文が証券会社である自社またはその顧客側から次々に寄せられるので、待ち時間が発生し、その結果、大量のデータの受信に時間がかかるという問題がある。電文は、二つの回線を使用した場合に、100件の要求応答を処理するのに3秒程度を要しているのが実情である。
【0005】
しかも、証券システムの一部である管理者端末では、注文取引のために取引所と接続される回線とは別の回線で、証券会社である自社内の全社(または特定部門)の注文などを全て受信する必要があり、高速化が求められるので、これを改善しなければならない。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−250526号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
証券システムにおいて、要求応答の為の複数の回線を用意し、これを効率的に使用することである。
【課題を解決するための手段】
【0008】
証券システムに複数の回線で接続される管理端末において、記憶装置に、要求応答処理により前記証券システムから受信する注文データ及び当該要求応答処理のキー値を保持する。第一の回線を用いて前記証券システムに対し新規要求を行うスレッドであって、直近の要求から時刻を遡る方向で、保持しているキー値までの新規要求を行い、この新規要求が終了すると、保持しているキー値を前記直近要求におけるキー値に更新し、該処理を繰り返す第一のスレッドを有する。第二の回線を用いて前記証券システムに対し更新要求を行うスレッドであって、保持しているキー値以前の注文データの更新要求を行い、該処理を繰り返す第二のスレッドを有する。処理装置は、これらスレッドを並列的に処理する。
【図面の簡単な説明】
【0009】
【図1】本発明の実施形態の証券システムの構成図
【図2】受信データの集合の内容の一例を示す図
【図3】受信データの管理に関する概念図
【図4】新規要求スレッドNの処理のフローチャート
【図5】新規要求スレッドNの処理による受信データの変化の概念図
【図6】更新要求スレッドAの処理のフローチャート
【発明を実施するための形態】
【実施例】
【0010】
本発明の実施形態における証券システムで重要とされるのは、管理者端末において、緊急時における「注文の取消」を、待ち時間なく行えるようにすることである。緊急時とは、例えば市場の急激な悪化や、大災害が生じたときである。したがって、注文の内容が多少古いものであったとしても(すなわち前回までに行った注文のデータについては、内容の更新がゆっくりであったとしても)、全てのデータが揃い、取消し操作で指定するキー値が得られることの方が重要である。
【0011】
本発明の実施形態では、複数の回線を使用して、新規注文のデータの取得を目的とした回線と、すでに行った注文のデータを最新状態に保つことを目的とした回線とに分け、全てのデータが揃うことを優先とした効率的な電文要求応答の仕組みを提案する。
【0012】
前提として、要求応答で取得する電文の特徴として、(1)要求に対する応答は時刻が直近のものから送られてくること、(2)一つの要求に対する応答は一つまたは二つの電文であり、一電文中のデータ量の最大値が決まっていること、(3)応答電文は継続フラグを持ち、継続フラグが立っている場合は続きを要求できること、(4)要求時に、あるキー値を指定し、そこを起点として時刻を遡る方向でデータを得ることが出来ること、となっているものとする。
【0013】
図1は、本発明の実施形態の証券システムの構成図である。
【0014】
証券システムは、取引所100、ゲートウェイ101ならびに102、および管理者端末103を有する。これら各装置はそれぞれコンピュータにより実現される。
【0015】
管理者端末103は、二つのゲートウェイ101ならびに102を介して二つの回線で取引所100に接続される。
【0016】
管理者端末103では、取引所100に対して株式の発注等を行うためのプログラム104が動作しており、そのプログラムにおける要求スレッドとして新規要求スレッドNならびに更新要求スレッドAがあり、これら二つのプログラムが並列的に処理装置において動作する。
【0017】
新規要求スレッドNから発する実線矢印N1〜Nxは、ゲートウェイ101を介し、取引所100へ到達する。これらは新規の「要求」の電文を表している。図面上、最も左側にある実線矢印N1は「直近要求」といい、現在時刻において直近にされた新規要求を表している。これらN1〜Nxの各要求にそれぞれ隣接している、取引所100から発する点線矢印であって、ゲートウェイ101を介し、新規要求スレッドNへと戻っているのは、各要求に対する「応答」の電文を表している。これらN1〜Nxに対応する応答の各点線矢印は、さらに記憶装置105におけるD2へ到達し、受信データの内容が保持される。
【0018】
更新要求スレッドAから発する実線矢印A1〜Ayは、ゲートウェイ102を介し、取引所100へ到達する。これらは更新の「要求」の電文を表している。これらA1〜Ayの各要求にそれぞれ隣接している、取引所100から発する点線矢印であって、ゲートウェイ102を介し、更新要求スレッドNへと戻っているのは、各要求に対する「応答」の電文を表している。これらA1〜Ayに対応する応答の各点線矢印は、さらに記憶装置105におけるD2へ到達し、受信データの内容が保持される。
【0019】
管理者端末103は、取引所100からの応答として受信した個々の電文のデータを、記憶装置105に保持している。「要求」に対応する「応答」の電文は、それぞれ、取引所100によって一意に付される注文受付番号が含まれる。記憶装置105において、個々の受信データが、この注文受付番号によって管理されている。
【0020】
図2は、受信データの集合の内容の一例を示す図である。
【0021】
朝8:00から9:00までに行われた複数の各注文について、それぞれ、注文受付番号(ay〜a1)と、「約定」または「未約定」という状態を保持している。ここで示したデータの内容は、代表的なものであって、この内容に限られるものではなく、他にもさまざまな情報を保持することができる。
【0022】
図1において示しているD1およびD2は、それぞれ、ある時点における複数の受信データの集合のスナップショットを概念的に表しているものである。実際は、1つの記憶装置105(例えばキャッシュメモリ)として実装される。
【0023】
D1は、過去のある時点においてそれまで受信したすべてのデータを表すスナップショットである。すなわちD1は、あるキー値Lを起点として、時刻を遡る方向で(図面上、左側から右側へ)、これまでに受信したデータの集合を表している。これを、便宜上「前回の受信データD1」という。
【0024】
このD1の起点となっている直近データのキー値Lを、おなじく記憶装置105に保持している。キー値には、取引所100による注文受付番号が用いられる。
【0025】
D2は、現時点において受信しているすべてのデータを表すスナップショットである。図面上、D2の右側部分は、基本的にD1の各内容を引き継いでおり、その引き継いだ部分の一部については、更新要求スレッドAの処理によって内容が最新の状態に更新される。また、図面上、D2の左側部分は、D1の内容に加えて、新規要求スレッドNの処理によって新たに取得された複数の受信データが追加されることを表している。これを、便宜上「今回の受信データD2」という。
【0026】
新規要求スレッドNは、直近要求N1を行い、その応答を受信したら、引き続き、キー値Lと同じキー値を持つデータを受信するまで、時刻を遡る方向で(すなわち、図1における直近要求N1を起点として、左側から右側へ、キー値Lと同じキー値を持つデータが受信される新規要求であるNxまで)、複数の新規要求を繰り返す。
【0027】
更新要求スレッドAは、キー値Lを起点に更新要求をA1から開始し、最後のデータを受信するAyまで、複数の更新要求を繰り返す。
【0028】
なお、図1において、D1のキー値Lの箇所から発する破線であって、新規要求スレッドNおよび更新要求スレッドAにそれぞれ達している破線は、各要求スレッドが、キー値Lを参照していることを表している。
【0029】
図3は、受信データの管理に関する概念図である。
【0030】
この図3は、図1に示したところのD2の具体例となっており、現在時刻が9:10であるものとして、そのときの受信データの全体のスナップショットを示したものである。
【0031】
朝8:00から9:00までの間の部分、すなわちayからa1までの個々の受信データの集合が、図1で示しところのD1から引き継いだ部分である。キー値Lは、9:00において行った要求の注文受付番号であるとする。このayからa1までの各受信データに関しては、更新要求スレッドAが管理する。すなわち、更新要求スレッドAは、キー値Lが示す9:00を起点として、時刻を遡る方向で(図面上、左側から右側へ)、8:00までの受信データについて、更新要求(図1で示したA1〜Ayの各々)を行い、その結果として取得された各応答に基づいて、a1〜ayのデータの内容を更新する。
【0032】
この部分を更新要求スレッドAが管理することで、すでに取引所100に対して要求したある注文の注文受付番号を指定して、取引が約定したのか否か、最新状態を知ることができる。状態が変わったならば、その注文受付番号について保持しているデータの状態を更新する。管理者端末103からしてみれば、いつ取引所100において注文が約定するかは分からないので、キー値Lを起点として直近の注文から最古の注文までの更新要求を行い、これを繰り返すのである。なお、すでに約定したことがわかっていれば、その注文受付番号のデータについては更新要求を行わなくてもよい。また、このキー値L自体については、この繰り返しのタイミングにおいて、新規要求スレッドNによる処理により更新されている場合がある。
【0033】
図3において、9:00から9:10までの間の部分については、新規要求スレッドNが管理する。すなわち、新たな注文や、またはすでに行った注文の取消を「要求」していることころの各受信データを示している。新規要求スレッドNは、現在時刻である9:10の直近要求N1を行い、その応答として受信データn1を取得し、これを起点として、時刻を遡る方向で(図面上、左側から右側へ)、キー値Lが示す9:00の分まで、新規要求を一つずつ繰り返し行い、取引所100からの応答として、受信データn2からnxまでを取得し、記憶装置105に保持する。
【0034】
ここで、新規要求に関して、古い時刻の要求(9:00直後のnx)から時刻順に取引所100に送信するのではなく、あくまで、「直近」の要求(9:10時点のn1)から時刻を遡る方向で処理するのは、緊急時における「注文の取消」を、待ち時間なく行えるようにすることが重要だからである。時刻順に要求を処理していくものとすると、各要求ごとに取引所100からの応答を待たなけれならず、大量の要求が溜まって待ち時間ができてしまい、緊急の取消要求が送信できなくなってしまうからである。このような問題を解決するために、直近の要求から処理を開始し、キー値Lまで時刻を遡るように要求を処理し、これを繰り返し行っているのである。
【0035】
図4は、新規要求スレッドNの処理のフローチャートである。
【0036】
処理を開始し(S401)、その現在時刻において、直近の時刻の新規要求(「直近要求」)を行う(S402)。新規要求の電文は、新たな注文の場合は注文受付番号を指定する必要は無いが、すでに行った注文の取消の場合は注文受付番号を指定する。一つの「要求」に対して、取引所100から「応答」が取得されたら、次の「要求」を送信することが出来る。ここで、現在時刻の「直近要求」がまず第一に実行されるので、緊急時における「注文の取消」を、待ち時間なく行うことができる。
【0037】
次に、この直近要求を起点として、時刻を遡る方向で複数の新規要求を繰り返し(S403)、「前回」のキー値Lと同じキー値となるまで行うと(S404)、新規要求スレッドNの一連の処理が終了する(S405)。
【0038】
その終了の時点で、前回の直近要求で取得したキー値を、新たな「キー値L」として再設定し、新規要求スレッドNは、新たな直近要求からそのキー値Lまでの一連の処理を開始する。
【0039】
図5は、新規要求スレッドNの処理による受信データの変化の概念図である。
【0040】
現在時刻9:10から新規要求を開始し、図4のステップS403の処理、すなわち時刻を遡る方向でキー値Lまで新規要求を繰り返す処理が、図5のS403〜S404−(1)の矢印でその流れが示されている。そして、キー値Lが示す9:00の分までの要求応答処理が完了したとき、前回のキー値L(9:00時点の注文受付番号)を、前回の直近要求で取得した(すなわち9:10時点の)注文受付番号である「L1」に再設定する(図5のS405−(1))。
【0041】
そして、このときの現在時刻が9:17になっているものとして、9:17の「直近要求」を行い、ここから時刻を遡る方向で、図5のS403〜S404−(2)の矢印で示したように、図4で示したフローチャート全体を再度実行する。そして、キー値L1が示す9:10の分の要求応答処理が完了したとき、前回のキー値L1(9:10時点の注文受付番号)を、前回の直近要求で取得した(すなわち9:17時点の)注文受付番号である「L2」に再設定する(図5のS405−(2))。以降、この処理が繰り返される。
【0042】
図6は、更新要求スレッドAの処理のフローチャートである。
【0043】
前回までに行われた注文は、取引所100において約定等によりその状態が更新される場合がある。そこで、処理を開始し(S601)、キー値Lを起点とし(S602)、時刻を遡る方向で、すべてのデータに関して、更新すべき最後のデータを受信するまで更新要求を繰り返す(S603)。
【0044】
ここで更新要求によって受信すべきデータは、新規要求に係わるデータに比べて大量であり、全ての更新には時間がかかるものであるが、注文の内容が多少古いものであったとしても全てのデータが揃っており、かつ、それとは並列的に、緊急時の注文の取消を新規要求スレッドNで行えることの方が重要である。
【0045】
やがて、更新要求についての最後のデータを受信したとき(S604)、キー値Lを起点として開始した更新要求スレッドAの一連の処理は終了する(S605)。その時点で、並列的に新規要求スレッドNが管理していた最新の「キー値L」を起点として、更新要求スレッドAは、そのキー値Lを起点として新たな一連の処理を開始する。
【0046】
このように、前回の受信データD1に対して、新規要求スレッドNから受信したデータを追加し、かつ、更新要求スレッドAから受信したデータを更新することにより、今回の受信データD2を作る。
【0047】
なお、二回線で交互に継続要求を行う方法もあるが、その場合の応答時間は一回線と比較して二倍が限界となる。証券システムでは一日を通して徐々に新規の注文が取引所に送信されるため、本実施形態の方がより効率的である。
【0048】
同様の要求応答型のシステムで、受信するデータの内容に新規データと更新データの二種類がある場合に有効である。
【0049】
本発明のいくつかの実施形態を説明したが、これら実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0050】
100…取引所
101、102…ゲートウェイ
103…管理者端末
104…プログラム(新規要求スレッドN、更新要求スレッドA)
105…記憶装置(前回の受信データD1、今回の受信データD2)

【特許請求の範囲】
【請求項1】
証券システムに複数の回線で接続される管理端末において、
要求応答処理により前記証券システムから受信する注文データ及び当該要求応答処理のキー値を保持する記憶装置と、
第一の回線を用いて前記証券システムに対し新規要求を行うスレッドであって、直近の要求から時刻を遡る方向で、保持しているキー値までの新規要求を行い、この新規要求が終了すると、保持しているキー値を前記直近要求におけるキー値に更新し、該処理を繰り返す第一のスレッドと、
第二の回線を用いて前記証券システムに対し更新要求を行うスレッドであって、保持しているキー値以前の注文データの更新要求を行い、該処理を繰り返す第二のスレッドとを、並列的に処理する処理装置とを備えた、証券システムにおける管理端末。
【請求項2】
証券システムに複数の回線で接続される管理端末において、
前記管理端末であるコンピュータに、
要求応答処理により前記証券システムから受信する注文データ及び当該要求応答処理のキー値を記憶装置に保持する機能と、
第一の回線を用いて前記証券システムに対し新規要求を行うスレッドであって、直近の要求から時刻を遡る方向で、保持しているキー値までの新規要求を行い、この新規要求が終了すると、保持しているキー値を前記直近要求におけるキー値に更新し、該処理を繰り返す第一のスレッドと、
第二の回線を用いて前記証券システムに対し更新要求を行うスレッドであって、保持しているキー値以前の注文データの更新要求を行い、該処理を繰り返す第二のスレッドとを、処理装置に並列的に処理させる機能とを実現させるためのプログラム。
【請求項3】
証券システムに複数の回線で接続される管理端末における方法において、
要求応答処理により前記証券システムから受信する注文データ及び当該要求応答処理のキー値を記憶装置に保持するステップと、
第一の回線を用いて前記証券システムに対し新規要求を行うスレッドであって、直近の要求から時刻を遡る方向で、保持しているキー値までの新規要求を行い、この新規要求が終了すると、保持しているキー値を前記直近要求におけるキー値に更新し、該処理を繰り返す第一のスレッドと、
第二の回線を用いて前記証券システムに対し更新要求を行うスレッドであって、保持しているキー値以前の注文データの更新要求を行い、該処理を繰り返す第二のスレッドとを、並列的に処理するステップとを有する方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−216024(P2012−216024A)
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願番号】特願2011−80234(P2011−80234)
【出願日】平成23年3月31日(2011.3.31)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)