ある実施形態は、例を示すものとして提供される図面と併せて読むことでより良く理解される。しかしながら、実施形態は、添付の図面に示した配置や手段に限定されないものと理解すべきである。
以下の発明の詳細な説明では、コンポーネントの中でも特にハードウェア上で実行されるソフトウェアを含む実施形態を開示するが、これらの実施形態は単なる例示であり、限定的なものとして解釈すべきではない。例えば、これらのハードウェアおよびソフトウェアのコンポーネントのいずれか又は全てが、ハードウェアにて独占的に、ソフトウェアにて独占的に、ファームウェアにて独占的に、又は、ハードウェア、ソフトウェアおよび/又はファームウェアの任意の組み合わせにて実装されてもよい。したがって、開示される実施形態はその他の方法により実施・実装されてもよい。
開示される実施形態によれば、2つ以上のユーザをリンク付け又はグループ化した取引サークルを定義および確立するためのメカニズムとプロセスが提供される。取引サークル(「サークル」とも呼ばれる。)は1つ又は複数の共通の特性又はパラメータを利用して確立され、これにより、個々のユーザのそれぞれをサークルのメンバーとして識別することができる。例えば、企業内のユーザを集約してサークルを定義する;共通の取引可能オブジェクトを取引するユーザをリンクしてサークルを定義する;共通の通信ネットワークを介して通信するユーザによりサークルを定義する;1つ又は複数の関連する取引可能オブジェクトを取引するユーザによりサークルを定義する;特定の頻度又はボリュームで取引するユーザによりサークルを定義してもよい。あるいは、ユーザは例えば、新たなサークルのメンバーに共通する1つ又は複数の特定の好み、要件および/又は特性に基づいて、1つ又は複数の既存のサークルへの加入および/又は新たなサークルの確立を選択することができる。
取引サークルが確立されると、開示される実施形態によれば、第1のメンバーに関連するサークルデータをサークルの他のメンバーに通信することが促進される。例えば、サークルメンバーが電子取引所に取引注文を通信する場合、本明細書に開示される実施形態によれば、取引サークルメンバーの一部又は全部への取引注文データに関連するサークルデータの通信が促進される。サークルデータには、オファー価格、購入価格、数量データ、注文閾値/制限、および/又は、電子取引所に提供され取引可能オブジェクトの購入又は売却に関連する任意のデータなどの取引注文データが含まれてもよい。サークルデータはさらに、価格データ、市場深度データ、最終取引数量データ、および/又は取引可能オブジェクトに関連する市場のその他のデータを含んでもよい。いくつかの例では、サークルデータは、取引の提出が行われる市場のコンディションおよび/又は動作に関連する情報を含む。サークルデータは例えば、取引デバイスと取引所との間の計算されたラウンドトリップの時間に基づくレイテンシー情報を含む。インフライト(in-flight)の遅延を制限する試みで、サークルデータ内で共有されるレイテンシー情報を利用して、ネットワークのパフォーマンスの評価および注文のルーティングを行うことができる。同様に、サークルデータは、所定の取引所に固有の拒絶および/又はスロットリングに関する情報を含むことができる。このように、サークルデータを利用して、市場パフォーマンス情報および/又は市場の特徴をサークルメンバーと共有することができる。
市場の潜在的な変化を表すサークルデータを取引サークルのメンバーに通信することにより、ほとんどの非メンバーが電子取引所から更新された市場データを受信する前に、潜在的な市場変化の情報を考慮および/又はそれに反応することができる。このように、取引サークルのメンバーは、サークルデータに含まれる情報に基づいて迅速に反応することができ、取引サークルの非メンバーは、更新された市場データが電子取引所から受信されるまでアクションを遅らされる。例えば、第1のサークルメンバーが特定の取引可能オブジェクトの20ロットの注文を送信するとき、サークルメンバーは、第1のサークルメンバーによって少なくとも20ロットの注文が提出されることによって、その取引可能オブジェクトの利用可能数量はすぐに減少する可能性が高いことを通知される。さらに、第1のサークルメンバーが拒絶/約定の通知などの取引所通知を受信したとき、サークルメンバーは当該通知を知らされる。付加的および代替的な例が以下で詳細に記載される。
サークルデータの通信は、取引サークルのメンバー間におけるポイントツーポイント接続によって促進される、あるいは、ゲートウェイ又はその他の適切なネットワークデバイスなどの1つ又は複数の集中型ハブを介して制御又は指示される。
開示される実施形態によれば、1つ又は複数の取引サークルのメンバー間におけるサークルデータの通信が促進される。開示される実施形態を使用して、ブローカー集団のような取引エンティティのメンバー、個々のトレーダ、ソーシャルネットワーキンググループのメンバー又はその他の種類のユーザなどを含むように、取引サークルを形成することができる。取引サークルのメンバーが取引アクティビティを行う、および/又は(例えば、取引デバイス又はアプリケーションを介して)取引所からの通知を受信すると、開示される実施形態によれば、当該アクティビティおよび/又は通知に関するサークルデータがサークルの他のメンバーに通信される。例えば、取引サークルの第1のメンバーが取引所に注文を送信する又はその他の方法で取引所と交信するとき、1つ又は複数の開示された実施形態によれば、電子取引所に注文を送信することに合わせて(例えば同時に)、当該注文又は交信に関する少なくとも1つのインジケーションを含むサークルデータが送信される。その他のサークルのメンバー、非同盟の個人、およびその他の取引サークルの非メンバーには、注文の送信、取引所との交信、あるいは市場アクティビティが取引所に与え得る効果が、取引所によって注文が処理されるまで知らされない。その結果、取引サークルの仲間のメンバーには、取引サークルの他のメンバーによって実行される取引所との交信に関連するサークルデータが、取引サークルの非メンバーよりも早く提供される。したがって、開示される実施形態によれば、同じ取引サークルのメンバーが、他のメンバーによる将来の市場アクティビティに関する情報を取引所による処理を待機することなく受信することができるようになる。開示される実施形態によるサークルメンバー間での取引データの改善された通信は本明細書で詳細に説明される。
さらに、開示される実施形態によれば、取引所から提供されない又はその他の方法で利用可能とならない市場データを展開および/又は共有するためのメカニズムとプロセスが提供される。例えば、取引所はよく、ベストビッドとベスト価格を超えて配信(disseminate)する価格レベルの数を制限する。いくつかの例では、取引所は、ベストビッド/価格を基準に上下に4つの価格レベルの数量データをそれぞれ配信している。このような例では、取引所は限られた数の価格レベル(例えば8つの価格レベル)を超えて価格情報を配信していないため、取引所と交信するユーザに提供される市場ビューは不完全なものである。開示される実施形態によれば、取引所によって課される制限を超える価格情報に関する取引サークルメンバー間の通信が促進される。以下で詳細に記載するように、開示される実施形態によれば、取引サークルの1つ又は複数の個々のメンバーによる実行中の注文に関連する価格情報を利用することにより、サークルの他のメンバーに対してより完全な市場ビューが提供される。取引所が例えば、ベストビッド/価格に最も近い8つの価格レベルの数量情報のみを配信するとき、開示される実施形態によれば、ベストビッド/価格に最も近い20個の価格レベルの数量情報又は全ての価格レベルの数量情報が取引サークルのメンバー間で展開および/又は配信される。このような例では、開示される実施形態によれば、非サークルメンバーに取引所が単独で提供する場合よりも、取引サークルのメンバーに対してより完全な市場ビューが提供される。付加的又は代替的に、開示される実施形態によれば、取引サークルの1つ又は複数の個々のメンバーに関連付けられた価格情報を取引所が配信している価格情報とともに使用することで、市場における取引所が現在価格情報を配信していない部分についての推定価格情報を生成する。このような例において、開示される実施形態によれば、取引サークルの個々のメンバーに対して完全に近い市場ビューが提供される。開示される実施形態によって提供される価格情報の拡張は、以下でより詳細に説明されている。
さらに、開示される実施形態によれば、取引サークルのメンバーに対して、実行中の注文又は少なくともその一部が取引サークルの他のメンバーによる市場アクティビティに基づいて約定される可能性があることのインジケーションを提供する。以下でより詳細に記載されるように、開示される実施形態によれば、取引サークルのメンバーによる実行中の注文を分析することにより、同取引サークルの1つ又は複数の他のメンバーが同じ取引可能オブジェクトの実行中の注文を有するかどうかを識別する。識別された実行中の注文が相互補完的な種類の注文(1つの注文が買い注文で他の注文が売り注文)である場合には、開示される実施形態によれば、これらの注文が1つ又は複数の約定となる可能性があるかどうかを決定する。開示される実施形態が識別する可能性が高い約定は、「理論約定」とも称する。開示される実施形態によれば、取引サークルの個々のメンバーが取引所による注文の処理を待機することなく、取引サークルのメンバーに理論約定が通知される。その結果、理論約定のインジケーションを受信する取引サークルの個々のメンバーは、取引所による市場データの処理を待機するよりも早く、理論約定に起因する可能性の高い市場コンディション又はポジションを知らされる。開示される実施形態が提供する可能性の高い注文約定のインジケーションは、以下でより詳細に説明される。
ある実施形態は、複数のメンバーを含むグループを定義するための方法を提供する。複数のメンバーのうちの1つ又は複数は、市場取引を促進するための取引所と交信する。方法はさらに、第1のグループメンバーによる取引所との第1の交信を検知する。方法はさらに、第1の交信の検知に応じて、第1のグループメンバーが第1の交信に関する確認連絡を取引所から受信する前に、第1の交信に関するデータを第2のグループメンバーへ通信する。
ある実施形態は、命令を有する有形コンピュータ読み取り可能媒体を提供する。当該命令はコンピューティングデバイスによって実行されたときに、複数のメンバーを含むグループを定義するステップを実行させる。複数のメンバーのうちの1つ又は複数は、市場取引を促進するための取引所と交信する。命令はさらに、第1のグループメンバーによる取引所との第1の交信を検知するステップを実行させる。命令はさらに、第1の交信の検知に応じて、第1のグループメンバーが第1の交信に関する確認連絡を取引所から受信する前に、第1の交信に関するデータを第2のグループメンバーに通信するステップを実行させる。
ある実施形態は、装置を提供する。装置は、複数のメンバーを含むグループを定義する定義部を備える。複数のメンバーのうちの1つ又は複数は、市場取引を促進するための取引所と交信する。装置はさらに、第1のグループメンバーによる取引所との第1の交信を検知する検知部を備える。装置はさらに、検知部による第1の交信の検知に応じて、第1のグループメンバーが第1の交信に関する確認連絡を取引所から受信する前に、第1の交信に関するデータを第2のグループメンバーへ通信する通信部を備える。
ある実施形態は、方法を提供する。方法は、複数のメンバーを含むグループを定義するステップを含む。複数のメンバーのうちの1つ又は複数は、ある範囲の価格レベルに関するデータを配信する取引所と交信する。方法はさらに、配信範囲外における第1の価格レベルでの第1のグループメンバーによる実行中の注文に関するデータを収集するステップを含む。方法はさらに、収集したデータを第2のグループメンバーに通信するステップを含む。
ある実施形態は、命令を含む有形コンピュータ読み取り可能媒体を提供する。命令は実行されたときに、コンピューティングデバイスに複数のメンバーを含むグループを定義させる。複数のメンバーのうちの1つ又は複数は、ある範囲の価格レベルに関するデータを配信する取引所と交信する。命令はさらに、コンピューティングデバイスに、配信範囲外における第1の価格レベルでの第1のグループメンバーによる実行中の注文に関するデータを収集させる。命令はさらに、コンピューティングデバイスに、収集したデータを第2のグループメンバーに通信させる。
ある実施形態は、装置を提供する。装置は、複数のメンバーを含むグループを定義する定義部を備える。複数のメンバーのうちの1つ又は複数は、ある範囲の価格レベルに関するデータを配信する取引所と交信する。装置はさらに、配信範囲外における第1の価格レベルでの第1のグループメンバーによる実行中の注文に関するデータを収集する拡張部(expander)を備える。装置はさらに、収集したデータを第2のグループメンバーに通信する通信部を備える。
II.電子取引システムの例
図1は、ある実施形態を採用可能な例示的な電子取引システム100のブロック図を示す。システム100は、取引デバイス110と、ゲートウェイ120と、電子取引所130とを備える。取引デバイス110は、ゲートウェイ120と通信する。ゲートウェイ120は、取引所130と通信する。
本明細書における「通信」との用語には、直接的な通信、および/又は、1つ若しくは複数の中間コンポーネントを介した間接的な通信が含まれる。
動作中において、取引デバイス110は、取引所130における取引可能オブジェクトを売買するための注文を送信する。ユーザは例えば、取引デバイス110を使用して注文を送信する。注文はゲートウェイ120を介して取引所130に送信される。さらに、市場データが、取引所130からゲートウェイ120を介して取引デバイス110に送信される。ユーザは取引デバイス110を使用して、市場データのモニタを行う、および/又は、当該市場データに基づいて取引可能オブジェクトを売買する注文を送信することの意思決定を行う。
取引可能オブジェクトは、ある数量および/又は価格で取引される任意のものである。取引可能オブジェクトは例えば、株式、オプション、債券、先物、通貨、ワラント、ファンドデリバティブ、証券、コモディティ、スワップ、金利商品、インデックスベース商品、取引イベント、グッズ、コレクションおよび/又はこれらの組み合わせを含む金融商品であってもよい。取引可能オブジェクトは、「実際(real)」でも「合成(synthetic)」でもよい。「実際の取引可能オブジェクトは、取引所にリストおよび/又は管理されている商品が含まれる。合成の取引可能オブジェクトは、ユーザによって定義された商品が含まれる。例えば、合成の取引可能オブジェクトは、実際の商品(又はその他の合成の商品)の組合せであってもよい(取引デバイス110を用いてユーザによって生成された合成スプレッドなど)。合成の取引オブジェクトに対応および/又は類似する実際の取引可能オブジェクトが存在してもよい。
取引デバイス110は、ハンドヘルドデバイス、ラップトップ、デスクトップコンピュータ、シングル又はマルチコアプロセッサを搭載したワークステーション、複数のプロセッサを搭載したサーバ、および/又はコンピュータのクラスタなど、1つ又は複数の電子コンピューティングプラットフォームを含んでもよい。取引デバイス110は、論理的に単一のデバイスとして示されているが例えば、サーバと通信してサーバとともに集合的に取引デバイス110を構成するような取引端末を含んでもよい。取引端末は、ユーザに取引画面を提供し、さらに、取引画面を通じたユーザの入力(注文の提出など)をさらに処理するためのコマンドをサーバに通信することができる。
取引デバイス110は一般的に、ユーザによって所有、操作、制御、プログラミング、構成又はその他の方法で使用される。本明細書で使用する場合、「ユーザ」のフレーズは、人間(例えば、トレーダ)又は電子取引デバイス(例えば、アルゴリズム取引システム又は取引アプリケーション)を含んでもよく、これらに限定されない。例えば、前述した所有、操作、制御、プログラミング、構成又はその他の使用に関して、1人又は複数のユーザが関与してもよい。
取引デバイス110は、1つ又は複数の取引アプリケーションを含むことができる。取引アプリケーションは例えば、取引・チャートのウィンドウに市場データを配置および表示することで、市場データを処理してもよい。市場データは例えば、取引所130から受信することができる。別の例として、履歴データの提供および/又は取引所のシミュレートを行うが実世界での取引は行わないシミュレーション環境から市場データを受信することができる。この処理は例えば、ユーザの好みに基づいてもよい。取引アプリケーションは例えば、自動化されたスプレッド取引ツールなどの自動取引ツールを含む。取引デバイス110における1つ又は複数のコンピューティングデバイスに、1つ又は複数の取引アプリケーションを分配してもよい。例えば、取引アプリケーションのあるコンポーネントは、取引ワークステーション上で実行され、その他のコンポーネントは、ワークステーションと通信するサーバ上で実行されてもよい。
取引デバイス110は例えば、電子取引ワークステーション、ポータブル取引デバイス、「ブラックボックス」又は「グレーボックス」システムなどのアルゴリズム取引システム、埋め込み型取引システム、および/又は自動売買ツールを含んでもよい。取引デバイス110は例えば、シカゴ・イリノイ州のトレーディングテクノロジーズインターナショナル社が提供する電子取引プラットフォームであるX_TRADER(登録商標)のコピーを実行するコンピューティングシステムであってもよい。別の例として、取引デバイス110は、トレーディングテクノロジーズインターナショナル社が提供するAUTOSPREADER(登録商標)および/又はAUTOTRADER(商標)などの自動取引ツールを実行するコンピューティングデバイスであってもよい。
別の例として、取引デバイス110は、市場データをアルゴリズム的に処理して当該アルゴリズム処理に基づく手動による注文提出を行うための、又は、自動的に配置された注文を操作するためのユーザインタフェースを備える。アルゴリズム取引アプリケーションは、特定のアクションを実行するように自動的に処理されるアルゴリズムを含む取引アプリケーションである。すなわち、この取引アプリケーションは、定義されたアクションを実行するための自動化された一連の命令を含む。アクションには、特定の方法による市場データの処理、注文の提出、既存の注文の変更、注文の削除、注文提出の規制、どの取引可能オブジェクトを実行するかの選択、注文を提出する価格又は注文を変更した後の価格の決定、注文を提出する数量又は注文を変更した後の数量の決定、注文を売買するかの決定、あるいは、所定時間のアクションの遅延などが含まれる。
本明細書では、アルゴリズム(取引アルゴリズムとも称される)は、取引で使用するためのアルゴリズムを記述した論理式およびパラメータを含むという定義によって特定される。論理式は、パラメータ間の関係を特定するものであり、複数のパラメータを生成することができる。パラメータは例えば、アルゴリズムの論理式に対する入力を含んでいてもよい。アルゴリズムの定義は、アルゴリズム取引アプリケーションによって少なくとも部分的に特定されてもよい。アルゴリズム取引アプリケーションは例えば、事前に定義された論理式で使用するパラメータのみをユーザが特定できるようにしてもよい。別の例として、アルゴリズム取引アプリケーションは、論理式の一部又は全て並びにパラメータの一部又は全てをユーザが特定できるようにしてもよい。論理式がユーザによって特定される取引アルゴリズムは、ユーザ定義の取引アルゴリズムである。
取引アプリケーションは、取引デバイス110のコンピュータ読み取り可能媒体に記憶されてもよい。ある実施形態では、取引アプリケーションの1つ又は複数のコンポーネントが取引ワークステーション上に記憶され、その他のコンポーネントがワークステーションと通信するサーバ上に記憶されてもよい。ある実施形態では、取引デバイス110のコンピュータ読み取り可能媒体に対して、他のコンピュータ読み取り可能媒体から取引アプリケーションの1つ又は複数のコンポーネントがロードされる。例えば、取引アプリケーション(又は取引アプリケーションのアップデート)は、製造者、開発者又は公開者によって1つ又は複数のCD、DVDに記憶されてもよく、その後、当該アプリケーションを取引デバイス110上にロードする責任者へ、あるいは、取引デバイス110が取引アプリケーションを取得するためのサーバへ提供される。別の例として、取引デバイス110は、例えばインターネット又は内部ネットワークを介して、サーバから取引アプリケーション(又は取引アプリケーションのアップデート)を受信してもよい。取引デバイス110は、取引デバイス110によって要求されたときあるいは要求されていないときに(前者が「プル配信」、後者が「プッシュ配信」)、取引アプリケーションおよび/又はそのアップデートを受信してもよい。
取引デバイス110は、取引可能オブジェクトに関する注文を送信するように構成されている。注文は例えば、1つ又は複数のメッセージ又はデータパケットとして、あるいは共有メモリシステムを介して送信することができる。取引デバイス110は例えば、注文のキャンセル、注文の変更および/又は取引所への照会を行うように構成される。別の例として、取引デバイス110は、実世界の取引には影響しないシミュレーション環境におけるシミュレートされた取引所に命令を送信するように構成されてもよい。
取引デバイス110によって送信される注文は例えば、ユーザの要求に応じて又は自動的に送信されてもよい。トレーダは例えば、電子取引ワークステーションを利用して、注文価格および/又は注文数量などの1つ又は複数のパラメータを手動で提供し、特定の取引可能オブジェクトを注文してもよい。別の例として、自動取引ツールは、注文に関する1つ又は複数のパラメータを計算し、注文を自動的に送信する。いくつかの例では、自動取引ツールは、ユーザからの確認なしには実際には送信しないが後で送信されるべき注文を準備する。
ある実施形態では、取引デバイス110は、ユーザインタフェースを含む。ユーザインタフェースは例えば、ユーザに対してテキストベースおよび/又はグラフィックによる取引アプリケーションのインターフェースを提示するための1つ又は複数の表示デバイスを含んでもよい。表示デバイスには例えば、コンピュータモニタ、ハンドヘルドデバイスのディスプレイ、プロジェクタおよび/又はテレビが含まれる。ユーザインタフェースにより、取引アプリケーションを使用して、注文のためのパラメータを特定又はレビューすることができる。ユーザインタフェースは例えば、入力を受信するための1つ又は複数の入力デバイスを含む。入力デバイスには例えば、キーボード、トラックボール、2個ボタン又は3個ボタンのマウスおよび/又はタッチスクリーンが含まれてもよい。ユーザインタフェースは、ユーザと交信するための他のデバイスを含んでもよい。情報は例えば、スピーカを介してユーザに提供されてもよく、および/又は、マイクを介して受信されてもよい。
ある実施形態では、取引アプリケーションは、ユーザが1つ又は複数の市場と交信することを可能にする1つ又は複数の取引画面が含まれている。取引画面は例えば、ユーザが様々な取引戦略を実施しながら、市場情報の取得および閲覧、注文入力パラメータの設定、注文の入力およびキャンセル、および/又はポジションの確認を行うことを可能にする。取引アプリケーションは例えば、取引所130から情報(ビッド価格、ビッド数量、アスク価格、アスク数量、過去の取引における価格および数量、および/又はその他の市場関連情報)を受信し、そのうちのいくつか又は全てが取引デバイス110のユーザインタフェースにより表示されてもよい。受信した情報に基づいて、取引画面は、取引可能オブジェクトに関する価格レベルの範囲および対応するビッド・アスク数量を表示してもよい。関連の取引情報をユーザに提供するために、取引画面は、内部市場を中心とする価格範囲(およびそれに対応するビッド・アスク数量)を表示してもよい。情報は継続的に又は定期的に取引アプリケーションに提供されてもよく、これにより、取引アプリケーションは現在の市場情報を反映するように取引画面を更新することができる。ユーザは取引画面を使用して、表示された情報に基づいて、例えば取引可能オブジェクトを売買するための注文を提出する、あるいはそれ以外の方法で取引可能オブジェクトを取引することができる。
取引画面は、1つ又は複数の取引ツールを表示してもよい。取引ツールは、電子取引を可能にする、支援するおよび/又は容易にする電子ツールである。代表的な取引ツールには、これらに限定されないが、チャート、取引ラダー(trading ladders)、注文入力ツール、自動取引ツール、自動スプレッドツール、リスク管理ツール、注文パラメータツール、注文入力システム、市場グリッド、約定ウィンドウ、市場注文ウィンドウ、それらの組み合わせ、あるいは、取引するため、取引の準備をするため、取引を管理するため又は市場を分析するために使用されるその他の電子ツールが含まれても良い。
ある実施形態では、取引デバイス110からの注文は、ゲートウェイ120を介して取引所130に送られる。取引デバイス110は、ゲートウェイ120と通信する際に、例えばローカルエリアネットワーク、ワイドエリアネットワーク、無線ネットワーク、仮想プライベートネットワーク、T1回線、T3回線、統合サービスデジタル網(「ISDN」)回線、ポイント・オブ・プレゼンス、インターネット、および/又は共有メモリシステムを使用する。
ゲートウェイ120は、取引デバイス110および取引所130と通信する。ゲートウェイ120は、取引デバイス110と取引所130との間の通信を促進するように構成される。ゲートウェイ120は例えば、取引デバイス110から注文を受信し、当該注文を取引所130に送信する。別の例として、ゲートウェイ120は、取引所130から市場データを受信し、当該市場データを取引デバイス110に送信する。
ある実施形態では、ゲートウェイ120は、取引デバイス110と取引所130との間で通信されるデータに対する処理を行う。ゲートウェイ120は例えば、取引デバイス110から受信した注文を取引所130が理解可能なデータ形式に処理する。同様に、ゲートウェイ120は、取引所130から受信した取引所固有の形式による市場データを取引デバイス110が理解可能な形式に変換することができる。ゲートウェイ120による処理には例えば、取引デバイス110からの注文の追跡、および、取引所130から受信した約定確認に基づく注文ステータスの更新が含まれる。別の例として、ゲートウェイ120は、取引所130からの市場データを合体して取引デバイス110に提供する。
ある実施形態では、ゲートウェイ120は、取引デバイス110と取引所130との間で通信されるデータの処理以外のサービスを提供する。ゲートウェイ120は例えば、リスク処理を提供する。
ゲートウェイ120は例えば、ハンドヘルドデバイス、ラップトップ、デスクトップコンピュータ、シングル又はマルチコアプロセッサを搭載したワークステーション、複数のプロセッサを搭載したサーバ、および/又はコンピュータのクラスタなど、1つ又は複数の電子コンピューティングプラットフォームを含む。
ゲートウェイ120は、1つ又は複数のゲートウェイアプリケーションを含んでもよい。ゲートウェイアプリケーションは例えば、注文処理および市場データ処理を取扱う。この処理は例えば、ユーザの好みに基づいてもよい。
ある実施形態では、ゲートウェイ120は、取引所130と通信する際に例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、T1回線、T3回線、ISDN回線、ポイント・オブ・プレゼンス、インターネット、および/又は共有メモリシステムを使用して通信する。
一般的に、取引所130は、取引所団体によって所有、操作、制御又は使用される。取引所団体の例には、CMEグループ、ニューヨーク証券取引所/ロンドン国際金融先物オプション取引所(「NYSE LIFFE」)、インターコンチネンタル取引所(「ICE」)およびユーレックスがある。取引所130は、(例えば取引所によって提供される)取引可能オブジェクトの売買を可能にするように構成されたコンピュータ、サーバ又はその他のコンピューティングデバイスなどの電子マッチングシステムを有する。電子マッチングシステムは例えば、マッチングエンジンを含む。取引所130は、別個の団体を含み、その一部は取引可能オブジェクトのリスト化および/又は管理を行い、その他は、注文の受信およびマッチングを行ってもよい。取引所130は例えば、電子通信ネットワーク(「ECN」)を含む。
取引所130は、取引可能オブジェクトを売買するための注文をマッチングするように構成される。取引可能オブジェクトは、取引所130によって取引のためにリスト化されてもよい。注文には例えば、取引デバイス110から受信した注文が含まれてもよい。注文は例えば、取引デバイス110からゲートウェイ120を介して受信される。さらに、注文は、取引所130と通信している他のデバイスから受信されてもよい。すなわち、取引所130は一般的に、マッチング対象となる注文を提供するその他の各種取引デバイス(取引デバイス110に類似していてもよい)と通信を行っている。
取引所130は、市場データを提供するように構成される。市場データは例えば、1つ又は複数のメッセージ又はデータパケットにより、あるいは共有メモリシステムを介して提供される。市場データは例えば、取引デバイス110に提供される。市場データは例えば、ゲートウェイ120を介して取引デバイス110に提供される。市場データは例えば、内部市場を表すデータを含む。内部市場は、(時間の経過とともに変化してもよいため)特定の時点における最低の売り価格(「最良のアスク」ともいう)および最高の買い価格(「最良のビッド」ともいう)のことである。市場データは、市場深度を含んでもよい。市場深度は、内部市場で入手可能な数量、あるいは内部市場から離れた他の価格で入手可能な数量を指す。したがって、内部市場は、市場深度の第1のレベルと見なすことができる。内部市場を基準とした1チックは例えば、市場深度の第2のレベルと見なすことができる。ある実施形態では、市場深度は、全ての価格レベルにおいて提供される。ある実施形態では、市場深度は、全ての価格レベルよりも少ない価格レベルにおいて提供される。市場深度は例えば、内部市場を基準とした両方向における最初の5個の価格レベルに設けられてもよい。別の例として、市場深度は、市場で利用可能な数量を有する最初の10個の価格レベルに設けられてもよい。市場データはまた、最終取引価格(LTP)、最終取引数量(LTQ)および注文約定情報などの情報を含んでもよい。
ある実施形態では、システム100は、複数の取引デバイス110を含む。例えば、上述した取引デバイス110に類似する複数の取引デバイスが、取引所130に注文を送信するためにゲートウェイ120と通信する。
ある実施形態では、システム100は、複数のゲートウェイ120を含む。例えば、上述したゲートウェイ120と類似する複数のゲートウェイが、取引デバイス110および取引所130と通信する。このような構成によれば、1つのゲートウェイ120に障害が発生した場合に備えた冗長性を提供することができる。
ある実施形態では、システム100は、複数の取引所130を含む。ゲートウェイ120は例えば、上述した取引所130に類似する複数の取引所と通信する。このような構成によれば例えば、取引デバイス110は、ゲートウェイ120を介して複数の取引所と取引することができる。
ある実施形態では、システム100は、複数の取引所130と、複数のゲートウェイ120とを含む。例えば、上述したゲートウェイ120に類似する複数のゲートウェイが、上述した取引所130に類似する複数の取引所と通信する。それぞれのゲートウェイは例えば、1つ又は複数の異なる取引所と通信する。このような構成によれば例えば、1つ又は複数の取引デバイス110は、複数の取引所と取引することができる(および/又は複数の取引所に対する冗長的接続を提供することができる)。
ある実施形態では、取引デバイス110は、1つ又は複数のコンピューティングデバイス又は処理コンポーネントを含む。言い換えれば、取引デバイス110の機能は、複数のコンピューティングデバイスによって実行されてもよい。例えば、1つのコンピューティングデバイスが取引所130に送信するための命令を生成し、別のコンピューティングデバイスがユーザにグラフィカルユーザインタフェースを提供してもよい。ある実施形態では、ゲートウェイ120は、1つ又は複数のコンピューティングデバイス又は処理コンポーネントを含む。言い換えれば、ゲートウェイ120の機能は、複数のコンピューティングデバイスによって実行されてもよい。ある実施形態では、取引所130は、1つ又は複数のコンピューティングデバイス又は処理コンポーネントを含む。言い換えれば、取引所130の機能は、複数のコンピューティングデバイスによって実行されてもよい。
ある実施形態では、ゲートウェイ120は、取引デバイス110の一部である。例えば、ゲートウェイ120のコンポーネントは、取引デバイス110と同じコンピューティングプラットフォームの一部であってもよい。別の例として、ゲートウェイ120の機能は、取引デバイス110のコンポーネントによって実行されてもよい。ある実施形態では、ゲートウェイ120は存在しない。このような構成は例えば、取引デバイス110が取引所130と通信する際にゲートウェイ120を利用する必要がない場合に採用される。取引デバイス110は例えば、取引所130と直接通信するように構成されてもよい。
ある実施形態では、ゲートウェイ120は、取引デバイス110と物理的に同じ場所に配置される。ある実施形態では、ゲートウェイ120は、取引所130と物理的に同じ場所に配置される。ある実施形態では、取引デバイス110は、取引所130と同じ場所に配置される。ある実施形態では、ゲートウェイ120は、取引デバイス110および取引所130の両方とは物理的に別の場所に配置される。
ある実施形態では、システム100は、ミドルウェア、ファイアウォール、ハブ、スイッチ、ルータ、取引所固有の通信機器、モデム、セキュリティマネージャおよび/又は暗号化/復号化デバイスなど、通信アーキテクチャに対して固有のその他のデバイスを含む。
II.コンピューティングデバイスの例
図2は、開示された実施形態を実施するために使用可能な例示的なコンピューティングデバイス200のブロック図を示す。図1の取引デバイス110は例えば、1つ又は複数のコンピューティングデバイス200を含む。図1のゲートウェイ120は例えば、1つ又は複数のコンピューティングデバイス200を含む。図1の取引所130は例えば、1つ又は複数のコンピューティングデバイス200を含む。
コンピューティングデバイス200は、プロセッサ202と、相互接続バス204と、チップセット206と、メモリコントローラ208と、入力/出力(I/O)コントローラ210と、システムメモリ212と、大容量記憶メモリ214と、I/Oバス216と、ネットワークインタフェース218と、ディスプレイ220と、入力デバイス222と、出力デバイス224とを含む。コンピューティングデバイス200は、付加的な、異なる、又はより少ない数のコンポーネントを含んでもよい。例えば、複数のバス、複数のプロセッサ、複数のメモリデバイス、複数のネットワークインタフェース、複数の表示デバイス、複数の入力デバイス、複数の出力デバイス、又はそれらの任意の組み合わせが設けられてもよい。別の例として、コンピューティングデバイス200は、表示デバイス220とは別個の出力デバイス224を含まない。別の例として、コンピューティングデバイス200は、表示デバイス220を含まない。別の例として、コンピューティングデバイス200は、入力デバイス222を含まなくてもよい。その代わりに例えば、コンピューティングデバイス200は、ネットワークインタフェース218を介して外部又は遠隔の入力デバイスによって制御される。
コンピューティングデバイス200は、相互接続バス204に接続されたプロセッサ202を含む。相互接続バス204には、通信バス、チャネル、ネットワーク、回路、スイッチ、ファブリック、又は、コンピューティングデバイス200内のコンポーネント間でデータを通信するためのその他の機構が含まれてもよい。相互接続バス204は、コンピューティングデバイス200のコンポーネント間で通信可能に接続されてデータを転送してもよい。例えば、取引アプリケーションのインストールプロセス中に、プロセッサ202によって実行可能な1つ又は複数のコンピュータ読み取り可能命令が、入力デバイス222および/又はネットワークインタフェース218からシステムメモリ212および/又は大容量記憶メモリ214に転送されてもよい。コンピューティングデバイス200がシステムメモリ212および/又は大容量記憶メモリ214に記憶された取引アプリケーションの実行中又は実行の準備中であるときに、プロセッサ202は、システムメモリ212および/又は大容量記憶メモリ214から相互接続バス204を介して命令を読み出してもよい。
プロセッサ202は例えば、プロセッサ、処理ユニット、又はマイクロプロセッサであってもよい。プロセッサ202には例えば、1つ又は複数の汎用プロセッサ、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、アナログ回路、デジタル回路、プログラムされたプロセッサ、および/又はそれらの組み合わせが含まれる。プロセッサ202は、ネットワーク又は分散処理に関連付けられた1つ又は複数のデバイスのような、単一のデバイス又はデバイスの組み合わせであってもよい。マルチプロセッシング、マルチタスキング、並列処理および/又はリモート処理など、任意の処理戦略を使用してもよい。処理は、ローカルでもリモートであってもよく、また、1つのプロセッサから別のプロセッサに移動してもよい。コンピューティングデバイス200は、マルチプロセッサシステムであってもよく、その場合、相互接続バス204に通信可能に接続された1つ又は複数の付加的なプロセッサを含み得る。
プロセッサ202は、システムメモリ212や大容量記憶メモリ214などの1つ又は複数の有形媒体内にエンコードされたロジックを実行するように動作可能、および/又はネットワークインタフェース218を介してロジックを実行するように動作可能であってもよい。本明細書では、1つ又は複数の有形メディアにエンコードされたロジックには、プロセッサ202又は異なるプロセッサによって実行可能な命令が含まれる。ロジックは例えば、ソフトウェア、ハードウェア、集積回路、ファームウェアおよび/又はマイクロコードの一部として記憶されてもよい。ロジックは、例えばインターネットに接続された通信ネットワークを介して外部の通信デバイスから受信される。プロセッサ202は、図面又は本明細書に記載された機能、作用又はタスクを実行するためのロジックを実行することができる。
図2のプロセッサ202は、チップセット206に接続される。チップセット206は、メモリコントローラ208およびI/Oコントローラ210を含む。チップセットは一般的に、I/Oおよびメモリ管理機能を提供するとともに、チップセット206に接続された1つ又は複数のプロセッサによってアクセスおよび使用可能な複数の汎用および/又は特殊用途のレジスタおよびタイマを提供する。メモリコントローラ208は、プロセッサ202(複数存在してもよい)によるシステムメモリ212および大容量記憶メモリ214へのアクセスを可能とする機能を実行する。
システムメモリ212および大容量記憶メモリ214は例えば、コンピュータ読み取り可能記憶媒体のような1つ又は複数の有形媒体であってもよい。システムメモリ212には例えば、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、プログラマブル読み出し専用メモリ(PROM)、電気的プログラム可能な読み出し専用メモリ(EPROM)、電気的消去可能読み出し専用メモリ(EEPROM)、フラッシュメモリ、その他の有形データ記憶デバイスおよびそれらの任意の組み合わせなどの揮発性および不揮発性の各種記憶媒体が含まれる。大容量記憶メモリ214には例えば、ハードディスクドライブ、光媒体、磁気テープ、その他の任意の有形データ記憶デバイス、又はそれらの任意の組合せを含む、様々なタイプの大容量記憶デバイスが含まれる。ある実施形態では、システムメモリ212および大容量記憶メモリ214は非一時的である。
システムメモリ212および大容量記憶メモリ214は例えば、単一のメモリモジュールであってもよい。システムメモリ212および大容量記憶メモリ214に記憶されたデータがプロセッサ202によって読み出しできるように、システムメモリ212および大容量記憶メモリ214は、プロセッサ202に隣接する、プロセッサ202の一部である、プロセッサ202によってプログラムされる、プロセッサ202によってネットワーク化される、および/又はプロセッサ202からリモートなものであってもよい。システムメモリ212および大容量記憶メモリ214は、プロセッサ202によって実行可能な命令を記憶することができる。命令が実行されると、本明細書に記載又は図面に示される1つ又は複数のアクション又は機能が実行される。
I/Oコントローラ210は、プロセッサ202がI/Oバス216を介してネットワークインタフェース218、ディスプレイ220、入力デバイス222および出力デバイス224と通信することを可能にする機能を実行する。図2において、メモリコントローラ208およびI/Oコントローラ210はチップセット206内の別々のブロックとして示されているが、これらのブロックによって実行される機能は、単一の半導体回路内で統合されてもよく、2つ以上の別個の集積回路を用いて実現されてもよい。コンピューティングデバイス200における1つ又は複数のコンポーネントが、チップ上のシステムとして実装されてもよい(例えば、IPHONE(登録商標)におけるシステム・オン・チップ)。
ネットワークインタフェース218は、一方向通信又は双方向通信による接続であってもよい。このため、ネットワークインタフェース218は、1つ、2つ又はそれ以上の通信ネットワーク又は通信デバイスを通信可能に接続することができる。例えば、相互接続バス204が上述した図1のゲートウェイ120に類似するゲートウェイに接続されることで、コンピューティングデバイス200のコンポーネントのうちの1つ、いくつか、又は全てがアクセス可能となる、あるいはゲートウェイと通信してもよい。別の例として、ネットワークインタフェース218は、相互接続バス204を他の通信ネットワークと接続する。ネットワークインタフェース218は例えば、データ通信接続を提供する統合サービスデジタル通信網(ISDN)のカード又はモデムであってもよい。別の例として、ネットワークインタフェース218は、例えばインターネットに接続された互換性のあるLANに対するデータ通信接続を提供するローカルエリアネットワーク(LAN)のカードであってもよい。無線リンクが実装されてもよい。ネットワークインタフェース218は例えば、様々なタイプの情報に対応するアナログ又はデジタルのデータストリームを伝送する電気的、電磁的又は光学的な信号を送受信する。
表示デバイス220には例えば、ビジュアル出力デバイス、陰極線管(CRT)ディスプレイ、電子ディスプレイ、電子ペーパー、フラットパネルディスプレイ、発光ダイオード(LED)ディスプレイ、エレクトロルミネッセンスディスプレイ(ELD)、プラズマディスプレイパネル(PDP)、液晶ディスプレイ(LCD)、薄膜トランジスタディスプレイ(TFT)、有機発光ダイオードディスプレイ(OLED)、表面伝導型電子放出ディスプレイ(SED)、レーザーテレビ、カーボンナノチューブ、ナノクリスタルディスプレイ、ヘッドマウントディスプレイ、プロジェクタ、三次元ディスプレイ、および/又は透明表示デバイスが含まれる。
表示デバイス220は、取引画面を表示すよう構成される。取引画面は例えば、上述した取引画面と類似するものである。取引画面はインタラクティブである。インタラクティブな取引画面を使用して、例えば、1つ又は複数の取引アクションを実行することが可能になる。取引画面により例えば、1つ又は複数の注文入力アクションを使用して、1つ又は複数の注文入力パラメータを設定および/又は送信することができる。表示デバイス220および/又は入力デバイス222は例えば、取引画面と交信するために使用されてもよい。
入力デバイス222には例えば、キーボード、マウス、マイクロホン、タッチスクリーン、トラックボール、キーパッド、ジョイスティックおよび/又は入力のためのその他のデバイスが含まれる。入力デバイス222は例えば、プロセッサ202にコマンド選択を提供するために使用することができる。入力デバイス222は例えば、取引画面に表示されるカーソルを制御するために使用されるマウスであってもよい。マウスは例えば、選択および制御を行うための1つ又は複数のボタンを含んでもよい。
出力デバイス224には例えば、キーボード、マウス、スピーカ、タッチスクリーン、トラックボール、キーパッド、触覚式のデバイス又はシステム、ジョイスティック、および/又は出力を提供するためのその他のデバイスが含まれる。出力デバイス224は例えば、触覚信号又は音声信号などの1つ又は複数の信号をユーザに出力するために使用される。図2において、入力デバイス222および出力デバイス224は独立したブロックとして示されているが、これらのブロックにより実行される機能を単一のI/Oデバイスに統合してもよい。
III.取引サークルメンバーへの取引データの通信
図3は、本明細書に開示された実施形態を実施するために使用可能な例示的な取引サークルマネージャ300を示す。ある実施形態では、図3の取引サークルマネージャ300は、図1の取引デバイス110上に実装される、又は取引デバイス110と関連して実装される。ある実施形態において、取引サークルマネージャ300は例えば、図1の取引デバイス110と協働するように構成された別個のコンピューティングデバイスを備える。他の実施形態では、取引サークルマネージャ300は、図1の取引デバイス110によって実装される又はその他の方法により実行される命令又はコードを含む。
ある実施形態では、図3の取引サークルマネージャ300のインスタンスがサークル(グループとも称される)ごとに設けられており、それぞれの取引サークルマネージャ300を、対応する取引サークルの専用のものとすることができる。取引サークルマネージャ300は、1つ又は複数の関係のない個人や団体のために複数のサークルを管理することができる。
取引サークルマネージャ300によれば、例えば取引デバイス110のユーザ又はその他の取引デバイスのユーザが、サークルメンバー間で取引データを通信する目的のために、他のユーザと1つ又は複数の取引サークルを確立することが可能となる。取引サークルメンバー間における取引データの通信は取引サークルマネージャ300によって促進され、これにより、取引データに関連して受信した情報を取引所が処理して適切な応答を生成することを待つことなくサークルメンバーに取引データを提供することができる。結果的に現在のシステムと比較して、取引サークルメンバーは、他のメンバーに関連付けられた取引データをより早く受信する。現在のシステムでは、取引所と交信するユーザは、別のユーザ又は団体による注文の提出や取引の開始を認識する前に、取引所が注文および/又はその他の取引を処理するまで待機している。現在のシステムとは対照的に、取引サークルマネージャ300は例えば、取引所における仲間のサークルメンバーによって提出された注文等に関するデータをサークルメンバーに提供し、当該データを受信したメンバーは、取引所による注文に関するデータの処理および配信を待つ必要がない。
例えば、図3の取引サークルマネージャ300によって確立および管理されたサークルの第1のメンバーが、取引所にて係属中である第1の取引可能オブジェクトを含む第1の注文を有するときに、同取引サークルの第2のメンバーが、同じ第1の取引可能オブジェクトを含む第2の注文を取引所に提出する場合がある。現在のシステムでは、第2の注文に気付くためには、第1のサークルメンバーは、取引所が第2のサークルメンバーが提出した注文を処理して当該注文がもたらす市場での変化に関連した情報を配信することを待機する必要がある。逆に、取引サークルマネージャ300は、第2のサークルメンバー(又は第2のサークルメンバーに関連付けられた、および/又は、第2のサークルメンバーによって使用されている取引デバイス)が第2の注文を取引所に送信するとすぐに、第2の注文に関連するデータを第1のサークルメンバーに送信する。言い換えれば、取引サークルマネージャ300は、取引所への第2の注文の送信とともに(例えば同時に又は略同時に)第2の注文のインジケーションを送信する。その結果、取引サークルマネージャ300により、第1のサークルメンバーは、第1の取引可能オブジェクトおよび第1の取引可能オブジェクトによる取引所への影響の見積もりおよび予測に関するデータを受信することができ、このとき、第1のサークルメンバーは取引所が第2のサークルメンバーの第2の注文を処理することを待機する必要がない。
図3の取引サークルマネージャ300を介して同じサークルメンバーから取引データを受信するサークルメンバーは、他のサークルメンバーによる市場活動に関して非サークルメンバーよりも明確な利点を有する。特に、取引サークルに組織化されて取引サークルマネージャ300を使用する個人および/又は団体は、非メンバーの前に取引データを受信する可能性が高い。上の例を続けると、第1のサークルメンバーが取引サークルマネージャ300を利用することによって、第2のサークルメンバーによって提出された第2の注文に関連するデータ(例えば、第2の注文内に含まれる価格および数量の情報および/又は第1の取引可能オブジェクトに関連して追加の注文が提出されたことを示すインジケーション)を第1の時間に受信した場合、非メンバーは、第1の時間よりも後の第2の時間において第2の注文に関するデータを受信する可能性が高い。そのような場合、第1の時間は、第2の注文が取引所に送信される時間に対応し、第2の時間は、取引所が第2の注文を受信・処理して、当該処理に関するデータの配信を行った後の時間に対応する。第1のサークルメンバーは、取引サークルマネージャ300によってもたらされる第1および第2の時間の間の期間を利用して、例えば非メンバーが第2の注文に気付く前に、第1の取引可能オブジェクトに関する1つ又は複数のアクションを実行することができる。
図3の取引サークルマネージャ300は、通信インターフェース322を介してサークル定義データベース304と通信するサークル定義モジュール302を備える。取引サークルマネージャ300はさらに、1つ又は複数の管理および制御された取引サークルメンバーへの接続を提供するように構成された通信モジュール306を備える。通信モジュール306は例えば、受信又は検知した取引注文および/又はそのアップデートの形式にて接続性を注文ステータスモニタ308に提供する。注文ステータスモニタ308は、個々のサークルメンバー間で通信された、あるいはサークルメンバーと図1の取引所130との間で通信された取引注文およびそのアップデート又はその修正を特定するように構成されてもよい。ある例では、取引所分析モジュール310は、注文ステータスモジュール308並びにマネージャ300のその他のモジュールおよびコンポーネントと通信するように配置されており、かつ、特定された取引注文通信が取引所へもたらす影響を決定するように構成されている。取引サークルマネージャ300はさらに、1つ又は複数の管理および制御された取引サークル内で動作可能なそれぞれのサークルメンバーの個々の位置データを相互に関連付けるサークルデータマネージャ312を備える。取引サークルマネージャ300は、各取引サークルを構成する個々のサークルメンバーが利用可能な取引注文データを包括的にモニタ、増加および/又は推定する価格データモニタ314を備える。取引サークルマネージャ300は、特定の取引可能オブジェクトに関する潜在的な取引相手として特定された個々のサークルメンバー間で取引注文データを同期させる理論約定モジュール320をさらに備えてもよい。
図3の取引サークルマネージャ300は、サークル定義モジュール302を備える。サークル定義モジュール302は、サークル定義データベース304と通信するとともに、例えば取引サークルマネージャ300に登録されたユーザからの要求を受信すると、サークルを確立する。動作中において、サークル定義モジュール302は、要求を行ったユーザに対して、取引サークルを定義するために必要な情報を促す。サークル定義モジュール302は例えば、取引サークル名、管理者名、1つ又は複数の管理パスワード、サークルパスワードあるいはユーザパスワード、メンバーシップ制限、事前に定義された用語および/又は制限の選択、連絡先、希望メンバーの招待リスト、市場情報、などの情報を要求する。メンバーシップ制限は例えば、企業による制限、会社内の部門による制限、取引される資産クラスによる制限、ユーザのタイトルやクラス(例えばマネージャ、マーケットメーカ)による制限、リスク制限、あるいはその他のユーザにより定義可能なサークル基準を含むことができる。ユーザによって確立された要件に応じて、取引サークルを定義するために追加の、異なる、および/又はより少ない数の情報が要求および利用されてもよい。サークル定義モジュール302は、提供された情報を使用して、要求された取引サークルの定義を作成する。定義の作成には例えば、取引サークルに割り当てられるとともに取引サークル内でデータを通信するために(例えば、当該一意識別子を有するデータのパケットにタグを付けることにより)使用される一意識別子の生成が含まれる。サークル定義モジュール302は、サークル定義データベース304にエントリを追加し、当該エントリには、生成された一意識別子、要求元のユーザによって提供された情報、および/又はエントリに関するその他の任意の適切な情報が含まれる。
要求元のユーザによって提供される情報に、取引サークルへ招待する人および/又は団体のリストが含まれる場合には、図3のサークル定義モジュール302は、招待者のそれぞれに招待通信(invitation)を行う。招待通信を行うために、サークル定義モジュール302は、リストに関連して提供される電子メールアドレスやソーシャルネットワークアカウント識別子(例えば、FACEBOOK(登録商標)アカウント名)などの連絡情報を使用する。サークル定義モジュール302は、確立された取引サークルに招待者がアクセスして参加することを可能にするための情報を招待通信に含むことができる。招待通信は例えば、ウェブアドレス、取引サークル名、パスワードを含むことができる。サークル定義モジュール302によって送信される招待通信には、ウェブアドレスへ訪問して当該ウェブアドレスのウェブページ上の対応する入力フィールドに取引サークル名およびパスワードを入力することを指示する命令を含むことができる。招待者が招待通信の指示に従った場合、サークル定義モジュール302は、招待者に関連付けられたインジケーションを受信するとともに、当該インジケーションを使用して、対応する招待者を確立された取引サークルに追加する。確立された取引サークルに招待者を追加することには例えば、定義データベース304における対応するエントリ内に招待者に関連する識別性を含めることが含まれる。
取引サークルマネージャ300は、取引サークルを人に知らせるための付加的および代替的な手法を促進することができる。すなわち、人々は、上述した初期招待プロセス以外の通信手段を介して1つ又は複数の取引サークルを知ることができる。いくつかの例では、取引サークルメンバー、管理者および管理者以外のメンバーを問わず、取引サークルが確立および/又は動作された後に取引サークルに人を招待することができる。あるいは、人々は招待を受けることなく取引サークルを知ることができる。人々がオプトイン又はその他の方法で取引サークルにアドミタンスを要求するために、サークル定義モジュール302は、取引サークルマネージャ300に対するリクエストの提出をトリガするためのウェブリンク又はその他の機構を提供してもよい。サークル定義モジュール302によって提供される提出オプションに関連してリクエストされる情報は、管理者が各取引サークルに関して確立した要件に基づいてカスタマイズすることができる。サークル定義モジュール302は、オプトインの要求を受信するとともに、当該要求に関する情報を例えば、対応する取引サークルの設立者や管理者へ通信する。サークル定義モジュール302は、取引サークルメンバーシップを要求している個人又は団体が承認されたかどうかを示す応答を待機する。承認されれば、サークル定義モジュール302は、要求元の個人又は団体を定義データベース304の適切なエントリに追加する。容認されない場合は、サークル定義モジュール302は、メンバーシップが拒絶(拒否)されたことを要求元のユーザに通知する。
図4A-4Cおよび図5は、取引サークルマネージャ300によって実現され得る例示的なサークル構成および通信アーキテクチャを示している。図4Aは、本明細書の開示に従って取引サークルマネージャ300によって実現され得る例示的なサークル構成を示している。図4Aに示すサークル構成に関連する特徴、エレメントおよび機能は、図3に示した取引サークルマネージャ300に関連付けてさらに説明される。図4Bは、本明細書の開示に従って取引サークルマネージャ300によって実現され得る例示的な分散型通信アーキテクチャを示している。図4Cは、本明細書の開示に従って取引サークルマネージャ300によって実現され得る例示的な集中型通信アーキテクチャを示している。
サークル定義モジュール302は取引サークルを確立し、当該取引サークルには、任意の個人、ユーザ、および/又は、各サークルに関連して事前に定められた1つ又は複数の特性を有する取引アプリケーション若しくはコンポーネントが含まれる。図4Aは、取引サークルマネージャ300によって確立・管理することができる例示的な複数の取引サークルを示す。図4Aは、第1の取引組織400と、第2の取引組織402とを含む。第1の取引組織400は、個々のトレーダおよびそれに関連する取引デバイス400a-400mを採用および/又は他の方法で表すものであり、第2の取引組織402は、個々のトレーダおよびそれに関連する取引デバイス402a-402nを採用および/又は他の方法で表すものである。個々の取引デバイス400a-400m、402a-402nは例えば、図1の取引所130と交信するように構成されている。取引デバイス400a-400m、402a-402nおよび図4A-4Cに示す残りの取引デバイスは、図1の取引デバイス110に関連して説明したように実装されてもよい。取引デバイス404、406、408は、取引組織400、402とは無関係の個々のトレーダおよび/又はトレーダのグループを表す。ある実施形態では、図4A-4Cに示した取引デバイスは、同一の又は異なる取引デバイス上で動作する異なる取引プログラムを表すことができる。ある実施形態では、図4A-4Cに示した取引デバイスは、同一の又は異なる取引デバイス上で動作するAUTOSPREADER(登録商標)および/又はAUTOTRADER(商標)のインスタンスを表す。
図4Aに示した構成例は、FACEBOOK(登録商標)やLINKEDIN(登録商標)などのソーシャルネットワーク410を含み、当該ソーシャルネットワーク410は、同じソーシャルネットワークサービスのユーザおよび貢献者を複数備える。ソーシャルネットワークは、ビジネスやコミュニティ組織などの明確なグループのために設立されたプライベートネットワークであってもよい。ソーシャルネットワーク410の個々のユーザは、ソーシャルネットワークのサービスを使用して、共有の大学出席者、共通の地理的領域又は共有若しくは共通の利益に基づいて、小さな集団およびコミュニティを自己組織化することができる。コミュニティのメンバーは、同じコミュニティの他のメンバーにアクセス可能なメッセージを送信又は投稿することができる。図4Aの例では、ソーシャルネットワーク410のユーザには、取引デバイス412―418、420-426によって代表される個人又は個人のグループが含まれる。
図4Aはさらに、上述した個々の取引デバイス、取引組織およびソーシャルネットワークの間に確立することができる取引サークルの一例を示す。第1の取引サークル450は、第1の取引組織400を含む個人および取引デバイスを包含する。第2の取引サークル452は、第2の取引組織402を含む個人および取引デバイスを包含する。第3の取引サークル454は、ソーシャルネットワーク410のメンバーのサブセットを表す取引デバイス412-418を含む。第4の取引サークル456は、第2の取引組織402(および第2の取引サークル452)と、個々の取引デバイス404、406とを備える。第5の取引サークル458は、個々の取引デバイス408と、第4の取引サークル456の取引デバイス406とを含むものとして定義される。取引デバイス406は、一個人およびそれに関連する取引デバイスが同時に複数の取引サークルに属してもよいことを示す(例えば、第4の取引サークル456と第5取引サークル458に属す)。図3の取引サークルマネージャ300によって、付加的又は代替的な取引サークルを形成・管理することができる。議論の目的のために、第1の取引サークル450およびその取引デバイス400a-400mが以下の説明で使用される。しかしながら、本明細書に開示される以下の説明および実施例は、図4A-4Cの取引サークルおよび/又はその他のユーザのグループに適用および/又は利用してもよい。
図3に示す取引サークルマネージャ300の例示に戻ると、通信モジュール306は、図4Aに示す取引サークル450などの取引サークルメンバー間の取引データ通信を促進するものである。一実施形態では、取引サークル450は、トレーディングテクノロジーズインターナショナル社によって提供されるTTNET(商標)の各メンバー又はユーザを含む。通信モジュール306は、個々のサークルメンバーが仲間のサークルメンバーと共有することに合意した任意のタイプの取引データを編成、優先付けおよび通信するように構成されてもよい。いくつかの例では、サークルメンバーの各々は、他のサークルメンバーの同じ情報へのアクセスを有する、および/又はそれを受信する。一実施形態では、通信モジュール306は、仲間のサークルメンバーに関するサークルデータを、フィード又は当該フィードの各加入者にデータを送信するように構成されたその他のマルチキャスト通信を介して通信する。別の実施形態では、通信モジュール306は、個別のメッセージおよび/又は通信パケットを個々のサークルメンバーに直接的にブロードキャストするように構成されてもよい。さらに別の実施形態では、通信モジュール306は、1つ又は複数のサークルメンバーから受信した情報のクエリに応答して取引データを通信する。通信モジュール306はまた、定義データベース304に記憶されたサークル定義のフィード情報の一部に基づいてフィードを生成する。さらにサークル定義モジュール302は、サークルメンバーを通信モジュール306によって実行されるフィードに加入させる。取引サークル450の第1のメンバーに関連付けられた取引デバイス400aは例えば、通信モジュール306によって実行・提供されるフィードを介してデータを受信するように構成される。通信モジュール306は、取引サークル450を含む取引デバイス400a-400mに取引データを伝送するための付加的又は代替的な通信技術を利用することができる。
図示の例では、図3の注文ステータスモニタ308は、取引デバイス400a-400mのうちの1つ又は複数によって取引所130に通信される注文および/又は注文の修正を検出する。動作中において、注文ステータスモニタ308は、ゲートウェイ120並びにインターネット若しくはその他のワイドエリアネットワーク470を介して、取引デバイス400a-400mに向けて送信される又は取引デバイス400a-400mから取引所130へ送信される1つ又は複数のメッセージを検出する。注文ステータスモニタ308は、検出したメッセージの種類を決定する(例えば、検知したメッセージが注文、注文の変更要求、あるいは取引所に送信されるその他の任意の種類のいずれに属するものであるか)。取引サークルマネージャ300は、サークルメンバーによる取引所との付加的又は代替的な交信を特定するための付加的又は代替的な分析モジュールを含むことができる。
いくつかの例では、注文ステータスモニタ308はすぐに、通信モジュール306に、検知したメッセージに関するデータを、取引サークル450を含む取引所分析モジュール310および/又は取引デバイス400a-400mへ送信させる。図示の例では、取引所分析モジュール310は、検知した注文および/又は注文の変更が例えば対応する取引所の注文ブックに与える影響を決定する(もしあれば)。検知したメッセージは例えば、呼び値のレッグが約定されることに応じて取引サークル450の取引デバイス400aによって取引所に提出されているスプレッド取引のリーンレッグのヘッジ注文に対応してもよい。このような場合には、分析モジュール310は、ヘッジ注文によって対応する価格レベルで利用可能な数量がいくらか低減する(ヘッジ注文の数量および当該ヘッジ注文の価格レベルにおける取引可能オブジェクトの現在の利用可能量に応じて)ことを決定する。取引サークル450の他のメンバーは、同一又は類似の価格における取引可能オブジェクトにリーンオン(lean on)していてもよい。もしリーンオンしている場合、検知したヘッジ注文および結果的に生じる取引可能オブジェクトの数量の減少に関する知識は、当該取引可能オブジェクトにリーンオンしている仲間のサークルメンバーにとって貴重な情報である。検知したヘッジ注文に関するデータを非サークルメンバーが受信する前にサークルメンバーが受信することで、サークルメンバーは、非サークルメンバーよりも前に当該数量の減少に対応することができる。
別の例として、検知したメッセージが数量100および価格90の買い注文であり、かつ、取引所が取引可能オブジェクトの価格90における利用可能な数量が75(注文数量よりも少ない)であることを示した場合、取引所分析モジュール310は、取引可能オブジェクトが価格90で利用可能でないことを決定する、又は、所定期間の間、価格90において利用可能である可能性は少なくとも高くないことを決定する(例えば、取引可能オブジェクトの買い数量が、初期の買い注文が検知された後に価格90で追加される場合がある)。繰り返すと、取引所にて予期される変化に関する知識は、仲間のサークルメンバーにとって貴重な情報であり、取引サークルマネージャ300は当該知識を、非サークルメンバーに利用可能となる前にサークルメンバーに提供する。
別の例として、検知したメッセージが数量100および価格90の買い注文であり、かつ、取引所が取引可能オブジェクトの価格90における利用可能な数量が500(注文数量よりも多い)であることを示した場合、取引所分析モジュール310は、取引可能オブジェクトの価格90における数量がまもなく100減少することを決定する、又は、数量が100減少する可能性が少なくとも高いことを決定する(例えば、取引可能オブジェクトの数量が、初期の買い注文が検知された後に増加又は減少する場合がある)。繰り返すと、取引所にて予期される変化に関する知識は、仲間のサークルメンバーにとって貴重な情報であり、取引サークルマネージャ300は当該知識を、非サークルメンバーに利用可能となる前にサークルメンバーに提供する。
図示の例における取引デバイス400a-400mおよびその他の取引デバイスは、幅広い種類の注文、取引戦略および構成などを生成および通信することができる。注文ステータスモニタ308によって検知され取引所分析モジュール310によって分析された異なる種類のメッセージは、対応する異なる種類の注文および/又は取引戦略に対して、異なる方法により影響を与え得る。図3の分析モジュール310は、これらの影響を決定するとともに取引サークル450の取引デバイス400a-400mとの通信のために当該影響に準備するように構成される。取引サークル450のメンバーは、注文ステータスモニタ308および/又は取引所分析モジュール310によって提供される情報を任意の適切な方法により利用することができる(例えば、個々の取引デバイス400a-400mが価格および/又は数量の変化の示唆に応じて取引戦略を自動的に調整又は再構築するように構成されることによって)。
取引サークルマネージャ300は、サークルデータマネージャ312を備える。サークルデータマネージャ312は、取引サークル450を構成する個々のサークルメンバーの位置データ(例えば、実行中の注文)への包括的なアクセスを維持する。サークルデータマネージャ312は当該データを用いて、取引サークル450を構成する個々のサークルメンバーが利害を有し加入している特定の市場のアスペクト(例えば、取引可能オブジェクト、1つ又は複数の市場イベント、およびサークル定義に含まれる定義済みで識別可能なメトリック)を含むデータフィードを包括的にモニタおよび追跡する。言い換えれば、図3のサークルデータマネージャ312は、1つ又は複数の取引所に関連する異なる種類の変化によって、どの個々のサークルメンバーが影響を受けることになるかを追跡する。サークルデータマネージャ312は分析モジュール310と協働して動作し、取引サークル450における関連する又は利害のあるメンバーへの取引データの通信をフィルタする又はその他の方法により制限する。サークルデータマネージャ312は特に、サークルメンバーに関連する検知した注文/修正によって取引所のどのアスペクトが影響を受けるかに関する情報を取引所分析モジュール310から受信する。注文ステータスモニタ308は例えば、取引サークル450内で動作可能な取引デバイス400aによって取引可能オブジェクト「X」を含む取引所130(図1参照)へ送信されたメッセージを検出する。さらに、取引所分析モジュール310は、検知したメッセージによって1つ又は複数の価格レベルにおける取引可能オブジェクト「X」の数量の減少となる又はその可能性が高いことを決定する。さらに、サークルデータマネージャ312は、第2の取引デバイス400bが数量Xを含む取引所130で実行中の少なくとも1つの注文を有しており、第3の取引デバイス400cが取引可能オブジェクト「X」を含むサブスクリプション、注文又は取引戦略を有しないことを認識する。このような例では、サークルデータマネージャ312は、通信モジュール306に対して、検知したメッセージに関連する情報(例えば、取引デバイス400bに提供される取引デバイス400aに関連するデータ)および/又は取引所分析モジュール310によって実行された分析を第2の取引デバイス400bに伝送することを指示し、第3の取引デバイス400c(図示せず)に対する情報の通信をフィルタリングおよび放棄(forego)する。
サークルデータマネージャ312によって行われる選択的な通信は、取引サークル450のメンバーに部分的に又は全体的に対して無効にすることができる。通信モジュール306によって伝送される情報をフィルタリングする代わりに、サークルデータマネージャ312を無効化して、分析モジュール310および/又は注文ステータスモニタ308が、全てのサークルメンバーに同様にデータを伝送することを通信モジュール306に対して指示することができる。
図3の取引サークルマネージャ300は、取引サークル450のメンバーに利用可能な価格情報の量を増加および/又は推定するための価格データモニタ314を備える。上述したように、多くの取引所は、数量データを配信する価格レベルの数を制限する。図5は、図1の取引所130で利用可能な取引可能オブジェクトに関連する価格レベルや市場深度の情報を反映している取引ウィンドウ500のスクリーンショットを表す。価格列502には異なる価格レベルが示されており、25単位のインクリメント又はチック(例えば0.25$)を含んでいる。ビッド数量列504は、価格列502の第1のエッジに隣接して整列しており、アスク数量列506は、価格列502の第2のエッジに隣接して整列している。図5に示すように、取引所130は、価格レベル525のビッド数量が54であり、価格レベル500のビッド数量が97であることなどを示している。取引所130はさらに、価格レベル550の売り数量が61であり、価格レベル575の売り数量が47であることを示している。しかしながら、取引所は、ビッド列504において価格レベル425を越える価格ではデータを配信しておらず、売り列506において価格レベル675を越える価格でもデータを配信していない。結果的に、取引所130が提供する市場のビューは制限されている。
より完全な市場のビューを提供するために、価格データモニタ314は、取引サークル450の取引デバイス400a-400mから情報を収集し、当該情報を使用して取引所130が情報を配信しない価格レベルに関連する情報をサークルメンバーに提供する。図5の例を参照すると、価格データモニタ314は、取引サークル450のメンバーに、価格レベル400、375、350およびそれ以下のビッド側の価格レベルに関する情報を提供する。さらに、価格データモニタ314は、取引サークル450のメンバーに、価格レベル700、725、750およびそれ以上のアスク側の価格レベルに関する情報を提供する。図5の例では、価格データモニタ314は、提供される付加的な情報を第1および第2の拡張列508、510に表示する。しかしながら、価格データモニタ314は、提供される価格レベルの追加情報を、付加的又は代替的な手法を介して通信することができる。
情報を収集するために、価格データモニタ314は例えば、取引所130によって配信されている価格レベルの範囲外の価格レベルを有する取引デバイス400a-400mの実行中の注文にアクセスする。価格データモニタ314は、取引所が現在情報を配信している価格レベルの範囲を決定し、さらに、取引デバイス400a-400mのいずれかが、決定された範囲外の実行中の注文を有するかを決定するために取引デバイス400a-400mに対して照会を行う。あるいは、価格データモニタ314は、取引デバイス400a-400mの実行中の全ての注文に関するデータを収集し、どの注文が取引所によって現在情報を配信している価格レベル範囲外かを決定することもできる。
収集した情報を利用するために、図3の価格データモニタ314は、収集部(aggregator)316と、外挿部(extrapolator)318とを備える。図3の例では、収集部316および外挿部318は、別々だが関連する機能を発揮する。収集部316は、取引デバイス400a-400mから収集された、取引所130が情報配信していない価格レベルのデータを組み合わせることにより、当該価格レベルのそれぞれの数量を形成する。例えば、取引サークル450の第1の取引デバイス400aが、図5に示す取引可能オブジェクトを含む価格レベル400でビッド数量20の実行中の注文を有し、かつ、第2の取引デバイス400bが、図5に示す取引可能オブジェクトを含む価格レベル400でビッド数量14の実行中の注文を有する場合、収集部316はこれらの数量を組み合わせて、価格レベル400の数量が少なくとも34存在することを示す。その情報は図5の第1の拡張コラム508に反映される。取引サークル450の取引デバイス400a-400mのうちの付加的な1つが価格レベル400の実行中の注文を有する場合、収集部316は、対応する数量を図5に示す合計に追加する。
収集部316が提供する付加的な価格レベルのデータが正確である場合、収集部316は、取引所130における取引サークル450に起因する実行中の注文の割合によって制限される。いくつかの例では、取引サークル450における実行中の注文は、取引所130における実行中の注文全体のうちの非常に小さな部分に対応する。これより、上述した34の値は、価格レベル400で利用可能な実際の数量のごく一部に対応する。それにもかかわらず、収集部316は、非サークルメンバーにとって利用できない貴重な価格レベルの追加情報をサークルメンバーに提供する。
収集部316よりも広い市場ビューを提供するために、図3の外挿部318は、取引所130が情報配信していない異なる複数の価格レベルでの利用可能な数量の推定値を生成する。外挿部318は、取引サークル450および取引所130に関連する既知の価格情報を使用して、取引所130に関連する未知の価格情報の推定値を生成する。これを行うために、外挿部318は、取引サークル450に起因する取引可能オブジェクトの市場全体のうち、取引所130が価格情報を配信している価格レベル範囲の部分を決定する。ある実施形態では、外挿部318は、ヒストリカル推定、線形推定、多項式推定、パーセンテージ推定およびその他の任意の既知又は後発的な技術などの様々な技術を用いて動作することができる。
例えば図5を参照すると、外挿部318は、取引所130が情報配信している価格レベルにおける取引サークル450の取引デバイス400a-400mの実行中の注文が合計で118存在することを決定する。これと同時に、外挿部318は、取引所130が配信している数量の合計が590であることを決定する(当該合計はビッド・アスク数量列504、506の合計である)。したがって、外挿部318は、取引所130が情報配信している価格レベルにおける取引デバイス400a-400mの実行中の注文は市場の20%に相当することを決定する。外挿部318は計算されたパーセンテージを使用して、取引所130が価格情報を配信している範囲外の価格レベルに関する1つ又は複数の推定値(extrapolations or estimations)を生成する。外挿部318は特に、取引所130が情報配信していない価格レベルにおける取引デバイス400a-400mの実行中の注文の総合数量を決定する。外挿部318は合計数量に対する計算されたパーセンテージを適用して、配信されている価格レベルの範囲外の価格レベルのそれぞれにおける取引所130での推定数量を生成する。上述の例を続けると、外挿部318が取引デバイス400a―400m全体として価格レベル375の数量が15であると決定した場合、外挿部318は15に5を乗じることにより(上述の20%を利用)、市場全体における価格レベル375の推定数量として75に到達する。外挿部318は、取引所130が価格情報を配信している価格レベルの範囲外の任意の適切な数の価格レベルについて同様の計算を行う。価格データモニタ314は、当該推定に関する通信を、図5のウィンドウ500および/又はその他の任意の適切なユーザインタフェースに追加される1つ又は複数の列を介して促進する。
したがって、図3の価格データモニタ314は取引サークル450のメンバーに関連するデータを使用して、取引所130が価格情報を配信していない価格レベルの価格情報を発展させる。収集部316又は外挿部318のいずれが追加の価格情報を提供する場合であっても、取引サークル450のメンバーは情報に関与する一方、非メンバーは関与しない。したがって、価格データモニタ314は、取引サークル450のメンバーが取引所130と対話する際において非サークルメンバーよりも明確な利点をもたらす。
図3の取引サークルマネージャ300は、理論約定モジュール320を備える。理論約定モジュール320は、取引サークル450の第1のメンバーに関連する1つ又は複数の注文が取引サークル450の1つ又は複数の仲間のメンバーに関連する取引データに基づいて約定される可能性が高いことを第1のメンバーに通知する。理論約定モジュール320は、サークルメンバーによる実行中の注文および当該注文の詳細を追跡する。理論約定モジュール320は例えば、実行中の注文、そのビッド/価格およびその数量に関連する取引可能オブジェクトの識別性(identity)を追跡する。すなわち、追跡した特定の実行中の注文に関して、理論約定モジュール320は、当該注文が約定されるために必要な市場コンディションが何であるかを示す情報を追跡および記憶する(あるいはアクセスする)。
さらに、理論約定モジュール320は、取引サークル450内の誰かによって1つ又は複数の注文が提出されたことを示すインジケーションを注文ステータスモニタ308から受信する。あるいは、理論約定モジュール320は、仲間のサークルメンバーによって提出されている1つ又は複数の注文を検知することができる。理論約定モジュール320は、仲間のサークルメンバーによって提出された注文によって、追跡している実行中の注文の約定のために必要な市場コンディションが生成されるかどうかを決定する。言い換えれば、理論約定モジュール320は、取引サークル450の1つのメンバーが注文を提出する等のアクションをとったことにより、取引サークル450の別のメンバーによる実行中の注文が約定される又は少なくとも部分的に約定されることになるあるいはその可能性が高いことを決定する。理論約定モジュール320は、情報が取引所130に送信されると同時又はその前に、サークルメンバー間で共有される情報に基づいてこれらの決定を行う。これにより、理論約定モジュール320は、注文が約定される又はその可能性が高いことを、取引所130によって約定が通知される前にサークルメンバーに通知することができる。
例えば、取引サークル450の第1のメンバーは、$9968.00のシンボルGEH1の取引可能オブジェクトを100単位買う注文を取引所130で実行している場合がある。第1のサークルメンバーの注文が実行中である一方で、取引サークル450の第2のメンバーは、$9968.00のシンボルGEH1を「n」単位売る注文を提出する場合がある(n<100)。図示の例では、理論約定検知部320は、第2のサークルメンバーによって提出された注文を検知するとともに、当該注文が第1のサークルメンバーのポジションに基づいて約定される可能性が高いことを決定する。特に、$9968.00の価格レベルでの数量が「N」よりも多く存在するため、第2のサークルメンバーの注文は約定される可能性が高い。この検知に応答して、理論的約定モジュール320は、通信モジュール306に対して、理論約定のインジケーションを理論的約定モジュール320によって実行された計算の詳細とともに第2のサークルメンバーへ送信させる(例えば、数量「n」が約定される可能性が高いこと)。さらに、通信モジュール306は、注文が約定されるであろうという確実性とは対照的に、可能性が高い約定(likely fill)としての理論約定(theoretical fill)を特定するフラグ又はその他の種類のインジケータを含むことができる。理論約定モジュール320の動作に関連して、付加的又は代替的な情報(例えば、第1のサークルメンバーによる実行中の注文あるいは第1のサークルメンバーの識別性に関する詳細)を第2のサークルメンバーに伝達することができる。
理論的約定モジュール320はさらに、図1に示す取引所130におけるサークルメンバーの優先順位および/又はキュー位置を追跡および分析する。取引所130は、FIFO(先入れ先出し)優先ポリシーなど、異なる種類の優先/キューポリシーを採用してもよい。理論約定モジュール320はキューの位置情報を使用して、サークルメンバーによる実行中の注文が仲間のサークルメンバーのアクティビティに基づいて約定される可能性を計算してもよい。上述の例のシナリオを続けると、理論約定モジュール320によって、取引サークル450の第1のメンバーが取引所130で高い優先度や有利なキュー位置を有していると決定された場合、理論約定モジュール320は、取引サークル450の第2のメンバーが提出した注文によって、実行中の注文のうち数量nが約定されようとしていることを取引サークルの第1のメンバーに知らせることができる。取引サークル450の第2のメンバーの注文の数量がnよりも多い場合、理論約定モジュール320は、実行中の注文の数量100全体が約定されようとしていることを取引サークル450の第1のメンバーに通知してもよい。また、取引サークル450の第1のメンバーの優先度が低い又はキュー位置が有利でない場合、理論約定モジュール320は、第1のサークルメンバーによる実行中の注文を約定させる期待を軽減させる。通信モジュール306を介して取引サークル450の第1のメンバーに送信されたメッセージは、理論約定モジュール320によって計算された可能性データ(例えばパーセンテージ)を含むことができる。取引サークル450の第1のメンバーによる実行中の注文が(例えば、取引サークル450の第2のメンバーによる注文の提出および/又は取引所130若しくは取引サークル450の仲間のメンバーからのその他の情報により)約定される可能性(例えばパーセンテージ)を決定する際に、取引所における優先度に関して取引サークル450の第1のメンバーよりも前にある数量を理論約定モジュール320の計算に付加的又は代替的に考慮してもよい。これにより、理論約定モジュール320は、取引所130において取引サークル450の仲間のメンバーのアクティビティに基づいてポジションが約定されるインジケーションおよび/又は可能性を提供する。理論約定モジュール320は、取引所が情報を処理する前にインジケーションおよび/又は可能性を提供することにより、サークルメンバー全体に対して利益をもたらす。
図4Bは、取引サークルマネージャ300によって実行・管理され得るポイントツーポイント又はメッシュ構成のような分散型通信構成を示す。特に、取引サークルマネージャ300のインスタンスおよび/又はバージョンが、図4Bに示す取引デバイス400a-400m、402a-402n、404、406、408、412-418のそれぞれにおいて動作可能であり、かつ、取引・サークルデータを他のサークルメンバーと共有するように構成されてもよい。取引サークルマネージャ300の個々のインスタンスにより、関連する取引デバイスは、直接的に又はゲートウェイを介して取引注文を取引所130に通信することができる。取引サークルマネージャ300は、取引サークルマネージャ300の分散型インスタンスであってもよい。
図4Bに示す例では、取引組織400の取引デバイス400a-400mは、取引サークル450を構成するとともに、それぞれが取引サークルマネージャ300のインスタンスを有する。動作中において、取引デバイス400aは、取引注文をネットワーク440へ通信するように構成されてもよい(矢印460)。この例では、ネットワーク440は、インターネットなどの公衆ネットワークおよび/又は企業広域ネットワークなどのプライベートネットワークであってもよい。通信される取引注文460は、ネットワーク440を経由して取引所130にルーティングおよび配信される。取引所130に対する取引注文460の通信により、取引サークルマネージャ300は、1つ又は複数のサークルメンバーへのアップデートの提供を開始する。例えば、取引注文460が図5に示すように取引可能オブジェクトを価格レベル450で10単位買う注文である場合、取引サークルマネージャ300の注文ステータスモニタ308は、当該注文に関連する情報を検知して取得する。注文ステータスモニタ308は、通信モジュール306および取引所分析モジュール310と協力して、取引所130で維持されている取引可能オブジェクトに関する注文ブックへの取引注文460による影響を決定する。取引所分析モジュール310によって生成され、取引注文460による予想・予測効果を含むサークルデータは、参照矢印462a、462bで示されるように取引サークルマネージャ300および通信モジュール306によって残りの取引デバイス400b、400mに通信することができる。このようにして、応答461が取引所130によって生成され元の取引デバイス400aに配信される前に、取引サークル450の個々のメンバーは、(受信した更新情報462a、462bの1つ又は複数に含まれる効果又は推定効果に基づいて)取引注文460内に含まれる情報に反応することができる。
サークル450のメンバーは、例えば取引注文460の送信と取引所130からの応答461の受信に関連する計算されたラウンドトリップタイムに基づいて、レイテンシー情報を共有および通信してもよい。特に、取引サークル450の各メンバーによって送受信される各通信のタイムスタンプを追跡して保存することができる。保存されたタイムスタンプの値を利用して、ユーザが取引所130と対話する際に経験するメッセージレイテンシーを表す時間を計算することができる。この情報は取引アクティビティ(例えば、ネットワークリソースの利用可能性)により時間の経過とともに変化するため、累積レイテンシー情報を用いて、各取引所130に関する個別のレイテンシープロファイルを構築してもよい。トレーダ、取引アルゴリズム又はその他の情報消費者は個々のレイテンシー情報およびレイテンシープロファイルを利用して、市場通信をレイテンシーが最小である取引所および/又は市場に向けるようにしてもよい。
サークル450のメンバーは、取引注文460が取引所130に通信されることに応答して、例えば約定、拒絶および又は生成若しくは経験した制限に基づく市場コンディション情報を共有および通信することができる。例えば1つ又は複数のサークルメンバーが所定期間の間に拒絶を受信した場合には、ターゲットである取引所130にスロットルリミットが存在することを意味する。所定の取引所130からの拒絶を時間の関数として計測および追跡することにより、取引サークルマネージャ300は、スロットルリミットを推定することができる。同様に、所定の取引所130からの拒絶を価格レベルの関数として計測および追跡することにより、取引サークルマネージャ300は、取引所で効力が発生しているアクティブな価格範囲の要件を推定することができる。集められた市場コンディション情報をトレーダ、取引アルゴリズム又はその他の情報消費者が利用することにより、市場通信を好適な取引所および/又は市場に向けるようにしてもよい。
1つ又は複数の例示的な実施形態では、取引サークルマネージャ300のサークルデータマネージャ312は、1つ又は複数の取引デバイス400b-400mが取引注文460の取引可能オブジェクトに関連するオープンポジションを有しないことを決定する。この例では、取引可能オブジェクトに関してオープンポジションを有していない取引デバイスは、決定および/又は予測の結果を必要としないものとしてサークルデータマネージャ312によって識別されてもよい。このように、オープンポジションを持たない取引デバイスは、取引サークルマネージャ300から不要な通信や更新情報を受信することを免れることができる。あるいは、取引可能オブジェクトに関してオープンポジションを持たない取引デバイスは、市場におけるアクティビティをモニタ(場合によっては反応)するために、サークルデータを含むデータフィードへの加入を選択することができる。
図4Bはさらに、取引サークル456の個々の取引デバイス404が、ゲートウェイ120を介してネットワーク440と取引所130に取引注文463を通信するように構成されていることを示している。この例では、取引デバイス404によって生成された取引注文463は、サークル定義モジュール302およびサークル定義データベース304で識別された1つ又は複数の取引可能オブジェクトに関連付けられており、取引サークル456を確立するために利用される。ゲートウェイ120および取引所130に対する取引注文463の通信により、残りのサークルメンバーへのサークルデータの同時通信が開始される。取引デバイス404は特に、取引組織402にサークルデータのアップデート464aを通信し、個々の取引デバイス406にサークルデータのアップデート464bを通信する。したがって、取引デバイス402a-402nを含む取引組織402および個々の取引デバイス406は、注文アクノリッジメント/約定465が取引デバイス404又はその他の任意の非サークルメンバーが反応するために利用可能となる前に、アップデート464a、464b内に含まれる情報に反応することができる。このように、取引サークル456のメンバーは、ソーシャルネットワーク410のメンバーや個々の取引デバイス408などの非サークルメンバーに対して、時間および/又はスピードの利点を有する。
図4Cは、取引サークルマネージャ300によって実現および管理することができる集中型通信構成を示す図である。特に、図4Cに示す取引デバイス400a-400m、402a-402n、404、406、408、412―418のそれぞれは、スタンドアロンバージョンの取引サークルマネージャ300に対してアップデートを通信および提供する。この構成では、取引・サークルデータは、スタンドアロン型の取引サークルマネージャ300によって、1つ又は複数の取引サークル又はそれに関連するサークルメンバーに関して収集および/又は編集されてもよい。スタンドアロン型の取引サークルマネージャ300はさらに、個々のサークルメンバーに関連するレイテンシーおよび/又は約定の情報を集約して配信するように構成されてもよい。
図4Cに示す例では、取引組織402の取引デバイス402a-402n、個々の取引デバイス404、406、および残りの取引デバイス400a―400m、408、412-416は、集中型スタンドアロン取引サークルマネージャ300と通信するように構成されている。動作中において、取引デバイス402aは、取引注文を集中型取引サークルマネージャ300に通信するように構成されてもよい(参照矢印480)。この例では、スタンドアロン・集中型取引サークルマネージャ300は、ネットワーク440を介して取引所130と通信可能に接続されている。取引サークルマネージャ300は取引注文480を受信すると、上述したように、当該注文に含まれる詳細を分析して、取引サークル456の残りのメンバーにサークルデータを含むアップデートを通信することができる。このように、取引注文480が集中型取引サークルマネージャ300へ通信されることにより、取引デバイス402n、404、406への取引データアップデート482a-482cおよびそれに関連するサークルデータの通信がそれぞれ開始される。取引データアップデート482a-482cに含まれるサークルデータにより、取引サークル456内の取引デバイス402n、404、406は取引所130からの確認連絡あるいはアップデートを待つことなく、情報に対して反応することができる。反対に、元の取引注文480は、取引所130およびネットワーク440上に継続して向かっている。
図4Cに示すように、取引所130は取引注文480の受信に応じて、応答、約定又はその他の通信484を生成する。取引所130によって生成される通信484は、フィードに加入している1つ又は複数の取引デバイスに送信するためにゲートウェイ120に提供される。通信484は特に、加入フィード484bを介して取引組織400に、加入フィード484cを介してソーシャルネットワーク410など、1つ又は複数の取引デバイスに提供される。同様に、通信484に含まれるアクノリッジメントおよび/又は約定は、加入フィード484aを介して取引デバイス402aに提供することができる。このように、取引サークル456のメンバーは、通信484が生成され非サークルメンバーに受信される前に、集中型取引サークルマネージャ300と協力して、取引注文480に含まれる情報を共有して反応することができる。
図6は、図3のサークル定義モジュール302を実施する方法の一例を示すブロック図である。上述したように、サークル定義モジュール302は、取引サークルを開始するための要求をユーザから受信し、同様に既存の取引サークルに参加するための要求を受信する。図6の例では、サークル定義モジュール302は、取引サークルマネージャ300の第1のユーザから既存の取引サークルに参加するための要求を受信する(ブロック600)。当該要求に応じて、サークル定義モジュール302は、取引サークル管理者などの対応する取引サークルに関連する人又はデバイスにメッセージを送信する。メッセージには、要求元ユーザの識別性および/又は証明書などのユーザ関連情報が含まれる。サークル定義モジュール302は、要求元ユーザの承認を管理者から受信すると、取引サークルへの加入を承認する(ブロック604)。図示の例では、取引サークルにユーザを加入させることには、要求元ユーザに対応する識別子を取引サークルの定義に追加することが含まれる。サークル定義モジュール302は、更新されたサークル定義をサークル定義データベース304の対応するエントリに記憶する(ブロック606)。承認プロセス(ブロック602)に戻ると、サークル定義モジュール302が要求元ユーザの承認を管理者から受信しない、あるいは(例えば一定時間内に)応答を受信しない場合、サークル定義モジュール302は、要求元ユーザに拒絶を伝達する(ブロック608)。その後、図6の例は終了する(ブロック610)。
図7は、図3の取引サークルマネージャ300を実施するための例示的な方法を示す別のブロック図である。図7の例は、データベース304に定義された取引サークルにおける複数のサークルメンバーのうちの1つによる注文の変更を注文ステータスモニタ308が検出することから開始する(ブロック700)。注文ステータスモニタ308は例えば、取引サークル450の第1のメンバーに関連する取引デバイス400aから取引所130に送信された注文を検知する(図4A参照)。取引所分析モジュール310は、検知した注文/修正および取引所130の現在の状態に関連する情報を分析することにより、検知した注文/修正の効果を決定する(ブロック702)。取引所分析モジュール310は例えば、検知した注文/修正が取引所130のオーダーブックに影響を与えるかどうか、およびどのように影響を与えるかを決定する。
サークルデータマネージャ308がアクティブである場合(ブロック704)、サークルデータマネージャ308は、検知した注文/修正あるいはそれによる取引所130に対する効果に関するデータに関して、どのサークルメンバーが利害を有するかを特定する(ブロック706)。例えば、検知した注文/修正が第1および第2の取引可能オブジェクトを含む場合(例えば、第1および第2の取引可能オブジェクトのそれぞれがスプレッド取引の呼値のレッグおよびリーンレッグを構成する場合)、サークルデータマネージャ308は、第1および第2の取引可能オブジェクトのうちの1つ(又は両方)を含む実行中の注文を有するサークルメンバーを、関連情報を受信することに利害のあるサークルメンバーとして識別する。このように、アクティブである場合、サークルデータマネージャ308は、メンバーに必ずしも関連しない情報に対して取引サークルのメンバーが殺到することを防ぐことができる。このような場合には、通信モジュール306は、情報に利害があると特定されたサークルメンバーに情報を伝達する。当該情報には例えば、検知した注文/修正、それに関連するデータ(例えば、対応するサークルメンバーの識別性)、それによる取引所130および/又はその他の任意の市場団体への影響が含まれる(ブロック708)。さらに、通信モジュール306によって伝達される情報は、理論約定検知部320によって識別された理論的な約定を含むことができる。
図示の例では、サークルデータマネージャ308がアクティブでない場合(ブロック704)、通信モジュール306は、サークルメンバーのそれぞれに情報を伝達する(ブロック710)。その後、図7の例は終了する(ブロック712)。
図8は、図3の価格データモニタ314を実施するための例示的な方法を示す別のブロック図である。図8の例は、例えば、予定されたイベント又はその他の種類の命令に応じて価格データモニタ314がトリガされることから始まる(ブロック800)。価格データモニタ314は、取引所130から価格情報を収集する(ブロック802)。前述したように、取引所130は、限られた量の価格レベルに関してのみ価格情報を提供する。価格データモニタ314はまた、取引サークル450のメンバーによる実行中の注文に関連する価格情報を収集する(ブロック804)。図示の例では、収集するステップには、取引サークル450の取引デバイス400a-400mに照会を行い、取引所130によって配信されている価格レベル範囲外における取引サークル450のメンバーによる実行中の注文を識別する。価格データモニタ314の収集部316は、取引デバイス400a-400mから収集したデータを取引所130から収集した情報と組み合わせる(ブロック806)。組み合わされた情報は、取引サークル450のメンバーのための市場深度の収集ビューを形成する。図示の例では、収集部316によって提供される市場の収集ビューは例えば、図5のウィンドウ500を介して取引サークルのメンバーに提示される。
上述したように、価格データモニタ314は、収集部316よりもより完全な(おそらく精度の低い)市場ビューを提供するための外挿部318を備える。図8の例では、外挿部318は、取引所130が数量データを配信している価格レベルの範囲内のサークルメンバーに関連する価格情報を決定する(ブロック808)。外挿部318はさらに、取引所130が数量データを配信している価格レベルの範囲外における、取引サークル450のメンバーに関連する価格情報を決定する(ブロック810)。外挿部318は、配信されている価格レベルの範囲内における取引サークル450のメンバーに関連する価格情報を使用して、取引サークル450に対応する市場の部分を計算する(ブロック812)。外挿部318は例えば、取引サークル450に起因する取引所130での数量の合計割合を決定する。外挿部318は計算された割合又はパーセンテージを使用して、取引サークル450から集められた価格情報を配信範囲外の価格レベルに関して推定する(ブロック814)。すなわち、外挿部318は、配信範囲内の価格レベルに関する市場での取引サークル450による数量の割合を、配信範囲外の価格レベルに関する取引サークル450から収集した価格情報に適用する。その結果、外挿部318は、取引サークル450のメンバーのための拡大された市場ビューを生成する。収集部316および/又は外挿部318によって生成されたデータは、サークルメンバーに伝達される(ブロック816)。その後、図8の例は終了する(ブロック818)。
図面のいくつかは、ある実施形態の全て又は一部を実現するために使用可能な例示的なブロック図、システムおよび/又はフロー図を示す。例示的なブロック図、システムおよび/又はフロー図における1つ又は複数のコンポーネント、エレメント、ブロックおよび/又は機能は例えば、ハードウェア、ファームウェア、(有形コンピュータ読み取り可能媒体に記憶されたコンピュータ読み取り可能な命令のセットとしての)ディスクリートロジック、および/又はそれらの任意の組み合わせにて、単独又は組み合わせて実装されてもよい。
例示的なブロック図、システムおよび/又はフロー図は例えば、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルロジックデバイス(FPLD)、離散論理、ハードウェアおよび/又はファームウェアの任意の組み合わせを使用して実現される。また、例示的な方法のいくつか又はその全ては例えば、手動で又は上述の技術と組み合わせて実行されてもよい。
例示的なブロックダイアグラム、システムおよび/又はフロー図は例えば、1つ又は複数のプロセッサ、コントローラおよび/又はその他の処理デバイスを用いて行われる。例えば、その例としては、有形のコンピュータ読み取り可能媒体に記憶されたコンピュータ読み取り可能な命令などのコード化された命令を使用して実行される。有形コンピュータ読み取り可能媒体は例えば、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、プログラマブル読み出し専用メモリ(PROM)、電気的プログラマブル読み出し専用メモリ(EPROM)、電気的消去可能読み出し専用メモリ(EEPROM)、フラッシュメモリ、ハードディスクドライブ、光媒体、磁気テープ、ファイルサーバ、その他の任意の有形データ記憶デバイス、又はそれらの任意の組み合わせなど、様々なタイプの揮発性および不揮発性の記憶媒体を含む。有形コンピュータ読み取り可能媒体は、不揮発性である。
さらに、例示的なブロック図、システムおよび/又はフロー図について図面を参照しながら説明したが、その他の実現形態も可能である。例えば、コンポーネント、エレメント、ブロックおよび/又は機能の実行注文を変更可能である、および/又は、説明したコンポーネント、エレメント、ブロックおよび/又は機能のうちのいくつかを変更、削除、細分化又は組み合わせてもよい。さらに、コンポーネント、エレメント、ブロックおよび/又は機能のいずれか又はその全ては、例えば別個の処理スレッド、プロセッサ、デバイス、離散論理および/又は回路によって、直列および/又は並列に実現されてもよい。
複数の実施形態について開示したが、様々な変更が可能であり、均等物によって置換されてもよい。さらに、特定の状況又は材料を適合させるように多くの修正を行ってもよい。このように、開示された技術は、開示したある実施形態に限定されるものでなく、添付の特許請求の範囲に含まれる全ての実施形態を包含することが意図される。