(57)【要約】  本発明は、仲買人の市場アクセスシステムに関する。当該システムは、証券取引所に送信する注文を処理するために用いられる。通常は、適当なＯＳおよびアプリケーションソフトウェアを備える汎用演算システムが仲買人の市場アクセスシステムを実現する。本発明においては、市場アクセスシステムは、顧客注文の処理を高速化するために、専用のハードウェアによって実現される。当該専用のハードウェアは、フィールドプログラマブル論理素子のようなプログラマブル論理素子の形態である。実施形態においては、当該専用のハードウェアは、複数の顧客注文を並列処理するように構成された注文処理エンジンを含むアーキテクチャを備えている。【選択図】図１
2014505951.tif 000002
【特許請求の範囲】
【請求項１】
市場への注文を送信する市場アクセスシステムであって、
複数の顧客からの複数の顧客注文を、前記市場へ送るために受信および処理するように構成された専用のハードウェアを備えている、システム。
【請求項２】
前記専用のハードウェアは、前記複数の顧客注文を処理するように構成された注文処理エンジンを備えている、請求項１に記載のシステム。
【請求項３】
前記注文処理エンジンは、有効化基準に基づいて複数の顧客注文を有効化するように構成されている、請求項２に記載のシステム。
【請求項４】
前記注文処理エンジンは、前記複数の顧客注文を、前記市場へ送られるのに適した形式にフォーマットするように構成されている、請求項２または３に記載のシステム。
【請求項５】
前記顧客注文は、複数の部分を備えており、
前記注文処理エンジンは、前記顧客注文の一部分を処理しつつ、当該顧客注文の他の部分については受信中または受信待ちとするように構成されている、請求項２から４のいずれか一項に記載のシステム。
【請求項６】
前記専用のハードウェアは、前記注文処理エンジンを複数備えており、
前記注文処理エンジンの各々は、複数の顧客注文を並列処理すべく並列的に動作するように構成されている、請求項２から５のいずれか一項に記載のシステム。
【請求項７】
前記専用のハードウェアは、前記注文処理エンジンに対応付けられた出力メッセージ行列をさらに備えており、
前記出力メッセージ行列は、一時的に保存して前記市場へ送るために処理済み注文を受信するように構成されている、請求項２から６のいずれか一項に記載のシステム。
【請求項８】
前記市場へ送るために複数の処理済み注文を受信するように構成された送信管理アレンジメントをさらに備えている、請求項１から７のいずれか一項に記載のシステム。
【請求項９】
前記送信管理アレンジメントは、所定の規則に基づいて、前記複数の処理済み注文を送信注文するように構成されている、請求項８に記載のシステム。
【請求項１０】
前記送信管理アレンジメントは、前記市場への送信のために複数の処理済み注文を集約するように構成されている、請求項８または９に記載のシステム。
【請求項１１】
前記送信管理アレンジメントは、注文の一部分を送信しつつ、当該注文の他の部分については処理中または処理待ちとするように構成されている、請求項８から１０のいずれか一項に記載のシステム。
【請求項１２】
前記送信管理アレンジメントは、送信のために複数の処理済み注文を保存するように構成されたバッファを備えている、請求項８から１０のいずれか一項に記載のシステム。
【請求項１３】
前記送信管理アレンジメントは、複数の処理済み注文を並列的に受信し、前記市場へ送るためにこれらを直列的に並べるように構成されている、請求項８から１２に記載のシステム。
【請求項１４】
前記送信管理アレンジメントは、専用のハードウェアを備えている、請求項８から１３に記載のシステム。
【請求項１５】
前記専用のハードウェアは、前記複数の顧客注文を処理するようにプログラムされたプログラマブル論理素子である、請求項１から１４のいずれか一項に記載のシステム。
【請求項１６】
前記専用のハードウェアは、プログラマブルゲートアレイである、請求項１５に記載のシステム。
【請求項１７】
前記専用のハードウェアは、フィールドプログラマブルゲートアレイである、請求項１６に記載のシステム。
【請求項１８】
複数の市場取引注文を扱う方法であって、
前記複数の注文を受信し、これらをハードウェアの速度またはこれに準ずる速度で処理するステップと、
処理された前記複数の注文を市場へ送信するステップと、
を備えている、方法。
【請求項１９】
前記複数の注文を処理するステップにおいては、当該複数の注文を並列的に処理する、請求項１８に記載の方法。
【請求項２０】
前記複数の注文を処理するステップにおいては、当該注文の一部分を処理しつつ、当該注文の他の部分については受信中または受信待ちとする、請求項１８または１９に記載の方法。
【請求項２１】
前記注文の一部分を送信しつつ、当該注文の他の部分については処理中または処理待ちとするステップを備えている、請求項１８から２０のいずれか一項に記載の方法。
【請求項２２】
市場への注文を送信する市場アクセスシステム用の送信機であって、
顧客注文の一部分を送信しつつ、当該顧客注文の他の部分については処理中または処理待ちとする送信管理アレンジメントを備えている、送信機。
【請求項２３】
前記送信管理アレンジメントは、並列フォーマットで複数の処理済み顧客注文を同時あるいは実質的に同時に受信可能とされ、これらを直列的フォーマットでの送信のために集約するように構成されている、請求項２２に記載の送信機。
【請求項２４】
複数の顧客注文を市場へ送信できるようにする方法であって、
顧客注文の少なくとも一部分を受信するステップと、
前記顧客注文の一部分を送信しつつ、当該顧客注文の別の一部分については受信中または受信待ちとするステップと、
を備えている、方法。
【請求項２５】
前記顧客注文を受信するステップは、複数の顧客注文を同時または実質的に同時に並列形式で受信し、これらを処理して直列形式で送信できるようにするステップを備えている、請求項２４に記載の方法。
【請求項２６】
請求項１から１７に記載のシステムを実現すべくプログラマブルハードウェアを制御する命令群を備えている、コンピュータプログラム。
【請求項２７】
請求項２６に記載のコンピュータプログラムを提供する、コンピュータ読み取り可能な媒体。
【請求項２８】
請求項２６に記載のコンピュータプログラムを備えている、データ信号。
【請求項２９】
請求項２２または２３に記載の送信機を実現すべくプログラマブルハードウェアを制御する命令群を備えている、コンピュータプログラム。
【請求項３０】
請求項２９に記載のコンピュータプログラムを提供する、コンピュータ読み取り可能な媒体。
【請求項３１】
請求項２９に記載のコンピュータプログラムを備えている、データ信号。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して市場アクセスシステムおよび方法に関する。特に証券取引所のような市場への注文を処理および送信する市場アクセスシステムに関するが、これに限られるものではない。
【背景技術】
【０００２】
株式や証券を対象とする市場取引システムが知られている。市場取引システムとのやり取りの多くは、市場参加者によってなされる。市場参加者としては、市場で取引を望む顧客から注文を受け、当該注文を適正な形式に整え、当該注文が取引されうるように市場へ送る仲買人が挙げられる。多くの司法管轄域において、顧客は直接市場で取引を行なうことを許されておらず、仲買人のような認可を受けた市場参加者を介して市場にアクセスしなければならない。
【０００３】
近年、多くの市場取引が電子的に行なわれている。仲買人は、自身の「市場アクセスシステム」を通じて顧客のコンピュータから電子的に注文を受け取り、当該注文を（処理した後に）電子的に市場へ送る。市場は、通常、特定の取引要求（証券、株式、債券、金融派生商品などの売買注文）を受けるように自動化されている。個々の仲買人は取引を希望する顧客を複数抱えている場合がある。複数の顧客は、短期間に多くの注文を行なうことを望む場合がある。これにより複数の顧客からの大量の注文を処理し、市場へ送る必要が生ずる。
【０００４】
市場取引においては、仲買人による注文処理の速度が（取引所による注文処理の速度も）極めて重要である。取引を実行する上で重要な２つの因子は、価格優先と時間優先である。価格優先とは、最安値での売りを希望する者または最高値での買いを希望する者が取引において優先されることを意味する。時間優先とは、同じ価格について２つの売り手または２つの買い手が存在する場合、先に市場に到達した者が（通常は）先に取引を遂行できることを意味する。したがって、処理速度が重要な意味を持つ。
【０００５】
よって仲買人の顧客は、自身の注文が可能な限り少ない遅れ（待ち時間）で処理され、市場に送られることを望む。したがって、同時に到来する大量の顧客注文および適時の処理と送信に係る顧客要望は、顧客が認めうる注文処理待ち時間とスループットを提供するための情報技術基盤への投資を仲買人に求めている。待ち時間とは、顧客注文が処理に供され、仲買人によって市場に再送信されるまでの遅れのことを指す。スループットとは、顧客からの注文を受け入れ可能な速度、および処理された注文が市場に送られる速度のことを指す。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
仲買人のシステムの待ち時間が長すぎると、顧客注文に遅延が生じ、好適な取引機会を失するリスクが当該仲介人の顧客に生ずる。同様に、仲買人の市場アクセスシステムのスループットが、当該仲買人の顧客から任意の時点で出された注文量に対して不十分であると、当該顧客注文に遅延が生じ、あるいは当該仲買人の市場アクセスシステム内で順番待ちをしたまま放棄され、各顧客の取引に悪い結果をもたらす可能性がある。いずれの場合（受け入れ得ない待ち時間の長さ、あるいは受け入れ得ないスループットの低さ）においても、当該仲買人は、競争において不利となる。
【０００７】
近年の（仲買人や他の市場参加者用の）市場アクセスシステムは、汎用演算システム（ＧＰＣ）に基づいており、汎用オペレーティングシステム上で動作するのが普通である。ＧＰＣのモジュール性と階層性、およびＧＰＣにより課せられた注文処理の直列性は、注文処理に少なくとも数百マイクロ秒、普通は数ミリ秒の遅延時間をもたらす。
【課題を解決するための手段】
【０００８】
第１の態様によれば、本発明は、市場注文を市場に送信する市場アクセスシステムを提供する。当該システムは、顧客から顧客注文を受け付け、市場への送信のために処理するように構成された専用のハードウェアを備えている。
【０００９】
実施形態においては、当該専用のハードウェアは、フィールドプログラマブル論理素子のようなプログラマブル論理素子とされうる。当該素子は、顧客注文を処理するようにプログラムされている。実施形態においては、当該専用のハードウェアは、集積回路とされうる。当該集積回路としては、顧客注文を処理するように設計された特注の集積回路が挙げられる。
【００１０】
少なくとも本発明に係る実施形態は、専用のハードウェアがＧＰＣよりもはるかに速く顧客注文を処理できるという利点を有する。待ち時間は数マイクロ秒よりも低いオーダーとなり、数ナノ秒にも達する。
【００１１】
一実施形態においては、前記専用のハードウェアは、前記顧客注文を処理するように構成された注文処理エンジンを備えている。当該処理は、所定の基準に基づく注文処理の検証を含みうる。当該検証は、到来する注文メッセージが破損していないかの判定を含みうる。エラーでないと判定されると、当該メッセージは、有効な顧客注文として無事にデコードされうる。当該検証は、当該注文が仲買人によって実行できるかの確認を含みうる。例えば、当該注文に論理的に矛盾がないか、顧客、仲買人、あるいは他の規制当局により設定されたリスク制限、規則や規制に準じているかを確認することにより行なわれる。
一実施形態においては、前記注文処理エンジンは、必要な場合はいつでも、市場に認識される形式に前記顧客注文を変換するように構成される。
【００１２】
一実施形態においては、顧客注文は、複数の部分（複数の単語など）を含みうる。一実施形態においては、前記専用のハードウェアは、注文の一部分に対する処理を遂行しつつ、当該注文の他の部分については受信中または受信待ちとするように構成される。これにより、ＧＰＣ処理の場合とは異なり、処理の実行前に顧客注文の全てが受信されるのを待つ必要がないため、処理速度が増すという効果が得られる。
【００１３】
一実施形態においては、前記専用のハードウェアは、各々が対応する複数の注文を並列処理するように構成された複数の注文処理エンジンを備えている。これにより、処理速度がさらに増すという効果が得られる。
一実施形態においては、各処理エンジンは、独立して動作する。あるいは他の処理エンジンと同時並行的に動作する。
一実施形態においては、多くの処理エンジンが設けられることにより、膨大な並列処理が可能となる。これにより待ち時間が非常に短くなる。一実施形態においては、数千の注文処理エンジンが設けられる。
【００１４】
一実施形態においては、前記専用のハードウェアは、市場に送信するために、処理済みの注文を受信するように構成された送信管理アレンジメントをさらに備えている。
一実施形態においては、前記送信管理アレンジメントは、所定の規則（所定のビジネス規則など）に基づいて処理済みの注文を要求するように構成される。例えば、前記送信管理アレンジメントは、仲買人内の注文よりも顧客を優先するように処理済みの注文を要求しうる。
【００１５】
一実施形態においては、前記送信管理アレンジメントは、顧客注文の処理が完了する前に顧客注文の送信を開始するように構成される。注文の一部は、別の一部が処理中の状態で市場に送信されうる。これにより、処理速度がさらに増して好ましい。
【００１６】
一実施形態においては、前記送信管理アレンジメントは、複数の処理済み注文を並列的に受信し、それらを順次送信可能に並べるように構成される。
【００１７】
本発明に係る少なくとも複数の実施形態によれば、少ない待ち時間と高いスループットで動作する市場アクセスシステムが得られる。
【００１８】
本発明の第２の態様によれば、市場における取引注文を扱う方法が提供される。当該方法は、注文を受信するステップと、ハードウェアにおいて、あるいはハードウェアに近い速度で当該注文を処理するステップと、当該処理された注文を市場に送信するステップとを備えている。
【００１９】
本発明の第３の態様によれば、顧客注文を市場に送信する市場アクセスシステム用の送信機が提供される。当該送信機は、顧客注文の一部を送信しつつ、当該顧客注文の別の一部については処理中とするように構成された送信管理アレンジメントを備えている。
【００２０】
本発明の第４の態様によれば、顧客注文を市場へ送信できるようにする方法が提供される。当該方法は、注文の一部を受信するステップ、および当該注文の一部を送信しつつ、当該注文の別の一部については処理中とするステップを備えている。
【００２１】
本発明の第５の態様によれば、コンピュータプログラムが提供される。当該コンピュータプログラムは、本発明の第１の態様に係るシステムを実現すべく、プログラマブルなハードウェアを制御する命令群を備えている。
【００２２】
本発明の第６の態様によれば、コンピュータ読み取り可能な媒体が提供される。当該媒体は、本発明の第５の態様に係るコンピュータプログラムを提供する。
【００２３】
本発明の第７の態様によれば、データ信号が提供される。当該信号は、本発明の第５の態様に係るコンピュータプログラムを備えている。
【００２４】
本発明の第８の態様によれば、コンピュータプログラムが提供される。当該コンピュータプログラムは、本発明の第３の態様に係る送信機を実現すべく、プログラマブルなハードウェアを制御する命令群を備えている。
【００２５】
本発明の第９の態様によれば、コンピュータ読み取り可能な媒体が提供される。当該媒体は、本発明の第８の態様に係るコンピュータプログラムを提供する。
【００２６】
本発明の第１０の態様によれば、データ信号が提供される。当該信号は、本発明の第８の態様に係るコンピュータプログラムを備えている。
【図面の簡単な説明】
【００２７】
本発明の特徴および利点は、その実施形態に係る以下の説明により明らかになる。当該説明は例示に過ぎず、添付した以下の図面を参照してなされる。
【００２８】
【図１】本発明の一実施形態に係る、顧客システムと市場に接続されたシステムを示すブロック図である。
【図２】図１のシステムをより詳細に示す図である。
【図３】図１のシステムの動作を示すフロー図である。
【発明を実施するための形態】
【００２９】
図１には、参照番号３で指定された本発明の一実施形態に係る市場アクセスシステムが、改良された直接市場アクセス（ＤＭＡ）システムの形態で示されている。本実施形態において、ＤＭＡ３は、認可を受けた市場参加者（本例では仲買人）により提供あるいは管理される。
【００３０】
ＤＭＡ３は、顧客注文を受信するように構成されている。本実施形態においては、電気通信回線２Ａ〜２ｘより受信がなされる。ＤＭＡ３は、受信した顧客注文を処理し、当該注文を市場５へ送るように構成されている。本実施形態において市場５は、株式や証券を取引する証券取引所である。本実施形態においては、処理された注文は、専用の電気通信リンク４を介して市場５へ送られる。
【００３１】
本例においては、市場５での取引を希望する顧客注文は、顧客の演算システム１Ａ〜１ｘより提供される。顧客は、個人投資家、企業、会計士などを含みうる。
【００３２】
ＤＭＡ３は、専用のハードウェアを備えている。本実施形態において当該専用のハードウェアは、プログラマブルハードウェア装置７の形態をとる（図２参照）。本実施形態においては、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）を備えている。ＦＰＧＡ７は、xilinx Vertex 5（登録商標）ＦＰＧＡとされうる。その他のＦＰＧＡやＰＧＡを用いてもよい。
【００３３】
より詳細には、図２に示すように、ハードウェア装置のアーキテクチャは、複数の顧客注文処理エンジン８Ａ〜８ｘが並列的に提供され、各々が複数の顧客注文を受信し並列処理するように構成されている。本実施形態においては、各顧客／仲買人リンク２Ａ〜２ｘについて１つの注文処理エンジンが提供されうる。多くの（数千個単位）の並列注文処理エンジン８Ａ〜８ｘが提供されうる。各処理エンジン８Ａ〜８ｘは、個別にも動作するし、他の全処理エンジンと同時並行的にも動作する。各処理エンジン８Ａ〜８ｘは、自身が接続されたリンク２Ａ〜２ｘにおいて受信された各顧客の注文内容の検証を担当する。ここでは適当な物理層インターフェース（ＰＨＹ）６Ａ〜６ｘが、リンク２Ａ〜２ｘより顧客注文を受信する。ＰＨＹ６Ａ〜６ｘは、電気通信インターフェースを管理する適当な処理を実行する。例えば、リンク２Ａ〜２ｘにおいて受信された光信号あるいは電気信号を、ＦＰＧＡ７内での処理に適した電圧に変換する。
【００３４】
各注文処理エンジン８Ａ〜８ｘは、顧客の注文メッセージを検証するように構成されている。検証は、注文メッセージの正確性のチェックを含みうる。すなわち、到来するメッセージが破損していないかを判定するためにチェックが行なわれる。エラーでないと判定されると、当該メッセージは、有効な顧客注文として無事にデコードされうる。当該注文が仲買人によって実行可能であるかの確認も行なわれうる。例えば、当該注文に論理的に矛盾がないか、顧客、仲買人、あるいは他の規制当局により設定されたリスク制限、規則や規制に準じているかを確認することにより行なわれる。
【００３５】
一実施例として、各注文処理エンジンは、有限状態機械（ＦＳＭ）として実現されうる。その意味するところは当業者にとって明らかであろう。
【００３６】
検証を行なうために、任意のビジネス規則が注文処理エンジン８Ａ〜８ｘにより実行されうる。
【００３７】
注文処理エンジン８Ａ〜８ｘにより行なわれうる様々な検証手続の例を、以下の通り非包括的に列挙する。
【００３８】
（例１：禁止された空売り）
顧客Ａが銘柄ＸＹＺを１００ドルで１０００株売る注文を出す。注文処理エンジン２０６は、この取引を「空売り」と判断する。ある市場においては、空売り注文が禁止あるいは制限されている。この場合、当該注文は拒否され、注文拒否の通知が当該顧客に電子コードとともに送付される。当該電子コードは、当該顧客に拒否の理由を特定できるようにする。
【００３９】
（例２：顧客のリスク限界超え）
顧客Ｂが銘柄ＸＹＺを１２．５６ドルで２５００株買う注文を出す。注文処理エンジン２０６は、この注文が当該顧客について指定された特定のリスクを上回るものであると判断する。当該注文は拒否され、注文拒否の通知が当該顧客に電子コードとともに送付される。当該電子コードは、当該顧客に拒否の理由を特定できるようにする。
【００４０】
（例３：注文処理の成功）
顧客Ｃが銘柄ＸＹＺ−１２３を１．０１ドルで１万株買う注文を出す。注文処理エンジン２０６は、以下に示す事項を含む多くのチェックを実行する。但しこれらに限定されるものではない。
・銘柄ＸＹＺ−１２３が、通信インターフェース１０６が接続された自動化された市場にリストされているかをチェックする。
・注文に応えた場合に、リスク限界に係る違反がなされていないかをチェックする。
・当該取引が顧客に承認されているかをチェックする。
上記以外の検証基準も適用されうる。
【００４１】
また注文処理エンジン８Ａ〜８ｘは、顧客注文を、市場５に送られるのに適した形式とするように構成されている。当該処理は、受信した注文メッセージを、当該注文が送られる市場により適した形式に変換（再エンコード）する処理を含む。当該変換処理は、不要な情報の除去や、受信したものとは異なる電気通信技術への注文の送信（ブリッジング）を含みうる。注文処理エンジン８Ａ〜８ｘの出力は、通常、市場へ送信されるのに適した形式にエンコードされた注文メッセージとなる。
【００４２】
本実施形態において、プログラマブルハードウェア装置７は、適当なコンピュータ言語を用いてプログラムされている。当該言語としては、超高速集積回路ハードウェア記述言語（ＶＨＤＬ）、Ｃ＋＋、あるいは特定の検証、フォーマット、その他の処理を実行するアセンブリ言語などが挙げられる。
【００４３】
専用のハードウェア装置を用いることの利点は、ＤＭＡの処理アーキテクチャ全体が、効率の高い処理のために最適されうることである。また、並列的な注文処理エンジンは、同時に複数の注文を高速に処理することを容易にする。これにより、ＧＰＣベースのアーキテクチャと比較して待ち時間の大幅な短縮が容易となる。その他の利点としては、動作環境（証券会社など）における設置が容易になること、ポータブル装置としての実施が容易になることが挙げられる。
【００４４】
本実施形態における各注文処理エンジン８Ａ〜８ｘの別態様として、顧客注文の一部を処理しつつ、別の一部を受信中あるいは受信可能とするように構成されている。一般に顧客注文は、１つの注文メッセージ中に複数の指示およびデータ（通常はデジタル言語の形式で）を含んでいる。メッセージの始めの方に配置された指示やデータは、本実施形態の注文処理エンジン８Ａ〜８ｘにより、後続する指示やデータが受信される前に処理されうる。この処理が、ネットワーク通信装置における従来の「蓄積転送」手法とは異なることは明らかである。当該手法においては、処理や検証に先立ちメッセージ全体が受信されねばならない。この改善によって、注文処理時間がさらに短縮され、注文待ち時間が短縮されるとともにスループットが向上する。これにより仲買人は、従来のシステムを用いる他の仲買人に対する競争上の有利を得る。そして市場５における取引を希望する顧客も、競争上の有利を得る。
【００４５】
図２に示すように、各注文処理エンジン８Ａ〜８ｘは、出力メッセージ行列９Ａ〜９ｘに対して直接的に接続される。注文メッセージが注文処理エンジン８Ａ〜８ｘにより一旦処理されると、処理エンジンの出力は、接続された出力メッセージ行列９Ａ〜９ｘに一時的に保存される。各出力メッセージ行列は、デュアルポートＲＡＭ（ＤＰＲＡＭ）として知られる構成のプログラマブル論理素子内において実現されうる。
【００４６】
図２に示すように、送信管理アレンジメントは、出力メッセージ行列９Ａ〜９ｘから受信した注文メッセージの一時的保存、およびビジネス規則を含みうる所定の規則に応じてこれらを特定の注文に変換する処理に用いられる。注文は、物理層インターフェース（ＰＨＹ）１１と専用の電気通信リンク４を経由して市場５へ送信されるまで保存される。本実施形態において、送信バッファ１０に関連付けられた管理機能は、処理済みの顧客注文を各出力メッセージ行列９Ａ〜９ｘから引き受け、所定の優先順位に基づいて並べる処理を担当する。次いでこれらは、市場へ送信されるために、送信バッファ１０にコピーされる。優先順位は、特定種の注文を他種の注文よりも高い優先度で取り扱うものとされうる。任意の規則が適用されうる。送信バッファ１０は、市場への送信のために処理済み注文をシリアル配列に集約すべく動作する。
【００４７】
本実施形態において、送信バッファ１０は、自身の中にキューされた注文が存在しない場合、注文処理エンジンにより作成された顧客注文の一部の送信を直ちに開始する機能を有している。顧客注文は、全ての顧客から到来する注文の混在度がリンク４の市場への送信能力を超えた場合にのみ、送信バッファ１０に保存される。
【００４８】
換言すると、注文メッセージの一部が「オンザフライ」で処理および送信されつつ、別の一部が処理中とされうる。これにより、スループットの向上と待ち時間の短縮が良好になされる。
【００４９】
注文処理エンジンが出力メッセージの作成を開始するとすぐに仲買人の取引リンク４における顧客注文の市場への送信が開始できるように、注文処理エンジン８Ａ〜８ｘ、出力メッセージ行列９Ａ〜９ｘ、送信バッファ１０の統合がなされうる。これにより、顧客注文の始めの部分が市場へ送信されている間に、当該注文の後続部分が注文処理エンジンによる処理に供される。
【００５０】
送信ＰＨＹ１１は、仲買人の取引電気通信リンク１１を通じて注文メッセージを送信する処理のコンポーネントである。送信ＰＨＹ１１は、プログラマブル装置７からの電気信号として注文メッセージを受け入れ、プログラマブルハードウェア装置内において当該注文メッセージを示す電圧を、取引電気通信リンク４を通じた市場への送信に適した物理形式に変換し、当該リンクを通じてそれを市場５へ送信する。注文メッセージは、電気信号、光信号、無線信号、電磁信号、その他の送信に適した物理形式に変換されうる。
【００５１】
本実施形態においては、送信バッファ１０も、プログラマブルハードウェア装置として実現される。
【００５２】
一例として、注文を集約する機能は、特定の注文情報を適当に組み合わせることによって、市場５によってより効果的あるいは有意義に実行されるように構成されている。例えば、異なる顧客から複数の注文が特定の証券または株式に関連する場合、取引実行のコストを最小化し、あるいは取引速度を増すために、当該異なる顧客からの注文が単一の注文を形成するように組み合されうる。この集約機能の一部として、その他さらに複雑な規則が実施可能である。例えば、ヘッジの認識、リスク評価、指標の追跡、裁定機会の利用が含まれるが、これらに限られるものではない。
【００５３】
図３は、ＤＭＡ３の実施形態における動作を示すフロー図である。複数の顧客が、電気通信リンク２Ａ〜２ｘ（ＷＡＮ、ＬＡＮ、電話回線など）を介して接続されている。顧客１Ａ〜１ｘは、自身が望む取引の要求が証券取引所５で実行されるよう手配することを仲買人に依頼できる（ステップ３０１）。
【００５４】
ステップ３０２においては、各物理層インターフェース６Ａ〜６ｘが、個々の顧客と接続して同時並行的に変換処理を行なう。顧客注文の物理信号が、プログラマブルハードウェア装置７への入力に適した形式に変換される。
【００５５】
変換ステップ３０２が終了すると、次いで注文が各処理エンジン８Ａ〜８ｘにより処理され（ステップ３０４）、当該注文の正確性と法順守性について検証する。受信した取引情報が有効であると処理エンジン８Ａ〜８ｘがみなした場合、処理エンジン８Ａ〜８ｘは、市場５に適したデータ形式となるように、当該取引情報を再コード化する（ステップ３０６）。
【００５６】
再コード化処理（ステップ３０６）が終了すると、当該情報は、データ待ち行列９Ａ〜９ｘに一時的に保存され、送信バッファ１０によるさらなる処理を待機する（ステップ３０８）。
【００５７】
次いで送信バッファ１０は、取引情報の集約と優先順位づけを行なう（ステップ３１０）。準備が整うと、送信バッファ１０は、取引情報を第２の物理層インターフェース（ＰＨＹ）１１に送信する。次いで第２の物理層インターフェース１１は、注文を適切な送信形式に変換し、取引実行のために、変換された信号の自動化された市場５への送信に進む（ステップ３１４）。
【００５８】
メッセージの例を利用しつつ、本発明の実施形態により実施されうる注文処理の例を以下に列挙する。
【００５９】
（注文処理の例）
図２に示す改良されたＤＭＡ３（本実施形態においては、ＦＰＧＡにより実現される）における注文処理エンジン８ｘは、ネットワーク受信と同期して動作するように構成されている。ギガビット級のイーサネット（登録商標）ネットワークの場合、ＦＰＧＡのクロックレートは、１２５ＭＨｚが望ましい。この場合、クロック周期ごとに８ビット（１バイト）のデータの受信と処理が可能とされる。
【００６０】
本例において、ＦＰＧＡ３によって処理されるＥＣＮメッセージには、２つの種類がある。新規注文メッセージと注文変更／取消メッセージである。ＥＣＮメッセージは、標準インターネットプロトコル（ＵＤＰ／ＩＰ）パケット内に収容される。新規注文メッセージの一例は、以下の通りである。
【００６１】
イーサネットプロトコルヘッダ：１１２ビット／１４バイト
ＩＰプロトコルヘッダ：１６０ビット／２０バイト（最小値）
ＵＤＰプロトコルヘッダ：６４ビット／８バイト
セッションＩＤ：１６ビット／２バイト
シーケンス番号：１６ビット／２バイト
証券コード：３２ビット／４バイト
メッセージ種別：８ビット／１バイト（０＝新規注文）
取引種別：８ビット／１バイト（０＝買い注文、１＝売り注文）
（将来的使用のために確保）：１６ビット／２バイト
取引量：１６ビット／２バイト
取引価格：１６ビット／２バイト
顧客リファレンス：３２ビット／４バイト
【００６２】
まず、イーサネット、ＩＰ、およびＵＤＰプロトコルヘッダがスキップされる。ＩＰヘッダは可変長であるものの、これは非常に簡単な処理である。次いでＥＣＮプロトコルフィールドが受信される。
【００６３】
第１フィールド（セッションＩＤ）は、顧客と市場間のセッションを表すオペークトークンである。この第１フィールドを利用すると、ＦＰＧＡに保存された顧客情報アレイにおける顧客関連データが参照されうる。シーケンス番号フィールドが受信されると、ＦＰＧＡは、当該シーケンス番号が当該顧客について期待されるシーケンス番号と一致するかを検証する。一致しない場合、メッセージの残りは無視され、通知メッセージが直ちに顧客へ返される。あるいは、シーケンス番号の期待値が、次のメッセージに備えて１つ増加され、処理が進行する。セッションＩＤは、よりコンパクトな「顧客指標」に変換される。「顧客指標」は顧客と特定するためのものである。あるいは、これら２つのフィールドが破棄される。
【００６４】
続く４バイトは、当該メッセージが関連する証券コードを示す。これは、ＭＳＦＴのような株式コードでもよいし、その他の識別子であってもよい。効率的な参照テーブル（ＬＵＴ）を用いるＦＰＧＡは、当該証券コードが有効であるかを判断する。有効である場合、ＦＰＧＡは、当該証券コードをよりコンパクトな形式、すなわち証券指標に変換する。そのような形式は、以降の処理を大幅に効率化するが、この指標は一時的に有効とされるに過ぎず、顧客にとっては標準証券コードを使用することが望ましい。
【００６５】
当該メッセージにおけるその他のフィールドは、取引種別（買い注文または売り注文）、取引価格、取引量、および顧客リファレンス（顧客に供給されるフィールドであり、注文に係るあらゆるやり取りにおいて顧客に送られる）を伝達する。残りの各フィールドが受信されると、下記の規則に基づいて内的なフォームが構成される。入力フィールドの多くは、逐一通過されうる。しかしながら、フィールドが理にかなう値を有しているかを確認すべく、有効化が実行される。例えば、取引種別が買い注文または売り注文であるかを確認する。これにより、適正に形成されたメッセージのみが証券取引所に送られる。プロトコルにおける幾つかのフィールド（予備フィールドなど）は、将来的な拡張のみに用いられるため、内的なフォームから除外されうる。
【００６６】
全てのフィールドが受信されると、内的なシーケンス番号が付与される。結果として得られる１６バイトの内的なレコードは、市場送信機能と共有されるメモリ領域の循環バッファに書き込まれる。
【００６７】
顧客指標：１バイト
証券指標：１バイト
メッセージ種別：１バイト（０＝新規注文）
取引種別：１バイト（０＝買い注文、１＝売り注文）
取引量：２バイト
取引価格：２バイト
顧客リファレンス：４バイト
（不使用）：２バイト
内的なシーケンス番号：２バイト
【００６８】
同様の処理が、メッセージの変更や取消にも適用される。
イーサネットプロトコルヘッダ：１１２ビット／１４バイト
ＩＰプロトコルヘッダ：１６０ビット／２０バイト
ＵＤＰプロトコルヘッダ：６４ビット／８バイト
セッションＩＤ：１６ビット／２バイト
シーケンス番号：１６ビット／２バイト
証券コード：３２ビット／４バイト
メッセージ種別：８ビット／１バイト（１＝変更または取消注文）
（将来的使用のために確保）：８ビット／１バイト
新取引量：１６ビット／２バイト
注文リファレンス：１６ビット／２バイト
顧客リファレンス：３２ビット／４バイト
【００６９】
このメッセージは、新規注文メッセージと同様のフィールドを含み、同様に処理される。取引種別と取引価格に代えて、なされた注文を参照するために注文リファレンスが用いられる。このメッセージは、１６バイトの内的なレコードに逐一配置される。例えば以下に示すようになる。
【００７０】
顧客指標：１バイト
証券指標：１バイト
メッセージ種別：１バイト（１＝変更または取消注文）
（不使用）：１バイト
注文リファレンス：４バイト
顧客リファレンス：４バイト
新取引量：２バイト
内的なシーケンス番号：２バイト
【００７１】
（市場メッセージフォーマット）
注文が有効とみなされると、当該注文は、特定の証券取引所（図１における参照番号５）によって理解される形式にエンコードされる。
【００７２】
注文の少なくとも一部が証券取引所で実行されると、通知メッセージが受信され、当該注文元である顧客への通知を見据えた構文解析がなされる。
【００７３】
ＦＰＧＡにおける通知エンジンは、通知待ち行列からレコードを読み出し、顧客へメッセージを送る。顧客指標は、顧客情報アレイにインデックスを付与するために用いられる。顧客情報アレイは、顧客と連絡を取るために用いられるイーサネットアドレス、ＩＰアドレス、およびＵＤＰポート番号を含む。次に出力されるシーケンス番号も同様である。内的な証券指標は、顧客に使用される４バイトの証券コードに逆変換される。その他のフィールドは、逐一送られる。
【００７４】
出力メッセージは、ＦＰＧＡロジックにより生成される。ＦＰＧＡロジックは、ネットワーク送信と同期して動作し、メモリ内に予め構成されたメッセージを必要とするのではなく、各出力バイトを必要に応じて生成する。通知レコードのフィールドは、適当な順番で出力メッセージに置き換えられる。その一例は、以下の通りである。
【００７５】
イーサネットプロトコルヘッダ：１１２ビット／１４バイト
ＩＰプロトコルヘッダ：１６０ビット／２０バイト
ＵＤＰプロトコルヘッダ：６４ビット／８バイト
シーケンス番号：１６ビット／２バイト
通知種別：８ビット／１バイト
取引種別：８ビット／１バイト
証券コード：３２ビット／４バイト
取引量：１６ビット／２バイト
取引価格：１６ビット／２バイト
顧客リファレンス：３２ビット／４バイト
注文リファレンス：１６ビット／２バイト
【００７６】
上記の説明に含まれるメッセージは例示に過ぎず、別形式のメッセージや別のメッセージが、本発明の別実施形態に係る構成により処理されうることは明らかである。
【００７７】
一実施形態においては、冗長性をもたらすために、上述の実施形態のようなシステムが複数用意される。本例のようなシステムにおいては、冗長性が重要でありうることは明らかである。システムの少なくとも一部における機能停止時においても、市場取引の継続可能性と取引レコードの維持を確実にするためである。
【００７８】
上記の実施形態においては、通信アーキテクチャは、並列送信チャネルをハードウェア装置内に、単一送信チャネルを当該ハードウェア装置の外部において、適当な物理層インターフェースとともに含む。本発明は、この構成に限られるものではなく、ネットワークアーキテクチャ（インターネット）、無線アーキテクチャなどを含む、適当な送信アーキテクチャが適用されうる。さらに、場合によっては、市場に接続される並列電気通信チャネルが設けられうる。
【００７９】
上記の実施形態においては、株式や他の証券を取引する注文を、ＤＭＡが証券取引所に提供している。本発明は、この構成に限られるものではなく、その他の取引所や市場と通信する実施形態でもよい。
【００８０】
上記の実施形態においては、ＤＭＡが処理済みの注文を送信する市場は、完全に自動化された市場（ＡＴＳ）である。本発明は、この構成に限られるものではなく、市場は部分的に自動化されたものでもよい。またＤＭＡからの信号を受信可能である限りにおいて、どのような市場でもよい。
【００８１】
上記の実施形態においては、ＤＭＡを実現するために用いられるプログラマブルハードウェア装置は、ＦＰＧＡである。本発明は、この構成に限られるものではなく、ＤＭＡは、プログラマブル論理素子、用途特定型集積回路（ＡＳＩＣ）などの専用ハードウェアによって実現されうる。
【００８２】
上記の実施形態においては、注文処理エンジン８Ａ〜８ｘおよびデータ待ち行列９Ａ〜９ｘのような要素は、適当なプログラミングを利用した論理構成として実現されうる。例えば、ＶＨＤＬコード、ＣまたはＣ＋＋、システムＣコードを記述することにより実現されうる。また、状態遷移図を作成することにより実現されうる。あるいは、プログラマブル論理素子のプログラムに用いられるために、プログラマブルハードウェア装置の仕様を表現するその他の手法により実現されうる。
【００８３】
例えば、ＦＰＧＡなどのプログラマブル論理素子の構成にプログラムコードが利用される場合、当該プログラムコードが様々な経路を通じて供給されうることは明らかである。例えば、ディスクやメモリなどのコンピュータ読み取り可能な媒体、データ信号（例えば、サーバからダウンロードされる）としてなどである。
【００８４】
上記の実施形態においては、注文処理エンジンと送信管理アレンジメントは、専用のハードウェアにおいて実現される。本発明は、この構成に限られるものではない。例えば、ＤＭＡの一部が専用のハードウェアにより実現され、その他の部分はＧＰＣ上で実現されてもよい。本構成も便利な場合がありうる。例えば、注文処理がＧＰＣによって実現され、専用ハードウェアが送信管理アレンジメントに用いられる場合においても、依然として速度とスループットの向上が見込める。本構成は逆でもよい。すなわち、ＧＰＣが送信管理アレンジメントに用いられ、専用ハードウェアが注文処理エンジンに用いられうる。
【００８５】
上記の実施形態においては、有効化機能、コード化機能、フォーマット化機能、および集約化機能が実行される。これら全ての機能は、他の実施形態においても実行されうる。当該他の実施形態においては、上記機能の少なくとも１つが実行されうる。
【００８６】
続く特許請求の範囲、および先の発明の説明において、特に断りのない限りにおいて、「備える」や「備えている」という語は、包括的な意味で用いられる。すなわち、明記された特徴の存在が特定されるものの、発明の様々な実施形態において、さらなる特徴の存在や追加が排除されるものではない。
【００８７】
発明の思想と範囲から逸脱することなく多くの改変がなされうることは、当業者にとって明らかである。
【図１】
2014505951.tif 000003
【図２】
2014505951.tif 000004
【図３】
2014505951.tif 000005
【国際調査報告】
2014505951.tif 000006
2014505951.tif 000007