(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-04-21
(54)【発明の名称】プラットフォームシステム、方法、およびアーキテクチャを取引するコンピュータ化されたセキュリティ
(51)【国際特許分類】
G06Q 40/04 20120101AFI20220414BHJP
【FI】
G06Q40/04
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021544832
(86)(22)【出願日】2020-01-31
(85)【翻訳文提出日】2021-09-28
(86)【国際出願番号】 US2020016079
(87)【国際公開番号】W WO2020160395
(87)【国際公開日】2020-08-06
(32)【優先日】2019-01-31
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521339027
【氏名又は名称】ピュアストリーム トレーディング テクノロジーズ インコーポレイテッド
(74)【代理人】
【識別番号】240000327
【氏名又は名称】弁護士法人クレオ国際法律特許事務所
(72)【発明者】
【氏名】ディアス アーマンド
【テーマコード(参考)】
5L055
【Fターム(参考)】
5L055BB53
(57)【要約】
取引オーダを処理するためのシステムおよび方法は、ストラテジマッチングベニューを有し、ストラテジマッチングベニューは、基準レートまたは基準レートの範囲を特定する各ストラテジを有するストラテジオーダを処理するように構成されている。ストラテジオーダを、互換性を有するが異なるストラテジを有する場合もあるコントラストラテジオーダにマッチングさせる。単一のマッチングは、マッチングしたオーダのストラテジと互換性のある最大レートでの実施のストリームを生成する。追加のシステムは、従来のアルゴリズムオーダからストラテジオーダを生成し、ストラテジマッチングベニューによってストラテジオーダを満たす選択に対するアルゴリズムオーダを調整するように動作する。
【特許請求の範囲】
【請求項1】
電子取引ネットワークからのオーダを解析処理するためのシステムであって、
前記システムは、
記憶されたコンピュータソフトウェアコードを有するメモリと、
前記コンピュータソフトウェアコードを実施するために前記メモリに接続されたプロセッサと、を備え、
前記メモリは記憶されたストラテジオーダブックを有し、前記ストラテジオーダブックは、取引可能項目のための複数のストラテジオーダの記録を備え、各ストラテジオーダは、各サイド、指値、数量、ストラテジ、およびソースを有し、各ストラテジは、所定のセットのストラテジのメンバであり、前記所定のセットのストラテジの各ストラテジは、各基準レートまたは基準レートの範囲を有し、
前記システムは、第1市場データおよび第2市場データを有する市場データを受信するように構成され、
前記プロセッサを構成する前記コンピュータ指示は、
(a)指定ストラテジオーダが前記第1市場データに対して取引可能であるかを決定する第1コードと、
(b)前記ストラテジオーダブックから取引可能なストラテジオーダを選択する第2コードと、
(c)選択されたストラテジオーダを特定のコントラストラテジオーダにマッチングさせる第3コードであって、前記特定のコントラストラテジオーダが取引可能であり、前記選択されたストラテジオーダ、前記マッチングされた選択されたストラテジオーダ、および、未ブレークの初期状態と各マッチングを形成する特定のコントラストラテジオーダの前記ストラテジと互換性のある各ストラテジを有し、前記各マッチングについての情報が前記メモリに記憶される前記第3コードと、
(d)前記メモリに記憶されたマッチングのマッチング状態を評価する第4コードであって、各ストラテジオーダと各コントラストラテジオーダとの間の各マッチングがいずれかのマッチングオーダが取引可能でない場合にブレークされる前記第4コードと、
(e)メモリにおける各マッチングを処理する第5コードであって、前記各マッチングが(i)前記各マッチングにおいて前記各ストラテジオーダと各コントラストラテジオーダとの間の前記取引可能項目のフィルを断続的に発行し、(ii)少なくとも1つの実施メッセージを前記各ストラテジオーダの前記各ソースおよび前記各第1コントラストラテジオーダの前記各ソースに送信することによって処理され、前記フィルの量が前記各マッチングしたストラテジオーダおよび前記取引可能項目に関連する前記第2市場データに適用されるコントラストラテジオーダの前記ストラテジと互換性のある最大レートの関数であり、各実施メッセージが少なくとも1つのフィル量を示す、前記第5コードと、を備えるシステム。
【請求項2】
前記コンピュータ指示は、新しいストラテジオーダを受信し、前記新しいストラテジオーダの記録を前記ストラテジオーダブックに追加するコードをさらに備える、請求項1に記載のシステム。
【請求項3】
前記コンピュータ指示は、
新規の非ストラテジオーダを受け取り、
前記非ストラテジオーダのための各ストラテジを選択し、
前記各ストラテジを有する前記新規の非ストラテジオーダを前記ストラテジオーダブックに追加する、コードをさらに備える、請求項2に記載のシステム。
【請求項4】
前記コンピュータ指示は、各ストラテジオーダと各コントラストラテジオーダとのマッチングに応答して、マッチング検出条件メッセージを前記各マッチングされたオーダの前記各ソースに送信するコードをさらに備える、請求項1に記載のシステム。
【請求項5】
前記コンピュータ指示は、各マッチングのブレークに応答して、マッチング終了条件メッセージを前記各マッチングにおける前記ストラテジオーダの前記ソースおよび前記各マッチングにおける前記コントラストラテジオーダの前記ソースのうちの少なくとも1つに送信するコードをさらに備える、請求項4に記載のシステム。
【請求項6】
前記コンピュータ指示は、第2市場データ項目を受信し前記第2市場データ項目を前記メモリに記憶するコードをさらに備え、
前記コードは、フィルを断続的に発行し、前記コードは、第2市場データ項目の受信に応答して、各フィルを発行する指示をさらに備え、前記各フィルの数量は、前記第2市場データ項目に適用される前記最大レートの関数である、請求項1に記載のシステム。
【請求項7】
前記第1コードは、
第1市場データ項目の受信に応答して、前記受信した市場データ項目に対する前記ストラテジオーダブックにおける各ストラテジオーダの市場性を決定するコードを備え、
各ストラテジオーダは、市場性があり、フィル取引に参加するために利用可能な容量を有する場合、取引可能である、請求項1に記載のシステム。
【請求項8】
前記取引可能項目はセキュリティを備え、前記第1市場データは、市場における前記セキュリティの最良の利用可能なアスク価格および最良の利用可能なビッド価格を示すデータを備え、各ストラテジオーダの市場性は、現在のアスク価格および現在のビッド価格のうちの少なくとも1つと比較された前記各データの前記指値に基づいて決定される、請求項7に記載のシステム。
【請求項9】
前記第2市場データは、前記セキュリティについての各報告された取引量および報告された取引価格での少なくとも1つの報告された取引を示す取引データを備え、各フィルの数量は前記報告された取引量に適用された最大レートであり、前記各フィルの価格は前記報告された取引価格である、請求項6に記載のシステム。
【請求項10】
前記コンピュータ指示は、各マッチングしたストラテジオーダおよびコントラストラテジオーダについて、前記各マッチングしたストラテジオーダの前記ストラテジおよび前記各コントラストラテジオーダの前記ストラテジと互換性のある最大レートを決定するコードをさらに備える、請求項1に記載のシステム。
【請求項11】
R1とR2との間の第1レート範囲を有する第1ストラテジと、R3とR4との間の第2レート範囲を有する第2ストラテジとについて、前記第1レート範囲と前記第2レート範囲とが重なり合い、前記第1ストラテジと前記第2ストラテジとに互換性のある前記最大レートは、前記第1レート範囲と前記第2レート範囲との間の前記重なりにおける最大レートである、請求項10に記載のシステム。
【請求項12】
R1とR2と(R2>R1)の間の第1レート範囲を有する第1ストラテジ、およびレート流動性検索の第2ストラテジについて、前記各ストラテジと互換性のある前記最大レートはR2である、請求項10に記載のシステム。
【請求項13】
前記第3コードの前記コンピュータ指示は、前記各マッチングしたストラテジオーダおよびコントラストラテジオーダのうちの少なくとも1つが条件付きであることに応答して、確定メッセージを前記各条件付きオーダの前記各ソースに送信し、前記各条件付きオーダが確定されるのを待つコードをさらに備え、
前記第5コードは、確定されていない条件付きオーダを有する各マッチングを処理するように動作しない、請求項1に記載のシステム。
【請求項14】
各ストラテジオーダの前記ストラテジオーダブックの記録は、前記各ストラテジオーダのための利用可能な容量の大きさを備え、
前記第3コードの前記コンピュータ指示は、各ストラテジオーダと各コントラストラテジオーダとの間の各マッチングの検出に応答して、前記各マッチングしたストラテジオーダおよびコントラストラテジオーダの前記ストラテジと互換性のある最大レートに依存する量によって、前記各ストラテジオーダおよび前記各コントラストラテジオーダの前記利用可能な容量を削減するコードをさらに備え、
第1ストラテジを有し第1コントラストラテジオーダにマッチングする各ストラテジオーダを、前記第1ストラテジオーダと互換性のある各ストラテジを有し、前記第1ストラテジオーダの削減された利用可能な容量を有する第2コントラストラテジオーダに同時にマッチングさせることができ、
前記第5コードは、前記第2マッチングがブレークするまで前記第2マッチングを処理するように動作する、請求項1に記載のシステム。
【請求項15】
前記コンピュータ指示は、少なくとも1つの所定のマッチング優先基準にしたがって、複数の適格なコントラストラテジオーダから前記特定のコントラストラテジオーダを選択するコードをさらに備える、請求項1に記載のシステム。
【請求項16】
前記所定のマッチング優先基準は、ストラテジ流動性を備える、請求項15に記載のシステム。
【請求項17】
前記所定のマッチング優先基準は、オーダソース、オーダデスク、オリジナルオーダサイズ、およびオーダ到着時間、ならびに前記第1ストラテジオーダで指定された優先順位選択物のうちの1つ以上をさら備える、請求項16に記載のシステム。
【請求項18】
前記コンピュータ指示は、前記各ストラテジオーダのための変更ストラテジメッセージの受信に応答して、前記ストラテジオーダブックにおける各ストラテジオーダの前記ストラテジを代替ストラテジに変更するコードをさらに備える、請求項1に記載のシステム。
【請求項19】
前記コンピュータ指示は、ストラテジ変更条件を検出し、前記ストラテジ変更条件の検出に応答して、前記ストラテジオーダブックの各ストラテジオーダの前記ストラテジを代替ストラテジに変更するために、ストラテジ変更ルールに対して市場データを評価するコードをさらに備える、請求項1に記載のシステム。
【請求項20】
前記コンピュータ指示は、前記第1取引可能項目の非ストラテジオーダの受信に応答して、前記非ストラテジオーダと共に使用するためのストラテジを選択し、前記選択されたストラテジを有する前記非ストラテジオーダを前記ストラテジオーダブックに追加するコードをさらに備え、前記非ストラテジオーダはストラテジオーダに変換される、請求項1に記載のシステム。
【請求項21】
前記第2コードは、少なくとも1つの所定の選択優先基準に基づいて、複数の選択可能オーダから第1市場データに対して取引可能な前記ストラテジオーダを選択するように前記プロセッサを構成する、請求項1に記載のシステム。
【請求項22】
前記所定の選択基準は、オーダサイズ、オーダ市場性、オーダコスト、オーダ年齢、およびオーダマッチングステータスのうちの少なくとも1つを備える、請求項21に記載のシステム。
【請求項23】
前記コンピュータ指示は、流動性検索のストラテジを有する各コントラストラテジオーダと流動性検索のストラテジを有する各コントラストラテジオーダとのマッチングに応答して、前記各ストラテジオーダに利用可能な最大量と前記各コントラストラテジオーダに利用可能な最大量との最低量に等しい量の前記各マッチングされた流動性検索オーダの間で前記取引可能項目の流動性検索フィルを発行するコードをさらに備える、請求項1に記載のシステム。
【請求項24】
電子取引ネットワークからのオーダを解析し処理する方法であって、
前記方法は、メモリおよびストレージを有するコンピュータで実施され、前記方法は、
取引可能項目の複数のストラテジオーダを受信する工程であって、各ストラテジオーダが各ソースを有し、各サイド、指値、数量、およびストラテジを指定し、各ストラテジが所定のセットのストラテジのメンバであり、前記所定のセットのストラテジセットの各ストラテジは各基準レートまたは基準レートの範囲を有する工程と、
受信したストラテジオーダに関する情報を前記コンピュータメモリに保持されているストラテジオーダブックに記憶する工程と、
第1市場データと第2市場データとを有する市場データを受信する工程と、
前記ストラテジオーダブックのストラテジオーダから前記第1市場データに対して取引可能な第1ストラテジオーダを選択する工程と、
前記ストラテジオーダブックにおける前記第1ストラテジオーダと第1コントラストラテジオーダとの間の第1マッチングを検出する工程であって、前記第1コントラストラテジオーダが取引可能であり、前記第1ストラテジオーダの前記ストラテジと互換性の各ストラテジを有し、前記第1ストラテジオーダと前記第1コントラストラテジオーダとの間のマッチングが最初は未ブレークである工程と、
前記第1ストラテジオーダまたは前記第1コントラストラテジオーダが取引可能になると、前記第1マッチングをブレークする工程と、
前記第1マッチングがブレークするまで前記第1マッチングを、
(i)前記第1ストラテジオーダと前記第1コントラストラテジオーダとの間で、前記第1ストラテジオーダおよび第1コントラストラテジオーダの前記各ストラテジと互換性のある最大レートで、前記取引可能項目の各フィルを断続的に発行すること、
(ii)少なくとも1つの実施メッセージを前記第1ストラテジオーダの前記ソースと前記第1コントラストラテジオーダの前記ソースとに送信すること、によって、処理する工程と、を備え、
前記フィルの数量は、前記取引可能項目に関連する第2市場データに適用される前記最大レートの関数であり、
各実施メッセージは、少なくとも1つのフィルの数量を示す、方法。
【請求項25】
前記第1マッチングの検出に応答して、マッチング検出条件メッセージを、前記第1ストラテジオーダの前記ソースと前記第1コントラストラテジオーダの前記ソースとに送信する工程をさらに備える、請求項24に記載の方法。
【請求項26】
少なくとも1つの実施メッセージを送信する前記工程は、前記第1ストラテジオーダと前記第1コントラストラテジオーダとの間の各フィルの後に、各実施メッセージを前記第1ストラテジオーダの前記ソースおよび前記第1コントラストラテジオーダの前記ソースに送信する工程を備え、前記各実施メッセージは、前記各フィルの数量を指定する、請求項24に記載の方法。
【請求項27】
前記第1マッチングのブレークに応答して、マッチング終了状態メッセージを前記第1ストラテジオーダの前記ソースと、前記第1コントラストラテジオーダの前記ソースとの少なくとも1つに送信する工程をさらに備える、請求項24に記載の方法。
【請求項28】
前記第2市場データは、各取引量および各取引価格での前記取引可能項目の少なくとも1つの報告された取引を示す取引データを備え、
フィルを断続的に発行する前記工程は、各第2市場データ項目の受信に応答して、各フィルを発行する工程を備える、請求項24に記載の方法。
【請求項29】
各ストラテジオーダは、前記各ストラテジオーダの前記指値と前記第1市場データとの比較に基づいて市場性があり、前記ストラテジオーダが利用可能な容量を有する場合、各ストラテジオーダは取引可能である、請求項24に記載の方法。
【請求項30】
前記第1ストラテジオーダの前記ストラテジと前記第1コントラストラテジオーダの前記ストラテジとは同じではない、請求項24に記載の方法。
【請求項31】
前記第1ストラテジオーダの前記ストラテジは、R1とR2との間の第1レート範囲を有し、前記第1コントラストラテジオーダの前記ストラテジは、R3とR4との間の第2レート範囲を有し、前記第1レート範囲と前記第2レート範囲とは重なり合い、
前記各ストラテジと互換性のある前記最大レートは、前記第1レート範囲と前記第2範囲との間の前記重なりにおける最大レートある、請求項30に記載の方法。
【請求項32】
前記第1ストラテジオーダの前記ストラテジは、R1とR2と(R1>R2)の間の第1レート範囲を有し、前記第1コントラストラテジオーダの前記ストラテジは、流動性検索レートを有し、前記各ストラテジと互換性のある最大レートは、R2である、請求項30に記載の方法。
【請求項33】
前記第1ストラテジオーダは、少なくとも1つの所定の選択優先基準にしたがって、前記ストラテジオーダブックの複数のストラテジオーダから選択される、請求項24に記載の方法。
【請求項34】
前記所定の選択基準は、オーダサイズ、オーダ市場性、オーダコスト、オーダ年齢、およびオーダマッチングステータスのうちの少なくとも1つを備える、請求項33に記載の方法。
【請求項35】
前記第1ストラテジオーダと前記第1コントラストラテジオーダとの間のマッチングを検出する工程は、複数の適格コントラストラテジオーダから選択する工程を備え、前記選択は、ストラテジ流動性によって優先順位付けされる、請求項24に記載の方法。
【請求項36】
前記第1ストラテジオーダと前記第1コントラストラテジオーダとの間のマッチングを検出する工程は、少なくとも1つの所定のマッチング優先基準に基づいて、適格なコントラストラテジオーダの中から優先順位を付ける工程をさらに備える、請求項35に記載の方法。
【請求項37】
前記少なくとも1つの所定のマッチング優先基準は、オーダソース、オーダデスク、オリジナルオーダサイズ、およびオーダ到着時間、ならびに前記第1ストラテジオーダで指定された優先順位付け選択物のうちの1つ以上を備える、請求項36に記載の方法。
【請求項38】
前記第1ストラテジオーダおよび前記第1コントラストラテジオーダのうちの少なくとも1つが条件付きオーダであることに応答して、確定メッセージを前記各条件付きオーダの前記各ソースに送信する工程と、
前記各条件付きオーダが確定されるのを待つ工程と、を備え、
前記第1マッチングを実施する前記工程は、前記各条件付きオーダが確定されるまで実施されない、請求項24に記載の方法。
【請求項39】
前記ストラテジオーダブックの各ストラテジオーダの情報は、前記各ストラテジオーダの利用可能容量の尺度を備え、前記方法は、
前記第1マッチングの検出に応答して、最大レートに依存する量によって前記第1ストラテジオーダの前記利用可能容量を削減する工程と、
前記ストラテジオーダブックにおいて前記第1ストラテジオーダと第2コントラストラテジオーダとの間の第2マッチングを検出する工程であって、前記第2コントラストラテジオーダが取引可能であり、前記第1ストラテジオーダの前記削減した利用可能容量が与えられた前記ストラテジと互換性のある各ストラテジを有する工程と、
前記第1ストラテジオーダまたは前記第2コントラストラテジオーダが取引不可能になった場合、前記第2マッチングをブレークする工程と、
前記第2マッチングがブレークするまで前記第2マッチングを処理する工程と、をさらに備える、請求項24に記載の方法。
【請求項40】
前記各ストラテジオーダの変更ストラテジメッセージの受信に応答して、前記ストラテジオーダブックにおける各ストラテジオーダの前記各ストラテジを代替ストラテジに変更する工程をさらに備える、請求項24に記載の方法。
【請求項41】
ストラテジ変更条件を検出するために、ストラテジ変更ルールに対する市場データを評価する工程と、
前記ストラテジ変更条件の検出に応答して、前記ストラテジオーダブックにおけるストラテジオーダの前記各ストラテジを代替ストラテジに変更する工程と、をさらに備える、請求項24に記載の方法。
【請求項42】
前記第1取引可能項目の非ストラテジオーダを受信する工程と、
前記非ストラテジオーダで使用するストラテジを選択する工程と、
前記選択したストラテジを有する前記非ストラテジオーダを前記ストラテジオーダブックに追加する工程と、をさらに備え、
前記非ストラテジオーダはストラテジオーダに変換される、請求項24に記載の方法。
【請求項43】
前記取引可能項目は、第1セキュリティを備え、前記第1市場データは、市場における少なくとも前記セキュリティについての最良の利用可能なアスク価格および最良の利用可能なビッド価格を示すデータを備え、前記第2市場データは、各取引された数量および各取引された価格での前記セキュリティの少なくとも1つの報告された取引を示す取引データを備える、請求項24に記載の方法。
【請求項44】
自動取引システムにおいて、取引可能項目の取引を処理するための方法であって、前記自動取引システムは、それぞれが所定のセットのストラテジのメンバである各ストラテジを有するストラテジオーダを満たすように動作するストラテジマッチングベニューを有し、前記所定のセットのストラテジにおける各ストラテジは、基準レートまたは基準レートの範囲を有し、前記ストラテジマッチングベニューは、受信したストラテジオーダを前記受信したストラテジのストラテジと互換性のあるストラテジを有するストラテジオーダとをマッチングさせ、前記各マッチングしたストラテジオーダおよびコントラストラテジオーダの前記ストラテジと互換性のある最大レートで前記マッチングしたストラテジオーダの実施のストリームを生成し、前記方法は、前記自動取引システムにおける1つ以上のコンピュータプロセッサによって実施され、前記方法は、
取引可能項目の取引オーダを受信しサイドおよび総量を指定する工程であって、前記取引オーダが関連するアルゴリズム制約を有する工程と、
前記アルゴリズム制約にしたがって取引オーダからサブオーダを断続的に生成し、サブオーダをポイントインタイム(PIT)取引ベニューに発行する工程であって、各サブオーダが各サブオーダ量を指定する工程と、
前記PIT取引ベニューからPIT実施メッセージを受信する工程であって、各PIT実施メッセージが各サブオーダに対応し、前記各サブオーダのフィル量を指定し、前記フィル量が前記各サブオーダ量以下である工程と、
前記アルゴリズム制約をストラテジマッピングルールのセットに適用し、前記所定のセットのストラテジから第1戦略を選択する工程と、
前記取引オーダに対応する第1ストラテジオーダを生成する工程であって、前記第1ストラテジオーダが前記取引可能項目、前記サイド、前記第1ストラテジを指定する工程と、
前記第1ストラテジオーダを前記ストラテジマッチングベニューに発行する工程と、
前記ストラテジマッチングベニューから前記第1ストラテジオーダのためのマッチング検出条件メッセージを受信する工程と、
前記マッチング検出条件に応答して、前記第1ストラテジオーダのためのサブオーダを断続的に生成する工程を停止する工程と、
前記ストラテジマッチングベニューから前記第1ストラテジオーダのための複数のストラテジ実施メッセージを受信する工程であって、各ストラテジ実施メッセージが前記第1ストラテジオーダのための各フィル量を示す工程と、を備え、
前記マッチング検出条件は、前記第1ストラテジオーダが前記取引可能項目のコントラストラテジオーダにマッチングしたことを知らせ、
受信したPIT実施メッセージにおいて指定されたフィル量と受信されたストラテジ実施メッセージにおいて指定されたフィル量との合計が前記合計量に等しい場合、前記取引オーダは完了する、方法。
【請求項45】
前記マッチング検出条件に応答して未履行サブオーダをキャンセルする工程をさらに備える、請求項44に記載の方法。
【請求項46】
前記ストラテジマッチングベニューから前記第1ストラテジオーダがいずれのコントラストラテジオーダにもマッチングしないことを知らせるマッチング終了条件メッセージを受信する工程と、
前記取引オーダに利用可能な少なくとも1つの潜在シェアがある間、前記マッチング終了条件に応答して、サブオーダを断続的に生成する前記工程を再開する工程と、をさらに備える、請求項44に記載の方法。
【請求項47】
前記第1ストラテジオーダのための前記ストラテジマッチングベニューからの確定メッセージを受信する工程と、
前記確定メッセージの受信に応答して、前記取引オーダに利用可能な潜在シェアの数を決定し、確定応答を潜在シェアより小さいストラテジオーダ量を示す前記ストラテジマッチングベニューに送信する工程と、をさらに備える、請求項44に記載の方法。
【請求項48】
前記ストラテジオーダ量は、潜在シェアの数から所定のバッファ値を引いたものである、請求項47に記載の方法。
【請求項49】
前記確定応答は第2ストラテジオーダを備え、前記第2ストラテジオーダは、前記取引可能項目、サイド、第1ストラテジを指定し、さらに、前記ストラテジオーダ量を指定し、前記第2ストラテジオーダは、前記第1ストラテジオーダへのリンクを有する、請求項47に記載の方法。
【請求項50】
前記確定応答を送信した後の所定のタイムアウト期間内に、前記第1ストラテジオーダのための前記ストラテジマッチングベニューからマッチング検出条件メッセージが受信されない場合、確定失敗条件を検出する工程と、
確定失敗に応答して、前記第1取引オーダのキャンセル部分を前記アルゴリズム取引プラットフォームに再発行する工程と、さらに備える、請求項49に記載の方法。
【請求項51】
前記確定メッセージの受信に応答して、前記潜在シェア数を決定する前に、未履行サブオーダをキャンセルする工程をさらに備える、請求項47に記載の方法。
【請求項52】
前記取引オーダの属性に基づいて、所定のマッピングルールの複数のセットから前記ストラテジマッピングルールのセットを選択する工程をさらに備える、請求項44に記載の方法。
【請求項53】
前記取引オーダの前記属性は、前記取引オーダのソースである、請求項52に記載の方法。
【請求項54】
前記取引オーダに関する情報を前記自動セキュリティ取引システムのメモリのアルゴオーダ表に記憶する工程と、前記第1ストラテジオーダに関する情報を前記メモリのストラテジオーダ表に記憶する工程と、をさらに備える、請求項44に記載の方法。
【請求項55】
所定の市場条件の検出に応答して、前記第1ストラテジからの前記第1ストラテジオーダの前記ストラテジを第2ストラテジに変更する工程と、をさらに備える、請求項44に記載の方法。
【請求項56】
前記第1ストラテジオーダの前記変更の前記ストラテジマッチングベニューを前記第2ストラテジへ通知する工程をさらに備える、請求項551に記載の方法。
【請求項57】
前記所定の市場条件は、前記セキュリティのための取引価格と、所定の閾値を超える前記第1ストラテジオーダのための指値との間の変動を備える、請求項55に記載の方法。
【請求項58】
前記取引可能項目はセキュリティであり、前記所定セットのストラテジは、R1とR2と(R2>R1)の間の基準レートを有する第1ストラテジと、R3とR4との間の基準レート範囲を有する第2ストラテジ(R4>R2およびR1<=R3<=R2)とを有する、請求項44に記載の方法。
【請求項59】
取引ネットワークに発注された取引オーダを処理するためのシステムであって、前記取引オーダは、取引可能項目、サイド、総数量を指定し、関連するアルゴリズム制約を有し、前記取引ネットワークは、それぞれがストラテジの所定のセットのメンバである各ストラテジを有するストラテジオーダを満たすように動作可能なストラテジマッチングベニューを有し、前記ストラテジの所定のペアの各ストラテジは、基準レートまたは基準レートの範囲を有し、前記ストラテジマッチングオーダーは、受信されたストラテジオーダをストラテジと前記受信されたストラテジオーダの前記ストラテジと互換性のあるストラテジオーダを有するコントラストラテジオーダとマッチングさせ、前記各マッチングされたストラテジオーダおよびコントラストラテジオーダの前記ストラテジと互換性のある最大レートで前記マッチングされたストラテジオーダのための実施のストリームを生成するように動作可能であり、前記システムは、
記憶されたコンピュータ指示を有するメモリと、
前記コンピュータ指示を実施するために前記メモリに接続された少なくとも1つのプロセッサと、を備え
前記コンピュータ指示は、
(i)アルゴリズム取引ンエンジンを備え、
前記アルゴリズム取引エンジンは、
前記発注された取引オーダを受信するコードと、
断続的に(a)アルゴリズム制約にしたがってサブオーダを生成し、各サブオーダが各サブオーダ量を指定し、(b)各サブオーダをポイントインタイム(PIT)取引ベニューに発行し、(c)前記PIT取引ベニューから実施メッセージを受信し、各PIT実施メッセージが各サブオーダに対応し、前記サブオーダのためのフィル量を示し、前記フィル量が各サブオーダ量以下であるコードと、
レート最適化エンジンからの一時停止信号に応答して、サブオーダの生成を一時停止するコードと、を備え、
(ii)前記レート最適化エンジンは、
前記アルゴリズム取引エンジンによって前記発注された取引オーダの受信を示す新しいオーダイベントを検出するコードと、
前記新しいオーダイベントに応答して、前記アルゴリズム制約を前記メモリに記憶されたストラテジマッピングルールのセットに適用し、前記所定のセットのストラテジから第1ストラテジを選択するコードと、
前記取引オーダに対応する第1ストラテジオーダ、前記取引可能項目を指定する前記第1ストラテジオーダ、サイド、および前記第1ストラテジを生成するコードと、
前記第1ストラテジを前記ストラテジマッチングベニューに発行するコードと、
前記ストラテジマッチングベニューから前記第1ストラテジオーダのためのマッチング検出条件メッセージを受信するコードと、
前記マッチング検出条件メッセージに応答して、前記一時停止信号を前記アルゴリズム取引エンジンに発行し、前記取引オーダのサブオーダの生成を一時停止するコードと、
前記ストラテジマッチングベニューから前記第1ストラテジオーダのための複数のストラテジ実施メッセージを受信するコードであって、各ストラテジ実施メッセージが前記第1ストラテジオーダのための各フィル量を示すコードと、
各ストラテジ実施メッセージの受信に応答して、各フィル量を前記アルゴリズム取引エンジンに通知するコードと、を備え、
前記マッチング検出条件信号は、前記第1ストラテジオーダが前記取引可能項目のためのコントラストラテジオーダにマッチングしたことを知らせ、
受信されたPIT実施メッセージに指定されたフィル量と、受信されたストラテジ実施メッセージに指定されたフィル量との合計が前記合計量に等しい時、前記取引オーダは完了する、システム。
【請求項60】
第1データインターフェースおよび第2データインターフェースをさらに備え、
前記レート最適化エンジンのための前記コンピュータ指示は、前記第1データインターフェースを使用して前記アルゴリズム取引エンジンと通信するコードと、前記第2データインターフェースを使用して前記ストラテジマッチングベニューと通信するコードとをさらに備える、請求項59に記載のシステム。
【請求項61】
前記アルゴリズム取引エンジンのための前記コンピュータ指示は、前記レート最適化エンジンからのキャンセル信号に応答して、サブオーダをキャンセルするコードをさらに備え、
前記レート最適化エンジンのための前記コンピュータ指示は、前記マッチング検出条件に応答して、前記キャンセル信号を発行して、前記取引オーダの未処理サブオーダをキャンセルするように前記アルゴリズム取引エンジンに信号を送るコードをさらに備える、請求項59に記載のシステム。
【請求項62】
前記アルゴリズム取引エンジンのための前記コンピュータ指示は、前記レート最適化エンジンからの再開制御信号に応答して、サブオーダの生成を再開するためのコードをさらに備え、
前記レート最適化エンジンのための前記コンピュータ指示は、
前記ストラテジマッチングベニューから前記第1ストラテジオーダがコントラストラテジオーダとマッチングしないことを知らせるマッチング終了条件メッセージを受信するコードと、
前記マッチング終了条件に応答して、前記再開を発行して前記取引オーダのサブオーダの生成を再開できることを前記アルゴリズム取引エンジンに知らせるコートと、さらに備える請求項59に記載のシステム。
【請求項63】
前記レート最適化エンジンのための前記コンピュータ指示は、
前記第1ストラテジオーダのために前記ストラテジマッチングベニューから確定メッセージを受信するコードと、
前記メッセージの受信に応答して、前記取引オーダに利用可能な潜在シェア数を決定し、確定応答を潜在シェア数より少ないストラテジオーダ量を示す前記ストラテジマッチングベニューに送信するコードと、をさらに備える、請求項59に記載のシステム。
【請求項64】
前記レート最適化エンジンのための前記コンピュータ指示は、前記取引オーダに関するステータス情報を求める要求を前記アルゴリズム取引エンジンに発行し、前記アルゴリズム取引エンジンから応答ステータス情報を受信することによって、前記潜在シェア数を決定するコードをさらに備える、請求項63に記載のシステム。
【請求項65】
前記ストラテジオーダ量は、潜在シェア数から所定のバッファ値を引いたものである、請求項63に記載のシステム。
【請求項66】
前記確定応答は、第2ストラテジオーダを備え、前記第2ストラテジオーダは、前記取引可能項目、サイド、および第1ストラテジを指定し、さらに、前記ストラテジオーダ量を指定し、前記第2ストラテジオーダは、前記第1ストラテジオーダにリンクされる、請求項63に記載のシステム。
【請求項67】
前記アルゴリズム取引エンジンのための前記コンピュータ指示は、前記レート最適化エンジンからのキャンセル信号に応答して、サブオーダをキャンセルするためのコードをさらに備え、
前記レート最適化エンジンのコンピュータ指示は、前記確定メッセージの受信に応答して、前記潜在シェア数を決定する前に、未処理サブオーダをキャンセルするように前記キャンセル信号を前記アルゴリズム処理エンジンに発行するコードをさらに備える、請求項63に記載のシステム。
【請求項68】
前記レート最適化エンジンのための前記コンピュータ指示は、前記取引オーダの属性に基づいて、複数のセットの所定のマッピングルールからストラテジマッピングルールのセットを選択するためのコードをさらに備える、請求項59に記載のシステム。
【請求項69】
前記取引オーダの前記属性は、前記取引オーダのソースである、請求項68に記載のシステム。
【請求項70】
前記レート最適化エンジンのための前記コンピュータ指示は、所定の市場条件の検出に応答して、前記第1ストラテジから前記第1ストラテジオーダの前記ストラテジを変更するコードを前記所定のセットのストラテジにおける第2ストラテジに変更するコードをさらに備える、請求項59に記載のシステム。
【請求項71】
前記レート最適化エンジンのための前記コンピュータ指示は、前記第1ストラテジオーダの前記第2ストラテジへの変更を前記ストラテジマッチングベニューに通知するコードをさらに備える、請求項70に記載のシステム。
【請求項72】
前記所定の市場条件は、前記セキュリティの取引価格と所定の閾値を超える前記第1ストラテジオーダの指値との間の分散を備える、請求項70に記載のシステム。
【請求項73】
前記取引可能項目はセキュリティであり、前記所定のセットのストラテジは、R1とR2と(R2>R1)の間の基準レートを有する第1ストラテジと、R3とR4と(R4>R2およびR1<=R3<=R2)の間の基準レートを有する第2ストラテジとを有する、請求項70に記載のシステム。
【請求項74】
自動取引システムにおける取引可能項目のための取引を解析処理する方法であって、前記自動取引システムは、各サイド、数量、および関連するアルゴリズム制約を指定する取引オーダを受信し、アルゴリズム制約にしたがって、複数の離散的な小さいサブオーダを生成し、前記サブオーダを実施のためにポイントインタイム取引ベニューに発行することによって、前記受信した取引オーダを満たすように動作するアルゴリズム取引プラットフォームを備え、前記自動取引システムは、それぞれが所定のセットのストラテジのストラテジメンバである各ストラテジを満たすように動作するストラテジマッチングベニューをさらに備え、前記所定のセットのストラテジの各ストラテジは、基準レートまたは基準レートの範囲を有し、前記ストラテジマッチングベニューは、受信したストラテジオーダを、前記受信したストラテジオーダの前記ストラテジと互換性のあるコントラストラテジオーダとマッチングさせ、前記マッチングしたストラテジオーダのための実施のストリームを、前記各マッチングしたストラテジオーダおよびコントラストラテジオーダの前記ストラテジと互換性のある最大レートで生成し、前記方法は、前記自動取引システムの1つ以上のコンピュータプロセッサによって実施され、
前記方法は、
第1取引オーダを前記アルゴリズム取引プラットフォームに発行する工程であって、前記第1取引オーダが最初の数量を有する工程と、
前記第1取引オーダに対応する第1ストラテジオーダを生成する工程であって、前記第1ストラテジオーダが条件付きであり、前記サイドおよび第1ストラテジを指定する工程と、
前記第1ストラテジオーダを前記ストラテジマッチングベニューへ発行する工程と、
前記第1ストラテジオーダのための前記ストラテジマッチングベニューからの確定メッセージの受信に応答して、前記アルゴリズム取引プラットフォームにおいて前記第1取引オーダの少なくとも一部をキャンセルする工程と、
前記アルゴリズム取引プラットフォームによるキャンセル後の前記第1取引オーダのための現在の未フィル量を決定する工程と、
前記現在の未フィル量に基づいて、ストラテジマッチングのための前記第1ストラテジオーダに利用可能な最大量を決定する工程と、
確定応答を、確定量を示す前記ストラテジマッチングベニューに送信する工程であって、前記確定量が前記最大量以下である工程と、
前記ストラテジマッチングベニューからのマッチング検出条件メッセージの受信する工程と、
前記ストラテジマッチングベニューから、前記マッチング検出条件メッセージを受信した後に前記第1ストラテジオーダのための複数のストラテジ実施メッセージを受信する工程であって、各ストラテジ実施メッセージが各フィル量を示す工程と、
前記ストラテジマッチングベニューからマッチングブレーク条件メッセージを受信する工程と、
前記マッチングブレーク条件メッセージの受信後に、前記アルゴリズム取引プラットフォームによって示されるフィル量および前記ストラテジマッチングプラットフォームによって示されるフィル量に対する前記第1取引オーダの現在の未フィル量を決定する工程と、を備え、
前記取引オーダの前記未フィル量がゼロである場合、前記取引オーダは完了する、方法。
【請求項75】
前記マッチングブレークメッセージの受信後に決定されたゼロではない現在の未フィル量に応答して、前記第1ストラテジオーダを前記現在の未フィル量以下の量のための前記アルゴリズム取引プラットフォームに再発行する工程をさらに備える、請求項74に記載の方法。
【請求項76】
前記確定応答の送信の発行後の所定のタイムアウト期間内に、前記第1ストラテジオーダのための前記ストラテジマッチングベニューからマッチング検出条件メッセージが受信されない場合に、確定失敗条件を検出する工程と、
確定失敗に応答して、前記第1取引オーダの前記キャンセル部分を前記アルゴリズム取引プラットフォームに再発行する工程と、をさらに備える、請求項74に記載の方法。
【請求項77】
前記アルゴリズム制約をストラテジマッピングルールに適用して、前記所定のセットのストラテジから前記第1ストラテジを選択する工程をさらに備える、請求項74に記載の方法。
【請求項78】
前記確定応答を送信する前記工程は、前記第1ストラテジオーダにリンクされた第2ストラテジオーダを生成し、前記確定量を指定するコンテンツを有する工程と、
前記第2ストラテジオーダを前記ストラテジマッチングベニューに発行する工程と、をさらに備える、請求項74に記載の方法。
【請求項79】
前記最大量は、前記取引オーダが前記管理システムによってキャンセルされた後の前記取引オーダに関連する潜在シェア数である、請求項74に記載の方法。
【請求項80】
前記マッチング検出条件メッセージは最大フィル量を示し、前記方法は、前記ストラテジマッチングベニューが前記最大フィル量を合計する取引を実施すると仮定して、前記第1取引オーダを、未フィルシェアの残りの量に等しい量で前記アルゴリズム処理システムに再発行する工程をさらに備える、請求項74に記載の方法。
【請求項81】
取引ネットワークに発注された取引オーダを処理するためのシステムであって、前記取引オーダは、取引可能アイテム、サイド、合計量を指定し、関連するアルゴリズム制約を有し、前記取引ネットワークは、それぞれが所定のセットのストラテジのメンバである各ストラテジを有するストラテジマッチングオーダーを満たすように動作可能なストラテジマッチングベニューをさらに備え、前記所定のセットのストラテジの各ストラテジは、基準レートまたは基準レートの範囲を有し、前記ストラテジマッチングベニューは、受信されたストラテジオーダを、前記受信されたストラテジオーダの前記ストラテジと互換性のあるコントラストラテジオーダとマッチングさせ、前記各マッチングされたストラテジオーダおよびコントラストラテジオーダの前記ストラテジと互換性のある最大レートで前記マッチングされたストラテジオーダのための実施のストリームを生成するように動作可能であり、前記取引ネットワークは、各サイド、数量、および関連するアルゴリズム制約を指定する取引オーダを受信し、前記アルゴリズム制約にしたがって、複数の離散的な小さいサブオーダを生成し、前記サブオーダを実施のためのポイントインタイム取引ベニューに発行することによって、前記受信した取引オーダを満たすように動作するアルゴリズム取引プラットフォームをさらに備え、前記システムは、
記憶されたコンピュータ指示を有するメモリと、
前記コンピュータ指示を実施するために前記メモリに接続された少なくとも1つのプロセッサと、を備え、
前記コンピュータ指示は、
第1取引オーダを前記アルゴリズム取引プラットフォームに発行するコードであって、前記第1取引オーダが最初の数量を有するコードと、
前記第1取引オーダに対応する第1ストラテジオーダを生成するコードであって、前記第1ストラテジオーダが条件付きであり、前記サイドおよび第1ストラテジを指定するコードと、
前記第1ストラテジオーダを前記ストラテジマッチングベニューに発行するコードと、
前記第1ストラテジオーダのための前記ストラテジマッチングベニューからの確定メッセージの受信に応答して、前記アルゴリズム取引プラットフォームで前記第1取引オーダの少なくとも一部をキャンセルするコードと、
前記アルゴリズム取引プラットフォームでキャンセル後、前記第1取引オーダのための現在の未フィル量を決定するコードと、
前記現在の未フィル量に基づいて、ストラテジマッチングのための前記第1ストラテジオーダに利用可能な最大量を決定するコードと、
確定応答を、確定量を示す前記ストラテジマッチングベニューに送信するコードであって、前記確定量が最大量以下であるコードと、
前記ストラテジマッチングベニューからマッチング検出条件メッセージを受信するコードと、
前記マッチング検出条件メッセージの受信後、前記ストラテジマッチングベニューから前記第1ストラテジオーダのための複数のストラテジ実施メッセージを受信するコードであって、各ストラテジ実施メッセージがそれぞれのフィル量を示すコードと、
ストラテジマッチングベニューからマッチングブレーク状態メッセージを受信するコードと、
マッチブレーク状態メッセージの受信後、前記アルゴリズム取引プラットフォームによって示されたフィル量および前記ストラテジマッチングプラットフォームによって示されたフィル量に対する前記第1取引オーダの現在の未フィル量を決定するコードと、を備え、
前記取引オーダの未フィル量がゼロである場合、前記取引オーダは完了する、システム。
【請求項82】
前記コンピュータ指示は、
前記マッチングブレークメッセージの受信後に決定されたゼロではない現在の未フィル量に応答して、前記第1ストラテジオーダを前記現在の未フィル量以下の量について前記アルゴリズム取引プラットフォームに再発行するコードをさらに備える、請求項81に記載のシステム。
【請求項83】
前記コンピュータ指示は、
前記確定応答の送信の発行後の所定のタイムアウト期間内に、前記第1ストラテジオーダのための前記ストラテジマッチングベニューからマッチング検出条件メッセージが受信されない場合に、確定失敗条件を検出するコードをさらに備える、請求項81に記載のシステム。
【請求項84】
前記コンピュータ指示は、前記アルゴリズム制約をストラテジマッピングルールに適用し、前記所定のセットのストラテジから前記第1ストラテジを選択するコードをさらに備える、請求項81に記載のシステム。
【請求項85】
確定応答を送信するための前記コードは、前記第1ストラテジオーダにリンクされ、前記確定量を指定するコンテンツを有する第2ストラテジオーダを生成し、前記第2ストラテジオーダを前記ストラテジマッチングベニューに発行するコードを備える、請求項81に記載のシステム。
【請求項86】
前記最大量は、前記取引オーダが前記管理システムによってキャンセルされた後の前記取引オーダに関連する潜在シェア数である、請求項81に記載のシステム。
【請求項87】
前記マッチング検出条件メッセージは、最大フィル量を示し、前記コンピュータ指示は、前記ストラテジマッチングベニューが前記最大フィル量を合計する取引を実施すると仮定して、前記第1取引オーダを、充填されていないシェアの残りの量に等しい量で前記アルゴリズム処理システムに再発行するコードをさらに備える、請求項81に記載のシステム。
【請求項88】
取引可能アイテムの取引を処理するためのシステムであって、前記システムは、
アルゴリズム取引エンジンと、
ストラテジマッチングエンジンと、
前記アルゴリズム取引エンジンと前記ストラテジマッチングエンジンとを通信するレート最適化エンジンと、を備え、
前記アルゴリズム取引エンジンは、以下の通り構成され、
前記取引可能アイテムのための取引オーダを受け取り、前記取引オーダがサイド、総数量を指定し、関連するアルゴリズム制約を有し、
(i)時間の経過とともに、前記取引オーダからの前記アルゴリズム制約サブオーダにしたがって、各サブオーダ量を指定する各サブオーダを生成し、(ii)前記各サブオーダをポイントインタイム(PIT)取引ベニューに発行し、(iii)前記PIT取引ベニューから実施メッセージを受信し、各PIT実施メッセージは、各サブオーダに対応し、前記各サブオーダのフィル量を示し、
前記アルゴリズム取引エンジンは、さらに以下の通り構成され、
前記レート最適化エンジンからのメッセージに応答して、前記サブオーダの生成を一時停止し、再開し、
前記ストラテジマッチングエンジンは、各ソースから複数のストラテジオーダを受信し、各ストラテジは、各サイド、数量、およびストラテジを有し、各ストラテジは、所定のセットのストラテジのメンバであり、前記所定のセットのストラテジの各ストラテジは、基準レートまたは基準レートの範囲を有し、
取引可能な受信されたストラテジオーダを、取引可能であり、前記受信されたストラテジオーダの前記ストラテジと互換性のあるストラテジを有するコントラストラテジオーダにマッチングさせ、
前記各ストラテジオーダのためのマッチングを形成すると、マッチング検出条件メッセージを各ストラテジオーダのソースに送信し、
前記各マッチングにおける両方のストラテジオーダが取引可能なままである間に、前記各マッチングされたオーダに対して指定された前記ストラテジと互換性のある最大レートで、前記マッチングされたストラテジオーダのそれぞれのペアに対する実施のストリームを生成し、
いずれかのオーダが取引可能でなくなったことに応答して、各ペアのマッチングストラテジオーダのための各マッチングをブレークし、
各マッチングの中断に応答して、マッチング終了条件を、前記中断されたマッチングのためのマッチングストラテジオーダのペアにおける前記マッチングストラテジオーダのうちの少なくとも1つのソースに送信し、
前記レート最適化エンジンは、以下の通り構成され、
前記アルゴリズム取引で受信した第1取引オーダのための前記アルゴリズム制約をストラテジマッピングルールのセットに適用し、前記所定のセットのストラテジから第1ストラテジを選択し、
前記取引オーダに対応する第1ストラテジオーダを生成し、前記第1ストラテジオーダは、前記第1取引オーダの前記サイド、前記第1取引オーダの総数量以下の数量を有し、前記第1ストラテジを有し、
前記第1ストラテジオーダを前記ストラテジマッチングエンジンに発行し、
ストラテジマッチングエンジンから、前記第1ストラテジオーダのためのマッチング検出条件メッセージを受信し、
前記マッチング検出条件メッセージの受信に応答して、前記取引オーダのためのサブオーダの生成を停止するように信号を前記アルゴリズム取引エンジンに送信し、
前記ストラテジマッチングベニューから、前記第1ストラテジオーダのための複数のストラテジ実施メッセージを受信し、各ストラテジ実施メッセージは、前記第1ストラテジオーダのための各フィル量を示し、
受信したストラテジ実施メッセージの各フィル量を前記アルゴリズム取引エンジンに通知し、
前記ストラテジマッチングエンジンから、前記第1ストラテジオーダのためのマッチング終了条件メッセージを受信し、
前記第1ストラテジオーダのための前記マッチング終了条件メッセージの受信に応答して、前記第1取引オーダのためのサブオーダの生成を再開するように信号を前記アルゴリズム取引エンジンに送信し、
前記第1取引オーダは、(i)PIT取引ベニューから前記アルゴリズム取引エンジンによって受信されたサブオーダ実施メッセージのフィル量と、(ii)受信されたストラテジ実施メッセージに指定されたフィル量との合計が前記第1取引オーダの合計量に等しいとき、完了される、システム。
【請求項89】
取引可能アイテムの取引を処理するためのシステムであって、
前記システムは、
取引管理エンジンと、
ストラテジマッチングエンジンと、
前記取引管理エンジンと前記ストラテジマッチングエンジンとを通信するルート最適化エンジンと、を備え、
前記取引管理エンジンは、以下の通り構成され、
前記取引可能アイテムの取引オーダをアルゴリズム取引プラットフォームに発行し、前記取引オーダは、サイド、総数量を指定し、関連するアルゴリズム制約を有し、
前記レート最適化エンジンからのメッセージに応答して、前記取引オーダをキャンセルし、前記アルゴリズム取引プラットフォームに再発行し、
前記ストラテジマッチングエンジンは、以下の通り構成され、
各ソースから複数のストラテジオーダを受信し、各ストラテジは、各サイド、数量、およびストラテジを有し、各ストラテジは所定のセットのストラテジのメンバであり、前記各セットの各ストラテジは、基準レートまたは基準レートの範囲を有し、
取引可能な受信されたストラテジオーダを、取引可能であり、前記受信されたストラテジオーダの前記ストラテジと互換性のあるコントラストラテジオーダにマッチングさせ、
マッチング条件付きストラテジオーダのための確定リクエストを発行し、
前記マッチング条件付きストラテジオーダの確定に成功した後、各ストラテジオーダに対するマッチングを形成すると、マッチング検出条件メッセージを各ストラテジオーダの前記ソースに送信し、
前記各マッチングにおける両方のストラテジオーダが取引可能なままである間に、前記各マッチされたオーダのために指定された前記ストラテジと互換性のある最大レートで、マッチングされたストラテジオーダの各ペアに対する実施のストリームを生成し、
いずれかのオーダが取引可能でなくなったことに応答して、マッチングしたストラテジオーダの各ペアのための各マッチングをブレークし、
各マッチングの前記ブレークに応答して、マッチング終了条件を、前記ブレークしたマッチについてのマッチングしたストラテジオーダの前記ペアにおけるマッチングしたストラテジオーダのうちの少なくとも1つのソースに送信し、
前記レート最適化エンジンは、以下の通り構成され、
前記取引オーダのための前記アルゴリズム制約を、ストラテジマッピングルールのセットに適用し、前記所定のセットのストラテジから第1オーダを選択し、
前記取引オーダに対応するストラテジオーダを生成し、前記ストラテジオーダは、前記第1取引オーダの前記サイド、前記第1取引オーダの前記総数量以下の数量を有し、前記第1ストラテジを有し、
前記ストラテジオーダを前記ストラテジマッチングエンジンに発行し、
前記ストラテジマッチングエンジンから前記ストラテジオーダのための確定リクエストを受信し、
前記確定リクエストの受信に応答して、前記取引管理エンジンに、前記アルゴリズム取引プラットフォームにおいて前記取引オーダの少なくとも一部をキャンセルするように信号を送り、
前記アルゴリズム取引プラットフォームでキャンセル後の前記取引オーダの現在の未フィル量を決定し、
前記現在の未フィル量に基づいて、ストラテジマッチングのための前記ストラテジオーダに利用可能な最大量を決定し、
確定応答を、確定量を示すストラテジマッチングベニューに送信し、前記確定量は前記最大量以下であり、
前記ストラテジマッチングベニューからマッチング検出条件メッセージを受信し、
前記ストラテジマッチングベニューから、前記マッチング条件メッセージを受信した後、前記ストラテジオーダのための複数のストラテジ実施メッセージを受信し、各ストラテジ実施メッセージは、各フィル量を示し、
前記ストラテジマッチングベニューからマッチングブレーク状態メッセージを受信し、
前記マッチングブレーク状態メッセージを受信後、前記取引管理エンジンによって示されるフィル量に対する取引オーダの現在の未フィル量を決定し、
取引オーダは、前記取引オーダの前記未フィル量がゼロであるときに、完了する、システム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2019年1月31日に出願された米国仮特許出願第62/799,170号の優先権を主張し、その全内容は参照により明示的に組み込まれる。
【0002】
本発明は、自動取引プラットフォームにおける取引オーダの処理に関する。
【背景技術】
【0003】
機関投資家は、投資決定を行うために、多くの場合、大量オーダを行う必要がある。単一の大量オーダを市場で行うことは、単に需要供給のルールに基づいて、セキュリティの市場価格に重大な影響を及ぼす可能性がある。
【0004】
したがって、大量オーダは、アルゴリズム(「アルゴ」)プロセスにしたがって、多くのより少量の離散的下位オーダに分割される。これらの下位オーダは、満たすことがより容易であり、少なくとも個別にセキュリティの市場価格に与える影響がより少ない。この結果、大量オーダを満たすことによる全体的な価格への影響を低減することができる。この実施決定におけるトレードオフは、より遅い速度で満たされるより小さいオーダにおける取引から生じるより長い執行期間に起因する市場リスクおよび実施リスクの受け入れである。
【0005】
従来の取引システムでは、このタイプの大量オーダは、コンピュータ化された取引プラットフォームを使用して処理される。コンピュータ化された取引プラットフォームは、明示的に選択されたアルゴリズム実施ストラテジにしたがって、大量オーダを多くの離散的少量オーダに自動的にスライスするアルゴリズム取引システムを使用する。より少量のオーダは取引ベニューに送られ、そこで、それらは、それぞれの取引ベニューでコントラオーダに個別にマッチングされ、処理される。実施率の観点から、単一の大量オーダを満たすには、その時点での市場流動性率よりも大きな実施率が必要である。適用されるアルゴリズムストラテジは、市場における利用可能な流動性(全市場ボリュームに対する利用可能ボリュームの割合)に等しい実施率(市場ボリュームに対する満たされたシェアの割合)で大量オーダを満たそうとするものである。使用される様々な異なるタイプのアルゴリズム取引ストラテジがある。高水準では、これらの差異は、それらが市場に参加するボリューム率に反映される。
【0006】
一例として、指定された指値市場価格でXYZの100000シェアを購入するためのオーダは、オーダ管理システム(OMS)または実施管理システム(EMS)を介して機関トレーダによって発行されてもよい。オーダは、アルゴリズム取引システムを実施するブローカディーラに届けられる。アルゴオーダ管理は、使用されているアルゴリズムストラテジと新しいおよび/または過去の市場データとに依存する量および頻度で子オーダを周期的にスライスする。ボリュームパーセンテージ(POV)ストラテジでは、オーダは、市場ボリュームの指定されたパーセンテージでスライスされる。したがって、10%POVプロセスは、2000シェアの子オーダがXYZの別の20000シェアが取引されたことを市場データが示した後に毎回スライスされることを指定することもできる。
【0007】
子オーダは、アルゴ取引プラットフォームのスマートオーダルータ(SOR)に送信され、このスマートオーダルータは、一般的に、各子オーダを、ほんの数百シェアについてさらにより小さい離散的孫買いオーダにさらに分割し、次いで、SORによって複数の取引ベニューに個別に送信される。次に、取引ベニューは、それぞれ、これらの小さな孫オーダを実施のための休止のコントラオーダとマッチングさせようとする。条件付きオーダは、複数の取引ベニューに送信され、その後、1つのベニューがそれを満たすことができた後にキャンセルされてもよい。
【0008】
アルゴリズム取引プロセスは、現在実施されている高頻度取引中心市場構造の大きな構成要素であり、従来の株式市場を特徴付ける平均取引規模の分裂および減少の要因である。この従来の方法論を用いて、単一の大量オーダを満たすには、数千の離散的少量オーダを生成し処理する必要がある。現在の平均取引規模が米国株式市場全体で200シェアであると仮定すると、制度的アルゴリズムは、100000シェアのオーダを完了するために、500取引を有する必要がある。500回の実施を達成するために、典型的なアルゴリズムストラテジは、5000個のオーダを発行し、その大部分は最終的にキャンセルされる。アルゴリズム的スライシングから生じるオーダのこの幾何学的爆発は、最も速いオーダに報いる市場構造における高頻度取引市場メーカーによってさらに悪化し、処理のオーバーヘッドを増加させる。また、フラッシュクラッシュの発生の増加に反映されるように、金融データネットワーク全体を混乱させるリスクも増加する。
【0009】
両側のオーダは、売買マッチングが行われる前に処理するために多くの離散的少量オーダに分割されていることから、従来のアルゴ取引システムおよび実施ベニューは、大量オーダが完全にまたは部分的にコントラオーダとマッチングされ得る状況を識別することができない。機関投資家Aが同じセキュリティの大量のシェアを同じベニューおよび時間、同じストラテジで売りたいと思い、Bが同じセキュリティの大量のシェアを同じベニューおよび時間、同じストラテジで買いたいと思っている場合であっても、既存の取引システムは、親オーダにマッチングすることができない。したがって、機関投資家は、1つの価格での大きな取引(典型的にはブローカによって高い手数料を伴い特別オーダとして扱われ)、または時間、ボリューム、価格、ベニュー、および相手方の範囲にわたる小規模かつ低速の取引で制約を受ける。
【0010】
アルゴリズム取引ストラテジによるオーダの実施のパフォーマンスまたは品質は、適用されるアルゴリズムストラテジのベンチマーク価格に対して定量的に測定することができる。例えば、POV10%のアルゴリズム実施ストラテジによる10000シェアのオーダのベンチマークは、市場で取引される次の10万シェアの出来高加重平均価格(VWAP)になる(10000/100000 = 10%)。
【0011】
従来のアルゴ取引システムおよび方法は、ベンチマークを時間マッチングさせるか、または最良化させるという点で、本質的に欠陥がある。その結果、アルゴオーダシステムは一定のベンチマークを達成し、不足を最小限に抑えるように設計されているが、ベンチマークを完全にマッチングさせることはできない。異なるベニューで利用可能な流動性(異なる数量のオーダおよび休止中の指値)は、連続的に変化しており、孫オーダのためのアルゴリズムプロセッサで使用されるSORは、これらのすべてのベニューからの市場データに連続的に反応しており、これは遅延する可能性がある。その結果、アルゴリズムプラットフォームは、常に流動性を追求しようとしている。平均して、アルゴプラットフォームは、常に、すべての現場で利用可能な最良の流動性に基づいて達成可能な最良の価格を反映するベンチマークよりも性能が悪くなる。
【0012】
さらに、取引ベニューは、アルゴリズムストラテジレベルでオーダを正確にマッチングさせることができない。トラジェクトリクロスベニューでさえ、セキュリティの事前ボリューム推定に依拠して、「トラジェクトされる」量をサイズ設定し、これにより、量予測誤差を介してスリップが生じる。また、(例えば、超過条件付きオーダを発行することによって)複数のベニューでの流動性ニーズを典型的に表現し過ぎているにもかかわらず、アルゴリズムは、取引量をどこにでも見逃すことができず、したがって、速度および待ち時間の不利な点のために、取引ベニューにおけるブローカの実施アルゴリズムの待ち行列位置は、ベニューにわたる待ち時間裁定を専門とする高頻度マーケットメーカよりも典型的に優先順位が低くなる。このような、他の非効率性の結果として、ベンチマークのスリップ総額は、米国株式市場では年間1000億ドルを超える可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0013】
このような非効率性、制約、および他の欠点は、レートまたは範囲を有する選択されたストラテジでオーダが発行され、ストラテジマッチングベニューでコントラオーダに対して目標とされる実施ストラテジに暗黙のレートで照合される取引システムアーキテクチャおよび方法によって対処される。オーダとコントラオーダとの間のマッチングが1つの離散的数量、価格、および取引報告をもたらす従来のベニューとは異なり、ストラテジマッチングはオープンエンドであり、マッチングしたオーダのストラテジに対する互換性のあるレートにしたがってそれぞれ無制限の数量、価格、および取引のストリームを含むことができる。価格および数量は、連続市場で行われる価格およびサイズに基づくことができ、マッチングの実施のストリームは、当事者のオーダ数量または値幅制限のいずれかが使い果たされ、違反され、またはキャンセルされるまで継続することができる。
【0014】
例えば、10%の実施率を有する取引ストラテジを有する買い手および売り手は、どちらの当事者側も他の側またはストラテジを知らないにもかかわらず、ストラテジマッチングベニューおよび生成された所望の比率に正確にマッチングする実施のストリームでマッチングすることができる。
【0015】
ストラテジオーダは、セキュリティ、サイド、数量、指値、および特定のストラテジを指定することができる。ストラテジは、所定のセットのストラテジから選択される。セットの各ストラテジは、指定されたレートまたはレート範囲を有する。各ストラテジは、同じストラテジタイプを有するコントラオーダにマッチングすることができ、ストラテジのうちの1つ、いくつか、またはすべてを、少なくとも1つの他のストラテジタイプにマッチングさせることもできる。異なる所定のセットのストラテジを提供し、異なるユーザが使用できる。
【0016】
ストラテジには、実施ストラテジに暗黙の流動性率に基づく優先度など、異なるマッチング優先度を与えることができる。有利には、取引優先順位を価格の代わりにレートの前後に編成することは、レートベースの実施ストラテジをベニューの流動性とよりよくマッチングさせる。市場参加者は、従来のシステムのように、価格およびオーダ提出のスピードで競合する代わりに、要求され提供されるレートに基づいて流動性を競合する。
【0017】
システム、方法、およびアーキテクチャは、互いに作用することができるが、独立して動作することもできる3つの主要な部分で実施することができる。ストラテジマッチングベニューエンジン、アルゴリズム取引プラットフォーム(本明細書ではHEROシステムと呼ばれることもある)と連携して動作するレート最適化システムエンジン、およびOMS/EMSシステム(本明細書ではPROシステムと呼ばれることもある)と連携して動作する事前または事後ルーティン最適化システムエンジン。
【0018】
ストラテジマッチングベニューは、ストラテジオーダを受け取り記憶する。各ストラテジオーダは、所定のストラテジセットから選択された少なくとも1つの割り当てられたメインストラテジを有する。ストラテジマッチングベニューに発行された非ストラテジオーダには、デフォルトストラテジを割り当てることができる。市場性機能は、記憶されたストラテジオーダに定期的に適用されて、市場性のあるオーダを識別することができる。セキュリティのような取引可能単位を交換するために利用可能なレート容量を有する市場性のあるオーダは、取引可能とみなされる。
【0019】
ストラテジマッチングベニューは、取引可能なオーダを選択し、コントラオーダを検索してマッチングを識別することができる。ストラテジマッチングベニューは、オーダの取引可能性および各オーダのストラテジの互換性を含むことができる要因に基づいて、オーダ間のマッチングを識別する。複数のコントラオーダがマッチングに利用可能である場合、マッチングは、コントラストラテジタイプ、オーダサイズ、オーダソース、オーダ時間、および/または他の要因のうちの1つ以上を含むことができる要因に基づいて優先順位を付けることができる。所定の取引可能なオーダは、複数のコントラオーダに同時にマッチングすることができる。
【0020】
取引は、外部データ(市場データ)を参照して、マッチングしたオーダのペアについて処理され、実施のストリームは、例えば、市場データと、マッチングしたオーダのストラテジのレートオーバーラップとに基づいて生成される。実施ストリーミングは、ペアの両方のメンバが取引可能である限り継続することができる。
【0021】
HEROシステムは、ブローカ/ディーラによって使用されるような既存のアルゴリズム(アルゴ)取引システムと密接に関連して動作させることができる。HEROシステムは、アルゴリズム取引システムと統合され、アルゴリズム取引システムに配置されたアルゴリズムオーダを、ストラテジマッチングベニューによってサポートされるストラテジのためのストラテジオーダに変換することによって、ストラテジオーダを生成する。所定のストラテジマッピングルールを使用して、対応するアルゴリズムオーダの属性に基づいて、およびユーザ設定に基づいて、適用される特定のストラテジタイプを選択できる。異なるユーザは、アルゴリズムオーダ属性をストラテジオーダのためのストラテジタイプにマッピングするための異なる方法を好むこともある。ストラテジマッピングルールの1つ以上のセットは、それが発行した取引デスクのようなオーダの属性に基づいて選択された任意の所定のオーダに対して使用されるストラテジの同じ所定のセットおよびマッピングルールセットに対して提供されることができる。ストラテジマッピングルールは、アルゴリズムオーダに対して指定されたレートからストラテジへの単純な直接マップであってもよいより複雑なルールを定義することもできる。ここでは、所定のアルゴについて選択されるストラテジは、市場条件および既に満たされている可能性があるアルゴオーダの量などであるが、これらに限定されないアルゴオーダ自体の外部のデータに基づいて動的に変化することができる。
【0022】
HEROシステムは、ストラテジマッチングベニューおよびアルゴプラットフォームとインターフェースし、アルゴオーダに対する最良の取引結果を得るために両方のアクティビティを調整する。メッセージは、アルゴ取引システム、HEROシステム、およびストラテジマッチングベニューの間で交換され、ストラテジオーダおよび対応するアルゴオーダの処理を調整し、その結果、ストラテジオーダマッチングが利用可能である場合、価格検出市場における対応するアルゴオーダプロセスのためにストラテジマッチングが機能する。
【0023】
PROシステムは、オーダ処理ワークフローにおいて、HEROシステムよりも高いレベルで動作し、ストラテジマッチングベニューおよびOMS/EMSとインターフェースし、取引デスクのための最良の取引結果を得るために、両方にわたって活動を調整する。HEROシステムで行われるように、オーダを機能させるアルゴリズムオーダプラットフォームと直接作用する代わりに、PROシステムは、取引デスクによって使用されるOMSまたはEMSと作用して、アルゴリズムオーダを発注し、ストラテジマッチングベニューにストラテジオーダを発行する。ストラテジオーダは、OMS/EMSによって発行されたアルゴオーダに対応して生成され、ストラテジオーダは、ストラテジマッチングベニューに発行される。OMS/EMS、PROシステム、およびストラテジマッチングベニューの間でメッセージが交換され、ストラテジオーダおよび対応するアルゴオーダの処理を調整し、ストラテジオーダマッチングが利用可能であれば、ストラテジマッチングが対応するアルゴオーダに有利に働くようにする。
【0024】
本発明のシステム、方法、およびアーキテクチャは、特に大きなオーダの処理に関して、従来の取引システムに対して多くの利点を有する。実施ストラテジを追求する際に、マッチングプロセスを無数に繰り返す必要はない。実施されるマッチングサイクル数が大幅に低減されるので、親オーダ当たりに送信される子オーダの後続の数も大幅に削減される。さらに、複数のサブオーダを複数のベニューに送る必要性が排除される。その結果、潜在的情報漏洩は、ストラテジマッチングベニューにおける実施中心の参加者に限定され、ストラテジオーダの存在を知ることができるHFTマーケットメーカなどの第三者の数は、従来の取引システムに比べて大幅に削減される。さらに、実施ベンチマークに対する相対的なスリップは、大部分または完全に排除され、情報漏洩のこの減少、ならびに従来のシステムおよび方法に存在する市場間および市場内の分裂の構造的欠点の排除のために、到着に対する絶対的なスリップは大幅に削減される。
【0025】
本発明の態様は、また、条件付きオーダをサポートする。マッチングしたオーダのキャンセルは、オーダがストラテジマッチングベニューでアクティブに機能しており、部分的にしか満たされていない場合であっても可能である。
【0026】
一実施形態では、本発明の様々な態様を実施する改善されたセキュリティ取引システムは、(i)ストラテジオーダを受け入れ、マッチングさせ、満たすストラテジマッチングベニュー、(ii)ブローカ/ディーラのアルゴ取引プラットフォームと作用し、アルゴ取引プラットフォームで機能しているアルゴオーダに関連するストラテジオーダを生成し、ストラテジマッチングベニューにストラテジオーダを発行し、対応するアルゴオーダを優先してストラテジオーダを機能させるHEROシステム、および(iii)従来のアルゴ取引プラットフォームを使用してブローカ/ディーラシステムにオーダを発行することができるOMS/EMSと作用するPROシステムであって、PROシステムが動作して、OMS/EMSによって発行されるアルゴオーダに関連するストラテジオーダを生成し、ストラテジマッチングベニューにストラテジオーダを発行し、対応するアルゴオーダを優先してストラテジオーダを機能させるPROシステムのうちの1つまたは組合せを備えることができる。従来の交換ベニューは、例えば、アルゴ取引プラットフォームからのオーダにサービスを提供し続けることができる。
【0027】
一実施形態では、ストラテジマッチングベニューは、適切なハードウェア、メモリ、および所望の取引レベルをサポートするためのネットワークアクセスを有するコンピュータ化されたシステムを備え、システムは、コンピュータメモリに記憶されたコンピュータソフトウェアにしたがって動作する。動作中、ストラテジマッチングベニューは、第1取引可能アイテムに対する複数のストラテジオーダを受け取り、コンピュータメモリに保持されたストラテジオーダブックにストラテジオーダに関する情報を記憶する。各ストラテジオーダは、HEROシステム対応システム、PROシステム対応システム、または任意の他の適切なソースなどのそれぞれのソースからのものである。各オーダは、サイド、指値、およびストラテジを指定する情報を備える。それぞれのストラテジは、所定のセットのストラテジのメンバであり、それぞれのレートまたはレートの範囲を有する。
【0028】
ストラテジオーダブックのストラテジオーダから選択された取引可能な第1ストラテジオーダ。取引可能性は、取引可能性機能を適用して、それぞれのストラテジオーダおよび第1市場データの属性を評価することによって決定することができる。ストラテジオーダブックにおけるストラテジオーダは、第1ストラテジオーダと、第1ストラテジオーダのストラテジと互換性のあるそれぞれのストラテジを有し、第1コントラストラテジオーダと第1市場データに適用される取引可能性関数に基づいて取引可能である第1コントラストラテジオーダとの間の第1マッチングを見つけるために検索される。第1マッチングのマッチング状態は、最初はブレーク(破られる)されていない。マッチング状態は、第1ストラテジオーダまたは第1コントラストラテジオーダのいずれかが取引不可能になった場合にブレークする。
【0029】
第1マッチングがブレークされていない間、取引可能項目に対するフィルは、第1ストラテジオーダと第1コントラストラテジオーダとの間で、第1ストラテジオーダおよび第1コントラストラテジオーダのそれぞれのストラテジに互換性のある最大レートで断続的に発行され、フィル量は、取引可能項目に関連する第2市場データに適用される最大レートの関数である。ストラテジオーダブックの第1ストラテジオーダおよび第1コントラストラテジオーダに関する情報は、フィル量を反映するように更新される。少なくとも1つの実施メッセージは、第1ストラテジオーダおよび第1コントラストラテジオーダについてそれぞれのソースに送信され、各実施メッセージは、実施されたフィル量を示す。
【0030】
一実施形態では、第1マッチングを見つけることに応答して、マッチングを見つけた条件メッセージが第1ストラテジオーダおよび第1コントラストラテジオーダについてそれぞれのソースに送信される。
【0031】
一実施形態では、各実施されたフィルに応答して、それぞれの実施メッセージが第1ストラテジオーダのソースと、それぞれの実施されたフィル量を示す第1コントラストラテジオーダのソースとに送信される。
【0032】
一実施形態では、第1マッチングのブレークに応答して、マッチング終了条件メッセージが第1ストラテジオーダおよび第1コントラストラテジオーダのためのそれぞれのソースのうちの少なくとも1つに送信される。
【0033】
一実施形態では、取引可能アイテムは、第1セキュリティを備え、第1市場データは、市場における少なくとも第1セキュリティについて最良の利用可能なアスク価格および最良の利用可能なビッド価格を示すデータを備え、第2市場データは、市場における第1セキュリティについてのそれぞれの取引された数量および価格での少なくとも1つの報告された取引を示す取引データを備える。それぞれのオーダについての取引可能性機能は、それぞれのオーダについての指値および第1市場データに基づいてそれぞれのオーダが市場性があること、およびそれぞれのオーダが利用可能な容量を有し、オーダが市場性があり、利用可能な容量を有する場合に取引可能であることの決定を備えることができる。それぞれのフィル量は、それぞれの報告された取引の取引量に適用される最大レートとすることができ、それぞれのフィル価格は、それぞれの報告された取引の価格またはその機能とすることができる。
【0034】
一実施形態では、ストラテジオーダブックに記憶されたストラテジオーダの市場性は、新しい第1市場データの受信に応答して決定される。一実施形態では、それぞれのフィルは、新しい第2市場項目データの受信に応答して実施される。
【0035】
一実施形態では、互換性のあるストラテジを有する複数のコントラオーダがストラテジオーダにマッチングするために利用可能である場合、コントラオーダは、ストラテジの相対的な優先順位にしたがって優先順位を付けることができる。同じ優先順位ストラテジを有する複数のコントラオーダが利用可能である場合、オーダはオーダサイズを含むこともできる1つ以上の追加の優先順位要因に基づいて優先順位付けすることができ、オーダは、より小さいオーダ、オーダソース、およびストラテジマッチングベニューでの到着時間よりも高い優先順位を有する閾値サイズを超える。
【0036】
一実施形態では、第1ストラテジオーダおよび第1コントラストラテジオーダのそれぞれのストラテジに互換性のある最大レートは、第1ストラテジオーダに利用可能な最大レートおよび第1コントラストラテジオーダに利用可能な最大レートの最小レートである。
【0037】
一実施形態では、オーダペアがマッチングすると、マッチングに関する情報をアクティブストリーム表の1つ以上のアクティブストリームレコードに記憶することができる。アクティブストリーム表の各レコードは、第1サイドと現在マッチングしているコントラオーダとのそれぞれを識別する。適切なアクティブストリームレコードへのリンクは、オーダブックのマッチングしたオーダのオーダレコードにも記憶することもできる。
【0038】
一実施形態では、ストラテジオーダを条件付きとすることができる。第1マッチングの第1オーダおよび第1コントラオーダの少なくとも1つが条件付きの場合、条件付きマッチングを生成でき、マッチングに関する情報が記憶される。各条件付きオーダのソースに確定メッセージが送信される。取引可能アイテムに対するフィルは、マッチングの各条件付きオーダが確定されるまで実施されない。所定の期間内に確定されない場合、条件付きマッチングをリリースすることができる。
【0039】
確定メッセージには、確定中の特定のマッチングに関連付けられたマッチングID番号を含めることができる。確定応答は、応答に含まれるマッチングID値に基づいて、関連するストラテジマッチングにマッチングさせることができる。確定応答は、確定されるそれぞれの条件付きストラテジオーダに対する更新、または確定されるそれぞれの条件付きストラテジオーダに対する置換非条件付きストラテジオーダを含むことができる。
【0040】
一実施形態では、オーダブックに格納されたオーダデータは、それぞれのオーダの利用可能容量を含むことができ、利用可能容量は、コントラオーダとの後続のマッチングに適用することができる、そのオーダのために利用可能なオーダ容量を示す。様々な実施形態では、オーダ容量は、それぞれのオーダに対する利用可能なボリュームレートまたはレートの範囲に関して、利用可能な容量に関して、または他の尺度によって指定することができる。第1ストラテジオーダと第1コントラストラテジオーダとがマッチングする場合、各オーダの利用可能容量は、第1マッチングの間に第1オーダと第1コントラオーダとの間で交換するためのシェアの予想される総量によって、第1ストラテジオーダおよび第1コントラストラテジオーダのそれぞれのストラテジに互換性のある最大ボリュームレートによって、または他の尺度によって削減され得る。第1オーダの利用可能容量がゼロまたは最小閾値より大きいままである場合、第1オーダは、第1マッチングがアクティブのままである間に、追加のコントラオーダにマッチングさせることができる。
【0041】
一実施形態では、ストラテジオーダは、代替ストラテジおよび代替ストラテジをアクティブ化するための所定の条件をさらに指定することができる。代替ストラテジの使用をトリガするための条件は、関連するセキュリティの現在価格とストラテジオーダの指値との間の差として指定することができる。
【0042】
一実施形態では、それぞれのストラテジ量または指値が変更されることを指定するストラテジオーダ変更メッセージを受信することができる。ストラテジオーダ変更メッセージは、それぞれのオーダの現在のストラテジを置き換えるために使用されるストラテジを指定することができる。
【0043】
一実施形態では、HEROシステムは、適切なハードウェア、メモリ、および所望の取引レベルをサポートするためのネットワークアクセスを有するコンピュータ化されたシステムを備え、システムは、コンピュータメモリに格納されたコンピュータソフトウェアしたがって動作する。HEROシステムは、ストラテジマッチングベニューと、ネットワークによって少なくとも1つの取引ベニューに接続された自動化されコンピュータ化されたアルゴリズム取引プラットフォームと通信するように構成される。
【0044】
アルゴリズム取引プラットフォームは、取引可能なアイテムを指定する取引オーダを処理するように動作し、取引可能なアイテムは、セキュリティ、数量、サイドであってもよく、アルゴリズム制約にしたがって取引オーダからサブオーダを断続的に生成することによって、関連するアルゴリズム制約を有する。サブオーダは、それぞれのサブオーダ量を指定し、ポイントインタイム(PIT)取引ベニューに発行される。PIT実施メッセージが受信され、各PIT実施メッセージは、それぞれのサブオーダに対応し、それぞれのサブオーダのフィル量を示し、フィル量は、それぞれのサブオーダ量以下である。
【0045】
取引オーダに対応する第1ストラテジオーダが生成され、第1ストラテジオーダは、取引オーダのセキュリティおよびサイド、HEROシステムによる1組の所定のストラテジマッピングルールおよび取引オーダの少なくとも1つの属性のルールにしたがって、所定の1組のストラテジから選択されるそれぞれのストラテジを指定する。複数のベアの所定のストラテジマッピングルールを定義することができ、特定のベアのストラテジマッピングルールを取引オーダが発行されたトレーダまたはトレーダグループなどの特定の取引オーダの属性に基づいて選択することができる。
【0046】
第1ストラテジオーダに関する情報は、ストラテジオーダテーブルに追加され、第1ストラテジオーダは、ストラテジマッチングベニューに発行される。
【0047】
第1ストラテジオーダのためのストラテジマッチングベニューからマッチング検出条件メッセージを受信すると、アルゴリズム取引プラットフォームは、第1ストラテジオーダに対応する取引オーダのためのサブオーダの生成を停止するようにHEROシステムによって制御される。
【0048】
ストラテジマッチングベニューから、第1ストラテジオーダに関連する実施メッセージを受信すると、ストラテジオーダテーブルの第1ストラテジオーダのそれぞれの取引量および取引価格データの第1オーダの実施を指定し、実施量を反映するように更新され、実施メッセージからの実施情報は、HEROシステムによってアルゴリズム取引プラットフォームに送信される。
【0049】
ストラテジマッチングベニューからマッチングブレーク条件メッセージを受信すると、アルゴリズム取引プラットフォームは、第1アルゴリズム取引オーダのためのサブオーダの発行を再開するように制御され、取引オーダのために利用可能な少なくとも1つの潜在シェアが存在する場合、サブオーダの生成が再開される。
【0050】
一実施形態では、取引オーダのための利用可能な量情報は、アルゴリズム取引プラットフォームから受信され、第1ストラテジオーダのためのストラテジオーダテーブルレコードの量データは受信された利用可能な量情報に基づいて更新される。ストラテジマッチングベニューからの実施データの受信に応答して、ストラテジオーダ表の第1ストラテジオーダに関する記録データは、実施データを反映するように調整される。
【0051】
一実施形態では、第1ストラテジオーダは、ストラテジマッチングに利用可能なシェアの最大数を指定することができ、またはこれは後で決定することができる。ストラテジマッチングに利用可能なシェアの最大数は、第1ストラテジオーダの潜在シェア(取引ベニューにルーティン化されていないオーダの未実施シェア)数からバッファ値を引いたものである。
【0052】
一実施形態では、第1ストラテジオーダは条件付きストラテジオーダである。第1ストラテジオーダに対するストラテジマッチングベニューからの確定メッセージの受信に応答して、第1ストラテジオーダに関連してストラテジマッチングに利用可能なシェアの確定数が決定され、確定応答は、ストラテジマッチングベニューを送信した。一実施形態では、シェアの確定数は、第1アルゴリズムオーダに関連付けられた潜在シェア数とすることができ、または代替として、第1アルゴリズム取引オーダに関連付けられた残シェア数とすることができる。一実施形態では、確定された応答は、確定されたシェア数を指定する第1ストラテジオーダに対する更新であってもよく、あるいは確定されたシェア数を指定するコンテンツを有し、第1オーダIDまたは第1オーダIDへのリンクに関連付けられた第2ストラテジオーダであってもよく、第2ストラテジオーダに有利になるように第1ストラテジオーダをキャンセルする第2メッセージも、オプションとして、HEROシステムによって送信されてもよい。
【0053】
一実施形態では、確定リクエストのHEROシステムによる受信に応答して、HEROシステムは、第1アルゴリズムオーダに関連する未処理の子オーダのキャンセルをリクエストするキャンセルオーダ指示をアルゴリズム取引プラットフォームに送信し、アルゴリズム取引プラットフォームからキャンセル確認メッセージを受信した後、ストラテジ取引プラットフォームで確定応答プロセスを実施することができる。
【0054】
一実施形態では、ストラテジオーダテーブルのアクティブストラテジオーダに関する情報は、第1アルゴリズムオーダに利用可能な潜在シェアの現在の数を示すコンテンツを備え、潜在シェア数は、アルゴリズム取引プラットフォームからの取引オーダに関するオーダ実施情報の受信に応答して更新される。第1ストラテジオーダに対するストラテジマッチングに利用可能なシェアの最大数の変化に応答して、メッセージを、変化を示すストラテジマッチングベニューに送ることができる。
【0055】
一実施形態では、PROシステムは、所望の取引レベルをサポートするための適切なハードウェア、メモリ、およびネットワークアクセスを有するコンピュータ化されたシステムを備え、システムは、コンピュータメモリに記憶されたコンピュータソフトウェアにしたがって動作する。PROシステムは、ストラテジマッチングベニューおよびオーダまたは実施管理システムと通信するように構成される。ストラテジマッチングベニューは、特定のストラテジを有するストラテジオーダを、互換性のあるストラテジを有するコントラストラテジオーダとマッチングし、マッチングされたオーダ間の取引実施のストリームを開始することによって、それぞれのシェアに対するストラテジオーダを処理する。管理システムは、アルゴリズム取引システムにアルゴリズムオーダを発行する。
【0056】
第1取引オーダは、セキュリティ、サイド、指値、およびアルゴリズム制約のような取引可能アイテムを識別する管理システムからPROシステムにおいて受信される。取引オーダに対応する第1ストラテジオーダが生成され、第1ストラテジオーダは、取引オーダのセキュリティおよびサイド、1ペアの所定のストラテジマッピングルールおよび取引オーダの少なくとも1つの属性におけるルールにしたがって、所定の1ペアのストラテジから選択されるそれぞれのストラテジを指定する。複数のペアの所定のストラテジマッピングルールを定義することができ、特定のペアのストラテジマッピングルールを、取引オーダが発行された取引デスクまたはブローカなどの特定の取引オーダの属性に基づいて選択することができる。
【0057】
取引オーダから取引可能アイテム、サイド、および指値を指定し、さらに第1ストラテジタイプを指定する、第1オーダIDおよびコンテンツを有する条件付き第1ストラテジオーダが生成される。第1ストラテジオーダに関する情報は、ストラテジオーダテーブルに追加され、第1ストラテジオーダは、PROシステムによってストラテジマッチングベニューに発行される。
【0058】
第1ストラテジオーダに対するストラテジマッチングベニューからの確定メッセージの受信に応答して、PROシステムは、アルゴリズム取引プラットフォームに発行された取引オーダの最小部分がキャンセルされることを示すオーダキャンセルメッセージを管理システムに送信することができる。管理システムからキャンセル確認を受け取ると、ストラテジマッチングのための第1ストラテジオーダに利用可能なシェアの確定数が決定され、シェアの確定数を示す確定応答がストラテジマッチングベニューに送られる。一実施形態では、確定応答は、シェアの確定数を指定する第1ストラテジオーダに対する更新であってもよく、あるいはシェアの確定数を指定するコンテンツを有し、第1オーダIDまたは第1オーダIDへのリンクに関連付けられた第2ストラテジオーダであってもよく、第2ストラテジオーダに有利になるように第1ストラテジオーダをキャンセルする第2メッセージを任意選択で送信することもできる。
【0059】
ストラテジマッチングからのマッチング検出条件メッセージは、確定した第1ストラテジオーダがコントラストラテジオーダとマッチングされたことを示す。所定のタイムアウト期間内にマッチング検出条件が受信されない場合、第1取引オーダのキャンセルされた部分を再発行できることを示す再発行メッセージが管理システムに送信される。
【0060】
それぞれの取引量および取引価格の第1オーダの実施を指定する第1ストラテジオーダに関連する実施メッセージをストラテジマッチングベニューから受信すると、ストラテジオーダテーブルの第1ストラテジオーダの記録は、実施量を反映するように更新され、実施メッセージからの実施情報は、PROシステムによって管理プラットフォームに送信される。
【0061】
受信されたマッチング検出メッセージは、マッチングから生じることができるストラテジオーダのための取引されたシェアの最大数の指標を含むことができる。これに応答して、メッセージは、PROシステムによって、この値を有する管理システムに送信することができ、管理システムは、最大数がストラテジマッチングベニューによって満たされたと仮定した後に、利用可能なシェア数を有するアルゴリズムオーダを再発行することができる。
【0062】
ストラテジマッチングベニューからマッチングブレーク条件メッセージを受信すると、管理システムは、取引オーダの満たされていない部分をアルゴリズム取引プラットフォームに再発行することができることを示すメッセージを管理システムに送信する。
【図面の簡単な説明】
【0063】
本発明のさらなる特徴および利点、ならびに本発明の様々な実施形態の構造および動作は、添付の図面を参照して以下に詳細に開示される。
【0064】
【
図1】
図1は、従来のアルゴリズム取引プラットフォームのためのシステムアーキテクチャを示すハイレベルブロック図である。
【
図2A】
図2Aは、従来のアルゴオーダ管理および従来のアルゴリズムの一般的な動作のハイレベルフローチャートである。
【
図2B】
図2Bは、従来のアルゴオーダ管理および従来のアルゴリズムの一般的な動作のハイレベルフローチャートである。
【
図3】
図3は、本発明の第1主要実施形態による改善された取引システムアーキテクチャのハイレベルブロック図である。
【
図4】
図4は、
図3のHEROシステムエンジンの実施形態のハイレベル図である。
【
図5】
図5は、HEROシステムの一実施形態の機能的態様と、HEROシステムエンジンとHEROシステム認識アルゴリズム取引システムとの間の通信とを示すハイレベル図である。
【
図6】
図6は、ストラテジオーダ取引マップの説明図である。
【
図7A】
図7Aは、HEROシステム認識アルゴオーダ管理の動作のハイレベルフローチャートである。
【
図7B】
図7Bは、HEROシステム認識アルゴオーダ管理の動作のハイレベルフローチャートである。
【
図8A】
図8Aは、処理オーダにおけるHEROシステムの一実施形態の動作のハイレベルフローチャートである。
【
図8B】
図8Bは、処理オーダにおけるHEROシステムの一実施形態の動作のハイレベルフローチャートである。
【
図8C】
図8Cは、処理オーダにおけるHEROシステムの一実施形態の動作のハイレベルフローチャートである。
【
図9A】
図9Aは、HEROシステム認識アルゴリズム取引システムおよびHEROシステムによるサンプルアルゴオーダおよび対応するストラテジオーダの処理の例を示す。
【
図9B】
図9Bは、HEROシステム認識アルゴリズム取引システムおよびHEROシステムによるサンプルアルゴオーダおよび対応するストラテジオーダの処理の例を示す。
【
図11】
図11は、オーダ管理および実施管理システムを有する取引プラットフォームの実施形態のシステムアーキテクチャのハイレベルブロック図である。
【
図12A】
図12Aは、本発明の第2主要実施形態による改善された取引システムアーキテクチャのハイレベルブロック図である。
【
図12B】
図12Bは、本発明の第2主要実施形態による改善された取引システムアーキテクチャの高レベルブロック図である。
【
図14A】
図14Aは、ストラテジマッチングベニューの実施形態のハイレベル機能ブロック図である。
【
図14B】
図14Bは、ストラテジマッチングベニューの実施形態のハイレベル機能ブロック図である。
【
図15】
図15は、
図14のストラテジマッチングベニューによるストラテジオーダの処理中に記憶され、使用されることができる様々なタイプの情報の図である。
【
図16A】
図16Aは、
図14のストラテジマッチングベニューの様々な内部システムの実施形態によって提供される基本機能のハイレベルフローチャートである。
【
図16B】
図16Bは、
図14のストラテジマッチングベニューの様々な内部システムの実施形態によって提供される基本機能のハイレベルフローチャートである。
【
図16C】
図16Cは、
図14のストラテジマッチングベニューの様々な内部システムの実施形態によって提供される基本機能のハイレベルフローチャートである。
【
図17】
図17は、ストラテジオーダマッチングエンジンの一実施形態のハイレベルフローチャートである。
【
図18】
図18は、ストラテジ取引プロセッサの実施形態のハイレベルフローチャートである。
【
図19】
図19は、オーダストラテジのセットを示す表である。
【発明を実施するための形態】
【0065】
図1は、セキュリティを売買するオーダを処理するために使用される従来のアルゴリズム取引プラットフォーム(アルゴプラットフォーム)100の一般的なシステムアーキテクチャを示すハイレベルブロック図である。アルゴリズムオーダ(アルゴオーダ)105は、機関オーダ管理システム(OMS)または実施管理システム(EMS)110から発行され、アルゴプラットフォーム100に送信される。アルゴオーダ105は、サイド(買いまたは売り)、数量、および指値を指定する。新アルゴオーダ105は、オープンアルゴオーダに関する情報を追跡するために使用されるアルゴオーダテーブル120に追加される。アルゴオーダテーブル120のアルゴオーダが処理されるように選択されると、アルゴリズムオーダ管理130は、アルゴオーダを多くのより小さい離散的子オーダに分割するように動作する。子オーダ135は、指定された実施アルゴリズムにしたがって親から連続的に「スライス」される。新アルゴオーダ105は、また、実施を時間にわたっておよび/または市場量にわたって分散させるように子スライスを制御するために、アルゴオーダ管理130によって使用される一般的な指示を有することもできる。
【0066】
子オーダ135は、子オーダをさらに小さい離散的孫オーダ145に分割するスマートオーダルータ(「SOR」)140によって処理される。SOR140は、孫オーダ145を選択されたPIT(ポイントインタイム)取引ベニュー150に向ける。各取引ベニュー150は、ポイントインタイム(PIT)取引を実施し、受信したオーダをコントラオーダとマッチングし、各マッチングについて、一定価格および一時点で交換されているセキュリティの単一の離散量の単一の実施を行う。実施情報155は、それぞれのPIT取引ベニュー150からアルゴ取引プラットフォーム100に戻され、これを用いて、適宜、孫、子、および初期オーダ145、135、105に関連する内部データを更新する。
【0067】
PIT取引ベニュー150で発注されたオーダが条件付きである場合、PIT取引ベニューは、そのオーダに対するオーダとのマッチングを検出すると、SOR140などのオーダ発信者に招待を送り、確定応答オーダを送るように招待する。確定応答オーダ160が受信された場合、確定応答オーダは、キャンセルされた条件付きオーダを置き換え、代わりに確定応答オーダが処理される。
【0068】
図2Aは、従来のアルゴオーダ管理130の一般的な動作のハイレベルフローチャートである。
図2Bは、従来のSOR140の一般的な動作のハイレベルフローチャートである。
図2Aおよび
図2Bを参照すると、例えば、セキュリティXYZのNシェアを購入するために、初期アルゴリズムオーダが受信されると(ステップ202)、シェアの初期数を含むオーダに関する情報が、アルゴリズムオーダテーブルに追加される(ステップ204)。初期または次の子スライスが必要とされる場合、適切なアルゴリズムおよびオーダパラメータが適用され、新しい子オーダ(例えば、nシェアについて)がスライスされる(ステップ206、208)。ここで、nはNよりはるかに小さくてもよい。子オーダが下流処理のためにSORに発行され(ステップ210)、アルゴオーダ表(または他の適切なデータセット)は、オリジナルのアルゴオーダにおける潜在シェア数、例えば、発行された子オーダに割り当てられておらず、したがって、さらなる子オーダにスライスされ、実施のために送出されることが可能であるシェア数を示すように更新される。(ステップ212)。潜在シェアがアルゴオーダに残っている場合(ステップ214)、システムは適用されたアルゴリズムにしたがって子オーダをスライスオフし、発行し続ける(ステップ206~212)。残りの潜在シェアがなくなると(ステップ214)、追加の子オーダをスライスする必要がなくなる。
【0069】
図2Bを参照すると、SORがアルゴオーダ管理から子オーダを受け取ると(ステップ216)、孫オーダを生成し、次に実施のためにPIT取引ベニューにそれらを発行する(ステップ218、210)。PIT取引ベニューからの実施情報がSORによって受信され(ステップ222)、実施データがアルゴオーダ管理に戻される(ステップ224)。
【0070】
図2Aに戻ると、子オーダ実施データがSORから受信されると(ステップ226)、アルゴオーダ管理は、実施された取引で交換されたシェアの量を反映するように、アルゴオーダテーブルのアルゴオーダに関する情報を更新する(ステップ228)。実施された全シェア数がアルゴーダの全シェア数未満(例えば、N未満)である場合(ステップ230)、アルゴオーダ管理は、SORからの追加の実施データを待ち続ける。(ステップ226)。残りのシェアがない場合、アルゴオーダ全体が満たされている(ステップ330)。交付されたアルゴオーダ、子オーダ、および/または孫オーダがそれぞれのオーダを適宜確定するための条件付きオーダである場合には、追加のステップを講じることができる。
【0071】
図3は、ストラテジマッチングプラットフォームを使用してストラテジオーダを実施することができ、従来のアルゴリズム取引システムと共に実施および動作することができる、改善された取引システムアーキテクチャ300のハイレベルブロック図である。
【0072】
アルゴリズムオーダと同様に、ストラテジオーダは、オーダセキュリティ(または他の取引可能なアイテム)、サイド(例えば、買いまたは売り)、および指値を指定する。さらに、従来の取引システムとは対照的に、ストラテジオーダは、また、所定のセットのストラテジから選択されるストラテジタイプを指定する。各ストラテジオーダタイプは、異なる実施レートまたはレートの範囲を有することができる。有利には、ストラテジマッチングシステムは、一定期間に市場で取引される量の100%を超えて実施するなど、従来のアルゴシステムによってサポートされない取引ストラテジを実施することができる。
【0073】
多種多様な異なるストラテジタイプを定義することができる。様々な所定のセットのストラテジを、様々な状況での使用、異なるタイプの取引可能アイテムの取引での使用、および様々な事業体による使用のために利用可能にすることができる。各機関トレーダまたはブローカディーラは、それ自体のカスタマイズされた独自のストラテジタイプのセットを有することができる。各ストラテジタイプは、レートまたはレートの範囲を有し、それ自体にマッチさせることができ、所定のセットの1つ以上の他のストラテジタイプにマッチングさせることができ、場合によっては他の所定のストラテジセットでマッチングさせることができる。ストラテジマッチングに優先順位を付けることができる。一実施形態では、ストラテジは、相対流動性率にしたがって優先順位を付けることができる。1つのストラテジが2つ以上の他のストラテジによってマッチングされ得る場合、より高いレートを提供するマッチングストラテジは、より高い優先度を与えられ得る。
【0074】
多種多様な異なるストラテジを定義することができるが、一実施形態では、ストラテジは、3つの基本クラスに分類される。第1ストラテジクラスは、100%以下の基準レートまたは基準レートの範囲を有するストラテジを備える。以下でさらに述べるように、ストラテジの基準レートは、例えば、実施量が、問題のアイテムの取引量の特定の記録に適用される一定レートから決定される、ストラテジオーダの実施レートを決定する際に使用される。第2ストラテジクラスは、基準レートまたは100%を超える基準レートの範囲を有するストラテジを備える。第3のストラテジクラスは、流動性検索であり、ストラテジオーダ処理中に許容される最大レートが使用されることを示す非数値レート(または無限大)を備える。
【0075】
図3に戻ると、高効率レート最適化(Hight Efficiency Rate Optimizer(HERO))システムエンジン310は、1つ以上のストラテジマッチングベニュー315に接続される。HEROシステムは、ストラテジマッチングベニュー315にストラテジオーダを発行するように動作する。ストラテジマッチングベニュー315は、受信されたストラテジオーダを同じセキュリティで互換性のあるストラテジを有するコントラストラテジオーダとマッチングさせようと試みる。
【0076】
ストラテジマッチングベニュー315によってマッチングが見つかると、マッチングされたオーダについてのそれぞれのストラテジタイプの互換性のある態様にしたがって、マッチングされたオーダについて一連の実施が実施される。PIT取引ベニュー150で動作する従来のアルゴ取引システム100で行われるように、離散的かつ独立的なサブオーダをマッチングさせる代わりに、ストラテジマッチングベニュー135のマッチングは、オープンエンドであり、マッチングされたストラテジオーダに利用可能な最大限まで流動性を最大化することができる。単一のマッチングは、基準レートおよび統合された取引量に基づいて、フィルの連続的な流れをもたらすことができ、ストラテジマッチングは、これが連続的な市場にアクセスする必要なしに行われることができるように実施される。実施価格は、市場取引データによって反映されるセキュリティの現在の市場価格と、オーダの取引ストラテジおよび市場データによって反映されるセキュリティの取引量などの現在の基準市場データの機能として決定される実施量とに基づくことができる。フィルの流れは、マッチングしたストラテジオーダ間の市場性のある流動性が使い果たされたときに終了する。
【0077】
以下でさらに説明するように、アルゴオーダは、アルゴ取引プラットフォームがマッチングを試みる目標レートなど、関連するアルゴリズム制約を有することができる。ストラテジオーダは、所定のストラテジマッピングルールにしたがって、所定のセットのストラテジからストラテジを選択することによって、アルゴオーダのために生成されることができる。ストラテジマッピングルールの異なるセットは、異なるシステムユーザによって定義することができ、使用される特定のマッピングテーブルは、たとえば、初期オーダを発行した当事者に応じて選択することができる。予め定義されたストラテジマッピングルールは、静的であってもよく、アルゴオーダ目標レートに基づいて特定のストラテジにマッピングされてもよい。ストラテジマッピングルールは、動的であってもよく、マッピングされるストラテジは、完了したアルゴオーダのパーセンテージ、問題のセキュリティに関連する市場データ入力、および/または他の直接的または間接的要因などの要因に依存する。
【0078】
図19は、どちらのストラテジタイプがどちらの他のタイプおよび優先順位とマッチングするのかを示す所定のセットのストラテジタイプと行列の例である。図示の実施形態では、低のレート範囲ストラテジが5%~15%の基準レート範囲を有するものとして定義され、中のストラテジが10%~30%の基準レート範囲を有するものとして定義される。低ストラテジを有するストラテジオーダは、オーダがマッチングしたときに、以下でさらに説明するように、マッチングした1つ以上のコントラオーダのストラテジに依存する実際のレートで、関連する取引量の5%~15%のレートで実施されるように、ストラテジマッチングベニューで処理される。同様に、中ストラテジを有するストラテジオーダは、関連する取引量の10%~30%の間のレートでストラテジマッチングベニューにおいて実施される。100%~200%および100%~400%のレートストラテジは、100%を超える実施レート範囲を示す。正確なレートストラテジは、ストラテジマッチングベニューの実施に対して、7%のような単一の基準レートを指定する。ストラテジは、他の範囲を有することもできる。ストラテジセットの所定のストラテジ数は、変化することができ、ストラテジ数を増加させることは、様々なストラテジ間のレート細分性を増加させることができる。ストラテジは、重なり合うストラテジが互いにクロスマッチングされることを可能にするために、意図的な重なり合いで定義されることができる。
【0079】
低ストラテジと中ストラテジとの両方が10%と15%との間のレートを許容し、したがって、低ストラテジタイプに関連する取引を使用して、いずれかのオーダの指定されたストラテジレート範囲に違反することなく、中ストラテジオーダ(より高いレートで実施される)によって行われるコントラ取引の少なくとも一部を満たすことができるので、低ストラテジと中ストラテジとは互いにマッチングすることができる。実際にはストラテジマッチングベニューでの実施に使用されるレートは、重なりの最大レートであり、ここでは15%であるが、代替の実施形態では、特定の取引状況に適切であると考えられる場合にはより低いレートを使用することができる。同様に、100%~200%および100%~400%のストラテジタイプは、100~400%のストラテジを有するオーダが200%のストラテジを有するオーダによって少なくとも部分的に満たすことができるので、この点で互換性がある。流動性検索ストラテジは、すべての金利ベースのストラテジおよび流動性検索ストラテジとマッチングする。
【0080】
所定のストラテジを、複数の異なる互換性のあるコントラストラテジにマッチングさせることができる場合、優先順位を最も高い潜在的流動性を有するマッチングに与えることができる。
図19では、ストラテジマッチング優先順位は、シーケンス番号1~5によって例示的に示され、1は最高優先順位を示す。例として、中(10%~30%)ストラテジを有する買いオーダは、流動性検索ストラテジを有するコントラオーダに優先的にマッチングされ、媒体ストラテジに利用可能なものがない場合、および低(5%~15%)ストラテジオーダに利用可能なものがない場合、マッチングされる。
【0081】
ストラテジオーダがコントラストラテジオーダにマッチングされると、ストラテジオーダに利用可能な追加の容量がある場合、そのストラテジオーダは別のコントラストラテジオーダにマッチングすることができ、他のコントラオーダは、互換性がない可能性があるストラテジを有することもできる。例えば、5~15%のストラテジを指定するストラテジオーダは、11%の正確なストラテジレートを有するコントラストラテジオーダに対してマッチングさせることができる。ストラテジマッチングは、11%レートで実施されるので、初期ストラテジオーダは(初期ストラテジマッチングが有効である間に)15%~11%=4%の残りの容量を有し、したがって、<=4%のストラテジ(または残りのストラテジ容量)を有する第2コントラオーダに対して同時にマッチングさせることができる。
【0082】
ストラテジマッチングルールのセットでは、目標取引レートXを有するアルゴオーダがAからBまでの範囲の基準レートを有するストラテジにマッピングされる傾向があり、ここでは、A<=X<=Bである。ただし、これはユーザが必要とするマッピングを指定する必要はない。さらに、この条件内であっても、2つ以上のストラテジがXを包含する基準レート範囲を有する場合、異なるユーザは、オーダを異なるストラテジにマッピングする自身のストラテジマッチングルールを定義することができる。例えば、第1ユーザは、5%~15%ストラテジへの12%マッピングのアルゴ目標レートを指定するアルゴオーダをもたらすルールを指定することができ、第2ユーザは、15%~30%ストラテジへの12%マッピングの同じ目標レートを伴うアルゴオーダをもたらすルールを指定することができる。第3ユーザは、5%と12.5%との間の基準レートを有する任意のアルゴオーダが5%~15%のストラテジにマッピングされ、一方、12.5%を超え35%未満の基準レートを有するオーダが10%~30%のストラテジにマッピングされることを指定することができる。
【0083】
図19のストラテジから選択されたストラテジを有するストラテジオーダAおよびBの実施例を関連するセキュリティ10000の取引量Vについて以下に示す。これらの例は、ストラテジオーダに市場性があり、それぞれが、交換されるべき決定された数量に対して利用可能な容量を有すると仮定する。いずれかのオーダの容量が計算された量よりも小さい場合、最も低い容量が交換される量を決定する。
【0084】
運用上、ストラテジマッチングベニュー315は、マッチングの一連の取引を実施し続ける。取引は、適用された参照レートおよび直近の取引量(対応する取引価格)から計算された数量を用いる、または、マッチングしたペアのオーダの容量が枯渇したり、オーダのうちの1つが市場性を欠いたりするまで、マッチングを求める流動性を求めるブロックの現在のビッドオファーの中間を用いる。
【0085】
HEROシステム310は、HEROシステム(本明細書ではHERO認識アルゴプラットフォームと呼ぶことができる)と連携して動作するように構成されたアルゴ取引プラットフォームエンジン320とも通信する。アルゴ取引プラットフォーム320およびHEROシステム310は、すべて、セルサイドまたはバイサイドのブローカディーラシステム全体の一部として実施することができ、システムを統合する様々な方法がある。適格なアルゴオーダがアルゴ取引プラットフォーム320に送信されると、HEROシステム310は、対応するストラテジオーダを生成し、このストラテジオーダをストラテジマッチングベニュー315に発行する。1つのストラテジマッチングベニュー315が示されているが、利用可能な複数のストラテジマッチングベニューがあってもよく、HEROシステム310は、所望に応じて適切なストラテジマッチングベニューを選択するように構成されてもよい。所定のストラテジオーダに使用されるストラテジマッチングベニューは、事前に定義することができ、または、発行されている取引可能アイテムのタイプまたはオーダに関する他の詳細などの様々な要因に基づいて動的に選択することができる。
【0086】
HEROシステム310およびそれぞれのストラテジマッチングベニュー315によるストラテジオーダの全体的な処理、ならびにアルゴ取引プラットフォーム320およびPITベニューによる対応するアルゴオーダの処理は、大まかに並行して起こる。ストラテジオーダに対するストラテジマッチングは、対応するアルゴオーダのアルゴリズム処理よりも優先される。メッセージは、HEROシステム310とアルゴ取引プラットフォーム320との間で交換され、HEROシステム310は、ストラテジマッチングベニューによるストラテジマッチングからのフィルのストリーミング中に、アルゴオーダのアルゴリズム処理を開始および停止するように、アルゴ取引プラットフォーム320に命令する。メッセージは、また、HEROシステム310およびアルゴ取引プラットフォーム320の両方を、それぞれのアルゴオーダおよび対応するストラテジオーダを満たす状態に関して最新の状態に保つために交換される。
【0087】
ストラテジマッチングから生じる実施されたシェアの総数は、ストラテジマッチングベニュー315によってマッチングが行われた時点では未知であり得る。ストラテジマッチングベニュー315はマッチングを検出すると、関連するストラテジオーダについて、本明細書では「ストリームオン」条件とも呼ばれる、マッチングが見つかった条件メッセージの存在をHEROシステム310に通知する。続いて、HEROシステム310は、アルゴ取引プラットフォーム320にストリームオン状態を通知し、アルゴ取引プラットフォーム320に対応するアルゴオーダについての新たな子オーダのスライスを停止するように指示する。
【0088】
フィルのストリームがストラテジマッチングベニュー315で終了すると、HEROシステム310に、「ストリームオフ」条件とも呼ばれるマッチングブレーク条件メッセージを関連するストラテジオーダのために送信する。HEROシステム310は、また、ストラテジマッチングベニュー315によって、ストラテジマッチングベニューでフィルが実施されている間、またはストリームが終了した後の合計など、ストラテジマッチング中に実施されたフィルの合計数を通知される。HEROシステム310は、ストラテジオーダに関連する内部記録を更新する。また、それは、アルゴ取引プラットフォーム320に、ストリームオフ状態と、(その情報がまだ提供されていない場合には)フィルの総数とを通知する。次いで、アルゴ取引プラットフォーム320は、対応するアルゴオーダについてそれ自体の内部記録を更新することができる。アルゴオーダが完全に満たされていない場合、アルゴ取引プラットフォーム320は残りのアルゴリズム処理を再開することができ、HEROシステム310およびストラテジマッチングベニュー315は、対応するストラテジオーダを処理するために並行して継続することができる。
【0089】
条件付きオーダを確定するために、または所定のオーダと交換することができるシェア量を決定するために、必要に応じて、ストラテジマッチングベニュー315と、HEROシステム310と、アルゴ取引プラットフォーム320との間で追加のメッセージを送信することもできる。ストラテジオーダがシェアの総数を指定する場合、ストラテジオーダ更新は、HEROシステム310によってストラテジマッチングベニュー315に送信されて、対応するアルゴオーダを作業するアルゴシステムの活動から生じる実施を反映することができる。
【0090】
一実施形態では、HEROシステム310はアルゴ取引プラットフォーム320の内部態様と通信することから、HEROシステムモジュール310は、一般的に、アルゴ取引プラットフォーム320を含む同じブローカディーラシステムに統合することができる。したがって、ブローカ/ディーラは、HEROシステムをその取引システムにインストールし、そのアルゴオーダ管理を修正することができ、HEROシステムと適切に通信し、必要に応じてアルゴリズムオーダ処理を開始および停止することができる。そのようなアルゴシステムは、その後、より効率的な方法で、全体的にまたは部分的に、対応するオーダを満たすことができる個別のオーダ処理システムと並列に配置された対応するオーダの処理に有利になるように、アルゴリズムオーダのアルゴリズム処理を一時停止し、再開するように制御可能である。
【0091】
アルゴ取引プラットフォームシステムは、また、適切なAPIまたは他のプログラムフックを有するように設計または修正されることができ、内部制御は、HEROシステムが最初に利用可能でないか、または利用可能であるが、個別のシステムとして実施される場合であっても、HEROシステムと協働するために必要とされる。アルゴプラットフォームと通信するために適切なAPIインターフェースを備えたHEROシステムモジュールを別々に追加することができる。HEROシステム310を、従来のアルゴ取引プラットフォーム320に実装し、統合することができる様々な方法がある。以下、特定の実施形態について説明する。
【0092】
図4は、HEROシステム315のアーキテクチャのハイレベル図である。一つ以上のコンピュータプロセッサ405は、プログラムメモリ410に記憶されたコンピュータソフトウェアを実施する。プロセッサ405は、アルゴリズムオーダに基づくストラテジオーダの生成に使用され、ストラテジオーダテーブル415、ストラテジマッピングルールの1つ以上のセット、および他の動作データ425などの1つ以上のデータリポジトリを含むデータメモリ412へのアクセスを有する。
【0093】
HEROシステム310を外部システムに接続するために、適切な通信インターフェース430が使用される。図示の実施形態では、LAN435は、HEROシステム310とアルゴ取引プラットフォーム320との間の通信を提供し、一方、別体のWAN440は、HEROシステム310と1つ以上のストラテジマッチングベニュー315との間の通信を提供する。HEROシステムを実施するために使用されるコンピュータプラットフォームは、期待される取引量をサポートするのに十分なデータスループットおよび処理能力を有する1つ以上の高速コンピュータとすることができる。LANおよびWANネットワーク435、440は、高速光ファイバデータネットワーク、または金融取引ネットワークで従来使用されている他のネットワークシステムとすることができる。適切なコンピュータプラットフォームは、当業者に知られている。
【0094】
プログラムメモリ410およびデータメモリ412は、全部または一部において、同一または異なる構成要素で実施することができる。メモリ410、420は、1つ以上の内部RAMおよびファームウェア、固体または磁気ドライブなどの局所電子データ記憶装置、USBまたはネットワークを介してアクセス可能な他のデータケーブルを介して物理的に結合されたメモリによって提供される外部データ記憶装置を含むことができる。ソフトウェアおよびデータを記憶する他のコンピュータ可読媒体を使用することもできる。HEROシステム310は、1つ以上のコンピュータサーバ、パーソナルコンピュータ、または他のコンピュータシステムで実施することができる。
【0095】
別体のユーザインターフェース445を設けることができ、PCなどの計算装置450がHEROシステム310にアクセスし、承認されたユーザがHEROシステム性能メトリックの監視、オーダマップおよび取引履歴の表示、システム構成の調整などの様々な管理機能を実施できる。遠隔装置450は、HEROシステム310に局所的に接続することができ、またはインターネット上のイントラネットまたは安全なVPNのようなネットワーク455を介して接続することができ、遠隔監視を提供することができる。
【0096】
HEROシステム310は、所定のブローカディーラシステムのインフラストラクチャの内部コンピュータシステムとして実施することができ、一実施形態では、アルゴ取引プラットフォーム320と同じ物理コンピュータ上で実施され、プロセッサ405は、アルゴおよびHEROシステムコードの両方を実施し、プログラムメモリ410は両方のシステムの機能を記憶する。このより緊密に結合された実施形態では、HEROシステム310と、アルゴ取引プラットフォーム320のソフトウェアモジュールとの間の通信は、当業者に知られている様々な内部APIまたは他のメッセージプロトコルを使用して、より低いレベルで実施することができ、別体のLAN接続は必要ない場合がある。
【0097】
代替的に、HEROシステム310は、LAN435およびWAN440への接続にそれぞれ適した光ファイバポート、イーサネット、USBポート、または他のデータ通信ポートなどのネットワークポートを備える通信インターフェース430を備えた高速サーバなどのスタンドアロンコンピュータシステムとして実施することもできる。そのような構成を実施するための様々なプログラミング技法が当業者に知られている。
【0098】
並列に動作する複数のHEROシステムを、アルゴ取引プラットフォーム320と共に使用することができる。負荷バランスおよび他の技術を使用することができ、HEROシステムに適切なアルゴオーダを割り当てることができる。同様に、いくつかの内部アルゴリズムオーダ管理を有するブローカディーラは、それぞれを共通のHEROシステムと統合することができる。
【0099】
図5は、(i)HEROシステム310とHEROシステム認識アルゴオーダ管理580を有するアルゴ取引プラットフォーム320の構成要素との間、および(ii)HEROシステム310と1つ以上のそれぞれのストラテジレベルストラテジマッチングベニュー315との間のHEROシステム310の一実施形態の機能的態様およびデータ通信を示すハイレベル図である。HEROシステム310およびシステム間通信の一実施形態の内部機能については、
図7および
図8のフローチャートを参照してより詳細に説明する。
【0100】
図示のHEROシステム310は、ストラテジオーダを追跡し、その詳細をストラテジオーダテーブル415に記憶することができ、情報およびメッセージをアルゴおよびストラテジオーダに関するアルゴ取引プラットフォームと交換することに主に関係する機能を含むストラテジオーダ管理505を備える。なお、アルゴオーダテーブル120とストラテジオーダテーブル415とに記憶されるオーダ量は、互いに関連付けられているが、同じでなくてもよい。HEROシステムは、ストラテジオーダでの使用のために利用可能とされるように、初期オーダ105で指定された総数量の一部分のみへのアクセスを与えられてもよい。この差は、過剰実施のリスクを防止するためのバッファとして働くことができる。
【0101】
ストラテジオーダ管理505とストラテジマッチングベニュー315との間の通信は、ストラテジオーダ管理505と1つ以上のストラテジマッチングベニュー315との間のストラテジオーダに関する通信をルーティン化するストラテジSOR510によってサポートすることができ、2つ以上が利用可能である場合に適切なストラテジマッチングベニューを選択する機能を有することができる。ストラテジSOR510は、ストラテジオーダ管理505とは離れて示されているが、機能は、統合されたソフトウェアプログラムに組み合わされてもよい。同様に、ストラテジオーダ管理505の機能は、複数のソフトウェアコンポーネントで実施されてもよい。
【0102】
様々なメッセージを、HEROシステム310とそれぞれのストラテジマッチングベニュー315との間で送ることができる。これらのメッセージは、ストラテジマッチングベニュー315に送られるストラテジオーダ520と、ストラテジマッチングベニュー315から受信されるストリームオン条件およびストリームオフ条件メッセージ525と、フィルに関するストラテジマッチングベニュー315からのストリーミングオーダ実施データ530とを備える。確定オーダおよび他の確定関連メッセージ540は、条件付きストラテジオーダの処理に使用される。FIX(Financial Information Exchange)プロトコルなどの様々なメッセージプロトコルを使用することができる。
【0103】
様々なメッセージを、HEROシステム310とアルゴ取引プラットフォーム320の構成要素との間で送ることができる。使用されるメッセージプロトコルは、HEROシステム310およびアルゴ取引プラットフォーム320が互いに統合される方法に依存する。当業者には、様々な適切なメッセージプロトコルが知られるであろう。
【0104】
アルゴーダまたはアルゴオーダ更新がアルゴ取引プラットフォーム320によって受信されると、オーダ更新メッセージ550をHEROシステム310に送信することができる。アルゴ取引プラットフォーム320がアルゴオーダを行うことから、オーダステータスに関する情報、そのような残オーダ量更新565を、HEROシステム310に送ることができ、その結果、HEROシステムは、ストラテジマッチングのために利用可能な対応するストラテジオーダのためのシェア数を通知されたままである。それぞれのストラテジマッチングベニュー315がストリームオン/オフ条件メッセージ525を送ると、対応するストリームオン/オフ条件メッセージ560がHEROシステムからアルゴオーダ管理580に送られる。同様に、ストラテジマッチングベニュー315から受信された実施データ530は、実施メッセージ555として送られてもよく、その結果、アルゴ取引プラットフォーム320は、対応するアルゴオーダに関するその内部記録を更新することができる。
【0105】
HEROシステム310は、新たなアルゴオーダを検出するか、または通知されると、対応するストラテジオーダを生成することができる。これを行うことができる1つの方法は、
図6を参照すると、使用ストラテジマッピングルール420によるものである。ストラテジマッピングルール420は、参加ユーザの様々な取引選択を反映するように事前に定義することができる。マッピングは、このプロセスで使用可能な任意のアルゴオーダの詳細を使用して実施することができる。追加データを参照することもできる。例えば、OMS/EMS110によってアルゴ取引プラットフォームに送信されるアルゴオーダ105の補足オーダデータフィールドは、例えば、特定のストラテジを直接指定するために、ストラテジマッピングルールによって使用するための追加情報を提供するために使用することができる。
【0106】
異なる機関OMS/EMS110またはブローカディーラは、1ペアの所定のストラテジにおけるストラテジに対する様々な属性によるアルゴリズムオーダのマッピングの仕方に関して、異なる選択を有することができる。アルゴ取引プラットフォーム320のプロバイダは、オーダと共に使用するための自身のマッピングルールを定義することができる、またはユーザが定義することができる。2セット以上のルール420が利用可能である場合、HEROシステムは、ルールの適切なセットを選択するか、またはどのセットを使用するかを通知され得る。
【0107】
上記のような静的な1対1のマッピングに加えて、よりインテリジェントな動的ルールを定義して、現在または過去の市場データ610のような、特定のアルゴオーダの外部の情報に基づいて対応するストラテジの選択を可能にすることができる。12%容量オーダの上記の例では、変換マッピングは、インデックスが30日平均を上回るなど、指定された市場条件が存在する場合には、10~30%ストラテジへのマッチングを指定し、条件が存在しない場合には、5~15%ストラテジへのマッチングを指定することができる。HEROシステムは、また、関連する市場データを監視し、既存のストラテジオーダに対するストラテジを応答可能に調整するように動作することができる。既存のストラテジオーダのために選択されたストラテジが時間変更されることが許される場合、HEROシステムは、ストラテジオーダテーブルのそのようなストラテジオーダのためのストラテジを定期的に再評価し、必要に応じてストラテジを更新し、この変更を反映するのに適切なように、ストラテジオーダ変更メッセージをストラテジマッチングベニューに送信することができる。
【0108】
ストラテジマッピングルールは、利用可能なあらゆるストラテジへのマッピングを可能にする必要はない。特定のストラテジ、例えば、100%を超える基準レートを有するストラテジは、アルゴリズム取引プラットフォームによって受信されるアルゴリズムオーダのためのアルゴリズム制約の期待されるセットに適していない場合がある。このような未使用のストラテジは、他の情報源によってストラテジマッチングベニューに配置されたストラテジオーダに依然として指定されている可能性がある。
【0109】
一実施形態では、HEROシステム310は、新しいアルゴオーダを検出するためにアルゴ取引プラットフォーム320を監視し、次いで対応するストラテジオーダを生成する。異なる実施形態では、アルゴ取引プラットフォーム320は、新しいアルゴオーダをアルゴオーダテーブル120に追加するためのプロセスの一部として、その時点で対応するストラテジオーダを生成し、ストラテジオーダをHEROシステム310に発行することもできる。
【0110】
図7Aおよび7Bは、HEROシステム認識アルゴオーダ管理580の動作および完了によるアルゴオーダの処理のハイレベルフローチャートである。簡単にするために、機能は、一般的に、単一の親オーダの処理に対処される。複数の独立したオーダを処理するためのシステムおよび方法における機能を実施するための様々な技術が当業者には知られている。
【0111】
図7Aを参照すると、新しいアルゴオーダが受信されると(ステップ702)、オーダはアルゴオーダテーブル120に追加され、HEROシステム310にも送られる。ストリームオン条件が存在しない場合(ステップ706)、子スライスは、問題の特定のアルゴリズムにしたがって生成され、HEROシステムなしのアルゴシステム100の動作に類似した方法でSOR140に発行される(ステップ708~712)。アルゴオーダに対する潜在シェア数は減少する。また、データは、ストラテジマッチングに利用可能な数量に影響を及ぼし得る、アルゴオーダのための利用可能な潜在シェアの変化を反映して、HEROシステム315に提供され得る(ステップ714)。スライスプロセスは、潜在シェアが残らなくなるまで続く(ステップ716)。
【0112】
ストリームオン条件が存在する場合(ステップ706)、子スライスプロセスは、中断され、アルゴオーダ管理580は、ストリームオフ条件が発生するのを待つ(ステップ722)。一実施形態では、すでに発行されているが、満たされていない子オーダは、オープンのままとすることができ、その場合、最終的に満たされることになる。代替実施形態では、ストリームオンメッセージが受信されると、アルゴリズムオーダ管理580は、未実施の子オーダの一部またはすべてをキャンセルすることができる(ステップ718)。うまくキャンセルされた子オーダは、潜在シェア数を減少させ、ストラテジマッチングに利用可能なシェア数を増加させる。HEROシステムには、キャンセルの成功(または失敗)および潜在シェア数の関連する変更が通知される(ステップ720)。
【0113】
図7Bは、実施通知を処理する監視プロセススレッドのハイレベル機能である。実施通知がアルゴ取引プラットフォームSORまたはHEROシステム130から受信されると(ステップ724)、作業アルゴオーダテーブル120の対応するオーダに対する適切な値が更新される(ステップ726)。キャンセルオーダリクエストがHEROシステム130から受信されると(ステップ728)、関連するアルゴオーダに対する未処理の子オーダがキャンセルされ(ステップ730)、キャンセル完了指示が、例えばHEROシステム130に提供される(ステップ732)。アルゴオーダに対するすべてのシェアが満たされたか、またはオーダ終了条件が発生し、オーダがキャンセルされると(ステップ734)、オーダの処理は完了する。
【0114】
図8A~8Cは、処理オーダにおけるHEROシステムの一実施形態の動作のハイレベルフローチャートである。簡単にするために、機能は、一般的に、単一のオーダの処理を対象とし、機能は、別のプログラムエンジンスレッドA~Eとして示されている。独立して実施するプログラムスレッドの使用は必要なく、1つ以上のスレッドの機能を組み合わせることができる。複数の独立したオーダを処理するためのシステムおよび方法においてこれらの機能を実施するための様々な技術が当業者には知られているのであろう。
【0115】
スレッドA801は、新しいアルゴオーダを処理する。新しいアルゴオーダは、アルゴオーダ管理580によって送信されるメッセージを介して、またはアルゴオーダテーブル120のHEROシステム310による監視、またはアルゴ取引プラットフォームの他のデータを介してなど、検出することができる。ストラテジオーダ処理のための最小オーダサイズが定義されている場合、新しいアルゴリズムオーダサイズがチェックされる(ステップ802)。アルゴオーダが所定の最小サイズより大きい場合、関連するストラテジマッピングルールを使用してアルゴオーダのストラテジが決定される。関連するストラテジオーダデータを有する新しいストラテジオーダ記録が、ストラテジオーダテーブルに追加される(ステップ804、806)。
【0116】
スレッドB811は、ストラテジオーダテーブル415のストラテジオーダをストラテジマッチングベニューにいつ発行すべきかを決定する。ストラテジマッチングベニューで保留中でないストラテジオーダが利用可能であるかどうか、および任意選択で、定義されている場合に、他の条件が満たされるかどうかの判定が行われる(ステップ812)。ストラテジオーダが利用可能である場合、ストラテジSOR510などを介して、適切なストラテジオーダがストラテジマッチングベニューに発行される(ステップ814)。好ましくは、HEROシステム315は、最小バッファサイズを維持し、そのストラテジオーダに対する潜在シェア数が最小バッファ値を超える場合にのみ、ストラテジマッチングベニューにストラテジオーダを送信する。最小オーダサイズが指定されている場合、最小サイズを下回るストラテジオーダは、もはや適格とはみなされない。
【0117】
スレッドC815は、オーダ更新機能を提供する。対応するストラテジオーダを有するアルゴオーダのある部分が満たされたことを示すメッセージなど、既存のアルゴオーダに対する更新に関するアルゴオーダ管理580(またはアルゴ取引プラットフォーム320の他の態様)からのメッセージが受信される場合、対応するストラテジオーダのためのストラテジオーダテーブル415の適切な記録が更新される。更新された情報は、関連するストラテジマッピングルール420によって定義されるように、対応するストラテジオーダのために選択されたストラテジを変更することが可能である。このような場合、ストラテジオーダテーブル415に指定されたストラテジは、それに応じて更新される。問題のストラテジオーダがストラテジマッチングベニュー315で未処理である場合、メッセージをストラテジマッチングベニューに送り、そのオーダのストラテジを更新することもできる(ステップ818)。ストリーミング実施を反映するデータメッセージがストラテジマッチングベニュー315から受信されると、関連するストラテジオーダに関するストラテジオーダ表のデータが必要に応じて更新される。少なくともオーダインジケータおよび満たされた金額(例えば、シェア数)を含む実施データもアルゴオーダ管理580に送信される(ステップ822)。
【0118】
スレッドD823は、ストリームオンおよびストリームオフ信号を処理する。ストラテジマッチングベニュー315からストリームオン条件メッセージが受信されると(ステップ824)、それぞれのオーダに対するストリームオン条件がアルゴオーダ管理580に送られる(ステップ826)。実施の詳細に応じて、対応するアルゴオーダの未処理の子オーダをキャンセルするようにアルゴオーダ管理580に指示する信号を送信することもでき、その結果、それらの未処理の子オーダからの潜在的フィルをストラテジマッチングに利用可能とすることができる(ステップ828)。ストラテジマッチングベニュー315からストリームオフメッセージが受信されると(ステップ830)、それぞれのオーダに対するストリームオフがアルゴオーダ管理580に送られる(ステップ832)。実施の詳細に応じて、ストリームオフ信号は、それ自体で対応するアルゴオーダのための新しい子オーダのスライスを再開するための指示としてアルゴオーダ管理580によって扱われてもよく、または新しい子オーダのスライスを再開するようにアルゴオーダ管理580に明示的に指示する追加の信号が送信されてもよく、したがって、HEROシステムは、所定のストラテジオーダのためのストリームオフが受信されたが、条件がその時点で新しい子オーダのスライスを再開することを保証しない取引シナリオに対処することを可能にする。
【0119】
スレッドE833は、所定のストラテジオーダに利用可能な潜在シェアを監視する。対応するアルゴオーダに対する子オーダが満たされた結果として生じるような、利用可能な潜在シェアの変化が検出された場合(ステップ834)、ストラテジマッチングのためのストラテジオーダに利用可能なシェア数が決定される(ステップ836)。その数がストラテジマッチングのための所定の最小シェア数よりも小さい場合(ステップ838)、ストラテジオーダはキャンセルされ、ストラテジオーダテーブル415から削除することができる(ステップ842)。関連するストラテジオーダがストラテジマッチングベニュー315で未処理である場合、ストラテジオーダに利用可能な更新された数量を有するメッセージをストラテジマッチングベニュー315に送信することができる。
【0120】
スレッドF843は、条件付きストラテジオーダの態様を処理するためのものである。HEROシステム310によってストラテジマッチングベニュー315に発行される条件付きストラテジオーダは、オーダに利用可能なシェア総数を含むか、または省略することができる。ストラテジマッチングベニューがマッチングを検出した場合、条件付きストラテジオーダを確定し、数量値を提供するために、HEROシステムにリクエストを発行することができる。ストラテジオーダに対する確定リクエストが受信されると(ステップ844)、アルゴオーダ管理580は、対応するアルゴオーダに対する未処理の子オーダの一部または全部をキャンセルするように指示される(ステップ846)。確定リクエストに応答して、アルゴオーダ子オーダキャンセルプロセスが完了した後、HEROシステムは、その時点での潜在シェア数、バッファサイズ、および他の要因に基づいて、ストラテジマッチングに利用可能なシェアの利用可能な数を決定し(ステップ848)、確定応答メッセージをストラテジマッチングベニュー315に送信することができる(ステップ850)。確定応答は、例えば、非条件付きストラテジオーダまたはメッセージ形式とすることができる。非条件付きストラテジオーダは、条件付きストラテジを置き換え、メッセージは、ストラテジマッチングベニュー315を命令し、条件付きストラテジオーダの態様を非条件付きに更新し、利用可能なシェア数などの他の態様を適宜変更する。ストラテジマッチングベニュー315は、オーダが確定するまで、ストラテジマッチングを開いたままにすることができる。これが、ストラテジマッチングベニューで定義されたタイムアウトなど、指定された期間内に発生しない場合、マッチングはドロップされる。オーダが確定した後、ストラテジマッチングベニューは、ストリームオン条件メッセージを発行する。
【0121】
図9Aおよび9Bは、並行して動作し、処理が進行するにつれてシステム間の様々なオーダ関連データ値の伝播方向を示す、HERO知覚アルゴ取引プラットフォーム320およびHEROシステム310による、100000シェアを売却するためのサンプル親アルゴオーダ処理および対応するストラテジオーダの処理を示す。この例では、HEROシステム310は、15K潜在シェアのバッファを維持するように構成される。
【0122】
時刻T0では、何らかのアクションが取られる前に、親オーダの100Kシェアは全て潜在的である。T1において、子オーダの最初の5Kは、アルゴオーダ管理によってスライスされ、SOR140に発行され、SORは、取引ベニュー150に発行される孫オーダに細分化する。潜在シェア数は95Kに削減される。親オーダは、ストラテジマッチングに利用可能な80K潜在シュアを有する(95K潜在シェア-15kバッファ値)。80Kストラテジオーダは、ストラテジマッチングベニューに発行される。
【0123】
時刻T2では、アルゴ子オーダに対して5Kシェアがある。2Kのアルゴオーダ実施が受信され、未処理値を3Kに削減する。次に、2Kの子オーダがスライスされ、SOR140に発行され、発行済みのアルゴ子オーダシェア総数が5Kに戻され、潜在シェア数が93Kに戻される。したがって、ストラテジマッチングに利用可能なシェア数は78Kに削減され、変更された量を示すストラテジオーダ更新がストラテジマッチングベニューに発行される。時間T3は、5Kアルゴオーダフィルとそれに続く5Kの子オーダのスライス、潜在シェア数の削減、およびその後の78Kから73Kへのストラテジオーダの更新の結果を示す。
【0124】
時刻T4では、ストラテジマッチングベニューは、ストラテジオーダに対するマッチングを検出し、ストリームオン条件が存在する。ストラテジマッチングベニューストリームが満たされると、フィル数に関する情報が戻される。この例では、30Kのストリーミングフィル(より小さいフィルのシーケンスに反映されてもよい)が示されている。潜在シェア数は30K削減する。アルゴサイドにも5Kの子オーダがある。
【0125】
時刻T5では、アルゴシステムは、子オーダの未処理の5Kの4Kが満たされたことを示す実施メッセージを受信する。アルゴ子オーダの発行済シェア数は、現在1Kである。子オーダは既に考慮されているので、潜在シェア数は変化しない。ストリームオン状態のために、アルゴ取引プラットフォーム320による新たな子オーダの発行は一時停止される。
【0126】
時刻T6では、未処理オーダの43Kの追加のストリーミングフィルが示され、潜在シェア数が15Kに削減される。ストリーミングされたストラテジマッチングフィルの総数は、ストラテジオーダの現在のサイズである73Kに達している。ストラテジマッチングベニューは、そのオーダを閉じ、ストリームオフ条件が示される。
【0127】
ストリームオフ条件を受信すると、アルゴ取引プラットフォーム320は、オーダの残りのアルゴリズム処理を再開する。子スライスが発行され、親オーダが完全に満たされた時刻T7からT10まで満たされる。
【0128】
図10Aおよび10Bは、並行して動作し、処理が進行するにつれてシステム間の様々なオーダ関連データ値の伝播方向を示す、HERO認識アルゴ取引プラットフォーム320およびHEROシステム310による、100000シェアを売却するためのサンプル親アルゴオーダおよび対応するストラテジオーダの処理を示す。
図10の例は、
図9A~Bの例と同様であるが、HEROシステムからのストリームオン指標の受信に応答して、未処理の子オーダをキャンセルするように構成されたアルゴ取引プラットフォーム320をそれらのオーダが満たされるようにする代わりに使用する。
【0129】
時刻T0からT3までのシステムの動作は、
図9A~9Bと同じである。時刻T4では、ストリームオン条件に応答して、アルゴ取引プラットフォーム320は、未処理の子オーダの5Kをキャンセルする。潜在シェア数は5K増加する。ストラテジストリーミングのためにより多くのシェアが現在利用可能であるので、ストラテジオーダは、73Kから78Kに更新される。オーダ処理の残りの部分は、
図9A~9Bのものと同様の方法で継続する。
【0130】
いくつかの状況では、ストラテジマッチングベニューでのストラテジオーダ処理によって提供される利点が望まれる場合があるが、HEROシステム対応プラットフォームは、そのようなオーダを受け取るためにブローカ/ディーラで利用可能ではない。本発明のさらなる態様では、従来のアルゴシステム100にオーダを送ることもできるOMS/EMSシステムと共に使用するために、事前/事後ルーティン最適化(Pre/Post Routing Optimizer「PRO」)システムを提供することができる。PROシステムは、クライアントOMS/EMS110から直接など、非HEROアルゴプラットフォーム100よりも高いレベルで初期オーダを受け取る。次いで、PROシステムは(必要であれば)対応するストラテジオーダを生成し、ストラテジマッチングベニューに送ることによって、HEROシステムと同様の方法でオーダを処理する。また、OMS/EMSは、オリジナルオーダを、自身のアルゴシステムで処理する従来のブローカ/ディーラに送ることもできる。
【0131】
PROシステムは、ブローカ/ディーラのアルゴシステム100に結合されていないので、PROシステムは、ストリームオン条件メッセージによって示されるように、対応するストラテジオーダに対するマッチングが見つかったときに、アルゴオーダのアルゴリズム処理を開始または停止するようにアルゴシステム100に伝えることができない。これを補償するために、発行されたストラテジオーダは条件付きである。ストラテジマッチングベニューがストラテジオーダに対してストラテジマッチングが利用可能であることを示す場合、例えば、確定リクエストを送信することによって、PROシステムは、ブローカ/ディーラのアルゴシステムで発注されたオーダがキャンセルされるべきであり、次いで、対応するストラテジオーダが確定されるべきであることを信号で伝えることができる。ストラテジマッチングベニューが例えば、ストリームオフ条件メッセージ、または確定が成功しなかったという表示で、ストラテジマッチングが終了したことを示した後、PROシステムは、新しいオーダがオリジナルのオーダの任意の残りのために、OMS/EMS1100からブローカ/ディーラのアルゴシステム100に送信されることを知らせることができる。オーダ実施の進行が追跡され、オーダ実施が合計オーダサイズを超えないように、アルゴオーダおよびストラテジオーダが処理されるにしたがって、様々なプラットフォーム部品間で情報が交換される。
【0132】
図11は、取引オーダ管理1115に結合されたPROシステムエンジン1110を備えるオーダ管理および実施管理システム(OMS/EMS)1100を有する取引プラットフォームの一実施形態のシステムアーキテクチャのハイレベルブロック図である。OMS/EMS1100は、取引デスク1125を介してポートフォリオ管理1120によって発行されたオーダを受け取ることができる。OMS/EMS1100は、従来の交換ベニュー150にオーダを発行する従来のアルゴリズム取引システム100を使用するブローカ/ディーラと通信する。従来の交換ベニュー150では、他の従来のブローカ/ディーラおよびHFT会社などの他の市場参加者によって発行されたマッチングするコントラオーダに対してオーダが満たされる。OMS/EMS1100は、また、PROシステムからのストラテジオーダを発行することができる1つ以上のストラテジマッチングベニュー315と通信し、このストラテジオーダは、初期オーダに基づいて生成することができる。複数のストラテジマッチングベニュー315が利用可能である場合、PROシステムは、所望に応じて適切なストラテジマッチングベニューを選択するように構成することができる。使用されるストラテジマッチングベニューは、事前に定義することができ、または、セキュリティのタイプまたはオーダに関する他の詳細などの様々な要因に基づいて動的に選択することができる。ストラテジマッチングベニュー315は、他のHEROシステム対応ブローカ/ディーラ300、他のOMS/EMSシステム1100’と連携して動作する他のPROシステム、および任意の他の適切なオーダソースからストラテジオーダを受け取ることもできる。
【0133】
図12Aおよび12Bは、PROシステム1110の一実施形態の機能的態様、ならびに(i)PROシステムエンジン1100とストラテジマッチングベニュー315との間、および(ii)OMS/EMSシステム1100におけるPROシステムとPROシステム認識取引オーダ管理1115との間の通信を示すハイレベル図である。PROシステム310およびシステム間通信の実施形態の内部機能は、
図13Aおよび13Bのフローチャートに関してより詳細に検討されるのであろう。
【0134】
取引オーダ管理1115は、ブローカディーラインターフェース1120を使用して、従来ならびにHEROシステム対応アルゴリズム取引エンジン100を使用して、1つ以上のブローカ/ディーラと通信する。送受信することができるメッセージは、ブローカ/ディーラのアルゴ取引プラットフォーム100に新しいアルゴリズムオーダ1125を発行すること、配置されたアルゴオーダ1125の実施1130に関連するメッセージを受信すること、および、アルゴ取引プラットフォーム100が既存のオーダをキャンセルするか、またはそれを適切に修正するためのリクエスト1135を発行することを含む。OMS/EMS作業オーダテーブル1105は、OMS/EMS1100が未処理のオーダを追跡するために使用される。
【0135】
PRO1110は、ストラテジオーダ管理1140と、ストラテジSOR1145と、現在のストラテジオーダに関するデータを維持するためのストラテジオーダテーブル1150とを備える。OMS/EMS1100に利用可能なアルゴ取引プラットフォームのうちの1つ以上がHEROシステム使用可能である実施形態では、OMS/EMSがオーダがそのようなアルゴ取引プラットフォームに送信されたかどうかを示すことができ、PROシステムは、非HERO認識アルゴ取引プラットフォームに送信されたアルゴオーダにのみ作用するように構成される。
【0136】
ストラテジマッチングベニュー315の観点から、PROシステム1110およびHEROシステム310は、同じように見えることができ、同じタイプのメッセージ交換を有することができる。HEROシステム310と同様に、PROシステム1110およびストラテジマッチングベニュー315は、新しい条件付きまたは非条件付きストラテジオーダの発注、ストリームオンおよびストリームオフ条件メッセージの受信、ストラテジオーダ実施データの受信、および条件付きオーダの確定を含むストラテジオーダに関連するメッセージを交換する。
【0137】
ストラテジSOR1145は、ストラテジオーダ管理1140と1つ以上のストラテジマッチングベニュー315との間でストラテジオーダに関する通信をルーティン化するように動作し、2つ以上が利用可能である場合に適切なストラテジマッチングベニューを選択する機能を含むこともできる。ストラテジSOR1145は、ストラテジオーダ管理1140とは別体に示されているが、機能は、統合されたソフトウェアプログラムに組み合わされてもよい。同様に、ストラテジオーダ管理1140の機能は、複数のソフトウェア部品に実装されてもよい。
【0138】
OMS/EMS1100で受け取られるオーダは、従来のアルゴリズム取引システムによって処理されることが意図された従来のオーダであってもよく、取引ストラテジを指定しても指定しなくてもよい。ストラテジが指定されていない場合、HEROシステムに関して上述したのと同じ方法で、ストラテジマッピングルール155のセットを介して対応するストラテジオーダを生成することができる。この機能は、PROシステムで実施することができる。
【0139】
動作中、新しいストラテジオーダおよびストラテジオーダ更新に関するメッセージ、ならびに既存のアルゴオーダの残量更新を、OMS/EMS1100からPROシステム1110に送信することができる。ストリームONおよびストリームOFF条件ならびにストラテジオーダストリーミング実施に関連するメッセージは、PROシステム1110からOMS/EMS1100に送信することができる。さらに、PROシステム1110とOMS/EMS1100との間でアルゴオーダおよびストラテジオーダのキャンセルまたは再ルーティン化に関連するメッセージを交換することができる。
【0140】
PROシステム1110の実施は、OMS/EMS1100を実施するために使用されるコンピュータシステムから独立して動作する従来の計算システムにおいて提供され得る。
図12Bを参照すると、一実施形態では、PROシステムハードウェアは、独立して実施されるHEROシステムのハードウェアと同様であり得えるが、ブローカ/ディーラのアルゴ取引プラットフォーム320の代わりにOMS/EMS1100に接続される。一つ以上のコンピュータプロセッサ1160は、プログラムメモリ1165に記憶されたコンピュータソフトウェアを実施する。プロセッサ1160は、ストラテジオーダテーブル1150、アルゴリズムオーダに基づくストラテジオーダの生成に使用される1つ以上のペアのストラテジマッピングルール1155、および他の動作データ1175などの1つ以上のデータリポジトリを含むデータメモリ1170にアクセスする。
【0141】
適切な通信インターフェース1180は、PROシステム1110を外部システムに接続するために使用される。図示の実施形態では、ローカルエリアネットワークがPROシステム1110とOMS/EMS1100との間の通信を提供し、別のWANは、HEROシステム310と1つ以上のストラテジマッチングベニュー315との間の通信を提供する。
【0142】
HEROシステムを実施するために使用されるコンピュータプラットフォームは、期待される取引量をサポートするのに十分なデータスループットおよび処理能力を有する1つ以上の高速コンピュータとすることができる。LANおよびWANネットワークは、高速光ファイバデータネットワーク、または金融取引ネットワークで従来使用されている他のネットワークシステムとすることができる。適切なコンピュータプラットフォームは当業者に知られている。
【0143】
プログラムメモリ1165およびデータメモリ1170は、全部または部分的に同じまたは異なる構成要素内で実施されてもよい。メモリ1156、1170は、1つ以上の内部RAMおよびファームウェア、固体または磁気ドライブなどの局所電子データ記憶装置、USBまたはネットワークを介してアクセス可能な他のデータケーブルを介して物理的に結合されたメモリによって提供される外部データ記憶装置を含むことができる。ソフトウェアおよびデータを記憶する他のコンピュータ可読媒体を使用することもできる。PROシステム1110は、1つ以上のコンピュータサーバ、パーソナルコンピュータ、または他のコンピュータシステム内で実施することができる。
【0144】
PCなどの計算装置1190がPROシステム1110にアクセスすることを可能にするために、別のユーザインターフェース1185を設けることができ、これにより、許可されたユーザが、システム性能メトリックの監視、オーダマップおよび取引履歴の閲覧、ならびにシステム構成の調整などの様々な管理機能を実施することが可能になる。遠隔装置1190は、PROシステムに局所的に接続することができ、またはインターネット上のイントラネットまたは安全なVPNのようなネットワークを介して接続して遠隔監視を提供することができる。
【0145】
PROシステム1110は、OMS/EMSブローカディーラシステム1100内の内部コンピュータシステムとして実施することができ、おそらく取引オーダ管理1115と同じ物理的コンピュータ上で実施されてもよく、その場合、PROシステム1110とOMS/EMS1100内の他の部品との間の別のネットワーク接続は必要とされない場合がある。OMS/EMSは、適切なAPIまたは他のプログラムフックを有するように設計または修正することができ、内部制御は、PROシステムが最初に利用可能でないか、または利用可能ではあるが別のシステムとして実施される場合であっても、PROシステムと共に動作するために必要とされる。次に、EMS/OMSと通信に適したAPIインターフェースを備えたPROシステムモジュールを別に追加することができる。PROシステム1110を実施し、EMS/OMSシステム1100と統合することができる様々な方法がある。
【0146】
図13Aおよび13Bは、処理オーダにおけるPROシステムエンジンの実施形態の動作の態様を示すハイレベルフローチャートである。簡単にするために、機能は、一般的に単一のオーダの処理を対象とする。複数の独立したオーダを処理するためのシステムおよび方法においてこれらの機能を実施するための様々な技術が、当業者には知られているのであろう。
【0147】
図13Aおよび
図13Bを参照すると、OMS/EMS100から新しいアルゴオーダを受信すると(ステップ1305)、対応するストラテジオーダが生成され(必要に応じて適切なストラテジマッピングルールを適用した後)、ストラテジオーダテーブル1150に追加される。ストラテジオーダ量が最小値を超える場合、指定された場合、使用されるべきストラテジマッチングのために(ステップ1312)、対応するストラテジオーダが条件付きオーダとしてストラテジマッチングベニュー315に発行される(ステップ1314)。最初に受け取ったオーダが最小値を超えると仮定するが、これは保証されないかもしれない。
【0148】
アルゴオーダが処理されると、実施更新メッセージが生成され、PROシステムに送信される。これらの実施は、対応するストラテジオーダに利用可能な数量に影響を与える。このようなメッセージの受信に応答して、PROシステムは、ストラテジオーダテーブル1150の対応するストラテジオーダに反映された利用可能な数量を更新する。更新メッセージは、また、関連するストラテジマッチングベニューに送信されてもよい。ストラテジオーダのために利用可能な量が最小値を下回る場合、PROシステムは、オーダキャンセルメッセージを関連するストラテジマッチングベニュー315に送信することができる(ステップ1316)。
【0149】
条件付きストラテジオーダの発行後、そのストラテジオーダが依然としてオープンである限り、PROシステムは、ストラテジマッチングベニューから確定リクエストを受信するのを待つことになる(ステップ1318)。ストラテジマッチングベニュー315は、条件付きストラテジオーダに対する潜在的なマッチングを検出すると、PROシステムに確定リクエストを送る。確定リクエストを受信すると、PROシステムは、ブローカ/ディーラに送信された対応するアルゴオーダ(もしあれば)をキャンセルするように指示するメッセージを取引オーダ管理1115に送信する(ステップ1320)。アルゴオーダがうまくキャンセルされた後、取引オーダ管理1115は、キャンセルの成功を確認するメッセージを送信する。メッセージは、また、ストラテジマッチングに利用可能なシェアの最大数を示すことができ、その金額は、オリジナルのオーダの実施されていない部分の合計以下であるべきである。(PROは、また、または代わりに、満たされたシェア数などの特定のアルゴオーダに関する情報をリクエストする質問をOMS/EMS1100に発行するように構成されてもよい。)キャンセル確認および数量データがPROシステムによって受信された後(ステップ1322)、ストラテジオーダに対する適切な確定メッセージがストラテジマッチングベニュー315に送信される(ステップ1324)。
【0150】
条件付きオーダが確定されたとしても、潜在的なマッチングがもはや固化され得ないように、ストラテジマッチングベニュー315において条件が変化することが可能である。例えば、選択されたコントラストラテジオーダは、条件付きであってもよいが、タイムアウト期間内に確定されない。PROシステムが、適用可能なタイムアウト期間内にオーダに対するストリームオン指標を受信しない場合(ステップ1326)、確定されたオーダは満たされないと推定される。ストラテジマッチングベニュー315は、マッチングが失敗したことを示す、確定された条件付きストラテジオーダの通知を発行者に送信するように構成されてもよい。PROシステムによるこのようなメッセージの受信は、ストリームオンメッセージを待っている間、タイムアウト条件と同様に扱うことができる。(同様の機能は、HEROシステムにおいて実施することができる。)
【0151】
タイムアウト(ステップ1326)の後、OMS/EMSは、適切なブローカ/ディーラにアルゴオーダ(ストラテジマッチングベニュー315からの確定リクエストを考慮して取り消される)を再発行できることを通知される。PROシステムは、また、以前に確定されたオーダを明示的にキャンセルするメッセージをストラテジマッチングベニュー315に送信することができる。ストラテジオーダは、PROシステムにおいて保留のままである。そのオーダに利用可能な数量が最小値を超える場合(ステップ1312)、別の条件付きオーダを発行し、プロセスを継続することができる。
【0152】
ストラテジオーダマッチングがストラテジマッチングベニューで行われる場合、ストラテジマッチングベニューは、マッチングのレート(指定されたストラテジに利用可能な基準レートの一部のみとすることができる)を戻すことができる。それに加えて、またはその代わりに、ストラテジマッチングベニューが、(ストラテジマッチングに使用されるレートとマッチングされたオーダの最大利用可能量とに基づいて)マッチングから生じるフィル総量、または結果として生じるフィルの少なくとも最大量を決定することができる。この情報が利用可能な場合は、ストリームオンメッセージの一部として含めることができる。PROシステムが条件付きストラテジオーダを確定した後にストリームオンを適時に受信し、ストリームオンメッセージがそのマッチングから予想されるフィル量を示すか、またはその情報を引き出すことができるデータを提供する場合、PROシステムは、ストラテジマッチングストリーミングが完了した後に残るストラテジオーダの量を計算することができる。ストラテジマッチングが問題のストラテジオーダに利用可能な最大量を満たさない場合、アルゴサイドのオーダの残りを満たす努力は、ストラテジオーダフィルと競合することなく進行することができる。このような場合、PROシステムは、OMS/EMSに、ストラテジオーダに利用可能な最大量と、ストラテジマッチングベニューで満たされると予想される実際のまたは最大量との間の差を求めるアルゴオーダを発行するように通知することができる(ステップ1330、1332)。
【0153】
続いて、ストリームオンの後、ストラテジオーダの実施メッセージが、ストラテジマッチングベニューからPROシステムにおいて受信される(ステップ1334)。実施データは、PROシステムによってOMS/EMSに送られ(ステップ1336)、このデータを使用して、発生したフィルを反映するようにその内部記録を更新することができる。これは、ストラテジオーダに対するストリームオフメッセージが受信されるまで続く(ステップ1338)。次に、OMS/EMSは、キャンセルされたアルゴオーダをブローカ/ディーラに再発行して、残りの未実施オーダ量を求めるように指示される。(ステップ1340)。
【0154】
図14Aおよび14Bは、セキュリティなどの取引可能アイテムに対するストラテジオーダを処理するためのストラテジマッチングベニュー1400の特定の実施形態のハイレベル機能ブロック図を示す。ストラテジマッチングベニュー1400は、HEROシステムまたはPROシステムで使用されるようなストラテジSOR、従来のSOR、および、例えばブローカゲートウェイから発信される直接発注されたストラテジオーダのような適切なオーダの任意の他のソースを含むことができるオーダ発注およびルーティンプラットフォーム1410に接続される。オーダルータ1410との通信は、適切なネットワーク接続を介してサポートすることができる。一実施形態では、メッセージは、FIXプロトコルを使用して交換される。ストラテジオーダ関連メッセージ、ストリームオンおよびオフ条件メッセージ、確定コマンド、および他の通信は、このインターフェースを介して送信され得る。新しいFIXメッセージ値を定義するなど、FIXプロトコルに対するわずかな拡張が、ストリームオン/オフメッセージおよび新しいストラテジオーダタイプなどの機能をサポートするために必要とされ得る。
【0155】
ストラテジマッチングベニュー1400は、ストラテジオーダを処理することを意図したソフトウェアエンジンを含む。一実施形態では、ストラテジマッチングベニュー1400は、非ストラテジオーダも処理するように構成される。受信された非ストラテジオーダは、非ストラテジオーダをストラテジオーダに変換するストラテジオーダジェネレータエンジン1430に送られ得る。1つ以上のデフォルトストラテジ1435のセットを提供し、所定のルールのセットにしたがって選択することができる。ストラテジ選択は、非ストラテジオーダおよび/またはそのソースまたは他のデータの内容に依存することができる。1つのブローカ/ディーラは、異なるブローカ/ディーラが異なるストラテジをリクエストする間に、それが送信する任意の非ストラテジオーダに対して使用するためのデフォルトストラテジとして流動性検索を定義することができる。HEROシステム315内で使用され、上述されたようなストラテジを選択するために、より複雑なシステムを使用することも可能である。ストラテジオーダ変換は、ストラテジマッチングベニュー1400の一部として示されているが、所定のストラテジマッピングルールを使用するストラテジ選択エンジンは、ストラテジマッチングベニュー1400とは別に実施することができる。
【0156】
ストラテジマッチングベニュー1400は、適切なセキュリティ情報プロセッサ(Security Information Processor(SIP))1415などから、ビッド/アスク相場および取引などの市場データを受け取る。2つ以上のデータソースが代替のマーケット(または非マーケット)データソース1425などから、ストラテジマッチングベニュー1400内で使用するために利用可能であり得る。ストラテジオーダ実施データは、ストラテジマッチングベニュー1400から出力され、取引報告ファシリティ(Trade Reporting Facility(TRF))1420を介するなど、従来の方法でSIP1415に戻すことができる。実施レポートは、I/Oハンドラ1405を介して適切なオーダルータ1410に戻される。問題の取引可能アイテムに応じて、実施を市場に報告するための異なるメカニズムを利用することができる。
【0157】
ストラテジマッチングベニュー1400におけるストラテジマッチング機能は、ソフトウェアエンジンのセットとして編成することができるソフトウェアで実施される。I/Oハンドラ1405は、入力および出力メッセージを処理し、着信オーダに関連するデータ記録を更新する。SIPハンドラ1445は、入力マーケットおよび他のデータを受信し、NBBO相場であり得る第1マーケットデータを相場ハンドラ1450に送信し、取引されているアイテムについての個別のマーケット実施通知であり得る第2マーケットデータを取引ハンドラ1455に送信することなどによって、適切な内部エンジンに関連データを送る。一実施形態では、相場ハンドラ1450は、入力データを検査し、保留中のストラテジオーダは市場性があり、したがって、対処可能か否かを判定する。取引ハンドラ1455は、情報が取引プロセッサ1465による使用のために利用可能であるように、市場取引に関連する入力SIPデータ、例えば、取引されるセキュリティの量を処理する。マッチングエンジン1460は、保留中のストラテジオーダの中から適格なマッチングを識別する。取引プロセッサ1465は、ストリーミングエンジンであり、マッチングしたストラテジオーダに対する取引を生成する。
【0158】
図14Bを参照すると、ストラテジマッチングベニュー1400は、内部RAMおよびファームウェア、固体または磁気ドライブなどの局所電子データ記憶装置、ネットワークを介してアクセス可能なUSBまたは他のデータケーブルを介して物理的に結合されたメモリによって提供される外部データ記憶装置を含むことができる、1つ以上のプロセッサ1470および記憶装置1440と接続された適切なサーバなどのコンピュータシステムで実施することができる。プログラムメモリ1472は、プロセッサによって実施される動作可能なコンピュータソフトウェアを記憶するために使用される。データメモリ1474は、様々な動作データブック/表、バッファ、ルール、およびシステムの動作中に使用される他の短期および長期記憶データを記憶するために使用される。外部システムと通信するために、適切なインターフェースが提供される。例えば、オーダインタフェースモジュール1480は、オーダネットワーク1482を介して様々なオーダルータまたは他のオーダソース1410と通信するために使用することができる。市場データインターフェースモジュール1484を使用して、市場データネットワーク1486を介して市場データ1415、1425の様々なソースにアクセスし、オーダ処理中に使用される市場データを取り出すことができる。取引報告インターフェースモジュール1488を使用して、適切な報告ネットワーク1490を介して取引報告ファシリティ1420に実施情報を提供することができる。
【0159】
ストラテジマッチングベニュー1400に使用される物理的コンピュータプロセッサおよび全体的なコンピュータプラットフォームは、期待される取引量をサポートするのに十分な処理容量、データスループット、およびネットワーク帯域幅を有する1つ以上の高速コンピュータとすることができる。適切なコンピュータプラットフォームは当業者に知られている。3つのネットワーク1482、1486、1490が別々に示されているが、1つ以上が同じネットワークであってもよい。例えば、3つのネットワーク1482、1486、1490は、すべて、例えばFIXプロトコルを使用するデバイス間のデータ通信をサポートする共通の高速データネットワークとすることができる。
【0160】
図15は、ストラテジマッチングベニュー1400内に記憶され、ストラテジオーダの処理中に使用される様々なタイプの情報のいくつかを示す。データ構造の1つの特定の配置が示されている。例示されたデータフィールドの全てが任意の特定の実施形態において必要とされるか、または使用されるわけではなく、追加のデータもまた記憶され得る。当業者に知られている他の方法を使用して、ストラテジマッチングベニューによって使用されるデータを編成することができ、内容を参照するために使用される特定の名前を変更することができる。様々なデータ表およびオブジェクトは、メモリ記憶領域1440に記憶することができ、これは、ローカルRAM、固体駆動装置、クラウド記憶装置等の様々なタイプの記憶装置で構成することができる。
【0161】
図15のデータ配置では、3つの1次データアレイ(データテーブル、データベースオブジェクト、または他の方法で記憶装置内に編成され参照されてもよい)が設けられ、ストラテジマッチングベニュー1400のメモリ1440内に適宜記憶される。
【0162】
全てのオーダ1502は、ストラテジマッチングベニュー1400に配置されたアクティブストラテジオーダに関する情報を記憶するために使用される。各オーダ記録は、固有のオーダIDを有し、シンボル、サイド、および指値を有するストラテジオーダ情報を記憶する。条件付きフラグはオーダが条件付きかどうかを示す。オーダ量は、ストラテジマッチングに利用可能なオーダにおけるシェア(または他の取引可能なアイテム)数を指定する。ストラテジタイプフィールドは、そのオーダに使用されるストラテジを記憶する。経時的に、ストラテジオーダが処理または更新されるにしたがって、利用可能なシェア量が変化する。
【0163】
オリジナルのオーダ数量、既に実施された数量、および後続のストラテジマッチングに利用可能な残りの数量を記憶するために、追加のフィールドを設けることができる。これらの数量フィールドのすべてが必須ではなく、一部のデータ属性は、オーダに関する別のデータから簡単に計算できる場合がある。しかしながら、これらのフィールドを提供することは、後の処理を単純化することができる。
【0164】
市場性フラグは、オーダに関連する市場条件がオーダが市場性のあるものであるかどうかを示す。例えば、オーダがセキュリティを購入する場合、そのセキュリティの現在の取引価格がオーダの指値よりも大きい場合、オーダは市場性がない。他の市場性要因も、オーダに関連して特定され、考慮されてもよい。オーダが市場性のあるものであるという事実は、その時点でマッチングするコントラオーダがあることを意味しない。
【0165】
ストリームは、全オーダ表内のデータ配列であり、各オーダが関係しているストリームまたはストリーム(存在する場合)を示すために使用される。大きなオーダは、例えば、2つの取引ストリームをもたらす2つのより小さなオーダにマッチングされてもよい。
【0166】
特定オーダ記録における利用可能容量は、コントラオーダとの後続のマッチングに適用することができる各オーダの利用可能なレートを示す。
【0167】
オーダは、それらに適用されるストラテジが条件付き代替ストラテジに対する市場条件の変化に応答して動的に変更され得るように定義され得る。特定の実施形態では、指値などのオーダの属性が問題のセキュリティの現在の相場が指定された限度を超える場合に、そのストラテジが変更されるべきであることを指定する方法をオーダに提供する。例えば、5~15%のストラテジ買いオーダは、15.75ドルの通常の指値および15.65ドルの指値を有することができる。セキュリティの提供価格が指値を超える場合、提供は市場性がない。現在の提供が2つの値の間にある場合、オーダは市場性があり、5~15%のストラテジを使用する。提供価格が指値を下回った場合、オーダストラテジは、流動性検索などの異なるストラテジ、またはオーダに対するユーザ指定の第2ストラテジに変更することができる。指値が提供されるが、第2ストラテジが指定されない場合、流動性検索などのデフォルトストラテジを使用することができる。ストラテジ調整は、オーダが市場性のあるものであるかどうかを判断するために調査されるときに行うことができる。所定のオーダに対してこの特徴が有効になっているかどうかを示すフラグを提供することができる。あるいは、指値をデフォルトでゼロに設定することができ、ゼロでない値は特徴が使用可能であることを示す。このまたは類似の条件付きストラテジ特徴は、ストラテジマッチングベニュー1400における実施の代替として、HEROまたはPROシステムにおいて、または例えばHEROまたはPROシステムにおいて実施される第1条件付きストラテジ変更プロセスにおいて、およびストラテジマッチングベニュー1400内で実施される第2条件付きストラテジプロセスにおいて実施することができる。
【0168】
適切な2次ストラテジを選択するための基準は、HEROシステム、PROシステムによって使用されるストラテジマッピングルールなどのストラテジを最初に選択するために使用されるストラテジマッピングルールと同じであってもよいし、異なるものであってもよい条件付きストラテジマッピングルール、または受信される非ストラテジオーダを処理するためのストラテジマッチングベニュー1400に含まれてもよい。例として、アルゴ購入オーダをストラテジCにマッピングすることができる。動的ストラテジ選択が利用可能であり、使用可能である場合、第2ストラテジは、次に高い優先順位を有するストラテジBであり、0.5%または1%低い価格など、オーダで指定されたものよりも低い指値に設定された遷移閾値であるように選択することができる。この情報はまた、または代替として、マッピングルールの適切なセット内で指定され得る。
【0169】
ストラテジオーダ自体に第2ストラテジを含める代わりに、またはそれに加えて、HEROシステムまたはPROシステムなどのストラテジオーダの発行者は、市場状態を監視し、特定オーダのためのストラテジシフトが必要とされ得るときを検出することができる。これに応答して、既存のストラテジオーダをキャンセルし、新しいストラテジを有する代替オーダと置き換えることができる。あるいは、オーダ更新メッセージを、新しいストラテジを指定するストラテジマッチングベニューに送信することができ、それに応答して、ストラテジマッチングベニューは、それに応じて、そのオーダについてのその内部記録を更新し、適宜、既存のマッチングを中断または変更する。
【0170】
全てのオーダ表1502は、また、少なくとも限られた期間、完了したオーダまたはキャンセルされたオーダなど、もはやアクティブではないストラテジオーダに関する情報を記憶することもできる。オーダ状態属性はオーダ状態を指定できる。たとえば、「アクティブ」、「キャンセル」、「完了」である。所定の期間にわたるすべてのオーダは、表に保持することができる。取引期間の終了時に、キャンセルされたオーダまたは完了したオーダのすべてを取引履歴表に記憶し、取引セッションの終了時に存在する残りのアクティブオーダを自動的にキャンセルすることができる。
【0171】
到着時間は、それぞれのオーダがストラテジマッチングベニュー1400でいつ受信されたかを示すタイムスタンプを記憶するために使用され得る。
【0172】
アクティブストリーム1504は、現在アクティブであるオーダマッチングに関する情報を格納するために使用される。アクティブストリームの各記録には、現在マッチングされている1つ以上のコントラオーダに最初のオーダを関連付けるデータを含めることができる。買いオーダまたは売りオーダに対するマッチングの容易なルックアップを可能にするために、表またはデータ構造は、2回インデックス付けされ、1回買いオーダに対してインデックス付けされ、1回売りオーダに対してインデックス付けされる。追加のデータにインデックスを付けることもできる。例えば、マッチングしたオーダは、所定のセキュリティのアクティブなマッチングを識別しやすくするために、問題時にセキュリティによってインデックス化できる。特定の実施形態では、各エントリは、第1オーダを1つのマッチングしたコントラオーダに関連付ける。最初のオーダが複数のコントラオーダと同時にマッチングされる場合、最初のオーダの複数のエントリが存在する。状態フィールドは、また、ストリームがアクティブ(未ブレーク)であるか、または終了されたかを示すために含まれ得る。終了したストリームに関する情報は、例えば、履歴分析および監査目的のために、ある期間、アクティブストリーム内に保持され、および/またはアーカイブされることが可能である。
【0173】
未処理参照取引表1506は、取引プロセッサストリーミングエンジン1465によってまだ処理されていない取引ハンドラ1455からの市場取引を一時的に記憶するために使用される。トレードプロセッサは、この表から市場取引を処理すると、この表から除去し、アーカイブすることができる。
【0174】
図16A~16Cは、それぞれ、I/Oハンドラ1405、取引ハンドラ1455、および相場ハンドラ1450の実施形態によって提供される基本機能のハイレベルフローチャートである。
【0175】
図16Aを参照すると、入力オーダメッセージは、I/Oハンドラ1405によって受信されると(ステップ1602)、ストラテジが指定されているかどうかを調べるためにチェックされる(ステップ1604)。ストラテジがない場合、例えば、ストラテジオーダジェネレータエンジン1430を使用することによって1つが選択される。(ステップ1606、1608)。新しいオーダまたは既存のオーダに対する更新を含む受信メッセージの場合、全オーダ表1502は、必要に応じて、既存のオーダに対して記憶された新しいオーダまたは変更データを追加するように更新される(ステップ1602、1604、1610)。
I/Oハンドラが、ストリームオン/オフ条件メッセージ、実施メッセージ、または確定リクエストなどのクライアントのための出力メッセージを受信すると(ステップ1612)、メッセージは、必要に応じてフォーマット化され、次いで、例えば、FIXインターフェースを介して指定された受信者に送信される。
【0176】
図16Bを参照すると、取引ハンドラ1455は、ストリーミング実施量および/またはタイミングを決定する際に取引プロセッサ1465によって使用される取引データの媒介として使用される。他のタイプの市場データまたは非市場データが取引プロセッサ1465によって必要とされる場合、それは、そのデータのための媒介としても役立つこともできる。市場取引データなどのSIP更新が取引ハンドラ1455で受信されると(ステップ1616)、取引プロセッサ1645がビジー状態であるかどうかを判定するためにチェックが行われる(ステップ1620)。ビジー状態でない場合、SIP更新は、取引プロセッサに送信される(ステップ1622)取引プロセッサ1645がビジー状態である場合、SIP更新は、未処理参照取引バッファ1506に追加される(ステップ1624)。
【0177】
図16Cの実施形態では、相場ハンドラ1450が全オーダブック1502のセキュリティに対するオーダの市場性を決定するために、株式市場データを処理する。例えば、NBBOセキュリティフィードまたは他のソースから、セキュリティXに対する新しい相場が受信されると、そのセキュリティに対する全オーダブックのオーダは、受信された相場の最良の利用可能なアスク/ビッド値をそれぞれのオーダの指値と比較するために調べられる。(ステップ1628、1630)次に、オーダが現在の相場を考慮して、市場性があるかどうか、および、適切に設定されたオーダに対する市場性フラグについての決定が行われる(ステップ1632)。このプロセスは、全ての関連するオーダがチェックされるまで繰り返される。
【0178】
アクティブストリームの一部であるストラテジオーダが市場性のあるものから市場性のないものに切り替えられる場合、そのオーダはもはやマッチングする資格がない。市場性のあるものから市場性のないものへの移行が行われると、相場ハンドラ1450は、そのオーダについてアクティブストリームデータをチェックすることができる。オーダが1つ以上のストリームに参加している場合、そのオーダのマッチングをブレーク、取引を停止するために通知を発行することができる。(ステップ1636)。オーダは一時的なわずかな期間だけ市場性がない可能性があり、その後、市場性が迅速に戻るので、マッチングは一時的に保存され(しかしながら、実施目的のために動作されない)、マッチングは、指定された期間より長く市場性がない場合にのみブレークされ得る。
【0179】
代替の実施形態では、取引可能アイテムのオーダの市場性は、第1市場データに基づいて指定された市場性機能によって定義されてもよく、この市場データは、市場ビッド/アスク値または他の情報を含んでもよい。
図16Dは、相場ハンドラ1450のそのようなより一般的な実施のためのハイレベルのフローチャートである。相場ハンドラ1450は、1つ以上のオーダの市場性に関連するデータを受信し、このデータは、1つ以上のソースから受信することができる(ステップ1626’)。その市場性が受信された新しいデータに依存する全オーダブックの各オーダに対して、そのオーダに対する市場性機能が適用され、それに応じて市場性フラグがセットされる(ステップ1628’~1634’)。オーダが市場性のあるものから市場性のないものに移行する場合、既存のマッチングをブレークするための通知も送信することができる(ステップ1636’)。
【0180】
自動取引システムにおける一般的な市場性機能の使用を可能にすることは、トレーダが追加のオーダが実施されるかを制御するためのさらなる柔軟性をトレーダに提供する。市場性機能は、問題の取引可能項目に対する入札/アスクデータに依拠する可能性が高いが、代わりに、追加データおよび/または代替データに基づく市場性機能を使用することができる。これは、非伝統的な取引可能項目の取引をサポートするために、および/または取引のストラテジを条件付きで変更するための追加の方法として適切であり得る。特定の実施形態では、オーダの市場性フラグを設定する(したがって、新しいマッチングを防止する)機能は、既存のマッチングをブレークすることを決定する際に適用される市場性機能とは異なる可能性がある。マッチングブレーク市場性機能は、(ステートレスとは対照的に)ステートベースとすることができ、以前のアクティビティまたはその欠如に基づくことができる。例えば、システムは、既存のマッチングをブレークするかどうかを決定する際に、実施がない間に、どれくらい長く、またはどれくらいの量が取引されたか、または価格がどれくらい移動したかを追跡することができる。
【0181】
FIXプロトコルへの追加は、ストラテジマッチングベニュー1400が動作している全体的な取引環境に応じて、追加の市場性条件が指定されることを可能にするために、またはそのデータ(および場合によってはオーダデータ全体)を提供するために使用される代替チャネルを可能にするために必要とされ得る。
【0182】
図17は、ストラテジマッチングプロセスを実装する、マッチングエンジン1460の実施形態のハイレベルフローチャートである。マッチングプロセスは、連続的、周期的、または断続的に実施されてもよい。
【0183】
マッチングプロセスが開始されると、例えば、全オーダブックから、作業すべきストラテジオーダAが選択される。選択されたストラテジオーダAは、市場性があり、マッチングをサポートするために利用可能な容量を有していなければならない(例えば、取引可能である)(ステップ1702)。ストラテジオーダAを選択することができるこれらの基準を満たす、所定のセキュリティおよびサイドについての複数のオーダがあってもよい。選択オーダに優先順位を付ける際に、様々な方法を使用することができる。オーダは、オーダサイズ、市場性、コスト、または他の要因によって、または2つ以上の要因の組み合わせでランク付けすることができる。異なるソースからのオーダに使用するために、異なるランキング選択を提供することができる。優先順位フィールドは、オーダ発行者が少なくとも同じ最初のトレーダからのオーダの中で、選択優先順位付け要因を指定することを可能にするために、オーダ内に提供され得る。100000シェアのような閾値サイズを超える大きなオーダは、より小さなオーダよりも高い優先順位を付けられ、次いで、例えば、それらがいつ置かれたかにしたがって、さらに優先順位を付けられることができる。オーダが新しい場合、またはオーダが以前にマッチングしているが現在マッチングしていない場合、およびオーダがアクティブなマッチングであるかどうかなど、様々な他の要因を使用することもできる。
【0184】
マッチングプロセスは、他の基準を使用して考慮するために次数をフィルタリングすることもできる。一実施形態では、入力オーダがブローカまたは他のソース識別子またはオーダ特性の特定のサブセットに対する選択を示すことができる。すべてのオーダを共通の全オーダブックに記憶することができるが、オーダマッチングプロセスの別のインスタンスを適用することができ、その各インスタンスは、指定されたソースによってのみ発注されたオーダを考慮する。異なるソースからのオーダは、異なる方法論を使用して優先順位付けすることができ、この方法論は、ストラテジマッチングベニューを有するアカウントが確立されるときなどに、提供される方法論またはランキング関数の所定のセットから選択することができる。利用可能な流動性のインデックス付けおよび他の次元の因数分解は、有利には、独自にカスタマイズされたオーダ優先ブックおよび流動性検索を可能にする。
【0185】
取引可能なストラテジオーダAが機能するように選択された後、全オーダブックが検索されて、反対サイドであり、取引可能であり、ストラテジオーダAのストラテジタイプと互換性のあるストラテジタイプを有するAの同じセキュリティについてのストラテジオーダBが識別される(ステップ1704)。多くの場合、選択可能な複数の潜在的なコントラオーダBが存在することがある。特定のオーダBを選択するための様々な優先順位付け方式を実施することができる。上述したように、ストラテジタイプには異なる優先順位を与えることができる。複数の潜在的なコントラオーダマッチングが利用可能である場合、それらは、ストラテジタイプの優先順位に基づいてランク付けすることができ、より高い優先順位のストラテジ(より大きな流動性を与えるものなど)が最初に来る。
図19を参照すると、ストラテジタイプが10%~30%であるオーダAは、流動性を求めるストラテジを有する利用可能なオーダBに優先的にマッチングされ、10%~30%のストラテジに利用可能なオーダAがない場合、および5%~15%のストラテジに利用可能なオーダBがない場合、優先的にマッチングされる。
【0186】
同じ最も高いストラテジタイプ優先順位を有する複数の可能なコントラオーダがある場合、1つ以上の追加の優先順位付け方法を実施することができる。オーダは、サイズおよび時間によってランク付けすることができる。優先順位付け基準が適用されるオーダは、好みまたは設計選択に応じて変わり得る。例えば、オーダは、最初にオーダサイズにしたがって優先順位付けされ、次にストラテジタイプによって優先順位付けされ、またはその逆であってもよい。オーダAの選択に関して上述したような他の要因を使用することもできる。他の所定の基準に基づいて、異なる優先順位付けスキームが利用可能であり、選択される可能性がある。
【0187】
特定の実施形態では、同じストラテジを有する複数の潜在的なコントラオーダマッチングが利用可能である場合、マッチングエンジンは、優先順位付け要因のシーケンスを使用して、そのストラテジバケットからオーダを選択することができ、優先順位付け要因のシーケンスは、最高から最低までの優先順位のシーケンスに、オーダターゲットストラテジ、オーダ属性好み、休止オーダ配置機関、オーダのオリジナル数量、オーダ到着時間、および残留オーダ数量(新規オーダおよび条件付きオーダのみの場合)を含むことができる。
【0188】
より特定の実施形態では、マッチングエンジンが最高優先順位から最低優先順位まで以下に列挙される選択肢うちの1つ以上にしたがって、同じストラテジバケット内のオーダの中からマッチングオーダを選択することができる:
1.流動性検索選択:入力オーダで1つ以上の検索選択が指定されている場合、それらの選択が優先される。
2.機関/ブローカ/ディーラ:マッチングのために、同じ機関またはブローカ/ディーラからのオーダに優先順位が与えられる。機関またはブローカ/ディーラは、「セルフクロス」を避けるために、このオプションを無効にすることができる。
3.デスク:入力オーダが特定のデスクまたはブローカを指定した場合、オーダは、同じデスクおよび/またはブローカとの互換性のあるオーダのみとマッチングするようにペアとされる。例えば、承認されたブローカーリスト、または特定のブローカIOIである。
4.オリジナルオーダサイズバケット:オリジナルオーダサイズが25Kのような閾値よりも大きいオーダは、より小さいオーダよりも優先される。
5.到着時間:時間優先順位は、マッチングを決定する際の最終要因である。同じバケットに2つのオーダ(例えば、それぞれ500Kおよび125Kまたは20Kおよび15K)が存在する場合、ペアの中でより早く到着したオーダに優先順位が与えられる。
【0189】
コントラストラテジオーダの優先順位付けされた選択は、オーダAが追加のコントラマッチングのために利用可能な容量を有する限り、継続することができる。
【0190】
図17に戻ると、選択されたオーダAについてマッチングするコントラオーダBが利用可能でなく、チェックすべき全オーダブックに追加のオーダがある場合(ステップ1708)、適切な優先順位付け方法を使用して次の取引可能なオーダAが選択され(ステップ1720)、すべての関連するオーダがチェックされるまでプロセスが継続する。
【0191】
マッチングするコントロールオーダBが識別された場合、そのオーダは、それが条件付きであるかどうかチェックされる(ステップ1722)。オーダが条件付きでない場合、オーダAとオーダBとのマッチングがアクティブストリームテーブル(1726)に格納される。オーダAおよびBの各々は、選択されたストラテジおよびそれにマッチングした他のストラテジに基づいて、それぞれのレート容量を有する。このマッチングのために、満たすことができる最大レートは、AおよびBの利用可能なレート容量のうちの小さい方である。オーダAおよびBの利用可能な容量は、この量だけ減少される(ステップ1728)。その後、ストリームオンメッセージをトリガとして、オーダAおよびオーダBのソースに送信することができる(ステップ1730)。流動性検索オーダについては、マッチングはレートに影響を与えない。しかしながら、マッチングは、最大の潜在的な取引数量(オーダAに利用可能な総数量およびオーダBに利用可能な総数量のうちのより少ないものなど)をもたらすことができる。この金額は、別のコントラオーダとのストラテジマッチングに使用可能なままである流動性検索オーダのための少なくとも最小量を決定するために使用することができる。オーダAとオーダBとの両方が流動性検索ストラテジを有する場合、マッチングは、オーダAとオーダBとに利用可能な総数量のうちのより少ない数量に対して実施される後続のブロック取引をもたらすことになる。マッチングが現在のNBBOに基づく中価格などの決定された価格で実施することができ、ペアいずれのオーダもレート制約がないので、取引プロセッサストリーミングエンジン1465において実施されるストリーミング実施プロセスに参加する必要はない。代替的に、LS対LSのマッチングは取引プロセッサストリーミングエンジン1465によって、他のマッチングと共に処理することができる。
【0192】
有益には、マッチングロジックは流動性流量を最大化する。オーダがより高いレートを受け取る容量を有する(または流動性検索オーダが追加の量を残している)場合、それはより多くのマッチングに適格である。大容量オーダAは、より小さい容量を有する複数のオーダB、B’、B’’等に対して同時にマッチングすることができ、複数のマッチング状況におけるオーダB、B’、B’’等のストラテジは、同じである必要はない。
【0193】
オーダBとの照合に続いてオーダAのストリームオンメッセージが送信された場合、オーダBとのマッチングがまだアクティブである間にオーダAが2番目のオーダB’とマッチングすると、追加のストリームオンメッセージを送信する必要はない。同様に、オーダAに対するストリームオフメッセージは、Aとのすべてのアクティブなマッチングが終了するまで送信される必要はない。
【0194】
マッチングの期待レートやそのマッチング中に満たすことができる最大数量など、ストリームオンメッセージに追加情報が含まれている場合は、マッチングごとにストリームオンメッセージを送信できる。ストリームオフメッセージは、たとえ他のマッチングがあったとしても、マッチングがブレークしたときに任意選択で送信することができる。受信HEROシステムまたはPROシステムは、ストリームオンおよびストリームオフメッセージに含まれるマッチングIDを参照するなどして、所定のストラテジオーダについてストリームオンおよびストリームオフメッセージを独立して追跡することができる。
【0195】
ストラテジオーダのための各受信されたストリームオンメッセージが、後続のストリームオフメッセージとペアにされ得る場合、そのストラテジオーダのためのアクティブなマッチング存在しない。あるいは、または、さらに、ストラテジマッチングベニューは、例えば、メッセージのマッチング残存フラグの値によって異なる2つのタイプのストリームオフメッセージを有することができる。マッチング残存フラグの設定値は、それぞれのストラテジオーダについて少なくとも1つの残存する不連続マッチングがあることを示す。ストリームオフメッセージが受信されるが、そのストラテジオーダのためのアクティブストラテジが残る場合、ストリームオフメッセージは、受信HEROシステムまたはPROシステムによって、単に情報として、アルゴリズム処理を再開するためのアルゴ取引プラットフォームへの通知、またはアルゴオーダを再発行するためのOMS/EMSへの通知(任意の残りの量について)をトリガするために使用されないと見なされ得る。
【0196】
図17に戻ると、選択されたオーダAおよびマッチングするコントラオーダBの一方または両方が条件付きオーダである場合(ステップ1722)、オーダ確定プロセスが条件付きオーダに対して開始される(ステップ1732)。上述のように、これは、条件付きオーダに対する確定リクエストを送信することを伴い、マッチングした条件付きオーダを確定した非条件付き置換オーダに切り替えることを含むことができる。オーダが確定されるのを待っている間、追加のマッチングを検索するプロセスを継続することができる(ステップ1708)。
【0197】
各マッチングまたは各条件マッチングには、それぞれのマッチングIDを割り当てることができる。確定リクエストメッセージには、発行時の条件付きマッチングのマッチングID値を含めることができ、戻された確定オーダ応答には関連するマッチングID値を含めることができる。ストラテジマッチングベニューに送られたオーダにおけるマッチングID値の存在は、マッチングが既存の条件付きオーダの確定であるか、または代わりに確定の非条件付きオーダであるかを決定するために使用することができる。
【0198】
1つ以上の条件付きオーダが指定されたタイムアウト期間内に確定されない場合(ステップ1736)、マッチングが解放される(ステップ1740)。両方のオーダが条件付きであったが、1つだけが確定された場合、条件付きマッチングが失敗したことを示す通知を確定オーダのソースに送ることができる。条件付きオーダマッチングが正常に確定された場合(ステップ1738)、プロセスは、非条件付きマッチングの場合と同じ方法で継続する(ステップ1726)。
【0199】
ストラテジオーダには、「有効期間」指定子を設けることもできる。有効期間を超過し、ストラテジオーダが依然としてアクティブである場合、それをキャンセルして戻すことができる。
【0200】
図18は、取引プロセッサ1465の実施形態のハイレベルフローチャートである。取引プロセッサ1465は、取引ハンドラ1455によって提供される市場取引データに基づいて動作し、取引サイクルは、新しい取引データの受信時に、または取引データがバッファリングされるときに開始され得る。取引量V(取引量を指定する)および価格P(ステップ1802)で所定のセキュリティXの取引データを受け取ると、セキュリティXのアクティブなストリームオーダがあるかどうかを調べるためにチェックが行われる(ステップ1804)。存在しない場合、そのデータポイントに対して追加のアクションを取る必要はない。
【0201】
1つ以上のアクティブなストリームが存在する場合、例えば、セキュリティXのためのオーダAとコントラオーダBとの間にアクティブなマッチングがある場合、それらのストリームは処理される。(ステップ1804)。選択されたストリームについて、価格Pが、そのストリーム内のオーダAとオーダBとのマッチングしたペアについて指定された指値と互換性があるかどうかを判定するためのチェックが行われる(ステップ1806)。価格に互換性がない場合、そのストリームに対して追加のアクションは取られない(ステップ1808)。より多くのストリームが利用可能である場合(ステップ1810)、セキュリティXのための次のアクティブストリームが選択され、処理される(ステップ1812)。
【0202】
価格Pが(オーダAがオーダBにマッチングすることができ、オーダB’、B’’などにもマッチングすることができる)1つ以上のアクティブストリームのマッチングしたオーダのペアの指値と互換性がある場合、そのペアの実施が生成される(ステップ1816)。一実施形態では、実施は、セキュリティXの量と、マッチングしたオーダのストラテジに適合する最大のストラテジ基礎とに基づく。ストリーミング量は、最後の販売量Vに量のストラテジ基準パーセンテージを乗じたものであり、最後の販売価格で作成される。計算されたストリーミング量がペアのオーダのうちの1つについての利用可能な基礎を超える場合、交換される量は、最も低い利用可能な基礎となる。一方のオーダに流動性検索ストラテジがある場合、適用されるのは、他方のオーダのストラテジに対する利用可能な容量の最も高い割合となる。ペアの両方のオーダが流動性を求める場合、ブロック交換は、2つのオーダの利用可能な最低数量容量に等しい数量で行うことができる(2つの流動性検索オーダ間のマッチングの場合、取引処理ループにおいてマッチングしたペアが対処されるのを待つことなく、マッチング時に実施を行うことができる)。
【0203】
ストリーミング交換は、単一の取引で実施されてもよいし、いくつかのより小さな取引に分割されてもよい。また、複数の市場取引を組み合わせて、単一のストラテジマッチングフィルにすることもできる。フィルは、従来の技術を使用して実施され、実施データは、例えば、適切な取引報告ファシリティ1420に報告される。
【0204】
より特定の実施形態では、価格参照ストリーミングマッチングのために、システムは、SIP取引供給を連続的に処理し、マッチングされたオーダのためのすべての参照取引のために、マッチングにおける各オーダのためのフィルを以下のように生成することができる。
1.マッチング量および残差量における各オーダのストラテジに基づいて、クロス量(Cross Qty)を計算する(例えば、ストラテジが両方とも100%~200%である場合、クロス量は、基準取引の量の2倍のうちの小さい方であり、マッチングの2つのサイドの残りの量の最小値である)。
2.基準取引価格および適用可能な価格設定ルールに基づいて、クロス価格(CrossPrice)を計算する。
3.マッチングの各オーダにクロス量@クロス価格(crossQty@crossPrice)の実施を生成し(各オーダに残量を減らす)、各オーダに固定実施報告を送信する。
4.他の関連するすべての詳細(例えば、関連するMPID、無リスク元本、および他の取引変更因子)ならびにDTCCへの清算報告を含むTRFへの報告を生成する。
5.この実施がオーダを完了した場合(すなわち、残量=0)、完了したオーダ機能を呼び出し、その結果、ストリームオフメッセージが送信され、他の関連するハウスキーピングが実施される。残量を有するオーダは、後続のマッチングおよび充填のためにマッチングシステムによって処理され続ける。
【0205】
基準市場での実施に固有の構造上の利点、およびストラテジマッチングベニューで適用されるユニバーサルセグメンテーションは投資家を保護するが、実施情報の漏洩をさらに保護するために、ゲーム防止機能などの保護を追加することができる。これを行う1つの方法は、取引にランダム要因を導入することである。これらは、例えば、ストリームが双方向であるときにマッチングレートをランダム化すること、ストリームレートイントラストリームを変更すること、奇数ロットを参照するときにストリーム量をランダムに上下に丸めること、レポートの周期的なバンチング、および取引報告をランダム化することを含むことができる。
【0206】
図18に戻ると、交換が完了した後、アクティブストリームペアのオーダの一方または両方が利用可能な容量を充たしたかどうかに関する判定が行われる(ステップ1820)。充たした場合、そのペアに対するさらなる取引は利用可能ではなく、マッチングはブレークされる(ステップ1822)。オーダ完了ハウスキーピングタスクを実施することもでき、その結果、そのオーダの他のストリームが終了する可能性がある。追加の容量が残っている場合、問題のセキュリティに関する追加の関連する取引データが受信された後に、マッチングは持続し、さらなる交換を行うことができる。
【0207】
ペアとなったオーダの追加のアクティブストリームがそのセキュリティXに対して利用可能である場合(ステップ1810)、次のストリームが選択され、同じ方法で処理される(ステップ1812)。セキュリティXのためのアクティブなストリームの全てが処理された後、セキュリティXのための取引データの別のアイテムが受信されるまで、取引プロセッサによるこれらの取引に関するさらなるアクションは必要とされない。
【0208】
要約すると、マッチングが確立されると、実施のストリームは、マッチングのストラテジタイプに基づいて売り手から買い手に流れる。マッチング成立およびブレーク条件は、確立されたマッチングに対するブレークを最小限にするように設計される。一実施形態では、マッチング/ストリームが1つまたは両方のオーダが適用された市場性テストに基づいて市場性がなくなった場合、1つまたは両方のオーダが完了した場合(例えば、残量がゼロになった場合、または1つまたは両方のオーダがキャンセルされた場合)にのみ終了される。ストリーミングフィルよりも取引をブロックすることを優先する実施形態では、マッチングのオーダの1つが流動性検索であり、新しいより大きな流動性検索コントラサイドマッチングオーダが到着した場合に、マッチングをブレークすることもできる。
【0209】
上述のように、マッチングのうちの1つの市場性がなくなった場合には、マッチングをブレークすることができる。オーダは、市場性を失い、すぐに市場性に戻ることもできる。マッチングを直ちにブレークする代わりに、マッチングを中断し、マッチングが中断される前に与えられたバッファ期間を中断して、ペアリングを保存することができる。バッファ期間中にオーダの市場性に戻った場合、マッチングは再アクティブ化される。中断されたマッチングをいつブレークすべきかを決定するために、様々な条件を設定することができる。
【0210】
特定の実施形態では、以下の条件のうちの1つ以上が実施される。(a)オーダが指定されたタイムアウト期間より長く市場性がないままである場合、(b)マッチングしたオーダに両方とも再び市場性が戻る前に、マッチングしたオーダのセキュリティにおいて50Kなどの指定された市場量より多く取引される場合、および(c)市場価格(例えば、NBBO市場データにおいて指定される)が、ベースポイントにおける指定された価格デルタなどの特定の量より多く指値を超えて移動する場合、マッチングはブレークされる。
【0211】
ストラテジマッチングおよびストリーミング実施方法は柔軟であり、非対称取引ストラテジを実施するために適用することができる。
図16Dに示されるように、オーダの市場性機能は、ストラテジマッチングベニューに利用可能な任意の所望のデータに基づいて定義することができる。これは、オーダが実際に一致する場合に、より多くの制御を提供することができる。同様に、交換されるセキュリティの現在の量に加えて、またはその代わりに、要因に基づいて実施量関数を有する特別なストラテジを定義することができる。これにより、ストラテジマッチングベニューは、単に商品Aの現在の価格および量ではない基準に基づいて、商品または合成セキュリティなどの他の取引可能アイテムAの取引をサポートすることができる。
【0212】
上述のように、本発明の特徴をサポートするために、FIXプロトコルに対する様々な拡張を行うことができる。同様の特徴は、本発明の様々な部品間の通信に使用することができる他のプロトコルで実施することができる。例えば、一連の追加のFIXパーティションを定義して、ストラテジ取引ならびに関連する機能および管理をサポートすることができる。
【0213】
図7A、7B、8A~C、13A、および13Bは、単一の親オーダを処理するために使用される機能性に焦点を当てた、HERO認識アルゴ取引プラットフォーム320、HEROシステム315、およびPROシステム1110の実施形態の動作のハイレベルフローチャートである。複数のオーダの処理を同時にサポートするために、この機能を実施する様々な方法が当業者には知られているのであろう。本明細書に示す機能は、連続的に、周期的に、またはソフトウェアイベントまたは他の信号に応答して実施することができる。従来のように、種々のオーダは、固有のオーダIDを有し、システムとソフトウェア要素との間で送信されるメッセージに適切なオーダIDが含まれて、それらのメッセージをそれぞれのオーダに関連付ける。様々な他の従来の簿記および機能管理特性を使用することもできる。
【0214】
フローチャートに開示される様々な機能は、別のプログラムスレッドとして示される。マルチスレッドプログラムを使用することができるが、それは必須ではなく、そのような機能を実施するソフトウェアは当業者に知られているように、様々な方法で編成することができる。同様に、逐次的に発生するものとして開示される特定の機能は代わりに、並列に動作する別のスレッドで実施されてもよい。例えば、取引プロセッサ1465は、新しい取引データが受信されたときに、アクティブな関連するストリームを循環することができる。このタイプの順次機能は、並列スレッドで実施することもでき、各スレッドは、そのセキュリティのための取引データの受領に応答する異なるセキュリティのために、1つ以上のアクティブストリームおよび/または各処理ストリームを処理する。
【0215】
本システムは、株式、インデックス株式などのセキュリティを取引するためのシステムおよび方法に適用されるものとして説明されてきたが、ストラテジマッチングシステムは、これらの取引可能な項目の関連する市場データを参照して、他の取引可能項目の処理またはオーダにも適用することができる。第1市場データは、所定のストラテジオーダに市場性があるかどうかを決定するために使用され、第2市場データは、ストリーミング取引のタイミングおよび量を決定するために使用される。
【0216】
さらなる実施態様では、ストラテジマッチングが部分的なレートマッチングのみでマッチングをサポートすることができる。そのような場合、ストラテジマッチングベニューによって提供されるマッチングのストリームを考慮しても、オーダに利用可能な追加の料金容量が依然として存在する可能性がある。そのような場合、アルゴ処理システムは、ストラテジオーダレートマッチングを考慮して修正されたアルゴリズム制約を使用してオーダをスライスするようにさらに制御され得、その結果、アルゴリズム処理は、ストラテジマッチングベニューによってカバーされていない差分レートをマッチングしようと試みる。
【0217】
本発明の様々な態様、実施形態、および例が、本明細書で開示され、説明されてきた。当業者は、添付の特許請求の範囲に定義される本発明の精神および範囲から逸脱することなく、修正、追加、および変更を行うことができる。
【国際調査報告】