(58)【調査した分野】(Int.Cl.,DB名)
更に、コンピュータにより、前記取引注文量の第1部分注文量と第2部分注文量とを割り当てるルーティングルールを受信するステップ、を含む、請求項1に記載の方法。
前記比較結果において、前記取引注文の方向が前記全体ネットポジションの方向と同じであるとき、前記取引注文の第1部分注文量は、前記第1ターゲットネットポジションから前記第1ネットポジションを減算することによって計算される、
請求項1〜5のいずれか一項に記載の方法。
前記比較結果において、前記取引注文の方向が前記全体ネットポジションの方向と同じであるとき、前記取引注文の第2部分注文量は、前記第2ターゲットネットポジションから前記第2ネットポジションを減算することによって計算される、
請求項1〜6のいずれか一項に記載の方法。
【発明を実施するための形態】
【0005】
いくつかの実施形態は、例で示された添付図面と共に読み取ると、より良く理解される。なお、実施形態は、添付図面に示す構成及び手段に限定されないことを理解するべきである。
【0006】
I.概要
本開示の実施形態は、ブローカーでのネットポジションに基づくマルチブローカーオーダールーティング用のツールを提供する。ブローカーでユーザが有するネットポジションは、取引注文の一部を受信し、複数のブローカーに取引注文量を割り当てるときに検討される。
【0007】
取引注文を満たすために、ブローカーが複数参加していてもよい。例えば、特定の取引可能オブジェクトのある一定量の取引注文を満たすために、取引注文量の一部である第1部分注文量が、第1ブローカーに送られてもよく、取引注文量の一部である第2部分注文量が第2ブローカーに送られてもよい。取引注文量の第1部分注文量と第2部分注文量を、第1ブローカーと第2ブローカーのそれぞれに送るために、最初の取引注文は、第1部分注文量を表す第1取引注文と、第2部分注文量を表す第2取引注文に分割される。本明細書に記載するように、ブローカーに取引注文量の一部である部分注文量を送ることは、代替的にブローカーに取引注文の一部である部分注文を送ることと言われてもよい。複数のブローカーに取引注文を送ることに加えて、取引注文は、1以上のブローカー内の複数の口座に送られてもよい。この場合、それぞれのブローカーの口座のペアは、開示されたツールの目的のため、異なる「ブローカー」とみなされてもよい。明確にするために、以下の説明は、異なるブローカーに言及するのみである。
【0008】
取引注文の一部である部分注文をブローカーに割り当てる方法は、ルーティングルール又は割り当てルールと呼ばれている。ルーティングルールの例としては、フィフティー・フィフティー・ルールがある。このルールは、第1ブローカーに取引注文の50%を送り、第2ブローカーに取引注文の50%を送る。ルーティングルールの別の例としては、ツー・ワン・ワン・ワン(2/1/1/1)・ルールがある。これは、第1ブローカーに取引注文の40%を送り、第2ブローカー、第3ブローカー及び第4ブローカーにそれぞれ取引注文の20%を送る。ルーティングルールの別の例としては、ツー・ツー・ワン(2/2/1)・ルールがある。これは、第1ブローカー及び第2ブローカーにそれぞれ取引注文の40%を送り、第3ブローカー取引注文の20%を送る。ルーティングルールの別の例としては、ナインティー・テン・ルールがある。これは、第1ブローカーに取引注文の90%を送り、第2ブローカーに取引注文の10%を送る。
【0009】
いくつかの例では、ブローカーは、それらに割り当てられた部分注文全体を満たすことができない場合がある。例えば、ブローカーは、取引注文(例えば、グッド・ティル・デイト(「GTD」)注文など)で指定された時間枠内で許容できる価格で全量を約定することができない場合があるからである。例えば、複数のブローカー策略を活用し、取引注文を分割し、第1ブローカーと第2ブローカーとの間で10個を購入する注文を行うユーザは、フィフティー・フィフティー・ルールに従って、10個の買い注文を半々に分割してもよい。したがって、現在のシステムでは、5個の買い注文が第1ブローカーに送られ、5個の買い注文が第2ブローカーに送られる。第1ブローカーは、5個の全量を約定することができるが、第2ブローカーは、(例えば、取引注文が現在の日付のGTD注文であって、オープン発注量がキャンセルされる前に、第2ブローカーが全量を約定することができないことによって、)2個のみ購入し、3個を未購入となったと仮定する。その結果、ユーザは、第1ブローカーにおける注文で第1ネットポジション(ロング5)と、第2ブローカーにおける注文で第2ネットポジション(ロング2)を有する。また、ユーザは、すべてのブローカー間で全体ネットポジション(ロング7)を有する。ユーザが第2取引注文を発注し、現在のシステムにおいて、同じフィフティー・フィフティー・割り当てルールに従って、同じ複数のブローカー策略を使用し、20より多くの買い注文を行う場合、ユーザが各ブローカーで異なるネットポジションを有していたとしても、20個買うための第2取引注文は、再度第1ブローカーと第2ブローカーとの間で等しく分けられる。多くの例では、これと他の従来の複数のブローカー策略又はルールとは、好ましくない配分の取引注文となる。例えば、実際フラットなネットポジションであるが、一方のブローカーではロングネットポジションを有し、他方のブローカーではショートネットポジションを有し、ユーザにとって望ましくない。別の例として、ユーザは、特別の関係に由来する理由(例えば、特定のブローカーがトレーダにスポーツイベントの良い席のチケットを提供するなど)のために、特定のブローカーにある量を確実に送信したい場合がある。
【0010】
本明細書で開示された実施形態は、取引システム、デバイス、及び/又はプロセスに、取引注文が送られる可能性があるブローカーでのユーザの少なくとも一部のネットポジションに基づいてマルチブローカー取引注文の配分を行うことを可能にする。特に、特定の取引可能オブジェクトの取引注文の一部である部分注文を割り当てる前に、本明細書に開示されたいくつかの実施形態は、取引可能オブジェクトにおいてユーザが有するネットポジションを考慮している。取引注文量の配分は、ブローカーに対しユーザが有するネットポジションに基づいて、割り当てルールに従って変更可能に行われ、ブローカーでユーザの所望するネットポジションを達成する可能性を高めることができる。例えば、第1ブローカーに対しユーザが有する現在のネットポジションが、第2ブローカーに対しユーザが有する現在のネットポジションと異なる場合(例えば、第1ブローカーの配分より第2ブローカーの配分の方が大きい場合)、第1ブローカーに対する取引注文量の配分が減らされ、ユーザが2つのブローカー間でそれらの全体ネットポジションを所望の配分となるように補助してもよい。
【0011】
以降は、他のコンポーネントの中に、ハードウェア上で実行されるソフトウェアを含む実施形態を開示しているが、実施形態は、単に例を示しており、限定とみなされるべきではないことに留意するべきである。例えば、これらのハードウェア及びソフトウェアコンポーネントのいずれか又はすべては、ハードウェア単独、ソフトウェア単独、ファームウェア単独、又はハードウェア、ソフトウェア及び/又はファームウェアのいずれかの組み合わせにおいて実施されてもよい。したがって、開示された実施形態は、他の方法で実施されてもよい。
【0012】
いくつかの実施形態は、コンピュータにより、ユーザの取引可能オブジェクトの取引注文量を含む取引注文を受信するステップ、及び取引可能オブジェクトに関連付けられた第1ブローカーに対しユーザが有する第1ネットポジションに基づいて、取引注文量の一部である第1部分注文量を第1ブローカーに割り当てると共に、取引可能オブジェクトに関連付けられた第2ブローカーに対しユーザが有する第2ネットポジションに基づいて、取引注文量の一部である第2部分注文量を第2ブローカーに割り当てるステップ、を含む方法を提供する。
【0013】
いくつかの実施形態は、命令が実行されると、コンピュータに少なくともユーザの取引可能オブジェクトの取引注文量を含む取引注文を受信させ、取引可能オブジェクトに関連付けられた第1ブローカーに対しユーザが有する第1ネットポジションに基づいて、取引注文量の一部である第1部分注文量を第1ブローカーに割り当てさせると共に、取引可能オブジェクトに関連付けられた第2ブローカーに対しユーザが有する第2ネットポジションに基づいて、取引注文量の一部である第2部分注文量を第2ブローカーに割り当てさせる、コンピュータ読み取り可能な記憶媒体を提供する。
【0014】
いくつかの実施形態は、ユーザの取引可能オブジェクトの取引注文量を含む取引注文を受信するインタフェース、取引可能オブジェクトに関連付けられた第1ブローカーに対しユーザが有する第1ネットポジションに基づいて、第1ブローカーに取引注文量の一部である第1部分注文量を割り当てると共に、取引可能オブジェクトに関連付けられた第2ブローカーに対しユーザが有する第2ネットポジションに基づいて、第2ブローカーに取引注文量の一部である第2部分注文量を割り当てるアロケータ、を含む装置を提供する。
【0015】
II.電子取引システムの例
図1は、いくつかの実施形態において採用される取引システム100の例のブロック図を示す。システム100は、取引デバイス110、ゲートウェイ120、及び電子取引所130を含む。取引デバイス110は、ゲートウェイ120と通信する。ゲートウェイ120は、取引所130と通信する。
【0016】
本明細書で使用される語句「通信する」は、直接通信と、1つ以上の中間コンポーネントを介する間接通信を含む。
【0017】
動作中、取引デバイス110は、取引所130で取引可能オブジェクトを売買する注文を送信してもよい。例えば、ユーザは、取引デバイス110を利用し、注文を送信してもよい。注文は、ゲートウェイ120を通して取引所130に送信される。また、市場データは、取引所130からゲートウェイ120を通って取引デバイス110に送信される。ユーザはまた、取引デバイス110を利用し、この市場データを監視する、及び/又は市場データ上の取引可能オブジェクトの注文を送信する決定の基礎としてもよい。
【0018】
取引可能オブジェクトは、量及び/又は価格で取引することができるものである。例えば、株、オプション、債券、先物、通貨、ワラント、ファンドデリバティブ、証券、商品、スワップ、金利商品、インデックスベースプロダクト、取引イベント、グッズ、及びコレクション及び/又はこれらの組み合わせが、取引可能オブジェクトであってもよい。取引可能オブジェクトは、「実物(real)」又は「合成(synthetic)」であってもよい。実物の取引可能オブジェクトは、取引所によってリストに記載され、及び/又は管理された製品を含む。合成の取引可能オブジェクトは、ユーザによって定義された製品を含む。例えば、合成の取引可能オブジェクトは、取引デバイス110を利用するユーザによって作成された合成スプレッドなどの実物の(又は他の合成の)製品の組み合わせを含んでもよい。合成の取引オブジェクトに対応する及び/又は類似する実物の取引可能オブジェクトがあってもよい。
【0019】
取引デバイス110は、例えば、ハンドヘルドデバイス、ラップトップ、デスクトップコンピュータ、シングル又はマルチコアプロセッサを有するワークステーション、複数のプロセッサを有するサーバ、及び/又はコンピュータのクラスタなどの1つ以上の電子コンピュータプラットフォームを含んでもよい。例えば、単一のデバイスとして論的に表される一方で、取引デバイス110は、サーバと通信する取引端末を含んでもよく、取引端末とサーバをまとめたものが取引デバイスであってもよい。取引端末は、取引画面をユーザに提供し、取引画面を通して、例えば、注文するなどのユーザの入力を更に処理するため、サーバにコマンドを通信してもよい。
【0020】
取引デバイス110は、通常、ユーザによって、所有され、操作され、制御され、プログラムされ、構成され、又は他のものが使用される。本明細書で使用されるように、語句「ユーザ」は、限定されるものではないが、人(例えば、トレーダ)又は電子取引所デバイス(例えば、プロセッサとメモリ又はアルゴリズム取引システムを含む)を含んでもよい。1人以上のユーザは、所有権、操作、制御、プログラミング、構成、又は他の使用に関与してもよい。
【0021】
取引デバイス110は、1以上の取引アプリケーションを含んでもよい。取引アプリケーションは、例えば、市場データを取引及びチャートウィンドウに整列し、表示することによって市場データを処理してもよい。市場データは、例えば、取引所130から受信されてもよい。別の例として、市場データは、履歴データを提供する及び/又は取引所をシミュレートするが、実際の世界の取引を実現しないシミュレーション環境から受信されてもよい。この処理は、例えば、ユーザの好みに基づいてもよい。取引アプリケーションは、例えば、自動スプレッド取引ツールなどの自動化された取引ツールを含んでもよい。1つ以上の取引アプリケーションは、取引デバイス110のコンピュータの1つ以上に分散されてもよい。例えば、取引アプリケーションの特定のコンポーネントは、取引ワークステーション上で実行されてもよく、取引アプリケーションの他のコンポーネントがワークステーションと通信するサーバ上で実行されてもよい。
【0022】
取引デバイス110は、電子取引ワークステーション、ポータブル取引デバイス、「ブラックボックス」又は「グレーボックス」システムなどのアルゴリズム取引システム、組み込み型の取引システム、及び/又は自動化された取引ツールを含んでもよい。例えば、取引デバイス110は、イリノイ州のシカゴのトレーディング・テクノロジーズ・インターナショナル・インコーポレイテッドによって提供される電子取引プラットフォームである、X_TRADER(登録商標)のコピーを実行するコンピュータシステムであってもよい。別の例として、取引デバイス110は、自動取引ツール、例えば、トレーディング・テクノロジーズ・インターナショナル・インコーポレイテッドによってまた提供されるAutospreader(登録商標)又はAutotrader(商標)などを実行するコンピュータであってもよい。
【0023】
別の例として、取引デバイス110は、市場データをアルゴリズム的に処理し、アルゴリズム的な処理に基づいて手動で注文するための、又は自動的に出された注文を操作するためのユーザインタフェースを含む取引アプリケーションを含んでもよい。アルゴリズム取引アプリケーションは、特定のアクションを行うため自動的に処理されたアルゴリズムを含む取引アプリケーションである。即ち、取引アプリケーションは、定義されたアクションを実行する自動化された一連の命令を含んでいる。アクションは、例えば、特定の方法で市場データを処理すること、注文すること、既存の注文を変更すること、注文を削除すること、注文をやめること、実行するため取引オブジェクトを選択すること、注文するため又は注文を変更するため価格を決定すること、注文を発注する又は注文を変更するため量を決定すること、注文が買い又は売りかを決定すること、一定の時間アクションを遅らせること、を含んでもよい。
【0024】
本明細書で使用されるように、アルゴリズム(取引アルゴリズムとも呼ばれている)は、取引に使用されるアルゴリズムを記述する論理式及びパラメータを含む定義によって特定される。論理式は、パラメータ間の関係を特定し、より多くのパラメータを生成してもよい。パラメータは、例えば、アルゴリズムの論理式への入力を含んでもよい。アルゴリズムの定義は、少なくとも一部では、アルゴリズム取引アプリケーションによって特定されてもよい。例えば、アルゴリズム取引アプリケーションは、ユーザにパラメータを特定させるのみを可能にし、所定の論理式によって使用されてもよい。別の例として、アルゴリズム取引アプリケーションは、ユーザに論理式のうちのいくつか又はすべて、及びパラメータのうちのいくつか又はすべてを特定することを可能にしてもよい。取引アルゴリズムは、論理式がユーザによって特定されたユーザ定義の取引アルゴリズムである。
【0025】
取引アプリケーションは、取引デバイス110のコンピュータ読み取り可能な記録媒体に記憶されてもよい。いくつかの実施形態では、取引アプリケーションの1つ以上の構成要素が取引ワークステーションに記憶されてもよく、取引アプリケーションの他の構成要素がワークステーションと通信するサーバ上に記憶されてもよい。いくつかの実施形態では、取引アプリケーションの1つ以上の構成要素が別のコンピュータ読み取り可能な記録媒体から取引デバイス110のコンピュータ読み取り可能な記録媒体へロードされてもよい。例えば、取引アプリケーション(又は取引アプリケーションの更新)は、メーカー、開発者、又は1つ以上のCD若しくはDVDの発行者によって記憶されてもよく、その後アプリケーションを取引デバイス110上に、又は取引デバイス110が取引アプリケーションを取得するサーバに、アプリケーションをロードする責任者に提供される。別の例として、取引デバイス110は、例えば、インターネット又は内部ネットワークを介して、サーバから取引アプリケーション(又は取引アプリケーションの更新)を受信してもよい。取引デバイス110は、取引デバイス110によって要求されたとき(「プル配信」)、及び/又は取引デバイスによって要求されないとき(「プッシュ配信」)、取引アプリケーション又は更新を受信してもよい。
【0026】
取引デバイス110は、取引可能オブジェクトの注文を送信するように構成される。注文は、例えば、1つ以上のメッセージ若しくはデータパケットに、又は共有メモリシステムを通して送信される。取引デバイス110はまた、例えば、注文のキャンセル、注文の変更、及び/又は取引所への問合せをするように構成されてもよい。別の例として、取引デバイス110は、実際の世界の取引を実現しないシミュレーション環境にシミュレートされた取引所に注文を送信するように構成されてもよい。
【0027】
取引デバイス110によって送信された注文は、例えば、ユーザの要求で送信されてもよく、又は自動的に送信されてもよい。例えば、トレーダは、電子取引ワークステーションを利用し、特定の取引可能オブジェクトを発注し、注文価格及び/又は量などの注文用の1つ以上のパラメータを手動で提供する。別の例として、自動化された取引ツールが注文用の1つ以上のパラメータを計算し、注文を自動的に送信してもよい。いくつかの場合では、自動化された取引ツールは、送信されるべき注文を準備し、実際にそれをユーザからの確認することなしに送信することはない。
【0028】
いくつかの実施形態では、取引デバイス110は、ユーザインタフェースを含む。ユーザインタフェースは、取引アプリケーションのテキストベース及び/又はグラフィカルインタフェースを表す1つ以上のディスプレイデバイスを含んでもよい。例えば、ディスプレイデバイスは、コンピュータモニタ、ハンドヘルド・デバイス・ディスプレイ、プロジェクタ、及び/又はテレビを含んでもよい。ユーザインタフェースは、取引アプリケーションを使用する注文用のパラメータを特定する又は評価するために使用されてもよい。ユーザインタフェースは、例えば、入力を受信するための1つ以上の入力デバイスを含んでもよい。例えば、入力デバイスは、キーボード、トラックボール、2つ又は3つのボタンマウス、及び/又はタッチスクリーンを含んでもよい。ユーザインタフェースは、ユーザと対話するための他のデバイスを含んでもよい。例えば、情報が、音声でスピーカーを介してユーザに提供されてもよく、及び/又はマイクを介して受信されてもよい。
【0029】
いくつかの実施形態では、取引アプリケーションは、1つ以上の取引画面を含み、ユーザが1つ以上の市場と対話可能にしている。取引画面は、例えば、様々な取引戦略を実施しながら、ユーザが市場情報を取得し、かつ見て、注文エントリーパラメータをセットし、注文を入力及びキャンセルし、及び/又はポジションを監視することを可能にしてもよい。例えば、取引アプリケーションが、取引所130から情報(例えば、ビッド価格、ビッド量、アスク価格、アスク量、過去に売った価格及び量、及び/又は他の市場の関連情報など)を受信してもよく、それらのいくつか又はすべてが順番に取引デバイスのユーザインタフェースを用いて表示されてもよい。受信された情報に基づいて、取引画面は、価格レベルのレンジと、取引可能オブジェクトに関する価格レベルの対応するビッド及びアスク量と、を表示してもよい。関連する取引情報をユーザに提供するために、取引画面は、内部市場の周囲に価格(と対応するビッド及びアスク量)のレンジを表示してもよい。情報は、連続的に又は定期的に取引アプリケーションに提供され、取引アプリケーションが現在の市場情報と共に取引画面を更新可能にしてもよい。ユーザは、例えば、取引画面を使用し、取引可能オブジェクトの買い注文及び売り注文を発注し、又はそれ以外の場合、表示された情報に基づいて取引可能オブジェクトを取引してもよい。
【0030】
取引画面は、1つ以上の取引ツールを表示してもよい。取引ツールは、電子ツールであって、電子取引を可能にし、補助し、及び/又は容易にする。代表的な取引ツールは、限定されるものではないが、チャート、取引ラダー、注文入力ツール、自動化された取引ツール、自動化されたスプレッドツール、リスク管理ツール、注文パラメータツール、注文入力システム、市場グリッド、フィルウィンドウ、及び市場注文ウィンドウ、それらの組み合わせ、他の電子ツールであって、取引、取引の準備、取引の管理、又は市場の分析に使用されるツールを含んでいてもよい。
【0031】
いくつかの実施形態では、取引デバイス110からの注文は、ゲートウェイ120を通って取引所130に送信される。取引デバイス110は、例えば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、無線ネットワーク、仮想プライベート・ネットワーク、T1ライン、T3ライン、統合サービスデジタル網(“ISDN”)線、ポイント・オブ・プレゼンス(POP)、インターネット、及び/又は共有メモリシステムを使用してゲートウェイ120と通信することができる。
【0032】
ゲートウェイ120は、取引デバイス110及び取引所130と通信するように構成されている。ゲートウェイ120は、取引デバイス110と取引所130との間の通信を可能にする。例えば、ゲートウェイ120は、取引デバイス110から注文を受信し、取引所130に注文を送信してもよい。別の例として、ゲートウェイ120は、取引所130から市場データを受信し、取引デバイス110に市場データを送信してもよい。
【0033】
いくつかの実施形態では、ゲートウェイ120は、取引デバイス110と取引所130との間で通信されたデータの処理を行う。例えば、ゲートウェイ120は、取引デバイス110から受信された注文を取引所130によって理解されるデータフォーマットに処理してもよい。同様に、ゲートウェイ120は、取引所130から受信された取引所の特有のフォーマットの市場データを取引デバイスによって理解されるフォーマットに変換してもよい。ゲートウェイ120の処理はまた、例えば、取引デバイス110からの取引注文を追跡すること、及び取引所130から受信されたフィル確認に基づいて注文の状態を更新することを含んでもよい。別の例として、ゲートウェイ120は、取引所130からの市場データをまとめ、それを取引デバイス110に提供してもよい。
【0034】
いくつかの実施形態では、ゲートウェイ120は、取引デバイス110と取引所130との間で通信されるデータを処理する以外のサービスを提供する。例えば、ゲートウェイ120は、リスク処理を提供してもよい。
【0035】
ゲートウェイ120は、例えば、ハンドヘルドデバイス、ラップトップ、デスクトップコンピュータ、シングルコア又はマルチコアプロセッサを有するワークステーション、複数のプロセッサを有するサーバ、及び/又はコンピュータのクラスタなどの1つ以上のコンピュータプラットフォームを含んでもよい。
【0036】
ゲートウェイ120は、1つ以上のゲートウェイアプリケーションを含んでいてもよい。ゲートウェイアプリケーションは、例えば、注文処理及び市場データ処理を扱うことができる。この処理は、例えば、ユーザの好みに基づいてもよい。
【0037】
いくつかの実施形態では、ゲートウェイ120は、例えば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、仮想プライベート・ネットワーク、T1ライン、T3ライン、ISDNライン、ポイント・オブ・プレゼンス(POP)、インターネット、及び/又は共有メモリシステムを使用して取引所130と通信する。
【0038】
一般的に、取引所130は、取引所エンティティによって所有され、操作され、制御され、又は使用され得る。取引所エンティティの例は、CMEグループ、ロンドン国際金融先物取引所(「LIFFE」)、インターコンチネンタル取引所(「ICE」)、及びユーレックスを含む。取引所130は、例えば、取引所によって取引を申し込まれた取引可能オブジェクトが売買されることを可能にするように構成された、コンピュータ、サーバ、又は他のコンピュータなどの電子マッチングシステムを含んでもよい。電子マッチングシステムは、例えば、マッチングエンジンを含んでもよい。取引所130は、別のエンティティを含み、例えば、いくつかが取引可能オブジェクト及び注文を受信してマッチする他のものをリストに記載してもよく、及び/又は管理してもよい。取引所130は、例えば、電子通信ネットワーク(「ECN」)を含んでもよい。
【0039】
取引所は、取引可能オブジェクトを売買するため注文をマッチするように構成されている。取引可能オブジェクトは、取引所130によって取引のためにリストに記載されてもよい。注文は、例えば、取引デバイス110から受信された注文を含んでもよい。注文は、例えば、ゲートウェイ120を通って取引デバイス110から受信されてもよい。また、注文は、取引所130と通信する他のデバイスから受信されてもよい。即ち、一般的に、取引所130は、マッチすべき注文も提供する(取引デバイス110と同様であってもよい)様々な他の取引デバイスと通信する。
【0040】
取引所130は、市場データを提供するように構成されてもよい。市場データは、例えば、1つ以上のメッセージ若しくはデータパケットに、又は共有メモリシステムを通して提供されてもよい。市場データは、例えば、取引デバイス110に提供されてもよい。市場データは、例えば、ゲートウェイ120を通して、取引デバイス110に提供されてもよい。市場データは、例えば、内部市場を示すデータを含んでもよい。内部市場は、(内部市場が時間と共に変化するので)特定の時点での最低の売り価格(「ベストアスク」とも呼ばれる)と最高の買い価格(「ベストビッド」とも呼ばれる)である。市場データは、市場の深さを含んでもよい。市場の深さは、内部市場で入手可能な量を表しており、また内部市場から離れた他の価格で入手可能な量を表している。したがって、内部市場は、市場の深さの第1レベルと見なすことができる。内部市場から離れた1つのティックは、例えば、内部市場の第2レベルと見なしてもよい。いくつかの実施形態では、市場の深さは、全ての価格レベルに提供されている。いくつかの実施形態では、市場の深さは、全ての価格レベルより少なく提供されている。例えば、市場の深さは、内部市場の両側の最初の5つの価格レベルのみに提供されてもよい。別の例として、市場の深さは、市場内で入手可能な量である最初の10個の価格レベルに提供されてもよい。市場データはまた、最終取引価格(LTP)、最終取引量(LTQ)、及び注文フィル情報などの情報を含んでもよい。
【0041】
いくつかの実施形態では、システム100は、複数の取引デバイス110を含んでいる。例えば、上述の取引デバイス110と同様の複数の取引デバイスは、ゲートウェイ120と通信し、注文を取引所130に送信してもよい。
【0042】
いくつかの実施形態では、システム100は、複数のゲートウェイ120を含んでいる。例えば、上述のゲートウェイ120と同様の複数のゲートウェイが、取引デバイス110及び取引所130と通信してもよい。そのような構成は、例えば、1つのゲートウェイに障害が発生した場合に、冗長性を提供するために使用することができる。
【0043】
いくつかの実施形態では、システム100は、複数の取引所130を含んでいる。例えば、ゲートウェイ120は、上述の取引所130と同様の複数の取引所と通信してもよい。そのような構成は、例えば、取引デバイス110が、ゲートウェイ120を通して複数の取引所で取引可能である。
【0044】
いくつかの実施形態では、システム100は、複数の取引所130と、複数のゲートウェイ120を含んでいる。例えば、ゲートウェイ120と同様の複数のゲートウェイは、上述の取引所130と同様の複数の取引所と通信してもよい。各ゲートウェイは、例えば、1つ以上の別の取引所と通信してもよい。そのような構成は、例えば、1つ以上の取引デバイス110が複数の取引所で取引可能にすること(及び/又は複数の取引所への接続の冗長性を提供すること)ができる。
【0045】
いくつかの実施形態では、取引デバイス110は、1つ以上のコンピュータ又は処理コンポーネントを含んでいる。言い換えれば、取引デバイス110の機能は、複数のコンピュータによって実行されてもよい。例えば、1つのコンピュータが、取引所130に送信されるべき注文を生成してもよく、一方で別のコンピュータがユーザにグラフィカル・ユーザ・インタフェースを提供してもよい。いくつかの実施形態では、ゲートウェイ120は、1つ以上のコンピュータ又は処理コンポーネントを含んでいる。言い換えれば、ゲートウェイ120の機能は、複数のコンピュータによって実行されてもよい。いくつかの実施形態では、取引所130は、1つ以上のコンピュータ又は処理コンポーネントを含んでいる。言い換えれば、取引所130の機能は、複数のコンピュータによって実行されてもよい。
【0046】
いくつかの実施形態では、ゲートウェイ120は、取引デバイス110の一部である。例えば、ゲートウェイ120のコンポーネントは、取引デバイス110と同じコンピュータプラットフォームの一部であってもよい。別の例として、ゲートウェイ120の機能は、取引デバイス110のコンポーネントによって実行されてもよい。いくつかの実施形態では、ゲートウェイ120は存在しない。例えば、取引デバイス110が、取引所130と通信するために、ゲートウェイ120を利用する必要がない場合に、そのような構成にしてもよい。例えば、取引デバイス110が、取引所130と直接通信するように構成されている場合である。
【0047】
いくつかの実施形態では、ゲートウェイ120は、取引デバイス110と同じ側に物理的に配置されている。いくつかの実施形態では、ゲートウェイ120は、取引所130と同じ側に物理的に配置されている。いくつかの実施形態では、取引デバイス110は、取引所130と同じ側に物理的に配置されている。いくつかの実施形態では、ゲートウェイ120は、取引デバイス110と取引所130との両方に対して別の側に物理的に配置されている。
【0048】
いくつかの実施形態では、システム100は、ミドルウェア、ファイアーウォール、ハブ、スイッチ、ルータ、取引所特有の通信設備、モデム、セキュリティ管理、及び/又は暗号化/復号化デバイスなどの通信アーキテクチャに固有の他のデバイスを含んでもよい。
【0049】
III.コンピュータの例
図2は、開示された実施形態を実施するために使用されるコンピュータ200の例のブロック図を示す。
図1の取引デバイス110は、例えば、1つ以上のコンピュータ200を含んでもよい。
図1のゲートウェイ120は、例えば、1つ以上のコンピュータ200を含んでもよい。
図1の取引所130は、例えば、1つ以上のコンピュータ200を含んでもよい。
【0050】
コンピュータ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を介して外部の又はリモートの入力デバイスによって制御されてもよい。
【0051】
コンピュータ200は、相互接続バス204と接続されたプロセッサ202を含む。相互接続バス204は、通信バス、チャンネル、ネットワーク、回路、スイッチ、ファブリック、又はコンピュータ200の構成要素との間でデータを通信するための他の機構を含んでもよい。相互接続バス204は、コンピュータ200のいくつかの構成要素と通信可能に接続され、データを転送してもよい。例えば、アプリケーションのインストールプロセス中に、プロセッサ202によって実行されるべき1つ以上のコンピュータ読み取り可能な命令が、入力デバイス222及び/又はネットワークインタフェース218から、システムメモリ212及び/又は大容量記憶メモリ214に転送されてもよい。コンピュータ200がシステムメモリ212及び/又は大容量記憶メモリ214に記憶されたアプリケーションを実行しているとき、又は実行の準備をしているとき、プロセッサ202は、システムメモリ212及び/又は大容量記憶メモリ214から、相互接続バス204を介して命令を取り出してもよい。
【0052】
プロセッサ202は、例えば、プロセッサ、処理ユニット、又はマイクロプロセッサであってもよい。プロセッサ202は、例えば、1つ以上の一般的なプロセッサ、デジタル信号プロセッサ、特定用途向け集積回路、フィールド・プログラマブル・ゲート・アレイ、アナログ回路、デジタル回路、プログラムされたプロセッサ、及び/又はそれらの組合せを含んでもよい。プロセッサ202は、単一のデバイス又は、ネットワーク若しくは分散処理に関連付けられた1つ以上のデバイスなどのデバイスの組み合わせであってもよい。いくつかの処理戦略では、例えば、マルチ処理、マルチタスク、並行処理、及び/又はリモート処理などが使用されてもよい。処理は、ローカル又はリモートであってもよく、1つのプロセッサから別のプロセッサに移動されてもよい。コンピュータ200は、マルチプロセッサシステムであってもよく、そして相互接続バス204に通信可能に接続される1つ以上の追加のプロセッサを含んでもよい。
【0053】
プロセッサ202は、1つ以上の有形メディア、例えば、システムメモリ212、大容量記憶メモリ214などで、及び/又はネットワークインタフェース218を介して、エンコードされたロジックを実行するように動作可能であってもよい。本明細書で使用されているように、1つ以上の有形メディアにエンコードされたロジックは、プロセッサ202又は別のプロセッサによって実行可能な命令を含んでいる。ロジックは、例えば、ソフトウェア、ハードウェア、集積回路、ファームウェア、及び/又はマイクロコードの一部として記憶されてもよい。ロジックは、外部の通信デバイスから、例えば、インターネットに接続された通信ネットワークを介して受信されてもよい。プロセッサ202は、ロジックを実行し、図に示され、若しくは本明細書に記載された機能、動作、又はタスクを行ってもよい。
【0054】
図2のプロセッサ202は、メモリコントローラ208とI/Oコントローラ210とを含むチップセット206に接続されている。チップセットは、通常、I/O及びメモリ管理機能、並びに汎用及び/又は特殊用途レジスタ、及びアクセス可能であり、又はチップセット206に接続された1つ以上のプロセッサによって使用されるタイマーを提供する。メモリコントローラ208は、プロセッサ202(又はマルチプロセッサの場合に複数のプロセッサ)をシステムメモリ212と大容量記憶メモリ214にアクセス可能にする機能を実行する。
【0055】
システムメモリ212と大容量記憶メモリ214は、例えば、1つ以上の有形メディア、例えば、コンピュータ読み取り可能な記録媒体であってもよい。システムメモリ212は、様々なタイプの揮発性及び不揮発性記録媒体を含んでもよく、例えば、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、プログラマブル・リード・オンリー・メモリ(PROM)、電気的プログラマブル・リード・オンリー・メモリ(PROM)、電気的に消去可能なリード・オンリー・メモリ(EPROM)、フラッシュメモリ、いくつかの他の有形データ記憶デバイス、それらのいくつかの組み合わせを含む。大容量記憶メモリ214は、様々なタイプの大容量記憶デバイスを含んでもよく、例えば、ハードディスクドライブ、光学メディア、磁気テープ、いくつかの他の有形データ記憶デバイス、又はそれらのいくつかの組み合わせを含む。いくつかの実施形態では、システムメモリ212と大容量記憶メモリ214は、非一時的である。
【0056】
システムメモリ212と大容量記憶メモリ214は、例えば、単一のメモリモジュールであってもよい。システムメモリ212と大容量記憶メモリ214は、プロセッサ202と隣接して設けてもよいし、その一部であってもよいし、それと共にプログラムされてもよいし、それと共にネットワーク接続されてもよいし、及び/又はそれから離れて設けられてもよい。システムメモリ212と大容量記憶メモリ214に記憶されたデータは、例えば、プロセッサ202によって取り出され、処理されるようになっている。命令が実行され、本明細書で記載されている、若しくは図に示されている動作又は機能のうち1つ以上を実行してもよい。
【0057】
I/Oコントローラ210は、機能を実行し、プロセッサ202が、I/Oバス216を通って、ネットワークインタフェース218、ディスプレイ220、入力デバイス222、及び出力デバイス224と通信可能にする。メモリコントローラ208とI/Oコントローラ210は、チップセット206内に、別のブロックとして
図2に示されているが、これらのブロックによって実行される機能は、単一の半導体回路内に統合されてもよく、又は2つ以上の別の集積回路を使用して実現されてもよい。コンピュータ200の構成要素の1つ以上は、チップ上のシステム(例えば、IPHONE(商標)のチップ上のシステム)として実現されてもよい。
【0058】
ネットワークインタフェース218は、一方向又は双方向の通信接続であってもよい。したがって、ネットワークインタフェース218は、1つ、2つ、又はそれ以上の通信ネットワーク又はデバイスに通信可能に接続されてもよい。例えば、相互接続バス204は、ネットワークインタフェース218を介して、上記した
図1のゲートウェイ120と同様のゲートウェイと接続されてもよく、1つか、いくつかか、すべてのコンピュータ200の構成要素がアクセス可能であり、又はゲートウェイと通信するようになっている。別の例として、ネットワークインタフェース218は、他の通信ネットワークを有する相互接続バス204に接続されてもよい。ネットワークインタフェース218は、例えば、総合デジタル通信網(ISDN)カード又はデータ通信接続を提供するモデムであってもよい。別の例として、ネットワークインタフェース218は、ローカル・エリア・ネットワーク(LAN)カードであってもよく、データ通信接続を、例えば、インターネットに接続された互換性のあるLANに提供する。無線リンクも実装されてもよい。ネットワークインタフェース218は、例えば、様々な種類の情報を表すアナログ又はデジタル・データ・ストリームを伝送する電気、電磁気、又は光信号を送受信してもよい。
【0059】
ディスプレイデバイス220は、例えば、ビジュアル・アウトプット・デバイス、ブラウン管(CRT)ディスプレイ、電子ディスプレイ、電子ペーパー、フラットパネルディスプレイ、発光ダイオード(LED)ディスプレイ、エレクトロルミネッセント・ディスプレイ(ELD)、プラズマ・ディスプレイ・パネル(PDP)、液晶ディスプレイ(LCD)、薄膜トランジスタ・ディスプレイ(TFT)、有機発光ダイオード・ディスプレイ(OLED)、表面伝導型電子放出素子ディスプレイ(SED)、レーザテレビ、カーボンナノチューブ、ナノ液晶ディスプレイ、ヘッドマウント・ディスプレイ、プロジェクタ、3次元ディスプレイ、及び/又は透明ディスプレイデバイスを含んでもよい。
【0060】
ディスプレイデバイス220は、取引画面を表示するように構成されている。取引画面は、例えば、上記した取引画面と同様であってもよい。取引画面は、インタラクティブであってもよい。インタラクティブな取引画面は、例えば、1つ以上の取引アクションが取引画面を使用して実行可能にしてもよい。例えば、インタラクティブな取引画面は、1つ以上の注文エントリーパラメータが1つ以上の注文エントリーアクションを使用してセット及び又は送信可能にしてもよい。ディスプレイデバイス220及び/又は入力デバイス222は、例えば、取引画面と対話するために使用されてもよい。
【0061】
入力デバイス222は、例えば、キーボード、マウス、マイクロフォン、タッチスクリーン、トラックボール、キーパッド、ジョイスティック、及び/又は入力を提供するための他のデバイスを含んでもよい。入力デバイス222は、例えば、プロセッサ202にコマンド選択を提供するように使用されてもよい。例えば、入力デバイス222は、画面に表示されたカーソルを制御するように使用されるマウスであってもよい。マウスは、例えば、選択と制御をするための1つ以上のボタンを含んでもよい。
【0062】
出力デバイス224は、例えば、キーボード、マウス、スピーカー、タッチスクリーン、トラックボール、キーパッド、触覚デバイス又はシステム、ジョイスティック、及び/又は出力を提供するための他のデバイスを含んでもよい。例えば、出力デバイス224は、1つ以上の信号、例えば、触覚信号又は音声信号、をユーザに出力するように使用されてもよい。入力デバイス222と出力デバイス224は、別のブロックとして
図2に示されているが、これらのブロックによって実行される機能は、単一のI/Oデバイスに統合されてもよい。
【0063】
IV.ネットポジションに基づくマルチブローカーオーダールーティング
図3は、いくつかの実施形態を採用した取引システム300の例を示す。取引システム300の例は、複数のブローカー304−308を利用し、取引注文を提出することができる取引デバイス302を含む。ブローカー304−308は、それらに割り当てられた取引注文量を満たそうと試みる。ブローカー304−308は、取引注文を取引所310に提出し、割り当てられた量を満たそうと試みる。
【0064】
取引デバイス302の例は、例えば、
図1の取引デバイス110であってもよい。取引所310の例は、例えば、
図1の取引所130であってもよい。いくつかの実施形態では、ブローカー304−308の1つ以上が、ブローカー304−308の残りのブローカーと異なる取引所及び/又は複数の取引所で、割り当てられた取引注文量を満たすように試みてもよい。
【0065】
ブローカー304−308のうち複数に取引注文を提出するため、取引デバイス302の例は、マルチブローカーオーダールータ312を利用する。マルチブローカーオーダールータ312の例は、取引デバイス302が、割り当てルールに基づいて、ブローカー304−308間で取引注文を割り当てるように要求可能にしている。
図3に示されるように、マルチブローカーオーダールータ312の例は、例えば、取引デバイス302とは別のコンピュータの一部、例えば、サーバ又はゲートウェイなどである。
【0066】
図3のマルチブローカーオーダールータ312の例は、取引デバイス302にオプションを提供し、及び/又は取引デバイス302によって構成され、割り当てルールにおいて識別されたブローカー304−308のうち1つ以上で、ユーザが有する1つ以上のネットポジションを検討(consideration)することを含んでもよい。したがって、従来のマルチブローカーシステムとは異なり、
図3のマルチブローカーオーダールータ312の例は、マルチブローカー策略のブローカー毎にユーザが有するネットポジションを決定し、ネットポジションを、ブローカー304−308間で取引注文量の一部である部分注文量をどのように割り当てるかを決定する要因に組み込んでいる。
【0067】
ブローカー304−308でユーザが有するネットポジションを、取引注文量の割り当てを決定する要因に組み込むため、マルチブローカーオーダールータ312の例は、割り当てルールに関する命令及び/又はカスタマイズを(例えば、マルチブローカーオーダールータ312及び/又は取引デバイス302によって実施されるユーザインタフェースを介して)受信する。命令及び/又はカスタマイズは、特定の情報を含み、情報は、取引注文の部分注文の割り当てを決定する要因に組み込まれるべきネットポジションに対してのユーザの望みに基づいている。マルチブローカーオーダールータ312の例は、例えば、取引デバイス302のユーザによって行われる選択に従って動作する。これは、ブローカー304−308でのネットポジションを、取引注文量の割り当てを決定する要因に適用することに関連している。例えば、取引デバイス302を使用して、ブローカー304−308間で取引注文量を割り当てるとき、ユーザは、マルチブローカーオーダールータ312の例によって提供されたオプションを選択し、取引注文の多い部分を、ユーザが有する最も少ないネットポジションを有するブローカー304−308の1つに送ってもよい。さらに、マルチブローカーオーダールータ312の例は、ブローカー304−308でユーザが有するネットポジションを、例えば、複数の方法において、対応する取引注文の買い/売り方向に基づいて、取引注文量の割り当てを決定する要因に組み込んでもよい。したがって、マルチブローカーオーダールータ312は、適用可能な取引注文が買い注文であるとき、第1割り当てルールに従い、適用可能な取引注文が売り注文であるとき、第1割り当てルールと異なる第2割り当てルールに従って、ブローカー304−308でユーザが有するネットポジションを、取引注文量の割り当てを決定する要因に組み込んでもよい。
【0068】
図4は、
図3に示すマルチブローカーオーダールータ312の実施例のブロック図を示す。
図4のマルチブローカーオーダールータ312の例は、ユーザインタフェース400を実装し、
図3の取引デバイス302のユーザから情報を受信することができる。例えば、ユーザインタフェース400は、トレーダによって使用され、割り当てルールを指定してもよい。情報を受信するため、ユーザインタフェース400の例は、1つ以上の選択、構成、及び/又は入力画面を実装している。例えば、ユーザインタフェース400は、ルール構成画面を使用可能にし、ユーザが1つ以上の割り当てルールを定義することを可能にする。別の例として、ユーザインタフェース400は、取引注文量の一部である部分注文量を割り当てるとき、ネットポジションを検討するため選択可能なオプションを有する設定画面を使用可能にする。
【0069】
図5は、ルール構成画面500の実施例のスクリーンショットである。ルール構成画面500の例は、複数のコラムを含み、それぞれのコラムが、例えば、ユーザによって定義される及び/又は選択される割り当てルールの設定若しくは機能を示している。画面500の例は、名前コラム502を含む。名前コラム502は、各割り当てルールに対して関連付けられたラベル又は名前(例えば、「50−50」若しくは「1 to 2」)を含む。新しい割り当てルールは、名前コラム502のブランクエントリー上をクリックすることによって作成することができる。画面500の例は、選択コラム504を含む。選択コラム504は、割り当てルールが取引セッションのために選択されること又はアクティブにされることを示す選択可能なボックスを含む。画面500の例は、割り当てルールの第1部分注文用の複数の設定又は態様を定義する第1部分注文コラム506を含む。
図5の例では、第1部分注文コラム506は、ブローカーを識別し、第1部分注文(注文部分1)、対応する割り当てルールが適用される顧客、対応する割り当てルールが適用される取引注文(例えば、買い、売り、又は買いと売りの両方)のタイプ、及び識別されたブローカーに割り当てられた比率を受信する。画面500の例は、第2部分注文コラム508と第3部分注文コラム510を含み、それぞれのコラムが、第2割り当てルール用、もしあれば、第3割り当てルール用の複数の設定又は態様を定義する。
図5の例では、第2部分注文コラム508と第3部分注文コラム510は、第1部分注文コラム506と同様の態様又は設定を定義している。割り当てルールが取引注文の一部である部分注文を2つのブローカーだけに割り当てるとき、第3部分注文コラム510は、ブランクのままである。3つの部分よりも多くが定義される場合、新たな部分コラムが追加される。
図5に示されるように、ルール構成画面500に情報を入力するユーザによって選択された比率は、どのくらいの割合の取引注文が、少なくとも最初に、ブローカー304−308のそれぞれに割り当てられるかを定義する。ワン・トゥ・ワン(one−to−one)の比率は、例えば、ブローカー304−308のうちの2つのブローカーとの間で、半々の割合で取引注文量を分割した部分注文量をそれぞれのブローカーに割り当てるために選択される。任意の所望の数のブローカー間で、任意の所望の比率とすることができる。以降に記載するように、取引注文量の最初の割り当ては、対応する取引注文が発注されたとき、ブローカー304−308でユーザが有するネットポジションに基づいて変更されてもよい。
【0070】
ルール構成画面500を介してマルチブローカーオーダールータ312に提供される情報は、ルール生成器402に提供される。
図4に示された例では、ルール生成器402は、画面500からの選択と入力を組み合わせて、例えば、取引デバイス302のユーザによって選択され、1つ以上の取引注文に適用される割り当てルールを作成することができる。ルール生成器402は、通常の割り当てルールをルーティング・ルール・データベース404に送信する。
【0071】
また、
図4のユーザインタフェース400の例は、取引注文のアプリケーション用割り当てルールを選択することを可能にする。
図6は、1つ以上の取引注文を発注し、ユーザが望む場合に、取引注文のマルチブローカー割り当てを要求するために使用される第1の取引注文画面600の例のスクリーンショットである。第1の取引注文画面600の例は、例えば、
図3の取引デバイス302上に表すことができる。第1の取引注文画面600の例は、ユーザ用の複数のオプションと入力を含み、例えば、買いボタン、売りボタン、量ボタン、変更ボタン、口座情報ボタンなどの取引注文を構成する。また、第1の取引注文画面600の例は、取引注文に適用されるべきルーティングタイプの選択を示すルーティングセクション602を含む。ルーティングセクション602の例は、マルチブローカーオーダールーティング策略を利用する複数の選択可能なオプションを含む。例えば、トレーダは、フィフティー・フィフティー・割り当てルール、ワン・トゥ・ツー(one−to−two)・割り当てルールなどを選択できる。ルーティングセクション602における割り当てルールの名前は、
図5の名前コラム502の割り当てルールの名前に対応してもよい。
【0072】
図7は、1つ以上の取引注文を発注し、ユーザが望む場合に、取引注文のマルチブローカー割り当てを要求するように使用される第2の取引注文画面700の例のスクリーンショットである。いくつかの実施形態では、第2の取引注文画面700は、注文エントリー用の価格軸を含む取引アプリケーションの一部である。第2の取引注文画面700の例は、例えば、
図3の取引デバイス302上に表示することができる。第2の取引注文画面700の例は、複数のオプションと入力を含み、例えば、価格コラム内の価格の隣に、注文量を表すと共に、選択されるべき量ボタンなどの取引注文を構成する。
図7に示す第2の取引画面700の例は、第1ブローカーセクション702と第2ブローカーセクション704とを含み、第1ブローカーと第2ブローカーが、取引注文のそれぞれの部分注文又は量を受信することを指定する。第2ブローカーセクション704は、第1選択部分を含み、取引注文に適用されるべき割り当てルールを選択する。第2ブローカーセクション704の第2部分の選択可能な割り当てルールの名前は、
図5の名前コラム502の割り当てルールに対応してもよい。
【0073】
第1の取引注文画面600の例、及び/又は第2の取引注文画面700の例を介してマルチブローカーオーダールータ312に送られた情報は、ルールセレクター406と、注文受信機408に提供される。ルールセレクター406の例は、注文ベース毎に割り当てルール指定を受信してもよい。いくつかの状況、例えば、ユーザからの選択がない場合などでは、ルールセレクター406の例は、取引注文に対するアプリケーション用のデータベース404の割り当てルールの1つを選択してもよい。いくつかの実施形態では、特定の割り当てルールがデフォルトとしてセットされてもよい。いくつかの実施形態では、提供されるべき割り当てルールが、ルールセレクター406内でセットされたルールに基づいて選択されてもよい。例えば、対応する取引注文が午前9時と午前11時との間で発注された場合、ルールセレクター406は、データベース404の割り当てルールのうち第1割り当てルールを選択してもよい。別の例として、対応する取引注文が100よりも多い量である場合、ルールセレクター406は、データベース404の割り当てルールのうち第2割り当てルールを選択してもよい。いくつかの実施形態では、ルールセレクター406は、取引注文タイプに基づいて(例えば、すべての買い注文用ルールのうちの第3ルールと、すべての売り注文用ルールのうちの第4ルールを選択することによって)、データベース404の割り当てルールのうちの第2割り当てルールを選択する。いくつかの実施形態では、ルールセレクター406は、データベース404から1つの割り当てルールをランダムに選択する。取引注文用のマルチブローカーを受信又は選択した後、ルールセクレター406の例は、ルールをアロケータ410に送る。
【0074】
注文受信機408は、取引注文を受信し、取引注文の一部である部分注文を割り当てるとき、ネットポジションを検討すべきかどうかを決定する。即ち、注文受信機408は、アロケータ410が、ブローカー304−308でユーザの有するネットポジションを、取引注文に適用されるべき割り当てルールに組み込むかどうかを決定する。いくつかの実施形態では、ユーザインタフェース400によって提供されるオプションが選択されると、ブローカー304−308でユーザの有するネットポジションが検討される。
図8は、取引注文の部分注文又は量を配分するときにネットポジションを検討するための選択可能なオプションを含む設定画面800の例のスクリーンショットである。
図8に図示された例では、設定画面800は、取引注文の複数の態様に関連する複数の入力フィールド又は項目を含む。さらに、設定画面800の例は、取引デバイス302のユーザがオン/オフポジション間を切り替え可能なチェックボックス802を含む。チェックボックス802がオンポジションを選択されたとき、ユーザによって実行される取引注文は、取引注文が、ユーザの全体ネットポジション及び/又は配分を検討しているブローカーに対しユーザが有するネットポジションを含むと共に、複数のブローカー間で配分されるべきであることを示す表示(例えば、回収可能なフラグ又はメタデータ)を含む。いくつかの実施形態では、ネットポジション検討オプションのオン/オフポジション間の切り替えを行うオプションが提供されていない。代わりに、ネットポジションは、マルチブローカーオーダールータ312を介して注文された各取引注文のために検討されてもよい。いくつかの実施形態では、ネットポジションは、取引注文が注文されたとき、特定され、取引注文ベース毎に検討されてもよい。
【0075】
注文受信機408の例は、受信した取引注文と、アロケータ410に対する取引注文の配分についてネットポジションを検討すべきかどうかを示す指標と、を提供する。アロケータ410が、ネットポジションを検討すべきであることを示す表示を受信しないとき、アロケータ410の例は、割り当てルールを使用し、取引注文の一部を割り当てる。上記したように、割り当てルールは、ブローカー304−308間で割り当てられるべき量の比率を定義する。この例では、取引注文は、現在のシステムにおいて行われるように、部分注文(取引注文自体である)に分割され、ブローカー304−308でユーザが有するネットポジションを検討することなく、ブローカー304−308に配分される。
【0076】
一方、アロケータ410が、ブローカー304−308でユーザが有するネットポジションを検討すべきであることを示す指標を受信した場合、アロケータ410の例は、ネットポジションモジュール412と、ルールセレクター406から受信した割り当てルールと、を参照する。ネットポジションモジュール412の例は、取引注文の少なくとも一部を満たすことが可能なブローカーでのユーザの取引注文に関連する取引可能オブジェクトに関してネットポジションを決定する。ネットポジションモジュール412は、ネットポジション情報をアロケータ410に提供する。アロケータ410は、その後、ネットポジションをルールセレクター406から受信した割り当てルールに組み込む。方法の例は、以降に記載されており、その方法では、アロケータ410が、ネットポジション情報を、取引注文量の割り当てを決定する要因に組み込んでいる。さらに、アロケータ410は、対応するブローカーに関連する受信したネットポジション情報を記憶し、フューチャーネットポジション及び/又は割り当ての決定を検討することができる。
【0077】
アロケータ410がブローカー304−308のうち識別されたブローカーそれぞれに割り当てられるべき取引注文の一部である部分注文を決定したとき、アロケータ410は、ブローカーコミュニケータ414にその決定を提供する。ブローカーコミュニケータ414の例は、取引注文の各部分注文を、対応するブローカー304−308に送る。取引注文の部分注文をブローカー304−308の1つに送ることは、例えば、価格、取引可能オブジェクト識別子、買われるべき又は売られるべき量、口座識別子などを含むブローカーにメッセージを送信することに関連してもよい。
【0078】
また、ブローカーコミュニケータ414は、ユーザからの取引注文量の配分を確認するように要求してもよい。
図9は、ユーザに(例えば、メッセージ、メールを介して、又は直接的にユーザインタフェース400によって実装された取引デバイス302のディスプレイデバイス上で)提供される構成画面900の例のスクリーンショットである。確認は、取引可能オブジェクト識別子、買い/売り方向、注文価格、全体注文量、及び各ブローカーに割り当てられた部分注文量などの注文情報を提供してもよい。ユーザが取引注文量の配分を承認した場合、取引注文量は、その後、ブローカーに送られる。
【0079】
図10は、
図3のマルチブローカーオーダールータ312の例を実行することができる装置読み取り可能な命令を表すフローチャートである。
図10のフローチャートの例は、マルチブローカーオーダールータ312の開始から始まる(ブロック1000)。マルチブローカーオーダールータ312の開始は、ユーザインタフェース400を介して、
図3の取引デバイス302上のマルチブローカーオーダールータ312の実行に対応してもよい。次に、1つ以上のルーティングルールが作られ、データベース404内に記憶される(ブロック1002)。ルーティングルール又は割り当てルールは、ユーザによって(例えば、
図5のルール構成画面を介して)構成可能であり、及び/又は最初にデータベース404内に含まれる(例えば、予めプログラムされている)。セレクター406は、例えば、ユーザ入力、デフォルト、又は現在の取引注文に関連する条件に基づいて、データベース404のルールのうち1つを選択する(ブロック1004)。現在の取引注文は、例えば、
図6に示す第1の注文画面600の例又は
図7に示す第2の注文画面700の例を介して発注される(ブロック1006)。注文受信機408は、取引注文がアクティブ化されたネットポジション検討オプションと共に発注されたかどうかを決定する(ブロック1008)。例えば、注文受信機408は、
図8のチェックボックス802がオンポジションに切り替えられたかどうかを決定する。ユーザに関連付けられたネットポジション情報が検討されるべきではない場合、アロケータ410は、選択された割り当てルールに従って現在の取引注文の部分注文又は量を割り当てる(ブロック1010)。一方、ユーザに関連付けられたネットポジション情報が検討されるべきである場合、アロケータ410は、割り当てルールと、ユーザに関連付けられたネットポジション情報(例えば、ブローカーに対しユーザが有するネットポジション)と、に従って現在の取引注文の部分注文を割り当てる。ブローカーコミュニケータ1014は、割り当てられた取引注文の部分注文を適切なブローカーに送る(ブロック1014)。
図10の例は、その後、終了する(ブロック1016)。
【0080】
A.第1実施例のネットポジションに基づくマルチブローカー割り当て
図11は、ネットポジションに基づくマルチブローカー割り当ての例を示す。
図11は、
図3のアロケータ410の例を実施するために実行される装置読み取り可能な命令を表すフローチャートである。更に、
図11の例は、以降にシナリオ例に関連して記載する。図示した例では、
図11のフローチャートは、
図10のフローチャートの例のブロック1012を実施するために使用されてもよい。
図10に示されるように、取引注文の割り当ては、ユーザのネットポジションに基づくべきである(ブロック1102)。
【0081】
ブロック1104で、アロケータ410は、新しい取引注文用の全体注文量(TotalOrderQty)を決定する。全体注文量は、
図10のブロック1006で発注された新しい取引注文の全体量である。
【0082】
次に、
図11の例では、アロケータ410は、各ブローカーの割り当て比率を計算する(ブロック1106)。これは、以降のシナリオ例におけるステップ(1)−(5)に対応する。割り当て比率を計算するため、アロケータ410は、最初に潜在的な注文部分のリストを分析し、取引注文の方向(例えば、買い又は売り)に基づいてリストを絞り込む。したがって、注文が買い注文である場合、その後、すべての「売り」部分について、この特定の取引注文において検討することをやめる。注文が売り注文である場合、その後、すべての「買い」部分について、この特定の取引注文において検討することをやめる。示された例では、「両方」として指定された部分は、買いと売りの両方が可能なままである。次に、アロケータ410は、比率計算が行われる前に、残っている部分注文をランダムにソートする。ランダム性は、残った量が等しく公平に割り当てられる(例えば、各ブローカーが第1注文を提出し、より良いキューポジションを受信する平等な機会を受けられるようにする)。次に、アロケータ410は、リストに含まれたブローカー間のユーザ用の現在の全体ネットポジション(TotalNetPos)を計算する。次に、アロケータ410は、全体ネットポジションを全体注文量に加算することによって、全体予想ポジション(TotalExpectedPos)を計算する。全体予想ポジションは、全体注文量のすべてが満たされると仮定している。次に、アロケータ410は、含まれる部分注文の割合として、各ブローカーの割り当て比率を計算する(例えば、フィフティー・フィフティー・割り当てルールにおける各ブローカーの50%又はツー・ツー・ワン(2/2/1)・割り当てルールにおける第1ブローカーの40%、第2ブローカーの40%、第3ブローカーの20%)。
【0083】
図11の例では、アロケータ410は、全体予想ポジションのブローカーの各割り当て比率に基づいて、それぞれのブローカーでのユーザのターゲットネットポジション(TargetNetPos)を計算する(ブロック1108)。これは、以下のシナリオ例のステップ(6)に対応する。ターゲットネットポジションは、ユーザがブローカーで有しているネットポジションであり、ブローカーに割り当てられる新しい取引注文量が完全に満たされると仮定している。
【0084】
図11の例では、アロケータ410が取引注文の買い/売り方向を全体ネットポジションの方向と比較する(ブロック1110)。取引注文の買い/売り方向が全体ネットポジションの方向と同じである場合(例えば、買い注文が既存のロングポジションに追加される場合、又は売り注文が既存のショートポジションに追加される場合)、アロケータ410は、それぞれのブローカーのターゲットポジションから各ブローカーでの現在のネットポジションを減算することによって、各ブローカーの部分注文量(pQty)を計算する。これは、以下のシナリオ例のステップ(7)に対応する。制御は、その後、以下に記載するブロック1124に進む。
【0085】
一方、取引注文の買い/売り方向が全体ネットポジションの方向と同じではない場合(例えば、買い注文が既存のショートポジションを反転させる又は減少させる場合、又は売り注文が既存のロングポジションを反転させる又は減少させる場合)、制御は、ブロック1114に進む。ブロック1114では、追加の計算が行われ、ターゲットネットポジションを超えることを防止する。また、ブロック1114では、ユーザのために、いくつかのブローカーがネットロングの取引注文を発注することを避けると共に、他のブローカーがネットショートの取引注文を発注することを避けるために計算が行われる。
【0086】
特に、アロケータ410は、各ブローカーでのユーザのターゲットネットポジションを、それぞれのブローカーでユーザの有するネットポジション(NetPos)と比較する(ブロック1114)。これは、以下のシナリオ例のステップ(8)に対応する。アロケータ410は、そのブローカーでユーザの有するネットポジションがすでにターゲットネットポジションと等しいか、又は超えている場合、利用可能なブローカー(例えば、
図11の決定の終了時に余った注文を受信できるブローカー)のリストからいくつかのブローカーを除去する。買い注文は、ユーザのネットポジションがユーザのターゲットネットポジションよりもすでに大きいブローカーに適用するべきではなく、売り注文は、ユーザのネットポジションがユーザのターゲットネットポジションよりもすでに小さいブローカーに適用されるべきではない。
【0087】
アロケータ410は、その後、それぞれの比率を全体注文量に適用することによって、各ブローカー用の予備部分注文量(pPortionQty)を計算する。これは、以下のシナリオ例におけるステップ(9)に対応する。これは、予備計算と呼ばれる。なぜならば、この計算は、比率を考慮せずに全体注文量に適用しており、ブローカーでユーザの有するネットポジションが有している配分に関係しないからである。
【0088】
次に、アロケータ410は、各ブローカー用の予備部分注文量を、対応する現在のネットポジションに加算することによって、各ブローカー用の予備ネットポジション(pNetPos)を計算する(ブロック1118)。これは、以下のシナリオ例のステップ(10)に対応する。次に、アロケータ410は、それらの予備部分注文量(pPortionQty)を超えるブローカー用の注文量を調整する(ブロック1120)。これは、以下のシナリオ例のステップ(11)−(12)に対応する。注文量の調整は、例えば、各ブローカー用の予備ネットポジション(pNetPos)からターゲットネットポジションを減算し、予備ネットポジションが各ブローカー用のターゲットポジションを越えるかどうか決定することを含む。もし差がプラスであれば、その後、そのブローカーは、余った注文を受信し、対応する理想のターゲットポジションに近づけることができる。そのようなブローカーは、余った注文を受信することができる利用可能なブローカーのリストに含まれる。差がゼロであれば、その後、そのブローカーは、理想のターゲットポジションに達し、予備部分注文量を調整する必要がなくなる。そのようなブローカーにとって、予備部分注文量は、それらの部分量(PortionQty)である。差がマイナスであれば、ブローカーの予備部分注文量を調整する必要があり、差の量は、利用可能なブローカーのリストに配分されるべき余った注文のプールに入る。また、ブロック1120における注文量の調整は、対応する予備部分注文量からブロック1120における差を減算することによって、ブローカーの予備部分注文量(例えば、ブロック1120における差がマイナスのとき)を超えたそれらのブローカー用の注文量を調整することを含む。その調整結果は、部分注文量に対応する。
【0089】
次に、アロケータ410は、利用可能なブローカー比率の合計の各比率に基づいて、余った取引注文のプールを、余った取引注文を受信できる利用可能なブローカーのリストに割り当てる(ブロック1122)。これは、以下のシナリオ例のステップ(13)に対応する。そうするため、アロケータ410は、余った取引注文を受信することができる利用可能なリスト内のブローカー比率の合計で、それぞれの比率部分を割り算することによって、各ブローカー用のサブ比率(SubRatio)を計算する。その後、アロケータ410は、各ブローカー用のサブ比率を利用可能な取引注文のプールに適用し、それらの予備部分注文量にその量を加算する。その計算結果が、各ブローカーの部分注文量となる。
【0090】
以下に記載したシナリオ例は、
図11のフロー図の例に従っている。
【0091】
1.第1のシナリオ例−ロングポジションの追加
図3の取引デバイス302のトレーダであるジョーは、16個の買い取引注文のマルチブローカー取引注文を発注し、フィフティー・フィフティー・割り当てルールに基づいて、ブローカーAとブローカーBの2つのブローカーに、平等に取引注文を分割する。したがって、8個の取引注文がブローカーAに送信され、8個の取引注文がブローカーBに送信される。ブローカーAは、8個すべての注文を満たすが、ブローカーBは、2個の注文だけを満たす(例えば、ジョーの注文がブローカーBによって管理されたキューにおいて、より深い注文であるなどの場合)。注文がGTDであったと仮定すると、残っているオープン量の注文が1日の終わりにキャンセルされる。したがって、ジョーは、ブローカーAで8個、ブローカーBで2個の、計10個のロングポジションで1日を終える。
【0092】
次の日、ジョーは、自らのロングポジションを追加したいため、ポジションが満たされると、ジョーは、同じフィフティー・フィフティー・割り当てルールを使用して、20個の買い注文を発注し、全体ポジションを半々に分割して維持する。即ち、新しい取引注文用の全体注文量は、(20)となる。これを達成するため、
図4のアロケータ410は、新しい注文をどのように分割するかを決定するため、以下の命令を実行する。
【0093】
(1)アロケータ410は、ブローカーのリストを絞り込む。この例では、各ブローカーは、「両方」にセットされ、その両方のブローカーが含まれる。
【0094】
(2)アロケータ410は、ブローカーをランダムにソートする。この例では、ソートした後、ブローカーAを1番、ブローカーBを2番と仮定する。
【0095】
(3)アロケータ410は、以下の数式(数式1)を使用して、ブローカー間の現在の全体ネットポジションを計算する。
【0097】
(4)アロケータ410は、以下の数式(数式2)を使用し、すべての注文が満たされると仮定して、全体予想ポジションを計算する。
【0099】
(5)アロケータ410は、以下の数式(数式3と4)を使用して、割り当てルールに基づいて比率を計算する。
【0102】
図11を参照すると、上記の命令(1)−(5)は、
図11のブロック1106に対応する。
【0103】
(6)アロケータ410は、以下の数式(数式5)を使用して、各ブローカー用のターゲットネットポジションを計算する。これは、
図11のブロック1108に対応する。
【0105】
(7)アロケータ410は、新しい注文の方向を、各ブローカーでの現在のネットポジションの方向と比較する。これは、
図11のブロック1110に対応する。このシナリオ例では、新しい注文の買い/売り方向(プラス20)は、現在のネットポジションの方向(プラス10)と同じ方向である。したがって、アロケータ410は、
図11のブロック1114−1122の調整計算を行わない。代わりに、アロケータは、各ブローカーでの現在のネットポジションを、それぞれのターゲットポジションから減算することによって、各ブローカーの部分注文量を計算する。これは、
図11のブロック1112に対応する以下の数式(数式6)に反映されている。
【0107】
(14)アロケータ410は、以下の数式(数式7)を使用して、部分注文量の合計をチェックし、部分注文量の合計が全体注文量を超えないようにしている。これは、
図11のブロック1122に対応する。
【0109】
合計では、アロケータ410は、7個を買う第1取引注文をブローカーAに割り当て、13個を買う第2取引注文をブローカーBに割り当てている。両方の注文が完全に満たされると仮定すると、ジョーは、各ブローカーでそれぞれ15個ずつのロングポジションを得る。
【0110】
2.第2のシナリオ例−ロングポジションの減少
ジョーは、ブローカーAに8個、ブローカーBに2個の、計10個のロングポジションを有する。ジョーは、自分のロングポジションを減らしたいため、同様にフィフティー・フィフティー・ルーティング・ルールを使用して、8個を売る取引注文を発注する。単純に取引注文を半々に分割して、2つの注文を発注し、ブローカーAとブローカーBのそれぞれで4個を売ると、ジョーは、ブローカーAにネットロング4個と、ブローカーBにショート2個を有することとなる。このように(−8)である全体注文量を有する新しい売り注文を分けるとき、これは、避けるべきである。したがって、
図4のアロケータ410は、新しい注文をどのように分けるかを決定するため、以下の命令を実行する。
【0111】
(1)アロケータ410は、ブローカーのリストを絞り込む。この例では、各ブローカーは、「両方」にセットされているため、両方のブローカーが含まれる。
【0112】
(2)アロケータ410は、ブローカーをランダムにソートする。この例において、ソートした後、ブローカーAを1番、ブローカーBを2番と仮定する。
【0113】
(3)アロケータ410は、以下の数式(数式8)を使用して、ブローカー間の現在の全体ネットポジションを計算する。
【0115】
(4)アロケータ410は、以下の数式(数式9)を使用し、すべての注文が満たされると仮定して、全体予想ポジションを計算する。
【0117】
(5)アロケータ410は、以下の数式(数式10と11)を使用して、割り当てルールに基づいて比率を計算する。
【0120】
図11を参照すると、上記の命令(1)−(5)は、
図11のブロック1106に対応する。
【0121】
(6)アロケータ410は、以下の数式(数式12)を使用して、各ブローカー用のターゲットネットポジションを計算する。これは、
図11のブロック1108に対応する。
【0123】
(7)アロケータ410は、新しい注文の方向を各ブローカー用の現在のネットポジションの方向と比較する。これは、
図11のブロック1110に対応する。この例において、新しい注文の買い/売り方向(マイナス8)は、現在のネットポジションの方向(プラス10)と反対であるため、アロケータ410は、
図11のブロック1114−1122の調整計算を行う。
【0124】
(8)アロケータ410は、以下の数式(数式13)を使用して、各ブローカーのターゲットネットポジションと現在のネットポジションとを比較する。これは
図11のブロック1114に対応する。
【0126】
(9)アロケータ410は、以下の数式(数式14)を使用して、各ブローカーの予備部分注文量(pPortionQty)を計算する。これは、
図11のブロック1116に対応する。
【0128】
(10)アロケータ410は、以下の数式(数式15)を使用して、各ブローカーの予備ネットポジション(pNetPos)を計算する。これは、
図11のブロック1118に対応する。
【0130】
(11)アロケータ410は、以下の数式(数式16)を使用して、予備ネットポジションとターゲットポジションとの差を決定する。これは、
図11のブロック1120に対応する。
【0132】
ブローカーAは、そのターゲットポジションを越えない(ネット差がプラス3である)ため、ブローカーAは、余った取引注文を受信できる利用可能なブローカーのリストに入る。ブローカーBは、ターゲットポジションを3だけ越えているため、(−3)が余った取引注文のプールに入る。
【0133】
(12)アロケータ410は、以下の数式(数式17)を使用して、それらの予備部分注文量を超えたブローカー用の注文量を調整する。これは、
図11のブロック1120に対応する。この例では、このリストは、ブローカーBを含むのみである。
【0135】
(13)アロケータ410は、以下の数式(数式18)を使用して、余った取引注文のプールを、余った取引注文を受信できる利用可能なブローカーのリストに割り当てる。これは、
図11のブロック1122に対応する。この例では、リストは、1つの利用可能なブローカー(ブローカーA)のみを含み、ブローカーAは全量(−3)を受信する。
【0137】
(14)アロケータ410は、以下の数式(数式19)を使用して、部分注文量の合計をチェックし、それらが全体注文量を超えないようにしている。これは、
図11のブロック1124に対応する。
【0139】
合計では、アロケータ410は、ブローカーAで7個の第1売り注文を発注し、ブローカーBで1個の第2売り注文を発注する。両方の注文が完全に満たされると仮定すると、ジョーは、各ブローカーで1個のロングポジションを得る。
【0140】
3.第3のシナリオ例−ロングポジションのフラット化
ジョーは、ブローカーAで8個、ブローカーBで2個の、計10個のロングポジションを有している。ジョーは、自分のロングポジションをフラットにしたいため、フィフティー・フィフティー・ルーティング・ルールを使用し、10個を売る取引注文を発注して、すべての注文が満たされたとき、両方のブローカーでポジションがフラットになることを期待している。単純に取引注文を半々に分割して、ブローカーAとブローカーBでそれぞれ5個ずつ売る2つの注文を発注すると、ジョーは、ブローカーAにロング3個、ブローカーBにショート2個を有することとなる。(−10)であるToralOrderQtyを有する新しい売り注文を分けるとき、これは、避けるべきである。したがって、
図4のアロケータ410は、新しい注文をどのように分けるかを決定するため、以下の命令を実行する。
【0141】
(1)アロケータ410は、ブローカーのリストを絞り込む。この例では、各ブローカーは、「両方」にセットされているため、両方のブローカーが含まれる。
【0142】
(2)アロケータ410は、ブローカーをランダムにソートする。この例において、ソートした後、ブローカーAを1番、ブローカーBを2番と仮定する。
【0143】
(3)アロケータ410は、以下の数式(数式20)を使用して、ブローカー間の現在の全体ネットポジションを計算する。
【0145】
(4)アロケータ410は、以下の数式(数式21)を使用し、すべての注文が満たされると仮定して、全体予想ポジションを計算する。
【0147】
(5)アロケータ410は、以下の数式(数式22と23)を使用して、割り当てルールに基づいて比率を計算する。
【0150】
図11を参照すると、上記の命令(1)−(5)は、
図11のブロック1106に対応する。
【0151】
(6)アロケータ410は、以下の数式(数式24)を使用して、各ブローカー用のターゲットネットポジションを計算する。これは、
図11のブロック1108に対応する。
【0153】
(7)アロケータ410は、新しい注文の方向を、各ブローカー用の現在のネットポジションの方向と比較する。これは、
図11のブロック1110と対応する。この例において、新しい注文の買い/売り方向(マイナス10)は、現在のネットポジションの方向(プラス10)と反対であるため、アロケータ410は、
図11のブロック1114−1122の調整計算を行う。
【0154】
(8)アロケータ410は、以下の数式(数式25)を使用して、各ブローカーのターゲットネットポジションと現在のネットポジションとを比較する。これは、
図11のブロック1114に対応する。
【0156】
(9)アロケータ410は、以下の数式(数式26)を使用して、各ブローカー用の予備部分注文量(pPortionQty)を計算する。これは、
図11のブロック1116に対応する。
【0158】
(10)アロケータ410は、以下の数式(数式27)を使用して、各ブローカー用の予備ネットポジション(pNetPos)を計算する。これは、
図11のブロック1118に対応する。
【0160】
(11)アロケータ410は、以下の数式(数式28)を使用して、予備ネットポジションとターゲットポジションとの差を決定する。これは、
図11のブロック1120に対応する。
【0162】
ブローカーAは、ブローカーA用のターゲットポジションを越えない(ネット差がプラス3である)ため、ブローカーAは、余った取引注文を受信できる利用可能なブローカーのリストに入る。ブローカーBは、ブローカーB用のターゲットポジションを3だけ越えているため、(−3)が余った取引注文のプールに入る。
【0163】
(12)アロケータ410は、以下の数式(数式29)を使用して、それらの予備部分注文量を超えるブローカー用の注文量を調整する。これは、
図11のブロック1120に対応する。この例では、このリストは、ブローカーBを含むのみである。
【0165】
(13)アロケータ410は、以下の数式(数式30)を使用して、余った取引注文のプールを、余った取引注文を受信できる利用可能なブローカーのリストに割り当てる。それは、
図11のブロック1122に対応する。この例では、リストは、1つのみの利用可能なブローカー(ブローカーA)を含むため、ブローカーAは、全量(−3)を受信する。
【0167】
(14)アロケータ410は、以下の数式(数式31)を使用して、部分注文量の合計をチェックし、それらが全体注文量を超えないようにしている。これは、
図11のブロック1124に対応する。
【0169】
合計では、アロケータ410は、ブローカーAでの8個の第1売り注文と、ブローカーBでの2個の第2売り注文を発注する。両方の注文が完全に満たされると仮定すると、ジョーは、各ブローカーでフラット化されたポジションを得る。
【0170】
4.第4のシナリオ例−ロングポジションをネットショートへ反転
ジョーは、ブローカーAで8個、ブローカーBで2個の、計10個のロングポジションを有している。ジョーは、自身のポジションをロングからショートへ反転させたいため、フィフティー・フィフティー・ルーティング・ルールを使用し、取引注文を発注して、20個を売る。そして、ジョーは、すべての注文が満たされたとき、10個のショート(両方のブローカーそれぞれに5個のショート)となるように期待している。単純に取引注文を半々に分割し、ブローカーAとブローカーBのそれぞれで10個売る取引注文を発注すると、ジョーは、ブローカーAで2個のショート、ブローカーBで8個のショートを有することとなる。全体注文量が(−20)と等しい新しい売り注文を分けるとき、これは、避けるべきである。したがって、
図4のアロケータ410は、新しい注文をどのように分けるかを決定するため、以下の命令を実行する。
【0171】
(1)アロケータ410は、ブローカーのリストを絞り込む。この例では、各ブローカーは、「両方」にセットされているため、両方のブローカーが含まれる。
【0172】
(2)アロケータ410は、ブローカーをランダムにソートする。この例において、ソートした後、ブローカーAを1番、ブローカーBを2番と仮定する。
【0173】
(3)アロケータ410は、以下の数式(数式32)を使用して、ブローカー間の現在の全体ネットポジションを計算する。
【0175】
(4)アロケータ410は、以下の数式(数式33)を使用し、すべての注文が満たされると仮定して、全体予想ポジションを計算する。
【0177】
(5)アロケータ410は、以下の数式(数式34と35)を使用して、割り当てルールに基づいて比率を計算する。
【0180】
図11を参照すると、上記の命令(1)−(5)は、
図11のブロック1106に対応する。
【0181】
(6)アロケータ410は、以下の数式(数式36)を使用して、各ブローカー用のターゲットネットポジションを計算する。これは、
図11のブロック1108に対応する。
【0183】
(7)アロケータ410は、新しい注文の方向を、各ブローカー用の現在のネットポジションの方向と比較する。それは、
図11のブロック1110と対応する。この例において、新しい注文の買い/売り方向(マイナス20)は、現在のネットポジションの方向(プラス10)と反対であるため、アロケータ410は、
図11のブロック1114−1122の調整計算を行う。
【0184】
(8)アロケータ410は、以下の数式(数式37)を使用して、各ブローカーのターゲットネットポジションと現在のネットポジションとを比較する。これは、
図11のブロック1114に対応する。
【0186】
(9)アロケータ410は、以下の数式(数式38)を使用して、各ブローカー用の予備部分注文量(pPortionQty)を計算する。これは、
図11のブロック1116に対応する。
【0188】
(10)アロケータ410は、以下の数式(数式39)を使用して、各ブローカー用の予備ネットポジション(pNetPos)を計算する。これは、
図11のブロック1118に対応する。
【0190】
(11)アロケータ410は、以下の数式(数式40)を使用して、予備ネットポジションとターゲットポジションとの差を決定する。これは、
図11のブロック1120に対応する。
【0192】
ブローカーAは、ブローカーAのターゲットポジションを越えない(ネット差がプラス3である)ため、ブローカーAは、余った取引注文を受信できる利用可能なブローカーのリストに入る。ブローカーBは、ブローカーBのターゲットポジションを3だけ越えているため、(−3)が余った取引注文のプールに入る。
【0193】
(12)アロケータ410は、以下の数式(数式41)を使用して、それらの予備部分注文量を超えるブローカー用の注文量を調整する。これは、
図11のブロック1120に対応する。この例では、このリストは、ブローカーBを含むのみである。
【0195】
(13)アロケータ410は、以下の数式(数式42)を使用して、余った取引注文のプールを、余った取引注文を受信できる利用可能なブローカーのリストに割り当てる。これは、
図11のブロック1122に対応する。この例では、リストは、1つのみの利用可能なブローカー(ブローカーA)を含むため、ブローカーAは、全量(−3)を受信する。
【0197】
(14)アロケータ410は、以下の数式(数式43)を使用して、部分注文量の合計をチェックし、それらが全体注文量を超えないようにしている。これは、
図11のブロック1124に対応する。
【0199】
合計では、アロケータ410は、ブローカーAで13個の第1売り注文と、ブローカーBでの7個の第2売り注文を発注する。両方の注文が完全に満たされると仮定すると、ジョーは、各ブローカーでショートポジションを得る。
【0200】
5.第5のシナリオ例−3つのブローカーでロングポジションの追加
ジョーは、上記の第1のシナリオ例と同じように、ロング10個を有するシナリオで開始する。即ち、ジョーは、ブローカーAで8個、ブローカーBで2個の、計10個のロングを有している。次の日、ジョーは、自身のロングポジションを追加し、20個より多くの買い注文を発注して、異なるルーティングルールを使用する。新しいルーティングルールは、ツー・ツー・ワン(2/2/1)分割であって、ブローカーAに40%、ブローカーBに40%、及びブローカーCに20%の割合で注文を分割する。3つのブローカー間で所望の分割をするために、
図4のアロケータ410は、20の全体注文量を有する新しい注文をどのように分けるかを決定するため、以下の命令を実行する。
【0201】
(1)アロケータ410は、ブローカーのリストを絞り込む。この例では、各ブローカーは、「両方」にセットされているため、両方のブローカーが含まれる。
【0202】
(2)アロケータ410は、ブローカーをランダムにソートする。この例において、ソートした後、ブローカーAを1番、ブローカーBを2番、ブローカーCを3番と仮定する。
【0203】
(3)アロケータ410は、以下の数式(数式44)を使用して、ブローカー間の現在の全体ネットポジションを計算する。
【0205】
(4)アロケータ410は、以下の数式(数式45)を使用し、すべての注文が満たされると仮定して、全体予想ポジションを計算する。
【0207】
(5)アロケータ410は、以下の数式(数式46と47)を使用して、割り当てルールに基づいて比率を計算する。
【0210】
図11を参照すると、上記の命令(1)−(5)は、
図11のブロック1106に対応する。
【0211】
(6)アロケータ410は、以下の数式(数式48)を使用して、各ブローカー用のターゲットネットポジションを計算する。これは、
図11のブロック1108に対応する。
【0213】
(7)アロケータ410は、新しい注文の方向を、各ブローカー用の現在のネットポジションの方向と比較する。それは、
図11のブロック1110と対応する。この例において、新しい注文の買い/売り方向(プラス20)は、現在のネットポジションの方向(プラス10)と同じであるため、アロケータ410は、
図11のブロック1114−1122の調整計算を行わない。代わりに、アロケータ410は、以下の数式(数式49)に基づいて、各ブローカーのターゲットポジションから各ブローカーでの現在のネットポジションを減算することによって、新しい注文量を計算し、各ブローカーに提出する。これは、
図11のブロック1112に対応する。
【0215】
(14)アロケータ410は、以下の数式(数式50)を使用して、部分注文量の合計をチェックし、それらが全体注文量を超えないようにしている。これは、
図11のブロック1124に対応する。
【0217】
合計では、アロケータ410は、ブローカーAで4個の買い注文と、ブローカーBで10個の買い注文を発注する。両方の注文が完全に満たされると仮定すると、ジョーは、各ブローカーで彼が所望するツー・ツー・ワン(two−two−one)分割されたロングポジションを得る。
【0218】
6.第6のシナリオ例−3つのブローカーでロングポジションを減少
ジョーは、通常、ツー・ツー・ワン(2/2/1)分割を使用して、3つのブローカーで取引し、デーロング10個を入れる。しかしながら、3つのブローカー間のジョーの現在の分割は、彼が所望する配分とマッチしておらず、ジョーは、ブローカーAにロング13個、ブローカーBにロング12個、及びブローカーCにロング5個を有している。
【0219】
ジョーは、自身のポジションを減らしたいため、取引注文を発注し、10個を売る。ジョーは、同じようにツー・ツー・ワン(two−two−one)ルーティングルールを使用し、3つのブローカー間でツー・ツー・ワン・ネットポジションを実現することを期待している。したがって、
図4のアロケータ410は、以下の命令を実行し、(−10)である全体注文量を有する新しい注文をどのように分けるかを決定する。
【0220】
(1)アロケータ410は、ブローカーのリストを絞り込む。この例では、各ブローカーは、「両方」にセットされているため、両方のブローカーが含まれる。
【0221】
(2)アロケータ410は、ブローカーをランダムにソートする。この例において、ソートした後、ブローカーAを1番、ブローカーBを2番、ブローカーCを3番と仮定する。
【0222】
(3)アロケータ410は、以下の数式(数式51)を使用して、ブローカー間の現在の全体ネットポジションを計算する。
【0224】
(4)アロケータ410は、以下の数式(数式52)を使用し、すべての注文が満たされると仮定して、全体予想ポジションを計算する。
【0226】
(5)アロケータ410は、以下の数式(数式53と54)を使用して、割り当てルールに基づいて比率を計算する。
【0229】
図11を参照すると、上記の命令(1)−(5)は、
図11のブロック1106に対応する。
【0230】
(6)アロケータ410は、以下の数式(数式55)を使用して、各ブローカー用のターゲットネットポジションを計算する。これは、
図11のブロック1108に対応する。
【0232】
(7)アロケータ410は、新しい注文の方向を、各ブローカー用の現在のネットポジションの方向と比較する。それは、
図11のブロック1110と対応する。この例において、新しい注文の買い/売り方向(マイナス10)は、現在のネットポジションの方向(プラス30)と反対であるため、アロケータ410は、
図11のブロック1114−1122の調整計算を行う。
【0233】
(8)アロケータ410は、以下の数式(数式56)を使用して、各ブローカーのターゲットネットポジションと現在のネットポジションとを比較する。これは、
図11のブロック1114に対応する。
【0235】
(9)アロケータ410は、以下の数式(数式57)を使用して、各ブローカー用の予備部分注文量(pPortionQty)を計算する。これは、
図11のブロック1116に対応する。
【0237】
(10)アロケータ410は、以下の数式(数式58)を使用して、各ブローカー用の予備ネットポジション(pNetPos)を計算する。これは、
図11のブロック1118に対応する。
【0239】
(11)アロケータ410は、以下の数式(数式59)を使用して、予備ネットポジションとターゲットポジションとの差を決定する。これは、
図11のブロック1120に対応する。
【0241】
ブローカーAは、ブローカーAのターゲットポジションを越えない(ネット差がプラス1である)ため、ブローカーAは、余った取引注文を受信できる利用可能なブローカーのリストに入る。ブローカーBは、そのターゲットポジションと等しいため、ブローカーBは取引され、その部分注文量は、(−4)となる。ブローカーCは、そのターゲットポジションを1だけ越えるため、(−1)が余った取引注文のプールに入る。
【0242】
(12)アロケータ410は、以下の数式(数式60)を使用して、それらの予備部分注文量を超えるブローカー用の注文量を調整する。これは、
図11のブロック1120に対応する。この例では、このリストは、ブローカーCを含むのみである。
【0244】
(13)アロケータ410は、以下の数式(数式61)を使用して、余った取引注文のプールを、余った取引注文を受信できる利用可能なブローカーのリストに割り当てる。これは、
図11のブロック1122に対応する。この例では、リストは、1つのみの利用可能なブローカー(ブローカーA)を含むため、ブローカーAは、全量(−1)を受信する。
【0246】
(14)アロケータ410は、以下の数式(数式62)を使用して、部分注文量の合計をチェックし、それらが全体注文量を超えないようにしている。これは、
図11のブロック1124に対応する。
【0248】
合計では、アロケータ410は、ブローカーAで5個の売り注文、ブローカーBで4個の売り注文、及びブローカーCで1個の売り注文を発注する。すべての注文が完全に満たされると仮定すると、ジョーは、自身のポジションを減らし、各ブローカーで所望のツー・ツー・ワン(two−two−one)分割を実現することができる。
【0249】
7.第7のシナリオ例−3つのブローカーでロングポジションを減らし、2つのブローカーに余った量を割り当て
【0250】
この例は、上記の第6のシナリオ例と同様であるが、余った量を調整し、異なる量を割り当てる計算を示している。ジョーは、通常、ツー・ツー・ワン(2/2/1)分割を使用して、3つのブローカーで取引し、デーロング30個を入れる。しかしながら、3つのブローカー間のジョーの現在の分割は、彼が所望する配分とマッチしておらず、ジョーは、ブローカーAにロング9個、ブローカーBにロング14個、及びブローカーCにロング7個を有している。
【0251】
ジョーは、自身のポジションを減らしたいため、取引注文を発注し、20個を売る。ジョーは、同じツー・ツー・ワン(two−two−one)ルーティングルールを使用し、3つのブローカー間で同じツー・ツー・ワン・ネットポジションを実現することを期待している。したがって、
図4のアロケータ410は、以下の命令を実行し、(−20)と等しい全体注文量を有する新しい注文をどのように分けるかを決定する。
【0252】
(1)アロケータ410は、ブローカーのリストを絞り込む。この例では、各ブローカーは、「両方」にセットされているため、すべてのブローカーが含まれる。
【0253】
(2)アロケータ410は、ブローカーをランダムにソートする。この例において、ソートした後、ブローカーAを1番、ブローカーBを2番、ブローカーCを3番と仮定する。
【0254】
(3)アロケータ410は、以下の数式(数式63)を使用して、ブローカー間の現在の全体ネットポジションを計算する。
【0256】
(4)アロケータ410は、以下の数式(数式64)を使用し、すべての注文が満たされると仮定して、全体予想ポジションを計算する。
【0258】
(5)アロケータ410は、以下の数式(数式65と66)を使用して、割り当てルールに基づいて比率を計算する。
【0261】
図11を参照すると、上記の命令(1)−(5)は、
図11のブロック1106に対応する。
【0262】
(6)アロケータ410は、以下の数式(数式67)を使用して、各ブローカー用のターゲットネットポジションを計算する。これは、
図11のブロック1108に対応する。
【0264】
(7)アロケータ410は、新しい注文の方向を、各ブローカー用の現在のネットポジションの方向と比較する。これは、
図11のブロック1110と対応する。この例において、新しい注文の買い/売り方向(マイナス20)は、現在のネットポジションの方向(プラス30)と反対であるため、アロケータ410は、
図11のブロック1114−1122の調整計算を行う。
【0265】
(8)アロケータ410は、以下の数式(数式68)を使用して、各ブローカーのターゲットネットポジションと現在のネットポジションとを比較する。それは、
図11のブロック1114に対応する。
【0267】
(9)アロケータ410は、以下の数式(数式69)を使用して、各ブローカー用の予備部分注文量(pPortionQty)を計算する。これは、
図11のブロック1116に対応する。
【0269】
(10)アロケータ410は、以下の数式(数式70)を使用して、各ブローカー用の予備ネットポジション(pNetPos)を計算する。これは、
図11のブロック1118に対応する。
【0271】
(11)アロケータ410は、以下の数式(数式71)を使用して、予備ネットポジションとターゲットポジションとの差を決定する。これは、
図11のブロック1120に対応する。
【0273】
ブローカーAは、そのターゲットポジションを3だけ越えるため、(−3)が余った取引注文のプールに入る。ブローカーBは、そのターゲットポジションを越えないため、ブローカーBが余った取引注文を受信できる利用可能なブローカーのリストに入る。ブローカーCは、そのターゲットポジションを越えないため、ブローカーCが余った取引注文を受信できる利用可能なブローカーのリストに入る。
【0274】
(12)アロケータ410は、以下の数式(数式72)を使用して、それらの予備部分注文量を超えるブローカー用の注文量を調整する。これは、
図11のブロック1120に対応する。この例では、このリストは、ブローカーAを含むのみである。
【0276】
(13)アロケータ410は、以下の数式(数式73と74)を使用して、余った取引注文のプールを、余った取引注文を受信できる利用可能なブローカーのリストに割り当てる。これは、
図11のブロック1122に対応する。この例では、リストは、2つの利用可能なブローカー(ブローカーBとブローカーC)を含むため、アロケータ410は、サブ比率を計算する。
【0279】
アロケータ410は、以下の数式(数式75)を使用して、サブ比率を適用し、余った注文を配分する。
【0281】
アロケータ410は、以下の数式(数式76)を使用して、各ブローカー用の調整された量を計算する。
【0283】
(14)アロケータ410は、以下の数式(数式77)を使用して、部分量の合計をチェックし、それらが全体注文量を超えないようにしている。これは、
図11のブロック1124に対応する。
【0285】
合計では、アロケータ410は、ブローカーAで5個の売り注文、ブローカーBで10個の第2売り注文、及びブローカーCで5個の売り注文を発注する。すべての注文が完全に満たされると仮定すると、ジョーは、自身のポジションを減らし、各ブローカーで所望のツー・ツー・ワン(two−two−one)分割を実現する。
【0286】
B.第2実施例のネットポジションに基づくマルチブローカー割り当て
図12と
図13は、ユーザに関連付けられたネットポジション情報に基づくマルチブローカー割り当ての別例を示す。
図12は、
図3のアロケータ410の例を実施するために実行される装置(例えば、コンピュータや演算処理装置など)読み取り可能な命令を表すフローチャートである。図示した例では、
図12のフローチャートは、
図10のフローチャートの例のブロック1012を実行するために使用することができる。
図10に示すように、取引注文の割り当ては、ユーザのネットポジションに基づく(ブロック1200)。
【0287】
マルチブローカーオーダールータ312のアロケータ410の例は、ブローカーのリストにフィルターをかけ、注文の買い/売り方向に基づいて取引注文用の利用可能なブローカーを識別する(ブロック1202)。注文が買い注文である場合、その後、すべての「売り」部分が、この特定の取引注文において更に検討することをやめる。注文が売り注文である場合、その後、すべての「買い」部分が、この特定の取引注文おいて更に検討することをやめる。「両方」として指定された部分は、買いと売りの両方が可能なままである。利用可能なブローカーが識別されなかった場合、エラーメッセージを生成してもよい。
【0288】
次に、アロケータ410は、現在の取引注文の全体量を決定する(ブロック1204)。全体量は、新しい注文量と、利用可能なブローカーでのネットポジションとの合計である。
【0289】
アロケータ410は、利用可能な各ブローカーの割り当て比率を計算する(ブロック1206)。アロケータ410は、選択された割り当てルールの設定の比率に基づく。例えば、選択された割り当てルールが、フィフティー・フィフティー・割り当てルール(例えば、第1ブローカーと第2ブローカーのそれぞれを1対1の比率とするルール)であるとき、アロケータ410は、第1と第2ブローカーのそれぞれに50%の割合で計算する。代わりに、選択された割り当てルールがワン・ツー・ワン(one−two−one)ルーティングルール(例えば、第1ブローカー、第2ブローカー、及び第3ブローカーのそれぞれを1対2対1の比率とするルール)である場合、アロケータ410は、第1ブローカーに25%、第2ブローカーに50%、及び第3ブローカーに25%の割合で計算する。
【0290】
図12の例では、アロケータ410は、その後、ブローカーキューがあるかどうかを決定する(ブロック1208)。ブローカーキューは、ブロック1202で識別された利用可能なブローカーのキューである。始めは、ブローカーキューは、利用可能なブローカーのすべてを含む。しかしながら、例えば、利用可能なブローカーの1つ以上が、以下に記載する反対側の注文を使用する必要があるとき、ブローカーキューは、数を減らしてもよい(例えば、ブローカーは、キューから削除されてもよい)。ブローカーキューがない場合、制御は、
図10に戻る(ブロック1210)。ブロック1208で、ブローカーキューがある場合、アロケータ410は、全体量をブローカーキュー内のブローカーに割り当てる(ブロック1212)。ブロック1212の動作の例を、
図13と関連して以降に記載する。
【0291】
次に、アロケータ410は、ブローカーのいくつかが新しい取引注文側と反対側の取引注文を使用し、割り当てられた量を達成する必要があるかどうかを決定する(ブロック1214)。例えば、ユーザが新しい取引注文を発注し、取引可能オブジェクトを買うと仮定する。第1ブローカーでユーザの有するネットポジションが5であって、ブロック1212から第1ブローカーに割り当てられた量が4である場合、第1ブローカーは、取引可能オブジェクトを売る取引注文を発注し、割り当てられた量を達成する。したがって、第1ブローカーは、新しい取引注文側(買い)と反対側(売り)の取引注文を使用する必要がある。同様に、新しい取引注文が取引可能オブジェクトを売ることであって、第1ブローカーに割り当てられた量が7であった場合、第1ブローカーは、取引可能オブジェクトを買う取引注文を発注し、割り当てられた量を達成する。ここで取引注文は、新しい取引注文側(売り)と反対側(買い)の注文である。ブローカーが新しい取引注文と反対側の取引注文を使用する必要があるとき、そのブローカーは、ブローカーキューから取り除かれ、制御がブロック1206に戻り、各ブローカー用の割り当て比率が再計算されるようになっている(ブロック1216)。それ以外の場合、制御は、
図10に戻る(ブロック1218)。
【0292】
図13は、
図3のアロケータ410の例を実施するために実行される装置読み取り可能な命令を表すフローチャートである。図示した例では、
図13のフローチャートは、
図12のフローチャートの例のブロック1212を実施するために使用されてもよい。
図12に示されるように、アロケータ410は、全体量を利用可能なブローカーに配分する(ブロック1300)。
図13の例では、アロケータ410は、
図12のブロック1204で計算された割り当て比率に基づいて、各ブローカーに各ブローカーの取引注文量を割り当てる(ブロック1302)。上記の例を続けるため、フィフティー・フィフティー・ルールの割り当てルールを使用し、割り当て比率をそれぞれ50%とした場合、全体量は半分ずつ分けられる。即ち、フィフティー・フィフティー・ルールは、注文が発注される毎に、2つのブローカー間で、フィフティー・フィフティーの配分で維持されることを意味している。言い換えれば、実際の全体の未処理注文量が、少なくとも最初に、2つのブローカー間で、半々の割合で分割されることを維持する。そのような分割は、小数点の量をブローカーに割り当てる場合がある。例えば、取引注文量が23であるとき、第1ブローカーに11.5の量を割り当て、第2ブローカーに11.5の量を割り当てる場合がある。この場合、最も近い整数の量である11が各ブローカーに割り当てられる。
【0293】
図13の例では、アロケータ410は、次に、それぞれのブローカーに割り当てられた量の合計が全体量と等しいかどうかを決定する(ブロック1304)。実際には、アロケータ410は、最初にそれぞれのブローカーに割り当てられた量の合計が、全体の整数量と等しいかどうかを決定している。それぞれのブローカーに割り当てられた量の合計が全体量と等しい場合、制御は、以降に記載するブロック1310に進む。一方、等しくならずに余りがある場合、アロケータ410は、ブロック1306に進む。
【0294】
ブロック1306で、アロケータ410は、利用可能なブローカーをランク付けする。いくつかの実施形態では、アロケータ410は、ユーザの好みに従ってランク付けする。そのような例では、ユーザは、ブローカー(例えば、第1ブローカー)を選択し、余った量を受信する。いくつかの実施形態では、アロケータ410は、ブローカーをランダムにランク付けする。いくつかの実施形態では、アロケータ410は、所定の注文に基づいてブローカーをランク付けする。いくつかの実施形態では、アロケータ410は、未処理の注文量に基づいて、互いに関連するブローカーをランク付けする。いくつかの実施形態では、アロケータ410は、割り当てられた量の小数点以下の余りに基づいて、ブローカーをランク付けする。上記の例については、両方のブローカーの少数点以下が0.5であるため、一方のブローカーが他方のブローカーより先にランク付けされるべく、ランダムに選択される。しかしながら、他の状況では、第1ブローカーに10.66の量を割り当て、第2ブローカーに7.33の量を割り当ててもよい。そのような例では、小数点以下の値がより大きい量を有するブローカー(この例では、0.66は0.33より大きいので、第1ブローカー)が最初にランク付けされる。
【0295】
次に、アロケータ410は、ランクに基づいて、ブローカーに余り量を割り当てる(ブロック1308)。上記の例では、割り当てられた量の少数点以下の値によると、第1ブローカーが第2ブローカーよりランクが高いため、余り量1が、第1ブローカーに割り当てられる。
【0296】
図13の例では、アロケータ410は、その後、それぞれのブローカーに割り当てられた量から各ブローカーに対しユーザが有するネットポジションを減算し、それぞれのブローカーに割り当てられるべき取引注文の一部である部分注文に達する(ブロック1310)。制御は、その後、
図12のフローチャートに戻る(ブロック1312)。
【0297】
図示した図のいくつかは、いくつかの実施形態のすべて又は一部を実施するために使用される方法を表すブロック図、システム、及び/又はフロー図の例を描写している。ブロック図、システム、及び/又はフロー図の例におけるコンポーネント、要素、ブロック、及び又は機能の1つ以上は、単独で、又はハードウェア、ファームウェア、離散論理の組み合わせで実施されてもよく、例えば、有形のコンピュータ読み取り可能な記録媒体に記憶されたコンピュータ読み取り可能な命令のセット、及び/又はそれらのいくつかの組み合わせとして、実施されてもよい。
【0298】
ブロック図、システム、及び/又はフロー図の例は、例えば、特定用途向け集積回路(ASIC)、プログラム可能論理回路(PLD)、フィールド・プログラマブル・ロジック・デバイス(FPLD)、離散論理、ハードウェア、及び/又はファームウェアのいくつかの組み合わせを使用して実施されてもよい。また、方法の例のいくつか又はすべては、例えば、手動で又は前述の技術の組み合わせで実施されてもよい。
【0299】
ブロック図、システム、及び/又はフロー図の例は、例えば、1つ以上のプロセッサ、コントローラ、及び/又は他の処理デバイスを使用して実行することができる。例えば、それらの例は、例えば、有形のコンピュータ読み取り可能な記録媒体に記憶されたコンピュータ読み取り可能な命令などのコード化された命令を使用して実行されてもよい。有形のコンピュータ読み取り可能な記録媒体は、様々なタイプの揮発性及び不揮発性記録メディアを含んでもよく、例えば、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、プログラマブル・リード・オンリー・メモリ(PROM)、電気的プログラマブル・リード・オンリー・メモリ(EPROM)、電気的に消去可能なリード・オンリー・メモリ(EEPROM)、フラッシュメモリ、ハードディスクドライブ、光学メディア、磁気テープ、ファイルサーバ、いくつかの他の有形データ記憶デバイス、又はそれらのいくつかの組み合わせを含んでもよい。有形のコンピュータ読み取り可能な記録媒体は、非一時的である。
【0300】
さらに、ブロック図、システム、及び/又はフロー図の例は、図に関連して上記されているが、他の実施形態を採用してもよい。例えば、コンポーネント、要素、ブロック、及び/又は機能の実行の順番は、変更されてもよく、上記したコンポーネント、要素、ブロック、及び/又は機能は、変更、削除、細分化、又は組み合わせてもよい。また、コンポーネント、要素、ブロック、及び/又は機能のいくつか又はすべては、例えば、別の処理スレッド、プロセッサ、デバイス、個別論理、及び/又は回路によって、連続して及び/又は並行して行われてもよい。
【0301】
実施の形態が開示されているが、様々な変更を行ってもよく、同等のものに置換されてもよい。さらに、特定の状況又は材料に適合させるように、多くの修正が行われてもよい。したがって、開示された技術は、開示されたいくつかの実施形態に限定されないが、添付の特許請求の範囲内にすべての実施形態を包含することを意図している。