(57)【要約】  マス・クオートメッセージを処理し市場データを作成するシステムおよび方法を提供する。マス・クオートメッセージ（２０２）を受信し、各注文を構文解析して処理する。各市場データメッセージは、市場データメッセージバッファ（２１０）に格納する。全注文を処理したら、市場データメッセージバッファの内容は、単一の市場データメッセージとして配信する。メッセージ構造（５００）は、任意言語の印刷可能文字セットにおいて、データの追加、並び替え、および／または拡張を可能にする。１以上の区切り記号を定義し使用することで、メッセージ構造（５００）内のデータ要素を区切る。データは、テンプレート（５０１）に基づいて解釈する。このテンプレートは、メッセージの送信前に配信することができる。【特許請求の範囲】
【請求項１】
（ａ）金融商品に関する複数の注文を含んだマス・クオートメッセージを受信し、
（ｂ）前記マス・クオートメッセージを構文解析して前記複数の注文を注文帳オブジェクトへ送り、
（ｃ）前記注文帳オブジェクトにおいて前記複数の注文を処理し、
（ｄ）前記複数の注文の各々について市場データを作成し、
（ｅ）少なくとも１つの市場データメッセージバッファに前記市場データを格納し、
（ｆ）前記少なくとも１つの市場データメッセージバッファに格納した前記市場データを含む単一の市場データメッセージを送信する、各段階を実行するためのコンピュータ実行可能命令を収容したコンピュータ読み取り可能媒体。
【請求項２】
前記複数の注文は、１オプションクラスに属するオプション契約についての注文から成る、請求項１のコンピュータ読み取り可能媒体。
【請求項３】
前記注文帳オブジェクトは、１オプションクラス内のオプション契約に対応する、請求項２のコンピュータ読み取り可能媒体。
【請求項４】
前記複数の注文は、１バスケットから成る、請求項１のコンピュータ読み取り可能媒体。
【請求項５】
（ａ）複数の金融商品に関する注文を含んだマス・クオートメッセージを受信し、
（ｂ）１注文を選択し、
（ｃ）（ｂ）において選択した前記注文を処理し、
（ｄ）（ｃ）の結果である市場データをバッファに格納し、
（ｅ）前記複数の注文の残りについて（ｂ）−（ｄ）を繰り返し、
（ｆ）前記バッファに格納した前記市場データを含んだ単一の市場データメッセージを送信する、金融商品に関する注文を処理するためのコンピュータ実施方法。
【請求項６】
前記（ｂ）は、未処理の前記複数のデリバティブ商品注文の内、第１注文を選択する、請求項５の方法。
【請求項７】
前記（ｆ）は、取引所から複数の市場参加者へ前記単一の市場データメッセージを送信することを備える、請求項５の方法。
【請求項８】
前記複数の金融商品は、複数の行使価格を有するオプション契約から成る、請求項５の方法。
【請求項９】
前記複数の金融商品は、コール契約とプット契約とから成る、請求項８の方法。
【請求項１０】
前記複数の金融商品は、１バスケットから成る、請求項５の方法。
【請求項１１】
（ａ）複数の金融商品に関する複数の注文を含んだマス・クオートメッセージを受信し、
（ｂ）市場データメッセージバッファを作成し、
（ｃ）前記複数の注文を処理し、
（ｄ）（ｃ）の結果である市場データを前記市場データメッセージバッファに格納し、
（ｅ）前記複数の注文の全てに関する市場データを前記市場データメッセージバッファに収容した時を決定し、
（ｆ）前記市場データメッセージバッファが前記複数の注文の全てに関する市場データを収容したら、前記市場データメッセージバッファに格納した前記市場データを含んだ単一の市場データメッセージを送信する、金融商品に関する注文を処理するためのコンピュータ実施方法。
【請求項１２】
前記（ｅ）は、前記市場データメッセージバッファにおいて市場データを受け取る事態を計数することを備える、請求項１１の方法。
【請求項１３】
前記（ｅ）において市場データを受け取った時を決定することは、前記複数の注文の最後に対応する、請求項１１の方法。
【請求項１４】
前記（ｅ）は、前記複数の注文の最後の注文に添付したコードを識別することを備える、請求項１３の方法。
【請求項１５】
前記（ｆ）は、取引所から複数の市場参加者へ前記単一の市場データメッセージを送信することを備える、請求項１１の方法。
【請求項１６】
前記複数の金融商品は、複数の行使価格を有するオプション契約から成る、請求項１１の方法。
【請求項１７】
前記複数の金融商品は、コール契約とプット契約とから成る、請求項１１の方法。
【請求項１８】
前記（ｃ）は、複数のスレッドによって前記注文を処理することを備える、請求項１１の方法。
【請求項１９】
前記複数の金融商品は、１バスケットから成る、請求項１１の方法。
【請求項２０】
（ａ）複数の金融商品に関する複数の注文を含んだマス・クオートメッセージを受信し、前記注文は第１注文から最終注文まで順次に並び、
（ｂ）前記複数の注文を処理し、
（ｃ）（ｂ）の結果である市場データを市場データメッセージバッファに格納し、
（ｄ）前記最終注文に対応する市場データを前記市場データメッセージバッファに収容した時を決定し、
（ｅ）前記市場データメッセージバッファが前記最終注文に対応する市場データを収容したら、前記市場データメッセージバッファに格納した前記市場データを含んだ単一の市場データメッセージを送信する、金融商品に関する注文を処理するためのコンピュータ実施方法。
【請求項２１】
（ｆ）前記単一の市場データメッセージを送信した後、追加の市場データを受信するに伴って市場データメッセージを送信することをさらに備える、請求項２０の方法。
【請求項２２】
前記（ｄ）は、前記最終注文に添付したコードを識別することを備える、請求項２０の方法。
【請求項２３】
前記（ｅ）は、取引所から複数の市場参加者へ前記単一の市場データメッセージを送信することを備える、請求項２０の方法。
【請求項２４】
前記複数の金融商品は、複数の行使価格を有するオプション契約から成る、請求項２０の方法。
【請求項２５】
前記複数の金融商品は、コール契約とプット契約とから成る、請求項２０の方法。
【請求項２６】
前記（ｂ）は、複数のスレッドによって前記注文を処理することを備える、請求項２０の方法。
【請求項２７】
前記複数の金融商品は、１バスケットから成る、請求項２０の方法。
【請求項２８】
（ａ）テンプレートを受信し、当該テンプレートは複数のフィールドを定義し、
（ｂ）区切り記号によって分離した複数のフィールドを有する市場データメッセージを受信し、前記テンプレートは同一発信元から前記市場データメッセージとして受信しており、
（ｃ）前記市場データメッセージを構文解析して前記区切り記号によって分離した前記フィールドを抽出し、
（ｄ）前記テンプレートに含んだ順序および情報に基づき、前記複数のフィールドを解釈する、取引所から送られる市場データメッセージを処理する方法。
【請求項２９】
前記市場データメッセージは市場データから成る、取引所から送られる市場データメッセージを処理する請求項２８の方法。
【請求項３０】
（ｅ）前記市場データメッセージから構文解析した前記フィールドを格納する段階をさらに含む、取引所から送られる市場データメッセージを処理する請求項２８の方法。
【請求項３１】
前記市場データは金融商品に対する複数の注文から成る、取引所から送られる市場データメッセージを処理する請求項２９の方法。
【請求項３２】
前記市場データはクオートとマス・クオートとから成る、取引所から送られる市場データメッセージを処理する請求項２９の方法。
【請求項３３】
前記市場データは取引から成る、取引所から送られる市場データメッセージを処理する請求項２９の方法。
【請求項３４】
前記市場データは統計から成る、取引所から送られる市場データメッセージを処理する請求項２９の方法。
【請求項３５】
前記注文は証券、確定利付き債権、金利、農業製品、工業製品のグループから選択する、取引所から送られる市場データメッセージを処理する請求項３１の方法。
【請求項３６】
（ａ）テンプレートを受信し、
（ｂ）区切り記号によって分離したフィールドを有する市場データメッセージを受信し、
（ｃ）前記市場データメッセージを処理し、当該処理は前記市場データメッセージを構文解析することを含み、
（ｄ）前記テンプレートに含んだ順序および情報に基づき、前記複数のフィールドを解釈し、
（ｅ）前記市場データメッセージから構文解析して得た市場データを格納する、区切り記号によって分離した複数のフィールドを有する市場データメッセージを処理するためのコンピュータ実施方法。
【請求項３７】
（ａ）テンプレートを作成し、当該テンプレートは複数フィールドの順序を定義し、
（ｂ）前記テンプレートを送信し、
（ｃ）市場データを編集し、
（ｄ）金融データメッセージを作成し、
（ｅ）前記金融データメッセージを送信する、メッセージ構造を作成する方法。
【請求項３８】
前記金融データメッセージは、市場データメッセージから成る、請求項３７の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［０１］
本発明は、２００４年７月３０日出願の米国特許出願第１０／９０３，８２６号の利益を主張する。さらに本発明は、２００３年１１月５日出願の米国仮特許出願第６０／５１７，４９１号の利益を主張し、両出願の全開示を参照によりここに組み込む。
【０００２】
技術分野
［０２］
本発明は、複数の注文を含むマス・クオートメッセージの処理に関する。さらに詳しくは、本発明は、区切りメッセージフォーマットを利用してマス・クオートメッセージを処理し市場データを配信するシステムおよび方法に関する。
【０００３】
背景技術
［０３］
現在の金融商品取引システムは、金融商品のグループに対する注文をマス・クオートメッセージと呼ぶ１つの注文に結合して取引者に提供できる。例えば取引者は、マス・クオートメッセージを使用し、１つのオプションクラスに属するオプションシリーズ等、関連オプション契約のグループについて注文を送信する。従来の取引エンジンの場合、各注文を個別に処理し、市場データを作成し、作成した各取引の市場データを取引者等に配信する。
【０００４】
［０４］
注文数および取引者数が増加するにつれ、市場データメッセージの配信は、メッセージ送信用コンピュータシステムやネットワークに過大な負荷をかける。また、大量のメッセージとそれに関連するオーバヘッドの処理は、帯域幅と処理時間を消費する。現在のメッセージ構造は、固定長、キーと値のペア、および／またはメッセージモックアップ構造を用いてコンテンツを通信する。このような現在のメッセージ構造は非効率的である。なぜなら埋め込み用追加バイトに関連するオーバヘッドがある上、メッセージ中にキーや参照を使用せねばならない。従ってこの分野は、マス・クオートメッセージを処理し、進んだ電子メッセージ構造を使い、市場データメッセージを配信する新しいシステムおよび方法を必要としている。
【０００５】
発明の概要
［０５］
本発明は、前記従来技術の問題および限界を克服するため、マス・クオートメッセージを処理すると共に単一の市場データメッセージを作成するためのシステムおよび方法を提供する。マス・クオートメッセージ中の注文を処理し、市場データを作成する。この市場データは、１以上の市場データメッセージバッファに格納する。市場データメッセージバッファの内容は、単一の市場データメッセージとして送信する。本発明の一実施例において、マス・クオートメッセージは、異なる注文帳に分散すべき注文を含む。
【０００６】
［０６］
マス・クオートメッセージは、メッセージ構造を用いてフォーマットしても良い。このメッセージ構造は、データおよびデータグループの繰り返しを区画するため、区切り記号を使用する。この区切り記号は、構文解析論理を使用してのデータ抽出を可能にする単一バイト制御文字で良い。構文解析アルゴリズムは、メッセージ内のバイトを読み、区切り記号を特定する必要がある。メッセージ構造は、テンプレートを使用することで、メッセージタイプと、データの意味と、データの順序とを定義しても良い。このテンプレートは、メッセージ送信前に配布し、メッセージ内にデータの意味を含めないよう抽象化に役立つ。作成するメッセージは、テンプレートが指定する順序でデータを提示する。そのメッセージを処理するアプリケーションは、テンプレートにデータをマップし、意味と結びつける。このテンプレートは、メッセージ送信前に配布し、メッセージ内にデータの意味を含めないよう抽象化に利用できる。テンプレートを使えば、更新テンプレートを配布することで、データの追加、削除、並び替えが可能である。
【０００７】
［０７］
本発明の実施例において、例えばコンピュータ実行可能命令やモジュールを格納することにより、またはコンピュータ読み取り可能データ構造を利用することにより、本発明の各態様はその一部または全部をコンピュータ読み取り可能媒体上に実現可能である。当然ながら、ここに開示する方法およびシステムは、他の要素、ステップ、コンピュータ実行可能命令、コンピュータ読み取り可能データ構造を含むこともできる。
【０００８】
［０８］
本発明の前記およびその他実施例の詳細は、添付図面および以下の説明により明らかにする。本発明のその他特徴および利点は、それら説明、図面、および請求の範囲が明示する。
【０００９】
［０９］
本発明の部分およびステップは、物理的形態を取ることができる。本発明の実施例は、以下に詳細に説明すると共に添付図面に明示する。
【００１０】
詳細な説明
動作環境例
［１９］
本発明の各態様は、コンピュータ装置およびコンピュータネットワークによって実現することで、ユーザによる取引情報の交換を可能にする。取引システムおよび方法を実施するための取引ネットワーク環境の一例を図１に示す。取引所コンピュータシステム１００は、注文を受け取り、注文および取引に関する市場データをユーザに送信する。取引所コンピュータシステム１００は、１以上のメインフレームコンピュータ、デスクトップコンピュータ、その他コンピュータによって実現できる。ユーザデータベース１０２は、取引者および取引所コンピュータシステム１００の他のユーザを識別する情報を含む。このデータは、ユーザ名およびパスワードを含むことができる。アカウントデータモジュール１０４は、取引中に使用するアカウント情報を処理できる。一致エンジンモジュール１０６は、ビッド価格およびオファー価格を一致させる。一致エンジンモジュール１０６はソフトウエアで実現できる。このソフトウエアは、ビッドとオファーとを一致させるための１以上のアルゴリズムを実行する。取引データベース１０８は、取引と取引明細とを識別するための情報を格納する。特に、取引データベースは取引実行時間と契約価格とを識別するための情報を含む。注文帳モジュール１１０は、現在のビッド価格およびオファー価格を計算または決定する。市場データモジュール１１２は、市場データを収集し、ユーザへそのデータを送信準備する。リスク管理モジュール１３４は、ユーザの定義リスク閾値に関してユーザのリスク利用を計算および決定する。注文処理モジュール１３６は、デルタベースタイプおよびバルク注文タイプを分解し、注文帳モジュール１１０および一致エンジンモジュール１０６によって処理可能にする。
【００１１】
［２０］
図１に示した取引ネットワーク環境は、コンピュータ装置１１４，１１６，１１８，１２０，１２２を含む。各コンピュータ装置は、コンピュータの全体動作を制御する中央処理装置と、当該中央処理装置とネットワークカードまたはモデム等の１以上の従来部品とを接続するシステムバスとを含む。各コンピュータ装置は、データまたはファイルを読み書きするための各種インタフェースおよび駆動装置を含むことができる。ユーザは、コンピュータ装置のタイプに応じ、キーボード、ポインティングデバイス、マイクロフォン、ペン装置等の入力装置を使ってコンピュータと対話できる。
【００１２】
［２１］
図示のコンピュータ装置１１４は、取引所コンピュータシステム１００に直接接続している。取引所コンピュータシステム１００とコンピュータ装置１１４とは、Ｔ１ライン、共通ローカルエリアネットワーク（ＬＡＮ）、または他のコンピュータ装置接続機構を経由して接続しても良い。コンピュータ装置１１４は、無線１３２に接続している。無線１３２のユーザは、取引者または取引所従業員である。無線ユーザは、コンピュータ装置１１４のユーザへ注文等の情報を送信できる。コンピュータ装置１１４のユーザは、取引所コンピュータシステム１００へ取引情報または他の情報を送信できる。
【００１３】
［２２］
コンピュータ装置１１６および１１８は、ＬＡＮ１２４に接続する。ＬＡＮ１２４は、１以上の公知のＬＡＮ接続形態を有し、イーサネット等の様々なプロトコルを使用できる。コンピュータ１１６および１１８は、互いに通信できると共に、ＬＡＮ１２４に接続した他のコンピュータおよび装置とも通信できる。コンピュータおよび他の装置は、ツイストペア線、同軸ケーブル、光ファイバ等の媒体を介してＬＡＮ１２４に接続できる。無線パーソナルデジタルアシスタント装置（ＰＤＡ）１２２は、電波を介してＬＡＮ１２４またはインターネット１２６と通信できる。ＰＤＡ１２２は、従来の無線ハブ１２８を介して取引所コンピュータシステム１００と通信することもできる。このＰＤＡは、電波を介してネットワークと通信する移動電話等の無線装置を含む。
【００１４】
［２３］
さらに図１は、インターネット１２６に接続したＬＡＮ１２４を示す。ＬＡＮ１２４は、インターネット１２６にＬＡＮ１２４を接続するためのルータを含むことができる。図示のコンピュータ装置１２０は、インターネット１２６に直接接続する。この接続は、モデム、ＤＳＬライン、衛星通信アンテナ等のインターネットへコンピュータを接続する装置を経由しても良い。
【００１５】
［２４］
１以上のマーケットメーカ１３０は、取引所コンピュータシステム１００に対し、デリバティブまたは証券の所定ビッド価格およびオファー価格を提供することにより、市場を維持する。取引所コンピュータシステム１００は、取引エンジン１３８等の他の取引エンジンと情報を交換することもできる。当業者には明らかな通り、取引所コンピュータシステム１００には他の多くのコンピュータやシステムを結合できる。このようなコンピュータおよびシステムは、精算システム、統制システム、課金システムを含む。
【００１６】
［２５］
図１に示したコンピュータ装置およびシステムの動作は、コンピュータ読み取り可能媒体に格納したコンピュータ実行可能命令によって制御できる。例えば、コンピュータ装置１１６が含むコンピュータ実行可能命令は、ユーザから注文情報を受け取り、その注文情報を取引所コンピュータシステム１００へ送信する。あるいは、コンピュータ装置１１８が含むコンピュータ実行可能命令は、取引所コンピュータシステム１００から市場データを受け取り、その情報をユーザに表示する。
【００１７】
［２６］
もちろん他の多くのサーバ、コンピュータ、携帯装置、パーソナルデジタルアシスタント、電話等も、取引所コンピュータシステム１００に接続できる。さらに当業者には明らかな通り、図１に示した構成は一例に過ぎず、図１に示した各構成要素は、他の構成を用いて接続することも可能である。
【００１８】
マス・クオートメッセージ処理および市場データ配布
［２７］
図２は、マス・クオートメッセージを処理し、対応する市場データを配布するための本発明の一実施例に基づくシステムを示す。マス・クオートメッセージ２０２は、金融商品に対する複数の注文を含む。金融商品は例えばデリバティブ商品である。デリバティブ商品は、先物契約、他の先物契約の関数であるか関連した先物契約、基礎商品に価格が連動したあるいは価格が由来した他の金融商品に対するオプションを含む。本発明の一実施例において、前記注文は、一般オプションクラスに属するオプション契約である。注文は、バスケット、クアドランツ等の金融商品の組み合わせに関することもある。マス・クオートメッセージ２０２は、取引所で受け取れる。本明細書において、取引所とは注文を受け取り実行する場所またはシステムである。マス・クオートメッセージ２０２内の注文は、適切な注文帳オブジェクト２０４，２０６，２０８に分配する。各注文帳オブジェクトは、オプション契約等の特定の金融商品に対応し、その金融商品に関する注文帳を追跡または維持する。各注文が生成する市場データは、市場データメッセージバッファ２１０へ送る。このバッファにおいて、マス・クオートメッセージ２０２内の各注文に関する市場データを編集する。全ての市場データを受け取ると、市場データメッセージバッファ２１０の内容は、取引者等の市場データを追跡する者に送信できる。この送信は、取引者と取引所とを接続するインターネット２１２等を経由できる。
【００１９】
［２８］
図３は、マス・クオートメッセージを処理するための本発明の一実施例に基づくコンピュータ実施方法を示す。まずステップ３０２において、マス・クオートメッセージを受け取る。マス・クオートメッセージは、金融商品に対する複数の注文を含み、取引所、一致エンジン、あるいは金融商品に関する注文を処理する場所または装置において受け取ることができる。次にステップ３０４において、マス・クオートメッセージを調べ、対応する注文帳オブジェクトへ注文を送る。ステップ３０４は、メッセージ内の全注文を順次読み取り、対応する注文帳オブジェクトへ各注文を送ることを含む。
【００２０】
［２９］
ステップ３０６において、注文帳オブジェクトは注文を処理し市場データメッセージを生成する。注文の処理および市場データメッセージの生成は、当業者に公知の従来方法を使用する。各市場データメッセージは、ステップ３０８において市場データメッセージバッファに格納する。市場データメッセージバッファを利用することで、市場データメッセージの編集が便利になり、複数のメッセージを単一メッセージとして配信できる。最後に、マス・クオートメッセージ内の全注文に関する市場データメッセージを受け取ったら、ステップ３１０において市場データメッセージバッファ内の内容を送信する。ステップ３１０は、コンピュータネットワーク、音声ネットワーク、映像ネットワーク、データネットワーク等を介して送信することを含む。
【００２１】
［３０］
市場データメッセージバッファがマス・クオートメッセージ内の全注文に関する市場データを受け取ったことを決定するための方法はたくさんある。入力スレッドは、マス・クオートメッセージ内の注文数を決定し、その数を市場データメッセージバッファへ送る。マス・クオートメッセージは、固定数の注文を含むことができる。この場合、市場データメッセージバッファは、各市場メッセージをカウントするだけである。他の実施例において、マス・クオートメッセージ内の最終注文は、市場データメッセージバッファまたは他のモジュールに対しその注文が最終注文であることを示すフラグまたはコードを含むことができる。本発明のさらに他の実施例において、各注文帳オブジェクトは、受け取った注文の処理を完了したら、市場データメッセージバッファへコードを送信できる。各注文帳オブジェクトからそのコードを受け取ることで、市場データメッセージバッファは、マス・クオートメッセージ内の各注文に関する市場データを受け取ったことが分かる。各注文帳オブジェクトは、注文を処理するための各自のスレッドを利用しても良い。
【００２２】
［３１］
本発明の態様は、固定、単一、または複数の市場データメッセージバッファを使用できる。例えば、各注文帳オブジェクトは、独自の市場データメッセージバッファへ市場データメッセージを送信しても良い。図４は、本発明の一実施例に基づく、マス・クオートメッセージを処理するためのコンピュータ実施方法を示す。この方法は、市場データメッセージバッファの作成を含む。ステップ４０２においてマス・クオートメッセージを受け取る。次にステップ４０４において、市場データメッセージバッファを作成する。ステップ４０４は、バッファの必要サイズを決定し、利用可能バッファからバッファを選択するか、バッファ用にメモリを割り当てることを含む。他の実施例において、ステップ４０４は、複数の市場データメッセージバッファを作成し、注文を処理する各注文帳オブジェクトが１つの市場データメッセージバッファにアクセスできるようにする。もちろん、２以上の注文帳オブジェクトが１つの市場データメッセージバッファを共有しても良い。
【００２３】
［３２］
次にステップ４０６において、マス・クオートメッセージ内の複数の注文を注文帳オブジェクトによって処理する。ステップ４０６は、マス・クオートメッセージ内の各注文に関する市場データメッセージを作成することを含む。各市場メッセージは、ステップ４０８において市場データメッセージバッファに格納できる。
【００２４】
［３３］
ステップ４１０において、市場データメッセージバッファが全注文に関する市場データを格納しているか否かを決定する。ステップ４１０は、前記処理の１以上を用いて実行できる。全市場データをまだ受け取っていなければ、ステップ４１２において注文処理を継続する。全市場データを受け取っていれば、ステップ４１４において市場データバッファの全市場データを含む単一の市場データメッセージを送信する。
【００２５】
［３４］
複数の市場データメッセージバッファを使用する実施例において、それらバッファの内容は、全注文の処理が完了したあと、単一の市場データメッセージとして送信しても良い。
【００２６】
［３５］
前記各実施例は、マス・クオートメッセージを利用する。他の実施例において、各注文を処理し、市場データを生成し、その市場データを単一の市場データメッセージに編集することもできる。各種基準を使用し、注文をグループ化し、グループ化した注文から市場データを生成し、その市場データを編集して単一の市場データメッセージにしても良い。例えば、所定期間内に受け取った注文、または所定期間内に受け取った類似金融商品に関する注文をグループ化し、そのグループ化した注文の市場データを単一の市場データメッセージとして送信できる。
【００２７】
［３６］
前記各実施例は、全注文を処理したあと、単一の市場データメッセージを送信する。本発明の他の実施例において、全注文の処理前に市場データメッセージを送信できる。例えば、第１の注文から市場データを受け取ってから所定時間後にメッセージを送信しても良い。これにより、１以上の注文処理に過大な時間がかかっても、市場データを配信できる。最初の市場データメッセージの送信後、別の市場データを受け取ったら、次の市場データメッセージを送信する。
【００２８】
市場データメッセージフォーマット
［３７］
本発明の他の態様はメッセージ構造５００（図５）を提供する。この構造は、任意の言語の印刷可能文字セットにより、あらゆる性質の電子データを通信する。実際のメッセージ内容に意味を関連付ける際、実際のメッセージ内にキーを含める必要はなく、メッセージ内においてデータへの位置参照も必要としない。本方法は、フラットメッセージ構造を支援すると共に、任意のネスト深さのネストした繰り返しデータのグループも支援する。金融データメッセージは、取引所からの市場データおよび／または取引所への注文またはメッセージから成る。
【００２９】
［３８］
図５は、メッセージ構造５００の一実施例を示す。図５は、テンプレート５０１とメッセージ５０３を示す。図５に示すように、メッセージ構造５００は、区切り記号を有する。これら区切り記号は、各属性を区切ることで、各データを容易に抽出できるようにする。テンプレート５０１等のテンプレートは、属性順序を予め定義することで、抽出したデータを意味に関連付ける。メッセージ構造５００における区切り記号およびテンプレートの使用は、メッセージ構造の拡縮を容易にする。
【００３０】
［３９］
本発明の一実施例において、文字「｜」５０６は区切り記号である。当業者には明らかな通り、他の多くの文字を区切り記号として使用できる。例えば「［」５１０、「］」５１２、「｝」５１４等である。このような区切り記号は、所定メッセージ構造において、データ要素を区切る。１以上のテンプレート５０１等を定義し配布することで、１）支援するメッセージ構造の数と性質（フラットまたはネストした繰り返しデータのグループ）を示し、２）所定メッセージ構造において通信するデータの意味を示すことができる。使用する区切り記号は、テンプレート中で通信しても良いししなくても構わない。各テンプレートに対応する１以上のメッセージ構造を定義し、配布し、実際の内容または意味のある内容を搬送できる。
【００３１】
［４０］
図６および７は、本発明のメッセージ構造５００で使用する区切り記号の様々なオプションを示す。当業者には明らかな通り、図６および７は、各種区切り記号の全てを示すリストではなく、単に例示するものである。例えば図６および７は、他のオプションを含むこともでき、４個の図示した区切りを表現するため、文字を多重に使うこともできる（図示せず）。区切り記号として複数文字を使用すると効率は悪いが、図６および７に示したオプションと同一の意味を持たせることができる。
【００３２】
［４１］
図６および７は、一意の区切り記号欄６０２を含む。この欄は、区切り記号を構築するために使用する一意の文字数を示す。各種オプションの幾つかは、１文字の連続する複数の繰り返しを使用して区切り記号を形成する。区切り記号の選択は、フォーマットまたはメッセージ構造５００を変化させない。印刷可能性や文字セット等の考察は、実際の文字や選択する符号化に影響する。各代替案について、各区切り記号を代表する印刷可能文字を選択する。図６および７の各表は、「フィールド区切り記号」欄６０４と、「グループ開始」欄６０６と、「グループ終了」欄６０８と、「サンプル」欄６１０と、「備考」欄６１２とを含む。「サンプル」欄６１０は、標準化したサンプルを含む。各サンプルは、各代替案の形式に変換してある。図７は、「グループ区切り記号」欄６１４と、「オプションフィールド」欄６１６と、「繰り返しグループ」欄６１８とをさらに含む。
【００３３】
［４２］
図６および７に記載した多くの代替案において、「グループ終了」６０８の文字および「グループ区切り記号」６１４の文字は同一である。繰り返しグループの外側のフィールドは、そのグループの発生数を示す。構文解析アルゴリズムは、かかるタグの予測的性質を利用できる。区切り記号だけでは一意にメッセージ構造を区切れないからである。場合によっては、これらフィールドはメッセージの構文解析を行うために必要である。
【００３４】
［４３］
図７に示す「オプションフィールド」６１６は、データメッセージの最後に付加できる。「オプションフィールド」６１６は、データメッセージにおける繰り返しグループの最後、あるいはメッセージおよび／またはデータメッセージにおける繰り返しグループの他の場所に存在する。
【００３５】
［４４］
図６および７に定義した区切り記号は、属性および繰り返しグループを区別するために使用できる。４個の区切り記号の利用は最適と考えられる。例えば「フィールド区切り記号」６０４、「グループ開始区切り記号」６０６、「グループ区切り記号」６１４、および「グループ終了区切り記号」６０８である。４個の区切り記号の使用が最適である理由は、１）グループの繰り返し回数を数える必要がないのでバイトを節約でき構文解析アルゴリズムが簡単になり、２）繰り返しグループの最後における区切り記号はデータが存在しなければ省略でき、３）データを抽出するための構文解析アルゴリズムは全メッセージについて包括的であり、４）どのメッセージもメッセージタイプを参照せずに構文解析できるからである。
【００３６】
［４５］
区切り記号およびテンプレートは、何らかの手段によって配信または通信し、電子システムに組み込む。次に送るメッセージ構造は、可変長にできる。すなわちそのデータ要素は、長さを伸縮しても良く、各メッセージにリアルタイムで存在してもしなくても良い。メッセージ構造は、実施方法に応じ、メッセージ内容を予め知らずに、内容に対する参照やキー無しで、および／またはメッセージ構造に対する固定位置参照無しで構文解析しても良い。
【００３７】
［４６］
テンプレート５０１等の１以上のテンプレートを定義し、配信し、１）支援メッセージの数および性質（線形またはネストしたグループ）を示し、２）所定タイプのメッセージにおいて通信するデータの意味を示すことができる。テンプレートは、データと意味とを関連付けるにあたり、１）属性を定義し、２）出現順序を示す。所定メッセージタイプにおける区切り記号の使用は、そのテンプレートにおいて知らせる。
【００３８】
［４７］
テンプレートを配信したら、各テンプレートに対応するメッセージを構築し、配信し、実際の内容を搬送する。メッセージは可変長とし、データ要素の長さを伸縮しても良く、データ要素はリアルタイムに存在してもしなくても良い。テンプレートおよびメッセージは、即時に変更でき、属性を追加したり、削除したり、および／または必要に応じて並べ替えたりできる。テンプレートとメッセージの完全性は、受信のたびにメッセージサイズを検証することにより検査できる。
【００３９】
［４８］
本発明の一実施例において、前記メッセージフォーマットは、１）メッセージは送り手から１以上の受け手へ送り、２）配信方法は可変であり、３）テンプレートとデータメッセージという２つの基本的なメッセージタイプを送信し、４）送信するデータはキーと値のペアにおいて表現し、５）テンプレートはデータメッセージ中のデータ順序を定義し、６）テンプレートはキーを含みデータメッセージは関連する値を含み、７）このフォーマット構成を使用するプロトコルは必要な機能を提供する（例えばデータメッセージとテンプレートを一致させる機構、メッセージ内容を検証する機構）ことを前提とする。
【００４０】
［４９］
１つのメッセージは、基本的にフィールドと繰り返しグループから成る。繰り返しグループはネストすることができ、フィールドと繰り返しグループから成る。テンプレート内には、繰り返しグループは一度だけ存在できる。メッセージ内には、繰り返しグループは複数回発生しても良い。これらの発生は、連続的でも良い。
【００４１】
［５０］
前記したように、メッセージの構造は、フィールドと区切り記号とから成る。各フィールドには、１以上の区切り記号が続く。フィールド区切り記号は、グループ内またはメッセージ内においてフィールドを区切る。メッセージの最終要素が繰り返しグループでなければ、その後には「フィールド区切り記号」６０４が続くか、「グループ終了」区切り記号６０８が続く。「グループ開始」区切り記号６０６は、テンプレート内のグループ定義の開始とデータメッセージ内の繰り返しグループの開始を示す。「グループ区切り記号」６１４は、テンプレート内には存在せず、データメッセージ内において繰り返しグループを分離する。「グループ終了」定義文字６０８は、繰り返しグループの終了を示し、最後の繰り返しグループの最終要素の後に置くことができる。各「グループ開始」区切り記号６０６は、メッセージ後方の「グループ終了」区切り記号６０８と組み合わせることができる。
【００４２】
［５１］
メッセージ構造５００が行う機能は、１）データを搬送する属性の順序付け、２）メッセージ全体からの特定データの抽出、および／または３）データと意味との関連付け方法の提供がある。従ってメッセージ構造を最適化することは、効率的に属性を並べ、効率的にデータを抽出し、それを意味と関連付けることを含む。最適化したメッセージ構造は、属性の追加、削除、並べ替えを簡単にし、各メッセージにおいて存在しない属性や長さの変化する属性を効率的に扱うことを可能にする。
【００４３】
［５２］
完全に最適化したメッセージ構造は、最小サイズでデータを表現できるフォーマットにおいて意味のある内容だけを通信する。例えば価格を記述する構造は、オーバヘッド無しに価格だけを記述する。また、価格を記述するフォーマットは、文字列ではなく二値形式で価格を表現することにより最適化できる。
【００４４】
［５３］
メッセージ構造５００は、極めて効率的な方法で属性を配列する。メッセージ構造５００は、区切り記号を使って各属性を分離し、データの抽出を容易にする。メッセージ構造５００は、テンプレートを使用し、属性順序を予め定義し、抽出したデータを意味に関連付ける。
【００４５】
［５４］
メッセージ構造５００は、任意言語の印刷可能文字セット内でデータを搬送できる。メッセージ構造５００は、線形データ列と、任意のネスト深さの繰り返しデータのネストしたグループとを支援する。属性の順序は、少なくとも４つの要因によって決定できる。すなわち、１）効率を最適にするために繰り返し可能な属性は繰り返しグループに配置し、２）繰り返しグループはネストして共通データを最外側グループに置き一意のデータは最内側グループに置き、３）全メッセージに共通のデータは全ての繰り返しグループの外側に置き、４）頻繁に現れない属性は繰り返しグループの最後またはメッセージの最後に置く。最後の要因は、所定時点において値を持たない属性に関する区切り記号を削除することを可能にする。
【００４６】
［５５］
テンプレートとメッセージの完全性は、受信毎にメッセージサイズを検証することで検査できる。メッセージは、その対応するテンプレートの構造に対して検証できる。
【００４７】
［５６］
区切り構造の利点は、１）最適化した固定長構造に匹敵するあるいはそれより優れたメッセージサイズを生成する効率的なメッセージ構造を提供でき、２）メッセージのデータ要素の追加、並び替え、長さ拡張のためのキー・値構造およびモックアップ構造の柔軟性を保持でき、３）線形データ列と任意ネスト深さのネストした繰り返しデータのグループとを支援でき、メッセージサイズ効率を最適化した複雑なネストグループを介してデータ通信を行うことができ、４）即時に属性を追加し、削除し、および／または並び替えるため、テンプレートを定義して配信し、次に所定テンプレートに対応するメッセージを送信でき、５）属性長さの伸縮が可能であり、実時間で各メッセージに属性を含めることあるいは含めないことができ、６）メッセージタイプを予め知ることなく、また内容への参照またはキーが無くともメッセージを構文解析でき、７）任意数のテンプレートおよび／またはメッセージタイプを定義でき、任意言語の印刷可能文字セットにおいてデータの任意の性質を通信でき、８）あらかじめおよび時間とともに最適化することが固定長構造よりも容易にできることである。
【００４８】
［５７］
区切り構造のさらなる利点は、可変長メッセージ構造であるためにその消費するバイト数が、１）線形データ列については、所定メッセージにおいて実際データに使用するバイト数プラス区切り記号当たり１バイトを超えず、２）ネストしたメッセージ構造については、前記と同一数のバイトプラス各ネストしたデータグループを閉じるためのＸ個のバイトを超えないことである。
【００４９】
［５８］
固定長メッセージ構造の弱点は、属性を収容する際に埋め込みを行わねばならず、各属性は各メッセージにおいて存在しないこともあり、その長さが変化することもあることだ。各属性は固定長まで埋め込みをしなければならないが、その固定長は属性の予測最大長さに等しい。これは、固定長構造全体を調和し維持するため（または繰り返しグループの固定長区切りを調和させるため）に必要である。それによって、予め定義した位置参照を用いてデータを抽出できる。従って固定長構造は、拡張が容易ではない。
【００５０】
［５９］
このため最適な固定長構造は、商品、価格、数量を次のように記述する。
【００５１】
［６０］
ＥＳＺ３１０７５００５
［６１］
このメッセージをさらに最適化する構造は無い。しかしながら、固定長構造が前記の例のように最適化できることはあり得ない。その理由は、属性の長さがメッセージ毎に変化するからであり、埋め込みが必要である。
【００５２】
［６２］
ＥＳＺ３−−−−−００１０７５００００００５
［６３］
本例の場合、固定長メッセージのサイズは、合計１１個の不必要な文字によって膨張する。
【００５３】
［６４］
これに代えて前記した区切り構造を使用すれば次のようになる。
【００５４】
［６５］
ＥＳＺ３｜１０７５００｜５｜
［６６］
ＥＳＶ３Ｃ１０６０｜１０４０｜５｜
［６７］
この構造は、区切り記号用に３個の制御文字のオーバヘッドを伴うが、埋め込みを追加した固定長の例より向上している。
【００５５】
［６８］
メッセージサイズの最適化の観点から、区切り構造は、最適化した固定長構造がデータの繰り返しグループを含まない時、それと同等と見なせる。条件として、１）可変長の値を有する属性が多いほど、必ずしも存在しない属性が多いほど、区切り構造の効率は高まり、２）一定長の値を有して常に存在する属性が多いほど、固定長構造の効率は高まる。
【００５６】
［６９］
以下の例は、日付、時間、取引システム、取引モード、商品、価格、数量、価格変動、注文タイプ、および発信元を通信するメッセージを比較する。
【００５７】
［７０］
２００３１０１５１５３０１５９９９ＧＯＥＳＺ３−−−−−００１０７５０００００００５＋Ｌ４  １１文字による埋め込み
［７１］
２００３１０１５１５３０１５９９９｜Ｇ｜Ｏ｜ＥＳＺ３｜１０７５００｜５｜＋｜Ｌ｜４｜  ９個の区切り記号を伴う
［７２］
これら線形文字列を比較すると、２つの方法はメッセージサイズにおいてほぼ同等である。しかしながら区切り構造は、繰り返しグループが入ると、固定長構造よりも良い動作をする。また、固定長構造は、常に最適化が必要である。良い動作をするためには、属性を効率的に並べねば成らず、埋め込みを最小にしなければならない。
【００５８】
［７３］
図８は、本発明の一実施例に基づくメッセージ構造のコンピュータ実施方法を示す。まずステップ８０２においてテンプレートを作成する。このテンプレートは、複数フィールドの順序を定義する。次にステップ８０４において、図１に示したネットワークを経由し、前記テンプレートを送信する。ステップ８０５において、送信用市場データを編集する。この市場データは、注文、クオートまたはマス・クオート、取引、統計等の金融情報を含む。この金融情報は、デリバティブ商品を含むこともできる。デリバティブ商品は、先物契約のオプション、先物契約、他の先物契約の関数または関連である先物契約、または基礎商品に関連したまたは派生した価格を有する他の金融商品を含むことができる。
【００５９】
［７４］
ステップ８０６において、金融データメッセージを作成する。この金融データメッセージは、取引所からの市場データメッセージおよび／または取引所への注文またはメッセージから成る。金融データメッセージは、区切り記号で分離した複数のフィールドを含む。これら区切り記号は、情報の繰り返しグループを識別するための少なくとも１つの区切り記号を含む。最後にステップ８０８において、取引所等のシステムから金融データメッセージを送信する。この送信は、１以上のコンピュータネットワーク、無線ネットワーク、音声ネットワーク、映像ネットワーク、またはデータネットワークを経由することができる。
【００６０】
［７５］
図９は、区切り記号で分離した複数のフィールドを有する市場データメッセージを処理するための本発明の一実施例に基づくコンピュータ実施方法を示す。ステップ９０２において、テンプレートを受信する。このテンプレートは、市場データメッセージの複数フィールドの順序を定義する。次にステップ９０４において、市場データメッセージを受信する。この市場データメッセージは、区切り記号で分離した複数のフィールドを含むことができる。市場データメッセージの発信元は、テンプレートの発信元と同じでも良い。ステップ９０６において、市場データメッセージを構文解析し、区切り記号で分離したフィールドを抽出する。市場データメッセージから抽出したデータは、金融商品に対する複数の注文を含む市場データを有する。最後にステップ９０８において、市場データメッセージ内のデータを翻訳し、テンプレートが含む注文情報等の基本情報を得る。
【００６１】
［７６］
前記各実施例は、市場データを利用する。他の実施例において、個別注文およびクオートが同一メッセージ構造を使用しても良い。本発明のメッセージ構造５００は、市場データの処理にも使用できる。市場データは、金融商品に対する複数の注文を含むことができる。この金融商品は、デリバティブ商品でも良い。デリバティブ商品は、先物契約のオプション、他の先物契約の関数または関連である先物契約、または基礎商品に関連したまたは派生した価格を有する他の金融商品を含むことができる。このような市場データは、注文を受け取り処理する取引所において受け取ることができる。
【００６２】
［７７］
好適実施例に基づき本発明を説明してきたが、当業者には明らかな通り、本開示を参照することにより、本発明の範囲および精神を逸脱することなく、他の多くの実施例、変更形態、修正形態が可能である。例えば、本発明の各態様を使用することにより、市場データ以外のデータを処理し通信することが可能である。
【図面の簡単な説明】
【００６３】
【図１】［１０］  図１は、本発明の各態様を実施するために使用可能なコンピュータネットワークシステムを示す。
【図２】［１１］  図２は、マス・クオートメッセージを処理してそれに対応する市場データを配布するための本発明の一実施例に基づくシステムを示す。
【図３】［１２］  図３は、マス・クオートメッセージを処理するための本発明の一実施例に基づくコンピュータ実施方法を示す。
【図４】［１３］  図４は、マス・クオートメッセージを処理するための本発明の一実施例に基づくコンピュータ実施方法であって市場データメッセージバッファの作成を含む方法を示す。
【図５】［１４］  図５は、本発明の一実施例に基づくメッセージ構造を示す。
【図６】［１５］  図６は、本発明の一実施例に基づくテンプレートおよびデータメッセージで使用する様々な区切り記号を示す。
【図７】［１６］  図７は、本発明の一実施例に基づくテンプレートおよびデータメッセージで使用する別の区切り記号を示す。
【図８】［１７］  図８は、本発明の一実施例に基づくメッセージ構造を作成するためのコンピュータ実施方法を示す。
【図９】［１８］  図９は、本発明の一実施例に基づく市場データを処理するためのコンピュータ実施方法を示す。
【図１】
2007524926.tif 000002
【図２】
2007524926.tif 000003
【図３】
2007524926.tif 000004
【図４】
2007524926.tif 000005
【図５】
2007524926.tif 000006
【図６】
2007524926.tif 000007
【図７】
2007524926.tif 000008
【図８】
2007524926.tif 000009
【図９】
2007524926.tif 000010