証券売買システム及び装置
【課題】 証券売買における可用性と高速性とを両立させる。
【解決手段】 実施形態の証券売買システムは、主系と従系が切替え可能で第1記憶部をもつ複数の注文共有装置と、主系と従系が切替え可能で第2記憶部をもつ複数の発注装置とが通信可能となっている。実施形態の各注文共有装置は、第1記憶部内の各電文を主系の発注装置と従系の注文共有装置に送信し、主系の発注装置の障害検出時に、前記各電文を従系の発注装置に送信して当該従系を主系に切替える。実施形態の各発注装置は、前記送信された各電文を第2記憶部に書込む。実施形態の各発注装置は、取引所装置から受信した市況情報から統計値を算出し、主系の場合、統計値によって発注可否を判定する。
【解決手段】 実施形態の証券売買システムは、主系と従系が切替え可能で第1記憶部をもつ複数の注文共有装置と、主系と従系が切替え可能で第2記憶部をもつ複数の発注装置とが通信可能となっている。実施形態の各注文共有装置は、第1記憶部内の各電文を主系の発注装置と従系の注文共有装置に送信し、主系の発注装置の障害検出時に、前記各電文を従系の発注装置に送信して当該従系を主系に切替える。実施形態の各発注装置は、前記送信された各電文を第2記憶部に書込む。実施形態の各発注装置は、取引所装置から受信した市況情報から統計値を算出し、主系の場合、統計値によって発注可否を判定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、証券売買システム及び装置に関する。
【背景技術】
【0002】
従来の証券自動売買システム(以下、証券売買システムという)においては、手動発注用オーダマネジメントシステム(以下、OMSともいう)と一体化され、アルゴリズムをプログラムコードとしてハードコードする方式が用いられている。
【0003】
この種の証券売買システムでは、主に、相場報道を受信してターゲット価格になったら発注するターゲット発注や、注文を分割して発注予約時刻になったら発注するVWAP(Volume Weight Average Price:加重平均価格)発注が行われている。
しかしながら、従来の証券売買システムでは、相場報道の受信及び発注機能をOMSと共通の基盤を用いていることから、OMSが発注処理に介在し、OMS内で注文電文を作成すること等により、相場報道の受信から発注までのレスポンス性能が低いため、不利な価格で約定する場合があるといった不都合がある。
【0004】
また、従来の証券売買システムは、アルゴリズムをハードコードする方式であるため、時価などの単純なAND・OR条件で判定することに加え、アルゴリズムの修正変更が困難なため、トレーダの思惑通りのアルゴリズムを実装することが困難であるという不都合がある。
【0005】
さらに、従来の証券売買システムは、アルゴリズム機能の追加、注文(スライス数)の増加時のスケールアウトが困難であるという不都合がある。
【0006】
一方、最近では、前述した不都合を解決する観点から、証券売買のアルゴリズムを改良したアルゴリズムトレード製品を多数のベンダが販売している。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特許第4330719号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら以上のようなアルゴリズムトレード製品では、通常は何の問題もないが、本発明者の検討によれば、障害時のリカバリ(可用性)を重視すると、高速性が劣り、高速性を重視すると、可用性が劣ってしまう。
【0009】
このため、前述したアルゴリズムトレード製品は、証券売買システムのように可用性(ミッションクリティカル)と高速性(ローレイテンシ)とを両立させる必要があるシステムには不向きと考えられる。
【0010】
本明細書に開示した実施形態は、証券売買における可用性と高速性とを両立し得る証券売買システム及び装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
実施形態の証券売買システムは、主系と従系が切替え可能で第1記憶部をもつ複数の注文共有装置と、主系と従系が切替え可能で第1記憶部をもつ複数の発注装置とが通信可能となっている。
【0012】
実施形態の前記各注文共有装置は、親注文登録装置から受信した親注文登録電文を前記第1記憶部に書込む。
【0013】
実施形態の前記各注文共有装置の子注文作成手段は、前記親注文登録電文から作成した子注文電文を前記第1記憶部に書込む。
【0014】
実施形態の前記各注文共有装置は、前記第1記憶部内の各電文を主系の前記発注装置と従系の前記注文共有装置に送信する。
【0015】
実施形態の前記各注文共有装置の切替え手段は、主系の前記発注装置の障害検出時に、前記各電文を従系の当該発注装置に送信して当該従系を主系に切替える。
【0016】
実施形態の前記各発注装置においては、第2記憶部が、主系の場合、前記親注文登録電文及び前記子注文電文を記憶する。
【0017】
実施形態の前記各発注装置は、前記送信された各電文を前記第2記憶部に書込む。
【0018】
実施形態の前記各発注装置は、取引所装置から受信した市況情報から統計値を算出する。
【0019】
実施形態の前記各発注装置の判定手段は、主系の場合、前記統計値によって前記取引所装置への発注可否を判定する。
【図面の簡単な説明】
【0020】
【図1】一実施形態に係る証券売買システムの概略構成を示す模式図である。
【図2】同実施形態における同システムの構成例を示す機能ブロック図である。
【図3】同実施形態における親注文登録電文の一例を示す模式図である。
【図4】同実施形態における子注文電文の一例を示す模式図である。
【図5】同実施形態における市況情報の一例を示す模式図である。
【図6】同実施形態におけるトリガセットの一例を示す模式図である。
【図7】同実施形態における発注トリガの一例を示す模式図である。
【図8】同実施形態における注文電文(発注ゲートウェイ)の一例を示す模式図である。
【図9】同実施形態における注文電文(取引所)の一例を示す模式図である。
【図10】同実施形態における受付通知(取引所)の一例を示す模式図である。
【図11】同実施形態における受付通知/約定通知(発注ゲートウェイ)の一例を示す模式図である。
【図12】同実施形態における子注文の共有動作を説明するための模式図である。
【図13】同実施形態における発注動作を説明するための模式図である。
【図14】同実施形態における復旧動作の一例を説明するための模式図である。
【図15】同実施形態における復旧動作の他の例を説明するための模式図である。
【発明を実施するための形態】
【0021】
以下、本発明の一実施形態について図面を用いて説明する。なお、以下の各装置は、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
【0022】
図1は一実施形態に係る証券売買システムの概略構成を示す模式図であり、図2は同システムの構成例を示す機能ブロック図である。図3乃至図11は同システムにおける各電文等の情報の一例を示す模式図である。
【0023】
この証券売買システムは、図1及び図2に示すように、OMS(手動発注用オーダマネジメントシステム)装置10に通信可能で主系と従系とが切替え可能な複数のバスケット管理装置(注文共有装置)20A,20Bと、各バスケット管理装置20A,20B及び取引所装置50に通信可能で主系と従系とが切替え可能な複数の子注文管理装置(発注装置)30A,30Bとを備えている。なお、この証券売買システムは、発注ゲートウェイ装置40、親注文記憶装置60及び子注文記憶装置70を更に備えている。但し、各装置40,60,70は、証券売買の可用性と高速性とを最低限両立させればよいという観点からは、省略してもよい。また、各々のバスケット管理装置20A,20Bは、バスケット管理サーバ装置20A,20Bと呼んでもよい。同様に、各々の子注文管理装置30A,30Bは、子注文管理サーバ装置30A,30B又は発注管理サーバ装置30A,30Bと呼んでもよい。また、以下の説明は、主系か従系かを明記する必要がある場合には便宜的に、各バスケット装置20A,20Bのうち、Aの添字を持つ方を主系(常用系、稼働系、ホット系)とし、Bの添字を持つ方を従系(待機系、スタンバイ系)として行う。この添字A,Bと主系、従系との関係は、各子注文管理装置30A,30Bにおいても同様である。
【0024】
ここで、OMS装置10は、親注文登録装置としての機能を含む通常の手動発注用オーダマネジメントシステムの機能を有しており、例えば、トレーダやディーラ等のユーザの操作に応じて作成した親注文登録電文d1を主系のバスケット管理装置20Aに送信する機能と、従系のバスケット管理装置20Bから親注文登録電文d1の受領通知ackを受信する機能とをもっている。
【0025】
補足すると、OMS(Order Management System)とは、注文全般の管理を行うシステムであり、このシステムのサブシステムとしての発注クライアント端末(OMS装置10)、バック系システム、発注ゲートウェイが存在する。OMSは、本実施形態の各管理装置20A,20B,30A,30B,60,70とは独立した存在であり、OMSだけで手動発注のシステムとして完結している。OMSは、主系のバスケット管理装置20Aに対しては、親注文とアルゴリズム(種別とパラメータの指定)を含む親注文登録電文d1の入力部となっている。
【0026】
各バスケット管理装置20A,20Bは、それぞれ記憶部21A,21B、OMS接続部22A,22B、注文約定管理部23A,23B、注文共有部24A,24B、及び取引所接続部25A,25Bを備えている。
【0027】
記憶部(第1記憶部)21A,21Bは、各部22A〜25A,22A〜25Aから読出/書込可能な記憶装置であり、例えば、親注文登録電文d1及び子注文電文d2を記憶する。
【0028】
ここで、親注文登録電文d1は、図3に示すように、親注文を識別する親注文ID、証券の銘柄を識別する銘柄コード、証券の売りか買いかを示す売買、証券売買の数量を示す数量、アルゴリズムトレードに用いるアルゴリズムを識別するアルゴリズム番号、及び識別されたアルゴリズムに用いるアルゴリズムパラメータを含んでいる。
【0029】
子注文電文d2は、図4に示すように、親注文登録電文d1の親注文を分割した子注文を識別する子注文ID、子注文の元となる親注文を識別する親注文ID、子注文の予定時刻を示す予定時刻、受付通知受信フラグ(図示せず)及び取引所に子注文を指示する注文電文(取引所の書式;数量、価格、執行条件は未定)を含んでいる。この子注文電文d2内の注文電文は、次に述べる内容から、注文電文雛形と呼んでもよい。
【0030】
子注文電文d2内の注文電文(雛形)は、取引所装置50が属する取引所の書式のフォーマットに従って作成され、取引所装置50が属する取引所の書式のフォーマットのうち、親注文登録電文d1と共通するデータが設定済みであり、子注文に特有の発注内容が未設定となっている。すなわち、子注文電文d2内の注文電文(雛形)は、予め取引所の書式で電文を作成しておき、必要な情報(子注文に特有の発注内容)だけを後で設定することで発注の高速性を向上させている(高負荷の電文作成を予め行うことで、いざ発注するときには高速に反応できる。)。
【0031】
OMS接続部22A,22Bは、各バスケット管理装置20A,20BとOMS装置10との通信を接続するインタフェースであり、例えば、以下の各機能(f22-1)〜(f22-2)を持っている。
【0032】
(f22-1) 主系の場合、OMS装置10から受信した親注文登録電文d1を記憶部21A,21Bに書込む機能。
【0033】
(f22-2) 従系の場合、記憶部21A,21B及び外部の各注文記憶装置60,70への親注文登録電文d1及び子注文電文d2の書込みが完了すると、当該親注文登録電文の受領通知ackをOMS装置10に返信する機能。
【0034】
注文約定管理部23A,23Bは、例えば、以下の各機能(f23-1)〜(f23-6)をもっている。
【0035】
(f23-1) 主系の場合、記憶部21A,21Bに書込まれた親注文登録電文d1内の売買及び数量を分割して発注するための子注文電文d2を作成すると共に、当該子注文電文d2を記憶部21A,21Bに書込む子注文作成機能。
【0036】
ここで、子注文作成機能(f23-1)は、例えば、以下の2つの機能(f23-1-1)〜(f23-1-2)を含んでいてもよい。
【0037】
(f23-1-1) 子注文電文d2を作成する際に、当該子注文電文d2に含める子注文IDを一意となるように作成する機能。
【0038】
(f23-1-2) 子注文電文d2を作成する際に、当該子注文電文d2に含める注文電文を、取引所装置60が属する取引所の書式のフォーマットに従いつつ、数量、価格及び執行条件を空欄にして作成する機能。
【0039】
(f23-2) 主系の場合、記憶部21A,21Bに書込まれた親注文登録電文d1及び子注文電文d2を主系の子注文管理装置30Aに送信する機能。
【0040】
(f23-3) 主系の場合、主系の子注文管理装置30Aの障害検出時に、記憶部21A,21B内の親注文登録電文d1及び子注文電文d2を従系の当該子注文管理装置30Bに送信して当該従系の子注文管理装置30Bを主系に切替える切替え機能。なお、障害を検出するときとしては、例えば、親注文登録電文d1及び子注文電文d2の送信に応じた受信完了通知を受けなかった場合や、図示しない障害検出手段から障害検出信号を受けた場合などがあり、障害の検出手法については限定されない。
【0041】
ここで、切替え機能は、記憶部21A,21B内の親注文登録電文d1及び子注文電文d2のうち、受付通知受信フラグが立てられていない子注文電文d2と、この子注文電文d2内の親注文IDを含む親注文登録電文d1とを従系の子注文管理装置30Bに送信する機能を含んでいてもよい。
【0042】
(f23-4) 従系の場合、主系のバスケット管理装置20Aから受信した親注文登録電文d1及び子注文電文d2を記憶部21B及び外部の注文記憶装置60,70に書込む機能。
【0043】
(f23-5) 子注文IDを含む受付通知d9を取引所装置50から発注ゲートウェイ装置40及び取引所接続部25A,25Bを介して受信すると、当該子注文IDを含む子注文電文d2を記憶部21A,21Bから検索して当該子注文電文d2内の受付通知受信フラグを立てる機能。
【0044】
(f23-6) 従系のとき、子注文IDを含む受付通知d9を取引所装置50から発注ゲートウェイ装置40及び取引所接続部25A,25Bを介して受信すると、当該子注文IDを含む子注文電文d2を外部の子注文記憶装置70からも検索して当該子注文電文d2内の受付通知受信フラグを立てる機能。
【0045】
注文共有部24A,24Bは、例えば、主系の場合、記憶部21A,21Bに書込まれた親注文登録電文d1及び子注文電文d2を従系のバスケット管理装置20B,20Aに送信する機能をもっている。
【0046】
取引所接続部25A,25Bは、各バスケット管理装置20A,20Bと取引所装置50との通信を接続するインタフェースであり、例えば、子注文IDを含む受付通知d9を取引所装置50から発注ゲートウェイ装置40を介して受信すると、この受付通知d9を注文約定管理部23A,23Bに送出する機能をもっている。
【0047】
補足すると、各バスケット管理装置20A,20Bのうち、主系のバスケット管理装置20Aでは、1つの親注文から1〜n個の子注文への分割処理を行う。また、複数の親注文をまとめたものをバスケットと呼ぶ。
【0048】
各子注文管理装置30A,30Bは、それぞれ記憶部31A,31B、CEP(Complex Event Processing:複合イベント処理)部32A,32B、子注文管理部33A,33B、取引所接続部34A,34Bを備えている。
【0049】
記憶部(第2記憶部)31A,31Bは、各部32A〜34A,32B〜34Bから読出/書込可能な記憶装置であり、例えば、主系の場合、親注文登録電文d1及び子注文電文d2を記憶する。
【0050】
CEP部32A,32Bは、例えば、以下の各機能(f32-1)〜(f32-3)をもっている。
【0051】
(f32-1) 市況情報d3を取引所装置50から受信し、この市況情報d3に基づいて統計値を算出する機能。
【0052】
ここで、市況情報d3は、例えば図5に示すように、市況の時刻を示す時刻、証券の銘柄を識別する銘柄コード、当該証券の現在の価格を示す現値、証券の取引高を示す出来高、証券が売られる予定価格を示す売気配値、証券が売られる予定数量を示す売気配数量、証券が買われる予定価格を示す買気配値、及び証券が買われる予定数量を示す買気配数量を含んでいる。この種の市況情報d3は、例えば東証FLEX等のシステムから受信可能となっている。
【0053】
また、統計値としては、例えば、RSI(Relative Strength Index:相対力指数)などが適宜、使用可能となっている。なお、RSIは、過去の値動き幅に対する上昇幅の割合を数値化したものであり、次式に示すように算出される。
【0054】
RSI=一定期間の上げ幅の合計÷(一定期間の上げ幅の合計+一定期間の下げ幅の合計)×100[%]
但し、統計値としては、RSIに限らず、市況情報に基づいて算出可能な値であれば、任意のものが適用可能となっている。
【0055】
(f32-2) 主系の場合、算出した統計値に基づいて取引所装置50への発注を実行するか否か(発注可否)を判定する判定機能。なお、判定機能(f32-2)としては、算出した統計値と、主系の場合の子注文管理部33Aから送出されたトリガセットd4とが市況情報に合致するか否かに応じて取引所装置50への発注を実行するか否か(発注可否)を判定する機能を設けていてもよい。
【0056】
ここで、トリガセットd4は、発注可の条件を示しており、図6に示すように、子注文を識別する子注文ID、証券の銘柄を識別する銘柄コード、証券の売りか買いかを示す売買、売気配値で売るか買気配値で買うか現値で買うかを示す価格条件、証券売買の数量を示す数量、引けで売買する等の条件を示す執行条件、アルゴリズムトレードに用いるアルゴリズムを識別するアルゴリズム番号、及び識別されたアルゴリズムに用いるアルゴリズムパラメータを含んでいる。
【0057】
(f32-3) 判定機能(f32-2)による判定の結果、発注を実行する場合(発注可の場合)、当該判定に用いた市況情報及びトリガセットd4に基づいて、子注文IDと子注文に特有の発注内容とを含む発注トリガd5を作成し、この発注トリガd5を主系の場合の子注文管理部33Aに送出する機能。
【0058】
ここで、発注トリガd5は、図7に示すように、時刻又は相場を示すトリガ種別、発注した時刻を示す時刻、子注文を識別する子注文ID、証券の銘柄を識別する銘柄コード、証券の売りか買いかを示す売買、証券の価格を示す価格、証券売買の数量を示す数量、及び引けで売買する等の条件を示す執行条件を含んでいる。子注文に特有の発注内容としては、価格、数量及び執行条件が該当する。なお、トリガセットd4及び発注トリガd5は、含まれる情報が少ないことから、プログラムで扱うデータ量を低減でき、発注の高速性を向上させている。
【0059】
子注文管理部33A,33Bは、例えば、以下の各機能(f33-1)〜(f33-3)をもっている。
【0060】
(f33-1) 親注文登録電文d1及び子注文電文d2を主系のバスケット管理装置20Aから受信すると、当該親注文登録電文d1及び当該子注文電文d2を記憶部31A,31Bに書込む機能。
【0061】
(f33-2) 主系の場合、記憶部31A,31B内の親注文登録電文d1及び子注文電文d2に基づいて、図6に示した如き、発注可の条件を示すトリガセットd4を作成し、このトリガセットd4をCEP部32A,32Bに送出する機能。
【0062】
(f33-3) CEP部32A,32Bから送出された発注トリガd5に含まれる(子注文に特有の)発注内容(数量、価格及び執行条件)を子注文電文d2に設定して注文電文d6を作成する機能。
【0063】
ここで、注文電文d6は、図8に示すように、発注ゲートウェイ装置40の宛先アドレスを含む発注ゲートウェイヘッダと、取引所に子注文(新規、訂正、取消)を指示する注文電文(取引所の書式;数量、価格、執行条件は設定済み)を含んでいる。
【0064】
取引所接続部34A,34Bは、各子注文管理装置30A,30Bと取引所装置50との通信を接続するインタフェースであり、例えば、以下の各機能(f34-1)〜(f34-2)をもっている。
【0065】
(f34-1) 子注文管理部33A,33Bにより作成された注文電文d6を発注ゲートウェイ装置40経由で取引所装置50に対して送信する機能。
【0066】
(f34-2) 子注文IDを含む受付通知d9を取引所装置50から発注ゲートウェイ装置40を介して受信すると、この受付通知d9を記憶部31A,31Bに書込む機能。
【0067】
ここで、子注文管理装置30A,30Bについて補足する。
【0068】
主系の子注文管理装置30Aは、子注文を記憶部31Aに保持する。子注文は、取引所の書式そのままに記憶部31Aに展開される。子注文管理部33Aは、CEP部32Aから発注トリガd5を受けたときに、発注トリガd5に含まれる価格、数量、執行条件の部分だけをセットして最終的な注文電文d6とする。予め取引所の書式の注文電文d2を作成しておくことにより、発注トリガd5を受けてから注文電文d6を送信するまでのレイテンシを低く抑えている。また、イベント判断を行うCEP部(CEPサーバ)32Aを同一筐体内に配置している(CEP部32Aについては別筐体に配置することも可能であるが、レイテンシを抑えるためには同一筐体に収めた方がよい。)。また、CEP部32Aは、内部に発注機会を制御するアルゴリズムと子注文IDとを保持し、市況情報(その他、複合的な入力情報を持つ)を入力情報としてアルゴリズムで発注の判定を行い、発注条件を満たす子注文が存在した場合に子注文管理部(子注文管理サーバ)33Aに対して発注トリガd5を送信する。
【0069】
なお、CEP(複合イベント処理)という用語自体は、刻々と収集される市況情報をより短時間で処理できる方式を意味しており、近年、注目されてきている。CEPは、例えば、株のアルゴリズム売買を行うシステムのように、「直前の5分間で株式Aの価格が1%上昇し、株式Bの価格が0.5%下落した時、すぐに株式Cを買う」といった複合的な判断を伴うリアルタイムの処理に適している。
【0070】
発注ゲートウェイ装置40は、各管理装置20A,20B,30A,30Bのネットワークと、取引所装置50のネットワークとの間の通信を接続するゲートウェイであり、例えば、以下の各機能(f40-1)〜(f40-2)をもっている。
【0071】
(f40-1) 主系の子注文管理装置30Aから受信した注文電文d6から取引所装置50宛の注文電文d7を作成し、この注文電文d7を取引所装置50に送信する機能。
【0072】
ここで、注文電文d7は、図9に示すように、注文電文d6の発注ゲートウェイヘッダを取引所ヘッダ(取引所装置50の宛先アドレスを含むヘッダ情報)に置換したものである。
【0073】
(f40-2) 取引所装置50から受信した受付通知d8から発注ゲートウェイ装置40を送信元とした受付通知d9を作成し、この受付通知d9を主系の子注文管理装置30Aと各バスケット管理装置20A,20Bに送信する機能とをもっている。
【0074】
ここで、受信する受付通知d8は、図10に示すように、取引所装置50の送信元アドレスを含む取引所ヘッダと、取引所の書式に沿って記述された受付通知(新規、訂正、取消)とを含んでいる。
【0075】
送信する受付通知d9は、図11に示すように、受付通知d9の取引所ヘッダを発注ゲートウェイヘッダ(発注ゲートウェイ装置40の送信元アドレスを含むヘッダ情報)に置換したものである。なお、受付通知d9に代えて、約定通知又は失効通知を用いる場合もある。
【0076】
ここで、発注ゲートウェイ装置40について補足する。
【0077】
発注ゲートウェイ装置40は、注文を取引所に送信するものであり、証券会社内の通信プロトコルと取引所の通信プロトコルの変換とセッションの維持(全ての回線状態が正常となっている状態の維持)の機能をもっている。
【0078】
取引所装置50は、証券取引所の機能を実行するためのコンピュータであり、例えば、市況情報d3を各子注文管理装置30A,30Bに送信する機能と、発注ゲートウェイ装置から受信した注文電文d7に基づいて、証券売買を実行すると共に、受付通知d8を発注ゲートウェイ装置40に送信する機能とをもっている。
【0079】
補足すると、取引所装置50は、複数の参加者からの注文の付け合わせを行い、売買が成立すると、その結果を返す機能と、売買の状態を示す市況情報を参加者に送信する機能とをもっている。
【0080】
親注文記憶装置60は、各バスケット管理装置20A,20Bから読出可能で従系のバスケット管理装置20Bから書込まれる記憶装置であり、例えば、親注文登録電文d1を記憶する。
【0081】
子注文記憶装置70は、各バスケット管理装置20A,20Bから読出可能で従系のバスケット管理装置20Bから書込まれる記憶装置であり、例えば、子注文電文d2と、発注済注文情報とを記憶する。
【0082】
なお、親注文記憶装置60及び子注文記憶装置70は、1台の記憶装置の異なる記憶領域としても実現してもよく、リレーショナルデータベースとして実現してもよい。また、親注文記憶装置60及び子注文記憶装置70は、データベースと呼んでもよい。
【0083】
次に、以上のように構成された証券売買システムの動作について図12乃至図15の模式図を用いて説明する。
【0084】
始めに、親注文及び子注文の共有動作について図12を参照して述べる。
【0085】
OMS装置10は、ユーザの操作に応じて作成した親注文登録電文d1を主系のバスケット管理装置20Aに送信する。
【0086】
主系のバスケット管理装置20Aにおいては、OMS接続部22A,22Bが、受信した親注文登録電文d1を記憶部21A,21Bに書込む。
【0087】
次に、主系のバスケット管理装置20Aにおいては、注文約定管理部23Aが、記憶部21Aに書込まれた親注文登録電文d1内の売買及び数量を分割して発注するための子注文電文d2を取引所の書式のフォーマットに従いつつ、数量、価格及び執行条件を空欄にして作成すると共に、当該子注文電文d2を記憶部21A,21Bに書込む。なお、注文約定管理部23Aは、記憶部21Aに書込まれた親注文登録電文d1及び子注文電文d2を主系の子注文管理装置30Aに送信する。主系の子注文管理装置30Aは、子注文管理部33Aが、受信した親注文登録電文d1及び子注文電文d2を記憶部31A,31Bに書込む。
【0088】
また、主系のバスケット管理装置20Aの注文共有部24Aは、記憶部21Aに書込まれた親注文登録電文d1及び子注文電文d2を従系のバスケット管理装置20Bに送信する。
【0089】
従系のバスケット管理装置20Bにおいては、注文約定管理部23Bが、注文共有部24Bを介して受信した親注文登録電文d1及び子注文電文d2を記憶部21B及び外部の注文記憶装置60,70に書込む。
【0090】
また、従系のバスケット管理装置20Bにおいては、OMS接続部22Bが、注文約定管理部23による書込みが完了すると、当該親注文登録電文の受領通知ackをOMS装置10に返信する。
【0091】
このように、親注文登録電文d1及び子注文電文d2は、図12に示すように、可用性を重視する共有動作により、それぞれ同期をとりながら各装置20A,20B,30A,60,70間で共有される。
【0092】
続いて、注文の共有動作後の発注動作について図13を参照して述べる。
【0093】
主系の子注文管理装置30Aにおいては、CEP部32Aが、市況情報d3を取引所装置50から受信し、この市況情報d3に基づいて統計値を算出する。なお、図示しないが、後述する高速な復旧動作に備え、従系の子注文管理装置30Bにおいても、CEP部32Bが、市況情報d3を取引所装置50から受信し、この市況情報d3に基づいて統計値を算出している。
【0094】
さて、主系の子注文管理装置30Aにおいては、子注文管理部33Aが記憶部31A,31B内の親注文登録電文d1及び子注文電文d2に基づいて、トリガセットd4を作成し、このトリガセットd4をCEP部32Aに送出する。
【0095】
主系の子注文管理装置30AのCEP部32Aは、算出した統計値と、主系の場合の子注文管理部33Aから送出されたトリガセットd4とが市況情報に合致するか否かに応じて取引所装置50への発注を実行するか否かを判定する。
【0096】
この判定の結果、発注を実行する場合、CEP部32Aは、当該判定に用いた市況情報及びトリガセットd4に基づいて、発注トリガd5を作成し、この発注トリガd5を子注文管理部33Aに送出する。
【0097】
主系の子注文管理装置30Aの子注文管理部33Aは、発注トリガd5に含まれる数量、価格及び執行条件を子注文電文d2に設定して注文電文d6を作成し、この注文電文d6を取引所接続部34Aに送出する。
【0098】
主系の子注文管理装置30Aの取引所接続部34Aは、この注文電文d6を発注ゲートウェイ装置40経由で取引所装置50に対して送信する。
【0099】
このように、主系の子注文管理装置30Aにおいて、CEP部32Aが発注判定を行い、子注文管理部33Aが注文電文d6を作成する構成により、高速性を重視した動作を実現することができる。
【0100】
また、取引所装置50は、受け付けた注文電文d6により証券売買処理を実行し、受付通知d8を発注ゲートウェイ装置40に送信する。発注ゲートウェイ装置40は、受信した受付通知d8から発注ゲートウェイ装置40を送信元とした受付通知d9を作成し、この受付通知d9を主系の子注文管理装置30Aと各バスケット管理装置20A,20Bに送信する。
【0101】
主系の子注文管理装置30Aでは、取引所接続部34Aが、受信した受付通知d9を記憶部31A,31Bに書込む。
【0102】
各バスケット管理装置20A,20Bは、注文約定管理部23A,23Bが、子注文IDを含む受付通知d9を受信すると、当該子注文IDを含む子注文電文d2を記憶部21A,21Bから検索して当該子注文電文d2内の受付通知受信フラグ(図示せず)を立てる。また、従系の注文約定管理部23Bは、当該子注文IDを含む子注文電文d2を外部の子注文記憶装置70からも検索し、得られた当該子注文電文d2内の受付通知受信フラグを立てる。
【0103】
次に、発注動作後の復旧動作について図14を参照して述べる。
【0104】
いま、主系の子注文管理装置30Aに障害が発生したとする。
【0105】
主系のバスケット管理装置20Aにおいては、注文約定管理部23Aが、例えば、親注文登録電文d1及び子注文電文d2を主系の子注文管理装置30Aに送信した後、主系の子注文管理装置30Aの障害を検出したとする。
【0106】
この障害検出時には、主系のバスケット管理装置20Aの注文約定管理部23Aは、従系の子注文管理装置30Bを主系に切替えるように、記憶部21A,21B内の親注文登録電文d1及び子注文電文d2を従系の当該子注文管理装置30Bに送信する。
【0107】
例えば、主系のバスケット管理装置20Aの注文約定管理部23Aは、記憶部21A,21B内の親注文登録電文d1及び子注文電文d2のうち、受付通知d9に基づく受付通知受信フラグが立てられていない子注文電文d2と、この子注文電文d2内の親注文IDを含む親注文登録電文d1とを従系の子注文管理装置30Bに送信する。
【0108】
従系の子注文管理装置30Bにおいては、子注文電文d2及び親注文登録電文d1を受信すると、前述した統計値を算出している状態から主系に切り替わる。
【0109】
主系に切り替わった子注文管理装置30Bは、前述した発注動作と同様の動作を継続して実行する。
【0110】
なお、このような復旧動作において、仮に主系のバスケット管理装置20Aにも障害が発生した場合、図15に示すように、従系のバスケット管理装置20Bの注文約定管理部23Aが、前述同様に、従系の子注文管理装置30Bを主系に切替えるように、記憶部21A,21B内の親注文登録電文d1及び子注文電文d2を従系の当該子注文管理装置30Bに送信することにより、発注動作を復旧させる。
【0111】
上述したように本実施形態によれば、主系及び従系のバスケット管理装置20A,20Bと、主系及び従系の子注文管理装置30A,30Bとを備えた構成により、証券売買における可用性を実現させることができる。また、主系の子注文管理装置20Aにおいて、発注判定を行うCEP部32Aと、注文電文を作成する子注文管理部33Aとを分離した構成により、証券売買における高速性を実現させることができる。
【0112】
従って、本実施形態によれば、証券売買における可用性と高速性とを両立させることができる。
【0113】
補足すると、一般に、CEPサーバ(CEP部32Aに対応)は、市況情報をイベント受信して発注判定を行うようなアルゴリズムトレードを行うことが多いが、障害が発生した場合でも、スタンバイ側(従系に対応)でイベント受信による発注判定を継続する必要がある。アルゴリズムトレードでは当日の取引所オープンからの市況情報を受信することにより、RSI等のような統計計算をして発注判定するようなものもあり、複数のCEPサーバで市況情報を受信して統計計算を行い、最新統計値を複数のCEPサーバで保持する必要がある。また、市況情報を差分受信するため、市況最新値も複数のCEPサーバで受信する必要がある。
【0114】
これに対し、本実施形態では、市況情報を主系及び従系のCEP部32A,32Bで受信し、障害検出時には、主系のCEP部32Aの発注予定の子注文電文d2(とその親注文登録電文d1)を、主系のバスケット管理装置20Aから従系の子注文管理装置20Bに送信することにより、従系のCEP部23Bが主系に昇格する。これにより、主系となったCEP部32Bは、最新の市況情報と統計値に基づいて発注判定を継続することができる。なお、図示しない証券会社サイト装置で市況情報を全件受信して市況履歴としてメモリに保持しておき、従系のCEP部32Bにも障害が発生した場合でも、メモリ内の市況履歴から最新の市況情報をリカバリできるようにしてもよい。
【0115】
また、本実施形態においては、市況情報から発注判定を行うCEPサーバ機能をもつCEP部32Aと、子注文管理機能をもつ子注文管理部33Aとを分離し、CEP部32Aが発注判定に特化している。また、子注文管理部33Aは、取引所電文形式(取引所の書式)の子注文電文d2を管理し、CEP部32Aから発注トリガd5を受信したタイミングで価格、数量などを子注文電文d2に設定して即座に注文電文d3を発注ゲートウェイ装置40に送信して取引所に執行するので、高速性(ローレイテンシ)を実現することができる。なお、発注トリガd5を判定する機能は、所望のベンダのイベント処理エンジンが使用可能となっている。また、イベント処理エンジン及び、記載されるアルゴリズムに無関係に、注文電文d2,d3,d4のメッセージフォーマットを共通とすることにより、子注文管理部33Aは、イベント処理エンジン及びアルゴリズムロジックに無関係に注文電文d3を発注ゲートウェイ装置40に送信することができる。これに加え、発注ゲートウェイ装置40は、OMSを介さず、直接に取引所装置50に注文電文d4を送信するので、更に高速性を向上させることができる。
【0116】
さらに、本実施形態においては、親注文登録電文d1を主系の子注文管理装置30A以外にも各バスケット管理装置20A,20Bや親注文記憶装置60に保持している。このため、各注文記憶装置60,70の障害時には各バスケット管理装置20A,20Bにより動作が継続される。また、一方のバスケット管理装置20A,20Bの障害時には他方のバスケット管理装置20B,20Aにより動作が継続される。さらに、両方のバスケット管理装置20A,20Bの障害時には、各注文管理装置60,70内の親注文登録電文d1及び子注文電文d2により動作が継続される。なお、バスケット管理装置20A,20Bを三重構成とすることも可能である。
【0117】
また、本実施形態においては、主系のバスケット管理装置20Aから受信した親注文登録電文d1及び子注文電文d2を従系のバスケット管理装置20Bが保持して受領通知あckをOMS装置10に送信するので、従系のバスケット管理装置20Bへの注文共有動作の確実性を保証することができる。また、従系のバスケット管理装置20Bが親注文登録電文d1及び子注文電文d2を各注文記憶装置60,70に書込むので、主系のバスケット管理装置20Aに対して負荷分散を実現することができる。
【0118】
さらに、本実施形態においては、主系のバスケット管理装置20Aが子注文電文d2を取引所の書式のフォーマットに従いつつ、数量、価格及び執行条件を空欄(未設定)にして作成するので、発注時に注文電文d3を編集する負荷を軽減して応答時間を短縮させることができる。また、予め高負荷の電文作成を行っておき、必要な情報だけを後から設定することに加え、トリガセットd4及び発注トリガd5の情報が少ないことによっても、高速性を向上させている。
【0119】
また、本実施形態によれば、主系の子注文管理装置30Aと各バスケット管理装置20A,20Bが取引所の受付通知d9に基づく受付通知受信フラグを用いて発注済みを管理するので、注文の抜けや二重発注を防止でき、確実に発注未済を管理することができる。これに伴い、主系の子注文管理装置30Aの障害検出時に、従系の子注文管理装置30Bに未発注の子注文電文d2を主系のバスケット管理装置20Aが送信することができる。なお、主系及び従系の子注文管理装置30A,30Bは、市況情報と統計計算とを行っているため、発注判定の材料となるデータソースが主系であっても従系であっても、常に最新状態が維持されている。従系の子注文管理装置30Bは、主系に昇格した場合に、市況情報の最新値で発注判定を開始するが、このとき、子注文電文内の受付通知受信フラグをチェックして二重発注と発注漏れを防止することができる。
【0120】
さらに、本実施形態によれば、上述した可用性と高速性を両立させるアルゴリズム基盤を提供することができる。また、アルゴリズムエンジンに所望のベンダの製品を使用可能となっている。また、所望のベンダの製品を容易に組み込み可能であるため、ユーザの選択したアルゴリズム構築手段でアルゴリズムロジックを組み込むことができ、トレーダの思惑どおりのアルゴリズムを容易に実装することができる。
【0121】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0122】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0123】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
【0124】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0125】
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0126】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0127】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0128】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0129】
10…OMS装置、20A,20B…バスケット管理装置、21A,21B,31A,31B…記憶部、22A,22B…OMS接続部、23A,23B…注文約定管理部、24A,24B…注文共有部、25A,25B,34A,34B…取引所接続部、30A,30B…子注文管理装置、32A,32B…CEP部、33A,33B…子注文管理部、40…発注ゲートウェイ装置、50…取引所装置、60…親注文記憶装置、70…子注文記憶装置。
【技術分野】
【0001】
本発明の実施形態は、証券売買システム及び装置に関する。
【背景技術】
【0002】
従来の証券自動売買システム(以下、証券売買システムという)においては、手動発注用オーダマネジメントシステム(以下、OMSともいう)と一体化され、アルゴリズムをプログラムコードとしてハードコードする方式が用いられている。
【0003】
この種の証券売買システムでは、主に、相場報道を受信してターゲット価格になったら発注するターゲット発注や、注文を分割して発注予約時刻になったら発注するVWAP(Volume Weight Average Price:加重平均価格)発注が行われている。
しかしながら、従来の証券売買システムでは、相場報道の受信及び発注機能をOMSと共通の基盤を用いていることから、OMSが発注処理に介在し、OMS内で注文電文を作成すること等により、相場報道の受信から発注までのレスポンス性能が低いため、不利な価格で約定する場合があるといった不都合がある。
【0004】
また、従来の証券売買システムは、アルゴリズムをハードコードする方式であるため、時価などの単純なAND・OR条件で判定することに加え、アルゴリズムの修正変更が困難なため、トレーダの思惑通りのアルゴリズムを実装することが困難であるという不都合がある。
【0005】
さらに、従来の証券売買システムは、アルゴリズム機能の追加、注文(スライス数)の増加時のスケールアウトが困難であるという不都合がある。
【0006】
一方、最近では、前述した不都合を解決する観点から、証券売買のアルゴリズムを改良したアルゴリズムトレード製品を多数のベンダが販売している。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特許第4330719号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら以上のようなアルゴリズムトレード製品では、通常は何の問題もないが、本発明者の検討によれば、障害時のリカバリ(可用性)を重視すると、高速性が劣り、高速性を重視すると、可用性が劣ってしまう。
【0009】
このため、前述したアルゴリズムトレード製品は、証券売買システムのように可用性(ミッションクリティカル)と高速性(ローレイテンシ)とを両立させる必要があるシステムには不向きと考えられる。
【0010】
本明細書に開示した実施形態は、証券売買における可用性と高速性とを両立し得る証券売買システム及び装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
実施形態の証券売買システムは、主系と従系が切替え可能で第1記憶部をもつ複数の注文共有装置と、主系と従系が切替え可能で第1記憶部をもつ複数の発注装置とが通信可能となっている。
【0012】
実施形態の前記各注文共有装置は、親注文登録装置から受信した親注文登録電文を前記第1記憶部に書込む。
【0013】
実施形態の前記各注文共有装置の子注文作成手段は、前記親注文登録電文から作成した子注文電文を前記第1記憶部に書込む。
【0014】
実施形態の前記各注文共有装置は、前記第1記憶部内の各電文を主系の前記発注装置と従系の前記注文共有装置に送信する。
【0015】
実施形態の前記各注文共有装置の切替え手段は、主系の前記発注装置の障害検出時に、前記各電文を従系の当該発注装置に送信して当該従系を主系に切替える。
【0016】
実施形態の前記各発注装置においては、第2記憶部が、主系の場合、前記親注文登録電文及び前記子注文電文を記憶する。
【0017】
実施形態の前記各発注装置は、前記送信された各電文を前記第2記憶部に書込む。
【0018】
実施形態の前記各発注装置は、取引所装置から受信した市況情報から統計値を算出する。
【0019】
実施形態の前記各発注装置の判定手段は、主系の場合、前記統計値によって前記取引所装置への発注可否を判定する。
【図面の簡単な説明】
【0020】
【図1】一実施形態に係る証券売買システムの概略構成を示す模式図である。
【図2】同実施形態における同システムの構成例を示す機能ブロック図である。
【図3】同実施形態における親注文登録電文の一例を示す模式図である。
【図4】同実施形態における子注文電文の一例を示す模式図である。
【図5】同実施形態における市況情報の一例を示す模式図である。
【図6】同実施形態におけるトリガセットの一例を示す模式図である。
【図7】同実施形態における発注トリガの一例を示す模式図である。
【図8】同実施形態における注文電文(発注ゲートウェイ)の一例を示す模式図である。
【図9】同実施形態における注文電文(取引所)の一例を示す模式図である。
【図10】同実施形態における受付通知(取引所)の一例を示す模式図である。
【図11】同実施形態における受付通知/約定通知(発注ゲートウェイ)の一例を示す模式図である。
【図12】同実施形態における子注文の共有動作を説明するための模式図である。
【図13】同実施形態における発注動作を説明するための模式図である。
【図14】同実施形態における復旧動作の一例を説明するための模式図である。
【図15】同実施形態における復旧動作の他の例を説明するための模式図である。
【発明を実施するための形態】
【0021】
以下、本発明の一実施形態について図面を用いて説明する。なお、以下の各装置は、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
【0022】
図1は一実施形態に係る証券売買システムの概略構成を示す模式図であり、図2は同システムの構成例を示す機能ブロック図である。図3乃至図11は同システムにおける各電文等の情報の一例を示す模式図である。
【0023】
この証券売買システムは、図1及び図2に示すように、OMS(手動発注用オーダマネジメントシステム)装置10に通信可能で主系と従系とが切替え可能な複数のバスケット管理装置(注文共有装置)20A,20Bと、各バスケット管理装置20A,20B及び取引所装置50に通信可能で主系と従系とが切替え可能な複数の子注文管理装置(発注装置)30A,30Bとを備えている。なお、この証券売買システムは、発注ゲートウェイ装置40、親注文記憶装置60及び子注文記憶装置70を更に備えている。但し、各装置40,60,70は、証券売買の可用性と高速性とを最低限両立させればよいという観点からは、省略してもよい。また、各々のバスケット管理装置20A,20Bは、バスケット管理サーバ装置20A,20Bと呼んでもよい。同様に、各々の子注文管理装置30A,30Bは、子注文管理サーバ装置30A,30B又は発注管理サーバ装置30A,30Bと呼んでもよい。また、以下の説明は、主系か従系かを明記する必要がある場合には便宜的に、各バスケット装置20A,20Bのうち、Aの添字を持つ方を主系(常用系、稼働系、ホット系)とし、Bの添字を持つ方を従系(待機系、スタンバイ系)として行う。この添字A,Bと主系、従系との関係は、各子注文管理装置30A,30Bにおいても同様である。
【0024】
ここで、OMS装置10は、親注文登録装置としての機能を含む通常の手動発注用オーダマネジメントシステムの機能を有しており、例えば、トレーダやディーラ等のユーザの操作に応じて作成した親注文登録電文d1を主系のバスケット管理装置20Aに送信する機能と、従系のバスケット管理装置20Bから親注文登録電文d1の受領通知ackを受信する機能とをもっている。
【0025】
補足すると、OMS(Order Management System)とは、注文全般の管理を行うシステムであり、このシステムのサブシステムとしての発注クライアント端末(OMS装置10)、バック系システム、発注ゲートウェイが存在する。OMSは、本実施形態の各管理装置20A,20B,30A,30B,60,70とは独立した存在であり、OMSだけで手動発注のシステムとして完結している。OMSは、主系のバスケット管理装置20Aに対しては、親注文とアルゴリズム(種別とパラメータの指定)を含む親注文登録電文d1の入力部となっている。
【0026】
各バスケット管理装置20A,20Bは、それぞれ記憶部21A,21B、OMS接続部22A,22B、注文約定管理部23A,23B、注文共有部24A,24B、及び取引所接続部25A,25Bを備えている。
【0027】
記憶部(第1記憶部)21A,21Bは、各部22A〜25A,22A〜25Aから読出/書込可能な記憶装置であり、例えば、親注文登録電文d1及び子注文電文d2を記憶する。
【0028】
ここで、親注文登録電文d1は、図3に示すように、親注文を識別する親注文ID、証券の銘柄を識別する銘柄コード、証券の売りか買いかを示す売買、証券売買の数量を示す数量、アルゴリズムトレードに用いるアルゴリズムを識別するアルゴリズム番号、及び識別されたアルゴリズムに用いるアルゴリズムパラメータを含んでいる。
【0029】
子注文電文d2は、図4に示すように、親注文登録電文d1の親注文を分割した子注文を識別する子注文ID、子注文の元となる親注文を識別する親注文ID、子注文の予定時刻を示す予定時刻、受付通知受信フラグ(図示せず)及び取引所に子注文を指示する注文電文(取引所の書式;数量、価格、執行条件は未定)を含んでいる。この子注文電文d2内の注文電文は、次に述べる内容から、注文電文雛形と呼んでもよい。
【0030】
子注文電文d2内の注文電文(雛形)は、取引所装置50が属する取引所の書式のフォーマットに従って作成され、取引所装置50が属する取引所の書式のフォーマットのうち、親注文登録電文d1と共通するデータが設定済みであり、子注文に特有の発注内容が未設定となっている。すなわち、子注文電文d2内の注文電文(雛形)は、予め取引所の書式で電文を作成しておき、必要な情報(子注文に特有の発注内容)だけを後で設定することで発注の高速性を向上させている(高負荷の電文作成を予め行うことで、いざ発注するときには高速に反応できる。)。
【0031】
OMS接続部22A,22Bは、各バスケット管理装置20A,20BとOMS装置10との通信を接続するインタフェースであり、例えば、以下の各機能(f22-1)〜(f22-2)を持っている。
【0032】
(f22-1) 主系の場合、OMS装置10から受信した親注文登録電文d1を記憶部21A,21Bに書込む機能。
【0033】
(f22-2) 従系の場合、記憶部21A,21B及び外部の各注文記憶装置60,70への親注文登録電文d1及び子注文電文d2の書込みが完了すると、当該親注文登録電文の受領通知ackをOMS装置10に返信する機能。
【0034】
注文約定管理部23A,23Bは、例えば、以下の各機能(f23-1)〜(f23-6)をもっている。
【0035】
(f23-1) 主系の場合、記憶部21A,21Bに書込まれた親注文登録電文d1内の売買及び数量を分割して発注するための子注文電文d2を作成すると共に、当該子注文電文d2を記憶部21A,21Bに書込む子注文作成機能。
【0036】
ここで、子注文作成機能(f23-1)は、例えば、以下の2つの機能(f23-1-1)〜(f23-1-2)を含んでいてもよい。
【0037】
(f23-1-1) 子注文電文d2を作成する際に、当該子注文電文d2に含める子注文IDを一意となるように作成する機能。
【0038】
(f23-1-2) 子注文電文d2を作成する際に、当該子注文電文d2に含める注文電文を、取引所装置60が属する取引所の書式のフォーマットに従いつつ、数量、価格及び執行条件を空欄にして作成する機能。
【0039】
(f23-2) 主系の場合、記憶部21A,21Bに書込まれた親注文登録電文d1及び子注文電文d2を主系の子注文管理装置30Aに送信する機能。
【0040】
(f23-3) 主系の場合、主系の子注文管理装置30Aの障害検出時に、記憶部21A,21B内の親注文登録電文d1及び子注文電文d2を従系の当該子注文管理装置30Bに送信して当該従系の子注文管理装置30Bを主系に切替える切替え機能。なお、障害を検出するときとしては、例えば、親注文登録電文d1及び子注文電文d2の送信に応じた受信完了通知を受けなかった場合や、図示しない障害検出手段から障害検出信号を受けた場合などがあり、障害の検出手法については限定されない。
【0041】
ここで、切替え機能は、記憶部21A,21B内の親注文登録電文d1及び子注文電文d2のうち、受付通知受信フラグが立てられていない子注文電文d2と、この子注文電文d2内の親注文IDを含む親注文登録電文d1とを従系の子注文管理装置30Bに送信する機能を含んでいてもよい。
【0042】
(f23-4) 従系の場合、主系のバスケット管理装置20Aから受信した親注文登録電文d1及び子注文電文d2を記憶部21B及び外部の注文記憶装置60,70に書込む機能。
【0043】
(f23-5) 子注文IDを含む受付通知d9を取引所装置50から発注ゲートウェイ装置40及び取引所接続部25A,25Bを介して受信すると、当該子注文IDを含む子注文電文d2を記憶部21A,21Bから検索して当該子注文電文d2内の受付通知受信フラグを立てる機能。
【0044】
(f23-6) 従系のとき、子注文IDを含む受付通知d9を取引所装置50から発注ゲートウェイ装置40及び取引所接続部25A,25Bを介して受信すると、当該子注文IDを含む子注文電文d2を外部の子注文記憶装置70からも検索して当該子注文電文d2内の受付通知受信フラグを立てる機能。
【0045】
注文共有部24A,24Bは、例えば、主系の場合、記憶部21A,21Bに書込まれた親注文登録電文d1及び子注文電文d2を従系のバスケット管理装置20B,20Aに送信する機能をもっている。
【0046】
取引所接続部25A,25Bは、各バスケット管理装置20A,20Bと取引所装置50との通信を接続するインタフェースであり、例えば、子注文IDを含む受付通知d9を取引所装置50から発注ゲートウェイ装置40を介して受信すると、この受付通知d9を注文約定管理部23A,23Bに送出する機能をもっている。
【0047】
補足すると、各バスケット管理装置20A,20Bのうち、主系のバスケット管理装置20Aでは、1つの親注文から1〜n個の子注文への分割処理を行う。また、複数の親注文をまとめたものをバスケットと呼ぶ。
【0048】
各子注文管理装置30A,30Bは、それぞれ記憶部31A,31B、CEP(Complex Event Processing:複合イベント処理)部32A,32B、子注文管理部33A,33B、取引所接続部34A,34Bを備えている。
【0049】
記憶部(第2記憶部)31A,31Bは、各部32A〜34A,32B〜34Bから読出/書込可能な記憶装置であり、例えば、主系の場合、親注文登録電文d1及び子注文電文d2を記憶する。
【0050】
CEP部32A,32Bは、例えば、以下の各機能(f32-1)〜(f32-3)をもっている。
【0051】
(f32-1) 市況情報d3を取引所装置50から受信し、この市況情報d3に基づいて統計値を算出する機能。
【0052】
ここで、市況情報d3は、例えば図5に示すように、市況の時刻を示す時刻、証券の銘柄を識別する銘柄コード、当該証券の現在の価格を示す現値、証券の取引高を示す出来高、証券が売られる予定価格を示す売気配値、証券が売られる予定数量を示す売気配数量、証券が買われる予定価格を示す買気配値、及び証券が買われる予定数量を示す買気配数量を含んでいる。この種の市況情報d3は、例えば東証FLEX等のシステムから受信可能となっている。
【0053】
また、統計値としては、例えば、RSI(Relative Strength Index:相対力指数)などが適宜、使用可能となっている。なお、RSIは、過去の値動き幅に対する上昇幅の割合を数値化したものであり、次式に示すように算出される。
【0054】
RSI=一定期間の上げ幅の合計÷(一定期間の上げ幅の合計+一定期間の下げ幅の合計)×100[%]
但し、統計値としては、RSIに限らず、市況情報に基づいて算出可能な値であれば、任意のものが適用可能となっている。
【0055】
(f32-2) 主系の場合、算出した統計値に基づいて取引所装置50への発注を実行するか否か(発注可否)を判定する判定機能。なお、判定機能(f32-2)としては、算出した統計値と、主系の場合の子注文管理部33Aから送出されたトリガセットd4とが市況情報に合致するか否かに応じて取引所装置50への発注を実行するか否か(発注可否)を判定する機能を設けていてもよい。
【0056】
ここで、トリガセットd4は、発注可の条件を示しており、図6に示すように、子注文を識別する子注文ID、証券の銘柄を識別する銘柄コード、証券の売りか買いかを示す売買、売気配値で売るか買気配値で買うか現値で買うかを示す価格条件、証券売買の数量を示す数量、引けで売買する等の条件を示す執行条件、アルゴリズムトレードに用いるアルゴリズムを識別するアルゴリズム番号、及び識別されたアルゴリズムに用いるアルゴリズムパラメータを含んでいる。
【0057】
(f32-3) 判定機能(f32-2)による判定の結果、発注を実行する場合(発注可の場合)、当該判定に用いた市況情報及びトリガセットd4に基づいて、子注文IDと子注文に特有の発注内容とを含む発注トリガd5を作成し、この発注トリガd5を主系の場合の子注文管理部33Aに送出する機能。
【0058】
ここで、発注トリガd5は、図7に示すように、時刻又は相場を示すトリガ種別、発注した時刻を示す時刻、子注文を識別する子注文ID、証券の銘柄を識別する銘柄コード、証券の売りか買いかを示す売買、証券の価格を示す価格、証券売買の数量を示す数量、及び引けで売買する等の条件を示す執行条件を含んでいる。子注文に特有の発注内容としては、価格、数量及び執行条件が該当する。なお、トリガセットd4及び発注トリガd5は、含まれる情報が少ないことから、プログラムで扱うデータ量を低減でき、発注の高速性を向上させている。
【0059】
子注文管理部33A,33Bは、例えば、以下の各機能(f33-1)〜(f33-3)をもっている。
【0060】
(f33-1) 親注文登録電文d1及び子注文電文d2を主系のバスケット管理装置20Aから受信すると、当該親注文登録電文d1及び当該子注文電文d2を記憶部31A,31Bに書込む機能。
【0061】
(f33-2) 主系の場合、記憶部31A,31B内の親注文登録電文d1及び子注文電文d2に基づいて、図6に示した如き、発注可の条件を示すトリガセットd4を作成し、このトリガセットd4をCEP部32A,32Bに送出する機能。
【0062】
(f33-3) CEP部32A,32Bから送出された発注トリガd5に含まれる(子注文に特有の)発注内容(数量、価格及び執行条件)を子注文電文d2に設定して注文電文d6を作成する機能。
【0063】
ここで、注文電文d6は、図8に示すように、発注ゲートウェイ装置40の宛先アドレスを含む発注ゲートウェイヘッダと、取引所に子注文(新規、訂正、取消)を指示する注文電文(取引所の書式;数量、価格、執行条件は設定済み)を含んでいる。
【0064】
取引所接続部34A,34Bは、各子注文管理装置30A,30Bと取引所装置50との通信を接続するインタフェースであり、例えば、以下の各機能(f34-1)〜(f34-2)をもっている。
【0065】
(f34-1) 子注文管理部33A,33Bにより作成された注文電文d6を発注ゲートウェイ装置40経由で取引所装置50に対して送信する機能。
【0066】
(f34-2) 子注文IDを含む受付通知d9を取引所装置50から発注ゲートウェイ装置40を介して受信すると、この受付通知d9を記憶部31A,31Bに書込む機能。
【0067】
ここで、子注文管理装置30A,30Bについて補足する。
【0068】
主系の子注文管理装置30Aは、子注文を記憶部31Aに保持する。子注文は、取引所の書式そのままに記憶部31Aに展開される。子注文管理部33Aは、CEP部32Aから発注トリガd5を受けたときに、発注トリガd5に含まれる価格、数量、執行条件の部分だけをセットして最終的な注文電文d6とする。予め取引所の書式の注文電文d2を作成しておくことにより、発注トリガd5を受けてから注文電文d6を送信するまでのレイテンシを低く抑えている。また、イベント判断を行うCEP部(CEPサーバ)32Aを同一筐体内に配置している(CEP部32Aについては別筐体に配置することも可能であるが、レイテンシを抑えるためには同一筐体に収めた方がよい。)。また、CEP部32Aは、内部に発注機会を制御するアルゴリズムと子注文IDとを保持し、市況情報(その他、複合的な入力情報を持つ)を入力情報としてアルゴリズムで発注の判定を行い、発注条件を満たす子注文が存在した場合に子注文管理部(子注文管理サーバ)33Aに対して発注トリガd5を送信する。
【0069】
なお、CEP(複合イベント処理)という用語自体は、刻々と収集される市況情報をより短時間で処理できる方式を意味しており、近年、注目されてきている。CEPは、例えば、株のアルゴリズム売買を行うシステムのように、「直前の5分間で株式Aの価格が1%上昇し、株式Bの価格が0.5%下落した時、すぐに株式Cを買う」といった複合的な判断を伴うリアルタイムの処理に適している。
【0070】
発注ゲートウェイ装置40は、各管理装置20A,20B,30A,30Bのネットワークと、取引所装置50のネットワークとの間の通信を接続するゲートウェイであり、例えば、以下の各機能(f40-1)〜(f40-2)をもっている。
【0071】
(f40-1) 主系の子注文管理装置30Aから受信した注文電文d6から取引所装置50宛の注文電文d7を作成し、この注文電文d7を取引所装置50に送信する機能。
【0072】
ここで、注文電文d7は、図9に示すように、注文電文d6の発注ゲートウェイヘッダを取引所ヘッダ(取引所装置50の宛先アドレスを含むヘッダ情報)に置換したものである。
【0073】
(f40-2) 取引所装置50から受信した受付通知d8から発注ゲートウェイ装置40を送信元とした受付通知d9を作成し、この受付通知d9を主系の子注文管理装置30Aと各バスケット管理装置20A,20Bに送信する機能とをもっている。
【0074】
ここで、受信する受付通知d8は、図10に示すように、取引所装置50の送信元アドレスを含む取引所ヘッダと、取引所の書式に沿って記述された受付通知(新規、訂正、取消)とを含んでいる。
【0075】
送信する受付通知d9は、図11に示すように、受付通知d9の取引所ヘッダを発注ゲートウェイヘッダ(発注ゲートウェイ装置40の送信元アドレスを含むヘッダ情報)に置換したものである。なお、受付通知d9に代えて、約定通知又は失効通知を用いる場合もある。
【0076】
ここで、発注ゲートウェイ装置40について補足する。
【0077】
発注ゲートウェイ装置40は、注文を取引所に送信するものであり、証券会社内の通信プロトコルと取引所の通信プロトコルの変換とセッションの維持(全ての回線状態が正常となっている状態の維持)の機能をもっている。
【0078】
取引所装置50は、証券取引所の機能を実行するためのコンピュータであり、例えば、市況情報d3を各子注文管理装置30A,30Bに送信する機能と、発注ゲートウェイ装置から受信した注文電文d7に基づいて、証券売買を実行すると共に、受付通知d8を発注ゲートウェイ装置40に送信する機能とをもっている。
【0079】
補足すると、取引所装置50は、複数の参加者からの注文の付け合わせを行い、売買が成立すると、その結果を返す機能と、売買の状態を示す市況情報を参加者に送信する機能とをもっている。
【0080】
親注文記憶装置60は、各バスケット管理装置20A,20Bから読出可能で従系のバスケット管理装置20Bから書込まれる記憶装置であり、例えば、親注文登録電文d1を記憶する。
【0081】
子注文記憶装置70は、各バスケット管理装置20A,20Bから読出可能で従系のバスケット管理装置20Bから書込まれる記憶装置であり、例えば、子注文電文d2と、発注済注文情報とを記憶する。
【0082】
なお、親注文記憶装置60及び子注文記憶装置70は、1台の記憶装置の異なる記憶領域としても実現してもよく、リレーショナルデータベースとして実現してもよい。また、親注文記憶装置60及び子注文記憶装置70は、データベースと呼んでもよい。
【0083】
次に、以上のように構成された証券売買システムの動作について図12乃至図15の模式図を用いて説明する。
【0084】
始めに、親注文及び子注文の共有動作について図12を参照して述べる。
【0085】
OMS装置10は、ユーザの操作に応じて作成した親注文登録電文d1を主系のバスケット管理装置20Aに送信する。
【0086】
主系のバスケット管理装置20Aにおいては、OMS接続部22A,22Bが、受信した親注文登録電文d1を記憶部21A,21Bに書込む。
【0087】
次に、主系のバスケット管理装置20Aにおいては、注文約定管理部23Aが、記憶部21Aに書込まれた親注文登録電文d1内の売買及び数量を分割して発注するための子注文電文d2を取引所の書式のフォーマットに従いつつ、数量、価格及び執行条件を空欄にして作成すると共に、当該子注文電文d2を記憶部21A,21Bに書込む。なお、注文約定管理部23Aは、記憶部21Aに書込まれた親注文登録電文d1及び子注文電文d2を主系の子注文管理装置30Aに送信する。主系の子注文管理装置30Aは、子注文管理部33Aが、受信した親注文登録電文d1及び子注文電文d2を記憶部31A,31Bに書込む。
【0088】
また、主系のバスケット管理装置20Aの注文共有部24Aは、記憶部21Aに書込まれた親注文登録電文d1及び子注文電文d2を従系のバスケット管理装置20Bに送信する。
【0089】
従系のバスケット管理装置20Bにおいては、注文約定管理部23Bが、注文共有部24Bを介して受信した親注文登録電文d1及び子注文電文d2を記憶部21B及び外部の注文記憶装置60,70に書込む。
【0090】
また、従系のバスケット管理装置20Bにおいては、OMS接続部22Bが、注文約定管理部23による書込みが完了すると、当該親注文登録電文の受領通知ackをOMS装置10に返信する。
【0091】
このように、親注文登録電文d1及び子注文電文d2は、図12に示すように、可用性を重視する共有動作により、それぞれ同期をとりながら各装置20A,20B,30A,60,70間で共有される。
【0092】
続いて、注文の共有動作後の発注動作について図13を参照して述べる。
【0093】
主系の子注文管理装置30Aにおいては、CEP部32Aが、市況情報d3を取引所装置50から受信し、この市況情報d3に基づいて統計値を算出する。なお、図示しないが、後述する高速な復旧動作に備え、従系の子注文管理装置30Bにおいても、CEP部32Bが、市況情報d3を取引所装置50から受信し、この市況情報d3に基づいて統計値を算出している。
【0094】
さて、主系の子注文管理装置30Aにおいては、子注文管理部33Aが記憶部31A,31B内の親注文登録電文d1及び子注文電文d2に基づいて、トリガセットd4を作成し、このトリガセットd4をCEP部32Aに送出する。
【0095】
主系の子注文管理装置30AのCEP部32Aは、算出した統計値と、主系の場合の子注文管理部33Aから送出されたトリガセットd4とが市況情報に合致するか否かに応じて取引所装置50への発注を実行するか否かを判定する。
【0096】
この判定の結果、発注を実行する場合、CEP部32Aは、当該判定に用いた市況情報及びトリガセットd4に基づいて、発注トリガd5を作成し、この発注トリガd5を子注文管理部33Aに送出する。
【0097】
主系の子注文管理装置30Aの子注文管理部33Aは、発注トリガd5に含まれる数量、価格及び執行条件を子注文電文d2に設定して注文電文d6を作成し、この注文電文d6を取引所接続部34Aに送出する。
【0098】
主系の子注文管理装置30Aの取引所接続部34Aは、この注文電文d6を発注ゲートウェイ装置40経由で取引所装置50に対して送信する。
【0099】
このように、主系の子注文管理装置30Aにおいて、CEP部32Aが発注判定を行い、子注文管理部33Aが注文電文d6を作成する構成により、高速性を重視した動作を実現することができる。
【0100】
また、取引所装置50は、受け付けた注文電文d6により証券売買処理を実行し、受付通知d8を発注ゲートウェイ装置40に送信する。発注ゲートウェイ装置40は、受信した受付通知d8から発注ゲートウェイ装置40を送信元とした受付通知d9を作成し、この受付通知d9を主系の子注文管理装置30Aと各バスケット管理装置20A,20Bに送信する。
【0101】
主系の子注文管理装置30Aでは、取引所接続部34Aが、受信した受付通知d9を記憶部31A,31Bに書込む。
【0102】
各バスケット管理装置20A,20Bは、注文約定管理部23A,23Bが、子注文IDを含む受付通知d9を受信すると、当該子注文IDを含む子注文電文d2を記憶部21A,21Bから検索して当該子注文電文d2内の受付通知受信フラグ(図示せず)を立てる。また、従系の注文約定管理部23Bは、当該子注文IDを含む子注文電文d2を外部の子注文記憶装置70からも検索し、得られた当該子注文電文d2内の受付通知受信フラグを立てる。
【0103】
次に、発注動作後の復旧動作について図14を参照して述べる。
【0104】
いま、主系の子注文管理装置30Aに障害が発生したとする。
【0105】
主系のバスケット管理装置20Aにおいては、注文約定管理部23Aが、例えば、親注文登録電文d1及び子注文電文d2を主系の子注文管理装置30Aに送信した後、主系の子注文管理装置30Aの障害を検出したとする。
【0106】
この障害検出時には、主系のバスケット管理装置20Aの注文約定管理部23Aは、従系の子注文管理装置30Bを主系に切替えるように、記憶部21A,21B内の親注文登録電文d1及び子注文電文d2を従系の当該子注文管理装置30Bに送信する。
【0107】
例えば、主系のバスケット管理装置20Aの注文約定管理部23Aは、記憶部21A,21B内の親注文登録電文d1及び子注文電文d2のうち、受付通知d9に基づく受付通知受信フラグが立てられていない子注文電文d2と、この子注文電文d2内の親注文IDを含む親注文登録電文d1とを従系の子注文管理装置30Bに送信する。
【0108】
従系の子注文管理装置30Bにおいては、子注文電文d2及び親注文登録電文d1を受信すると、前述した統計値を算出している状態から主系に切り替わる。
【0109】
主系に切り替わった子注文管理装置30Bは、前述した発注動作と同様の動作を継続して実行する。
【0110】
なお、このような復旧動作において、仮に主系のバスケット管理装置20Aにも障害が発生した場合、図15に示すように、従系のバスケット管理装置20Bの注文約定管理部23Aが、前述同様に、従系の子注文管理装置30Bを主系に切替えるように、記憶部21A,21B内の親注文登録電文d1及び子注文電文d2を従系の当該子注文管理装置30Bに送信することにより、発注動作を復旧させる。
【0111】
上述したように本実施形態によれば、主系及び従系のバスケット管理装置20A,20Bと、主系及び従系の子注文管理装置30A,30Bとを備えた構成により、証券売買における可用性を実現させることができる。また、主系の子注文管理装置20Aにおいて、発注判定を行うCEP部32Aと、注文電文を作成する子注文管理部33Aとを分離した構成により、証券売買における高速性を実現させることができる。
【0112】
従って、本実施形態によれば、証券売買における可用性と高速性とを両立させることができる。
【0113】
補足すると、一般に、CEPサーバ(CEP部32Aに対応)は、市況情報をイベント受信して発注判定を行うようなアルゴリズムトレードを行うことが多いが、障害が発生した場合でも、スタンバイ側(従系に対応)でイベント受信による発注判定を継続する必要がある。アルゴリズムトレードでは当日の取引所オープンからの市況情報を受信することにより、RSI等のような統計計算をして発注判定するようなものもあり、複数のCEPサーバで市況情報を受信して統計計算を行い、最新統計値を複数のCEPサーバで保持する必要がある。また、市況情報を差分受信するため、市況最新値も複数のCEPサーバで受信する必要がある。
【0114】
これに対し、本実施形態では、市況情報を主系及び従系のCEP部32A,32Bで受信し、障害検出時には、主系のCEP部32Aの発注予定の子注文電文d2(とその親注文登録電文d1)を、主系のバスケット管理装置20Aから従系の子注文管理装置20Bに送信することにより、従系のCEP部23Bが主系に昇格する。これにより、主系となったCEP部32Bは、最新の市況情報と統計値に基づいて発注判定を継続することができる。なお、図示しない証券会社サイト装置で市況情報を全件受信して市況履歴としてメモリに保持しておき、従系のCEP部32Bにも障害が発生した場合でも、メモリ内の市況履歴から最新の市況情報をリカバリできるようにしてもよい。
【0115】
また、本実施形態においては、市況情報から発注判定を行うCEPサーバ機能をもつCEP部32Aと、子注文管理機能をもつ子注文管理部33Aとを分離し、CEP部32Aが発注判定に特化している。また、子注文管理部33Aは、取引所電文形式(取引所の書式)の子注文電文d2を管理し、CEP部32Aから発注トリガd5を受信したタイミングで価格、数量などを子注文電文d2に設定して即座に注文電文d3を発注ゲートウェイ装置40に送信して取引所に執行するので、高速性(ローレイテンシ)を実現することができる。なお、発注トリガd5を判定する機能は、所望のベンダのイベント処理エンジンが使用可能となっている。また、イベント処理エンジン及び、記載されるアルゴリズムに無関係に、注文電文d2,d3,d4のメッセージフォーマットを共通とすることにより、子注文管理部33Aは、イベント処理エンジン及びアルゴリズムロジックに無関係に注文電文d3を発注ゲートウェイ装置40に送信することができる。これに加え、発注ゲートウェイ装置40は、OMSを介さず、直接に取引所装置50に注文電文d4を送信するので、更に高速性を向上させることができる。
【0116】
さらに、本実施形態においては、親注文登録電文d1を主系の子注文管理装置30A以外にも各バスケット管理装置20A,20Bや親注文記憶装置60に保持している。このため、各注文記憶装置60,70の障害時には各バスケット管理装置20A,20Bにより動作が継続される。また、一方のバスケット管理装置20A,20Bの障害時には他方のバスケット管理装置20B,20Aにより動作が継続される。さらに、両方のバスケット管理装置20A,20Bの障害時には、各注文管理装置60,70内の親注文登録電文d1及び子注文電文d2により動作が継続される。なお、バスケット管理装置20A,20Bを三重構成とすることも可能である。
【0117】
また、本実施形態においては、主系のバスケット管理装置20Aから受信した親注文登録電文d1及び子注文電文d2を従系のバスケット管理装置20Bが保持して受領通知あckをOMS装置10に送信するので、従系のバスケット管理装置20Bへの注文共有動作の確実性を保証することができる。また、従系のバスケット管理装置20Bが親注文登録電文d1及び子注文電文d2を各注文記憶装置60,70に書込むので、主系のバスケット管理装置20Aに対して負荷分散を実現することができる。
【0118】
さらに、本実施形態においては、主系のバスケット管理装置20Aが子注文電文d2を取引所の書式のフォーマットに従いつつ、数量、価格及び執行条件を空欄(未設定)にして作成するので、発注時に注文電文d3を編集する負荷を軽減して応答時間を短縮させることができる。また、予め高負荷の電文作成を行っておき、必要な情報だけを後から設定することに加え、トリガセットd4及び発注トリガd5の情報が少ないことによっても、高速性を向上させている。
【0119】
また、本実施形態によれば、主系の子注文管理装置30Aと各バスケット管理装置20A,20Bが取引所の受付通知d9に基づく受付通知受信フラグを用いて発注済みを管理するので、注文の抜けや二重発注を防止でき、確実に発注未済を管理することができる。これに伴い、主系の子注文管理装置30Aの障害検出時に、従系の子注文管理装置30Bに未発注の子注文電文d2を主系のバスケット管理装置20Aが送信することができる。なお、主系及び従系の子注文管理装置30A,30Bは、市況情報と統計計算とを行っているため、発注判定の材料となるデータソースが主系であっても従系であっても、常に最新状態が維持されている。従系の子注文管理装置30Bは、主系に昇格した場合に、市況情報の最新値で発注判定を開始するが、このとき、子注文電文内の受付通知受信フラグをチェックして二重発注と発注漏れを防止することができる。
【0120】
さらに、本実施形態によれば、上述した可用性と高速性を両立させるアルゴリズム基盤を提供することができる。また、アルゴリズムエンジンに所望のベンダの製品を使用可能となっている。また、所望のベンダの製品を容易に組み込み可能であるため、ユーザの選択したアルゴリズム構築手段でアルゴリズムロジックを組み込むことができ、トレーダの思惑どおりのアルゴリズムを容易に実装することができる。
【0121】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0122】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0123】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
【0124】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0125】
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0126】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0127】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0128】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0129】
10…OMS装置、20A,20B…バスケット管理装置、21A,21B,31A,31B…記憶部、22A,22B…OMS接続部、23A,23B…注文約定管理部、24A,24B…注文共有部、25A,25B,34A,34B…取引所接続部、30A,30B…子注文管理装置、32A,32B…CEP部、33A,33B…子注文管理部、40…発注ゲートウェイ装置、50…取引所装置、60…親注文記憶装置、70…子注文記憶装置。
【特許請求の範囲】
【請求項1】
主系と従系が切替え可能で第1記憶部をもつ複数の注文共有装置と、主系と従系が切替え可能で第2記憶部をもつ複数の発注装置とが通信可能な証券売買システムであって、
主系の前記注文共有装置は、
親注文登録装置から受信した親注文登録電文を前記第1記憶部に書込む手段と、
前記親注文登録電文から作成した子注文電文を前記第1記憶部に書込む子注文作成手段と、
前記第1記憶部内の各電文を主系の前記発注装置と従系の前記注文共有装置に送信する手段と、
主系の前記発注装置の障害検出時に、前記各電文を従系の発注装置に送信して当該従系を主系に切替える切替え手段と、
を備え、
前記各発注装置は、
前記送信された各電文を前記第2記憶部に書込む手段と、
取引所装置から受信した市況情報から統計値を算出する手段と、
主系の場合、前記統計値によって前記取引所装置への発注可否を判定する判定手段と、
を備えたことを特徴とする証券売買システム。
【請求項2】
請求項1に記載の証券売買システムに用いられる各々の前記発注装置において、
前記第2記憶部内の親注文登録電文及び子注文電文に基づいて、発注可の条件を示すトリガセットを作成し、このトリガセットを送出する手段と、
前記判定手段に設けられ、前記算出した統計値と前記送出されたトリガセットとが前記市況情報に合致するか否かに応じて前記発注可否を判定する手段と、
この判定の結果、発注可の場合、当該判定に用いた市況情報及びトリガセットに基づいて、子注文IDと子注文に特有の発注内容とを含む発注トリガを作成し、この発注トリガを送出する手段と、
前記送出された発注トリガに含まれる前記発注内容を前記子注文電文に設定して注文電文を作成する手段と、
この注文電文を前記取引所装置に対して送信する手段と、
を備え、
前記子注文電文は、前記子注文ID及び注文電文雛形を含んでおり、
前記注文電文雛形は、前記取引所装置が属する取引所の書式のフォーマットに従って作成され、前記取引所装置が属する取引所の書式のフォーマットのうち、前記親注文登録電文と共通するデータが設定済みであり、前記発注内容が未設定であることを特徴とする発注装置。
【請求項3】
請求項1に記載の証券売買システムに用いられる各々の前記注文共有装置において、
従系の場合、主系の前記注文共有装置から受信した親注文登録電文及び子注文電文を前記第1記憶部及び外部の注文記憶装置に書込む手段と、
この書込みが完了すると、当該親注文登録電文の受領通知を前記親注文登録装置に返信する手段と、
を備えたことを特徴とする注文共有装置。
【請求項4】
請求項1に記載の証券売買システムに用いられる各々の前記注文共有装置において、
前記子注文作成手段は、
前記子注文電文を作成する際に、当該子注文電文に含める前記子注文IDを一意となるように作成する手段と、
前記子注文電文を作成する際に、当該子注文電文に含める注文電文雛形を前記取引所装置が属する取引所の書式のフォーマットに従って作成する手段と、
を備え、
前記注文電文雛形は、前記取引所の書式のフォーマットのうち、前記親注文登録電文と共通するデータが設定済みであり、子注文に特有の発注内容が未設定であることを特徴とする注文共有装置。
【請求項5】
請求項1に記載の証券売買システムに用いられる各々の注文共有装置において、
前記子注文IDを含む受付通知を前記取引所装置から受信すると、当該子注文IDを含む子注文電文を前記第1記憶部から検索して当該子注文電文内の受付通知受信フラグを立てる手段と、
従系のとき、前記子注文IDを含む受付通知を前記取引所装置から受信すると、当該子注文IDを含む子注文電文を外部の注文記憶装置からも検索して当該子注文電文内の受付通知受信フラグを立てる手段と、
を備えており、
前記切替え手段は、前記第1記憶部内の親注文登録電文及び子注文電文のうち、前記受付通知受信フラグが立てられていない子注文電文と、この子注文電文内の親注文IDを含む親注文登録電文とを前記従系の発注装置に送信することを特徴とする注文共有装置。
【請求項6】
主系と従系が切替え可能で第1記憶部をもつ複数の注文共有装置と、主系と従系が切替え可能で第2記憶部をもつ複数の発注装置とが通信可能な証券売買システムであって、
前記各注文共有装置は、
主系の場合、親注文ID、銘柄コード、売買、数量、アルゴリズム番号及びアルゴリズムパラメータを含む親注文登録電文を前記親注文登録装置から受信すると、この親注文登録電文を前記第1記憶部に書込む手段と、
主系の場合、前記第1記憶部内の親注文登録電文に基づき、子注文ID、前記親注文ID、予定時刻及び注文電文を含む子注文電文を作成すると共に、当該子注文電文を前記第1記憶部に書込む子注文作成手段と、
主系の場合、前記第1記憶部内の親注文登録電文及び子注文電文を主系の前記発注装置と従系の前記注文共有装置に送信する手段と、
従系の場合、主系の前記注文共有装置から受信した親注文登録電文及び子注文電文を前記第1記憶部及び外部の注文記憶装置に書込む手段と、
主系の場合、主系の前記発注装置の障害検出時に、前記第1記憶部内の親注文登録電文及び子注文電文を従系の当該発注装置に送信して当該従系を主系に切替える切替え手段と、
を備えており、
前記各発注装置は、
前記送信された親注文登録電文及び子注文電文を前記第2記憶部に書込む手段と、
前記第2記憶部内の親注文登録電文及び子注文電文に基づいて、子注文ID、銘柄コード、売買、価格条件、数量、執行条件、アルゴリズム番号及びアルゴリズムパラメータを含むトリガセットを作成し、このトリガセットを送出する手段と、
時刻、銘柄コード、現値、出来高、売気配値、売気配数量、買気配値及び買気配数量を含む市況情報を前記取引所装置から受信し、この市況情報に基づいて統計値を算出する手段と、
主系の場合、前記算出した統計値と前記送出されたトリガセットとが前記市況情報に合致するか否かに応じて前記取引所装置への発注を実行するか否かを判定する判定手段と、
この判定の結果、前記発注を実行する場合、当該判定に用いた市況情報及びトリガセットに基づいて、時刻又は相場を示すトリガ種別、時刻、子注文ID、銘柄コード、売買、価格、数量及び執行条件を含む発注トリガを作成し、この発注トリガを送出する手段と、
前記送出された発注トリガに含まれる数量、価格及び執行条件を前記子注文電文に設定して注文電文を作成する手段と、
この注文電文を前記取引所装置に対して送信する手段と、
を備えたことを特徴とする証券売買システム。
【請求項1】
主系と従系が切替え可能で第1記憶部をもつ複数の注文共有装置と、主系と従系が切替え可能で第2記憶部をもつ複数の発注装置とが通信可能な証券売買システムであって、
主系の前記注文共有装置は、
親注文登録装置から受信した親注文登録電文を前記第1記憶部に書込む手段と、
前記親注文登録電文から作成した子注文電文を前記第1記憶部に書込む子注文作成手段と、
前記第1記憶部内の各電文を主系の前記発注装置と従系の前記注文共有装置に送信する手段と、
主系の前記発注装置の障害検出時に、前記各電文を従系の発注装置に送信して当該従系を主系に切替える切替え手段と、
を備え、
前記各発注装置は、
前記送信された各電文を前記第2記憶部に書込む手段と、
取引所装置から受信した市況情報から統計値を算出する手段と、
主系の場合、前記統計値によって前記取引所装置への発注可否を判定する判定手段と、
を備えたことを特徴とする証券売買システム。
【請求項2】
請求項1に記載の証券売買システムに用いられる各々の前記発注装置において、
前記第2記憶部内の親注文登録電文及び子注文電文に基づいて、発注可の条件を示すトリガセットを作成し、このトリガセットを送出する手段と、
前記判定手段に設けられ、前記算出した統計値と前記送出されたトリガセットとが前記市況情報に合致するか否かに応じて前記発注可否を判定する手段と、
この判定の結果、発注可の場合、当該判定に用いた市況情報及びトリガセットに基づいて、子注文IDと子注文に特有の発注内容とを含む発注トリガを作成し、この発注トリガを送出する手段と、
前記送出された発注トリガに含まれる前記発注内容を前記子注文電文に設定して注文電文を作成する手段と、
この注文電文を前記取引所装置に対して送信する手段と、
を備え、
前記子注文電文は、前記子注文ID及び注文電文雛形を含んでおり、
前記注文電文雛形は、前記取引所装置が属する取引所の書式のフォーマットに従って作成され、前記取引所装置が属する取引所の書式のフォーマットのうち、前記親注文登録電文と共通するデータが設定済みであり、前記発注内容が未設定であることを特徴とする発注装置。
【請求項3】
請求項1に記載の証券売買システムに用いられる各々の前記注文共有装置において、
従系の場合、主系の前記注文共有装置から受信した親注文登録電文及び子注文電文を前記第1記憶部及び外部の注文記憶装置に書込む手段と、
この書込みが完了すると、当該親注文登録電文の受領通知を前記親注文登録装置に返信する手段と、
を備えたことを特徴とする注文共有装置。
【請求項4】
請求項1に記載の証券売買システムに用いられる各々の前記注文共有装置において、
前記子注文作成手段は、
前記子注文電文を作成する際に、当該子注文電文に含める前記子注文IDを一意となるように作成する手段と、
前記子注文電文を作成する際に、当該子注文電文に含める注文電文雛形を前記取引所装置が属する取引所の書式のフォーマットに従って作成する手段と、
を備え、
前記注文電文雛形は、前記取引所の書式のフォーマットのうち、前記親注文登録電文と共通するデータが設定済みであり、子注文に特有の発注内容が未設定であることを特徴とする注文共有装置。
【請求項5】
請求項1に記載の証券売買システムに用いられる各々の注文共有装置において、
前記子注文IDを含む受付通知を前記取引所装置から受信すると、当該子注文IDを含む子注文電文を前記第1記憶部から検索して当該子注文電文内の受付通知受信フラグを立てる手段と、
従系のとき、前記子注文IDを含む受付通知を前記取引所装置から受信すると、当該子注文IDを含む子注文電文を外部の注文記憶装置からも検索して当該子注文電文内の受付通知受信フラグを立てる手段と、
を備えており、
前記切替え手段は、前記第1記憶部内の親注文登録電文及び子注文電文のうち、前記受付通知受信フラグが立てられていない子注文電文と、この子注文電文内の親注文IDを含む親注文登録電文とを前記従系の発注装置に送信することを特徴とする注文共有装置。
【請求項6】
主系と従系が切替え可能で第1記憶部をもつ複数の注文共有装置と、主系と従系が切替え可能で第2記憶部をもつ複数の発注装置とが通信可能な証券売買システムであって、
前記各注文共有装置は、
主系の場合、親注文ID、銘柄コード、売買、数量、アルゴリズム番号及びアルゴリズムパラメータを含む親注文登録電文を前記親注文登録装置から受信すると、この親注文登録電文を前記第1記憶部に書込む手段と、
主系の場合、前記第1記憶部内の親注文登録電文に基づき、子注文ID、前記親注文ID、予定時刻及び注文電文を含む子注文電文を作成すると共に、当該子注文電文を前記第1記憶部に書込む子注文作成手段と、
主系の場合、前記第1記憶部内の親注文登録電文及び子注文電文を主系の前記発注装置と従系の前記注文共有装置に送信する手段と、
従系の場合、主系の前記注文共有装置から受信した親注文登録電文及び子注文電文を前記第1記憶部及び外部の注文記憶装置に書込む手段と、
主系の場合、主系の前記発注装置の障害検出時に、前記第1記憶部内の親注文登録電文及び子注文電文を従系の当該発注装置に送信して当該従系を主系に切替える切替え手段と、
を備えており、
前記各発注装置は、
前記送信された親注文登録電文及び子注文電文を前記第2記憶部に書込む手段と、
前記第2記憶部内の親注文登録電文及び子注文電文に基づいて、子注文ID、銘柄コード、売買、価格条件、数量、執行条件、アルゴリズム番号及びアルゴリズムパラメータを含むトリガセットを作成し、このトリガセットを送出する手段と、
時刻、銘柄コード、現値、出来高、売気配値、売気配数量、買気配値及び買気配数量を含む市況情報を前記取引所装置から受信し、この市況情報に基づいて統計値を算出する手段と、
主系の場合、前記算出した統計値と前記送出されたトリガセットとが前記市況情報に合致するか否かに応じて前記取引所装置への発注を実行するか否かを判定する判定手段と、
この判定の結果、前記発注を実行する場合、当該判定に用いた市況情報及びトリガセットに基づいて、時刻又は相場を示すトリガ種別、時刻、子注文ID、銘柄コード、売買、価格、数量及び執行条件を含む発注トリガを作成し、この発注トリガを送出する手段と、
前記送出された発注トリガに含まれる数量、価格及び執行条件を前記子注文電文に設定して注文電文を作成する手段と、
この注文電文を前記取引所装置に対して送信する手段と、
を備えたことを特徴とする証券売買システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2012−43307(P2012−43307A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−185537(P2010−185537)
【出願日】平成22年8月20日(2010.8.20)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願日】平成22年8月20日(2010.8.20)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
[ Back to top ]