JP5346816B2 - アルゴリズム取引 - Google Patents

アルゴリズム取引 Download PDF

Info

Publication number
JP5346816B2
JP5346816B2 JP2009547464A JP2009547464A JP5346816B2 JP 5346816 B2 JP5346816 B2 JP 5346816B2 JP 2009547464 A JP2009547464 A JP 2009547464A JP 2009547464 A JP2009547464 A JP 2009547464A JP 5346816 B2 JP5346816 B2 JP 5346816B2
Authority
JP
Japan
Prior art keywords
rules
conditions
condition
rule
evaluating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009547464A
Other languages
English (en)
Other versions
JP2010517185A (ja
Inventor
ラヴレス,ジェイコブ
Original Assignee
シーエフピーエイチ, エル.エル.シー.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シーエフピーエイチ, エル.エル.シー. filed Critical シーエフピーエイチ, エル.エル.シー.
Publication of JP2010517185A publication Critical patent/JP2010517185A/ja
Application granted granted Critical
Publication of JP5346816B2 publication Critical patent/JP5346816B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/06Asset management; Financial planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

(関連出願に対する相互参照)
本出願は、「ALGORITHMIC TRADING」という発明の名称の仮出願第60/886,719号の優先権を主張し、これは、本明細書に参照により援用される。
以下の第I章〜X章は、本出願を説明するための指針を与える。
(I.用語)
用語「製品」とは、他に明記しない限り、任意の機械、製造物および/または物品の構成物を意味する。
用語「プロセス」とは、他に明記しない限り、任意のプロセス、アルゴリズム、方法などを意味する。
各々のプロセス(方法、アルゴリズムまたは他のものと呼ばれようと)は、本質的に、1つ以上のステップを含み、それによって、プロセスの「ステップ(単数)」または「ステップ(複数)」に対する全ての言及は、用語「プロセス」または同様の用語の単なる記載において、固有の先行詞を有する。従って、プロセスの「ステップ(単数)」または「ステップ(複数)」に対する特許請求の範囲における任意の言及は、十分な先行詞を有する。
用語「発明」などは、他に明記しない限り、「本出願に開示される1つ以上の発明」を意味する。
用語「1つの実施形態」、「実施形態(単数)」、「実施形態(複数)」、「その実施形態(単数)」、「その実施形態(複数)」、「1つ以上の実施形態」、「一部の実施形態」、「特定の実施形態」、「ある実施形態」、「別の実施形態」などとは、他に明記しない限り、「開示された発明(複数を含む)の(全てではないが)1つ以上の実施形態」を意味する。
用語、本発明の「バリエーション」とは、他に明記しない限り、本発明の実施形態を意味する。
実施形態を記載する際の「別の実施形態」に対する言及は、他に明記しない限り、言及された実施形態が、別の実施形態(例えば、言及された実施形態の前に記載された実施形態)と相互排他的である旨を示唆するものではない。
用語「含む(including)」、「含む(comprising)」およびそれらのバリエーションとは、他に明記しない限り、「限定されないが、含む」ことを意味する。
用語「1つの(a)」、「1つの(an)」および「その」とは、他に明記しない限り、「1つ以上」を意味する。
用語「複数」とは、他に明記しない限り、「2つ以上」を意味する。
用語「本明細書中」とは、他に明記しない限り、「本出願において、参照によって援用され得るあらゆるものを含む」ことを意味する。
語句「少なくとも1つの」とは、かかる語句が複数のもの(例えば、ものを列挙したリストなど)を修飾する場合、他に明記しない限り、1つ以上のそれらのものの任意の組み合わせを意味する。例えば、語句「少なくとも1つの小型装置、車および車輪」とは、(i)小型装置、(ii)車、(iii)車輪、(iv)小型装置および車、(v)小型装置および車輪、(vi)車および車輪、または(vii)小型装置、車および車輪のいずれかを意味する。語句「少なくとも1つの」とは、かかる語句が複数のものを修飾する場合、複数のもの「の各々のうちの1つ」を意味するものではない。
「1つ」、「2つ」などの数に関する用語は、何かの量(例えば、1つの小型装置、2つの小型装置)を示す基数として使用される場合、その数に関する用語が示す量を意味するが、少なくともその数に関する用語が示す量を意味するわけではない。例えば、語句「1つの小型装置」は、「少なくとも1つの小型装置」を意味するわけでなく、従って、語句「1つの小型装置」は、例えば、2つの小型装置を含むわけではない。
語句「に基づく」とは、他に明記しない限り、「にのみ基づく」ことを意味するものでない。つまり、語句「に基づく」は、「にのみ基づく」および「に少なくとも基づく」の両方を示す。語句「に少なくとも基づく」は、語句「に少なくとも部分的に基づく」と同等である。
用語「表す」などは、他に明記しない限り、排他的でない。例えば、用語「表す」は、他に明記しない限り、「のみを表す」ことを意味するものではない。つまり、用語「データがクレジットカード番号を表す」は、「データがクレジットカード番号のみを表す」および「データがクレジットカードナンバーを表し、そのデータがまた、何か他のものも表す」ことの両方を示す。
用語「それによって」は、本明細書中において、前に明示的に記載されたものの意図された結果、目的または結論のみを表す節または他の一式の用語に先行するためにのみ使用される。従って、用語「それによって」は特許請求の範囲で使用される場合、用語「それによって」が修飾する節または他の語は、特許請求の範囲の特定のさらなる限定を定めるものではなく、あるいは特許請求の範囲の意味または範囲を制限するものではない。
用語「例えば(e.g.)」および同様の用語は、「例えば(for example)」を意味し、従って、それが説明する用語または語句を限定するものではない。例えば、「コンピューターが、インターネットでデータ(例えば、命令、データ構造)を送る」という文において、用語「例えば」は、「命令」が、コンピューターがインターネットで送ることができる「データ」の例であることを説明し、また、「データ構造」が、コンピューターがインターネットで送ることができる「データ」の例であることを説明する。しかしながら、「命令」および「データ構造」の両方は、「データ」の単なる例であり、「命令」および「データ構造」以外の他のものも「データ」になり得る。
用語「それぞれの」および同様の用語は、「個々に見て」ということを意味する。従って、2つ以上のものが「それぞれの」特徴を有する場合、各々のかかるものは、その独自の特徴を有し、それらの特徴は互いに異なり得るが、その必要もない。例えば、語句「2つの機械の各々は、それぞれの機能を有する」とは、第1のかかる機械が機能を有し、第2のかかる機械が同様に機能を有することを意味する。第1の機械の機能は、第2の機械の機能と同じであってもよいし、同じでなくてもよい。
用語「すなわち」および同様の用語は、「つまり」を意味し、従って、それが説明する用語または語句を限定する。例えば、「コンピューターが、インターネットでデータ(すなわち、命令)を送る」という文において、用語「すなわち」は、「命令」が、コンピューターがインターネットで送る「データ」であることを説明する。
任意の所定の数値範囲は、その範囲内の数の全ておよび分数を含むものとする。例えば、「1〜10」の範囲は、1〜10の間の整数(例えば、1、2、3、4、...9)および整数でない数(例えば、1.1、1.2、...1.9)を具体的に含むと解釈されるべきである。
2つ以上の用語または語句が同義語である場合(用語または語句が同義語であるという明確な説明のため)、1つのかかる用語/語句の例は、別のかかる用語/語句の例が、異なる意味を有さなければならないことを意味するものではない。例えば、説明により、「含む」の意味が「限定されないが、含む」と同義語である場合、「限定されないが、含む」という語句の単なる使用は、用語「含む」が「限定されないが、含む」以外のものを意味することを意味するものではない。
(II.決定)
用語「決定」およびその文法的な変形(例えば、値段を決定すること、値を決定すること、特定の基準を満たす目的を決定する)は、非常に広い意味で使用される。用語「決定」は、広範囲の動作を含み、従って、「決定」は、算出、計算、処理、導出、調査、参照(例えば、表、データベース、または別のデータ構造の参照)、確認などを含んでもよい。また、「決定」は、受信(例えば、情報を受信する)、アクセス(例えば、メモリ内のデータにアクセスする)などを含んでもよい。また、「決定」は、解決、選択(selecting)、選定(choosing)、確立などを含んでもよい。
用語「決定」は、確実性または絶対的な精度を示唆するものではなく、従って、「決定」は、推定、外挿、予測、推測などを含んでもよい。
用語「決定」は、数学的処理が実施されなければならないことを示唆するものではなく、数値法が使用されなければならないことを示唆するものではなく、アルゴリズムまたはプロセスが使用されることを示唆するものではない。
用語「決定」は、任意の特定の装置が使用されなければならないことを示唆するものではない。例えば、コンピューターは、決定を実施することを必ずしも必要としない。
(III.文の形式)
第1の請求項の限定が1つの特徴および1つより多い特徴を含み(例えば、「少なくとも1つの小型装置」が1つの小型装置および1つより多い小型装置を含むなどの限定)、第2の請求項が第1の請求項に従属して、第2の請求項が、定冠詞「前記(the)」を使用して限定を表す場合(例えば、「前記小型装置」)、このことは、第1の請求項が、1つの特徴のみを含むことを示唆するものではなく、そして、このことは、第2の請求項が、1つの特徴のみを含むことを示唆するものではない(例えば、「前記小型装置」は、1つの小型装置および1つより多い小型装置の両方を含んでもよい)。
序数(例えば、「第1」、「第2」、「第3」など)を、用語の前の形容詞として使用する場合、その序数は、(他に明記しない限り)特定の特徴を示すため(同じ用語または同様の用語で記載される別の特徴とその特定の特徴とを区別するためなど)に使用されるにすぎない。例えば、「第1の小型装置」は、例えば、「第2の小型装置」とを単に区別するために、そのように名付けけられているにすぎないことがある。従って、用語「小型装置」の前の序数「第1」および「第2」の単なる使用は、2つの小型装置の間の任意の他の関係を示すものではなく、同様に、小型装置のいずれかまたは両方の任意の他の特徴を示すわけではない。例えば、用語「小型装置」の前の序数「第1」および「第2」の単なる使用は、(1)いずれかの小型装置が、順序または位置において、任意のもう一つのものの前または後に来ることを示すものではなく;(2)いずれかの小型装置が、時間において、任意のもう一つのものの前または後に生じるか、または作動することを示すものではなく;そして、(3)いずれかの小型装置が、重要性または品質において見られるような、任意のもう一つのものの上位または下位に位置付けされることを示すものではない。さらに、序数の単なる使用は、序数で識別される特徴に対する数値限定を規定するものではない。例えば、用語「小型装置」の前の序数「第1」および「第2」の単なる使用は、2つのみの小型装置しか存在しなければならないことを示すものではない。
単一の装置、物品または他の製品が本明細書中に記載される場合、1つより多い装置/物品(それらが協働するか否かにかかわらず)は、記載される単一の装置/物品の代わりに代替的に使用されてもよい。従って、装置が有していると記載されている機能性は、1つより多い装置/物品(それらが協動するか否かにかかわらず)が代替的に有することができる。
同様に、本明細書中に記載される1つより多い装置、物品または他の製品(それらが協動するか否かにかかわらず)、単一の装置/物品は、記載される1つより多い装置または物品の代わりに代替的に使用されてもよい。例えば、複数のコンピューターに基づいた装置は、単一のコンピューターに基づいた装置と置き換えられてもよい。従って、1つより多い装置または物品が有していると記載される種々の機能性は、単一の装置/物品が代替的に有してもよい。
記載される単一の装置の機能性および/または特徴は、記載される1つ以上の他の装置によって代替的に具現化されてもよいが、それらは、かかる機能性/特徴を有すると明確に記載されていない。従って、他の実施形態は、記載される装置自体を含むことを必要としないが、むしろ、それらの他の実施形態において、かかる機能性/特徴を有する1つ以上の他の装置を含んでもよい。
(IV.開示される例および専門用語は非限定的である)
発明の名称(本出願の最初のページの始めに記載される)も要約(本出願の最後に記載される)も、開示された発明(複数も含む)の範囲を限定すると決してみなされるべきではない。要約は、米国特許法施行規則(37C.F.R.)§1.72(b)の下で、150ワード以下が必要とされるため、要約は単に本出願に含まれているにすぎない。
本出願の発明の名称、および本出願に与えられる段落の表題は、利便性のためだけのものであり、開示を限定するものと決してみなされるべきではない。
多くの実施形態が本出願に記載され、例示の目的のみとして提示される。記載される実施形態は、決して限定されず、限定されることを意図するものではない。現在、開示される発明(複数も含む)は、本開示から容易に明らかなように、多くの実施形態に対して広く適用可能である。当業者は、開示される発明(複数も含む)が、構造的、論理的、ソフトウェア、および電気的変更などの種々の変更物および代替物などで実施され得ることを理解するだろう。開示される発明(複数も含む)の特定の特徴は、1つ以上の特定の実施形態および/または図面を参照して記載されるが、かかる特徴は、他に明記しない限り、参照として記載される1つ以上の特定の実施形態または図面における使用に限定されないことは理解されるべきである。
本明細書中でそうであると明確に記載されるか、または特許請求の範囲で明確に記載されるかのいずれかを除いて、本出願に記載される方法のステップまたは製品の要素の実施形態のいずれも、本明細書中で請求される本発明の構成要素とならないか、または本明細書中で請求される本発明に必須ではないか、または本明細書中で請求される本発明と同一の広がりを持たなくてもよい。
あらゆる特許請求の範囲における全ての語は、それらが、優先日時点で当業者によって与えられている最も広い範囲の意味を有する。本明細書または特許請求の範囲のいずれかでそのように明確に記載されている場合を除いて、特許請求の範囲に使用される用語のいずれも、本出願によって具体的に規定または限定されない。
後に続く特許請求の範囲の序文は、特許請求される本発明の目的、利点および可能性のある使用のみを列挙しており、特許請求される本発明を限定するものではない。
本開示は、本発明(複数も含む)の全ての実施形態の逐語的な詳細ではない。また、本開示は、全ての実施形態に存在しなければならない本発明(複数も含む)の特徴の一覧ではない。
互いに通信するものと記載される装置は、他に明記しない限り、互いに連続的に通信されることを必要としない。逆に、かかる装置は、必要または所望の場合、互いに伝送することのみ必要とし、実際には、ほとんどの時間、データを交換することを控えてもよい。例えば、インターネットを介して別の機械と通信する機械は、より長い時間(例えば、1度に数週間)、他の機械にデータを送信しないことがある。さらに、互いに通信する装置は、直接または1つ以上の中間物を介して間接的に通信してもよい。
いくつかの構成要素または特徴を有する実施形態の詳細は、全てまたはいくらかでさえ、かかる構成要素/特徴を必要とすることを示唆するものではない。逆に、種々の任意の構成要素は、本発明(複数も含む)の種々の可能な実施形態を示すために記載される。他に明記しない限り、構成要素/特徴のいずれも必須でなくても、必要とされなくてもよい。
プロセスのステップ、アルゴリズムなどは、特定の順序で記載または特許請求され得るが、かかるプロセスは、異なる順序で実施するように構成されてもよい。言い換えれば、明確に記載または特許請求され得るステップの任意の順序または順番は、必ずしもステップをその順序で実施するという要件を示しているわけではない。本明細書中に記載されるプロセスのステップは、任意の可能な順序で実施されてもよい。さらに、いくつかのステップは、同時に起こるものではないと記載されているか、または示唆されている(例えば、1つのステップが他のステップの後に記載されているため)にもかかわらず、同時に実施されてもよい。さらに、図面の説明によるプロセスの例示は、例示したプロセスが他のバリエーションおよびそれらの変更を除くことを示唆するわけではなく、例示したプロセスまたはそのステップのいくらかが、本発明(複数も含む)に必要であることを示唆するわけではなく、例示したプロセスが好ましいことを示唆するわけではない。
プロセスは、複数のステップを含むものと記載され得るが、そのことは、ステップの全てまたはいくらかが好ましいか、必須であるか、または必要とされることを示唆するものではない。記載される本発明(複数も含む)の範囲内の種々の他の実施形態は、記載されるステップの一部または全てを除く他のプロセスを含む。他に明示されない限り、いずれのステップも必須でもなく、必要とされない。
プロセスは、単一に、または他の製品もしくは方法を参照せずに記載され得るが、一実施形態において、プロセスは、他の製品または方法と相互作用してもよい。例えば、かかる相互作用は、1つのビジネスモデルと、別のビジネスモデルとを関連付けることを含んでもよい。かかる相互作用は、プロセスの柔軟性または妥当性を高めるために与えられてもよい。
製品は、複数の構成要素、態様、品質、特性および/または特徴を含むものと記載され得るが、このことは、いくらかまたは全ての複数のものが好ましいか、必須であるか、または必要とされることを示すものではない。記載される本発明(複数も含む)の範囲内の種々の他の実施形態は、一部または全ての記載される複数のものを除く他の製品を含む。
列挙された項目リスト(番号付けしていても、していなくてもよい)は、他に明示しない限り、いくらかまたは全ての項目が、相互に排除されることを示唆するものではない。同様に、列挙された項目リスト(番号付けしていても、していなくてもよい)は、他に明示しない限り、いくらかまたは全ての項目が、任意のカテゴリーを包含することを示唆するものではない。例えば、列挙リスト「コンピューター、ラップトップ、PDA」は、そのリストの3つの項目のいくらかまたは全てが、相互に排除されることを示唆するものではなく、そのリストの3つの項目のいくらかまたは全てが、任意のカテゴリーを包含することを示唆するものではない。
列挙された項目リスト(番号付けしていても、していなくてもよい)は、いくらかまたは全ての項目が互いに同等であるか、または互いに容易に置き換えられることを示唆するものではない。
全ての実施形態は例示であり、場合によっては、本発明または任意の実施形態が成されるか、または実施されることを示唆するものではない。
(V.計算)
本明細書中に記載される種々のプロセスが、例えば、適切にプログラムされた汎用コンピューター、専用コンピューター、およびコンピューターデバイスによって実行され得ることは、当業者に容易に明らかになるだろう。1つ以上のかかるコンピューターまたはコンピューターデバイスは、コンピューターシステムと言及され得る。図1は、コンピューターシステムの例を示す。このコンピューターシステムの例は、複数のサーバーコンピューター101およびクライアントコンピューター103を含む。典型的に、プロセッサ105(例えば、1つ以上のマクロプロセッサ、1つ以上のマイクロコントローラー、1つ以上のデジタル信号プロセッサ)は、(例えば、メモリ107または同様のデバイスから)命令を受信し、それらの命令を実行し、それによって、それらの命令によって規定された1つ以上のプロセスを実行する。命令は、例えば、1つ以上のコンピュータープログラム、1つ以上のスクプリトにおいて具現化され得る。任意の演算子の集合を実行するように構成された任意のコンピューターシステムが、例えば、取引システム、市場などを含む、種々の実施形態において使用され得ることは、理解されるべきである。
「プロセッサ」とは、アーキテクチャ(例えば、チップレベルのマルチプロセッシング/マルチコア、RISC、CISC、パイプライン段がインターロックされていないマイクロプロセッサ、パイプライン構成、同時マルチスレッディング)に関わらず、1つ以上のマイクロプロセッサ、中央処理装置(CPU)、コンピューターデバイス、マイクロコントローラー、デジタル信号プロセッサ、または同様のデバイス、あるいはそれらの組み合わせを意味する。
従って、プロセスの説明は、同様に、プロセスを実行するための装置の説明である。プロセスを実行する装置は、例えば、プロセスを実行するのに適切であるプロセッサおよびそれらの入力デバイスおよび出力デバイスを含んでもよい。
さらに、かかる方法を実行するプログラム(および他の形式のデータ)は、多くの様式において、種々の媒体(例えば、コンピューター可読媒体)を用いて保存および送信され得る。一部の実施形態において、配線回路またはカスタムハードウェアが、種々の実施形態のプロセスを実行することができる一部もしくは全てのソフトウェア命令の代わりに、またはそれらと組み合わせて使用されてもよい。従って、ハードウェアとソフトウェアとの種々の組み合わせが、ソフトウェアのみの代わりに使用されてもよい。
用語「コンピューター可読媒体」とは、任意の媒体、複数の同様のもの、または異なる媒体の組み合わせを指し、それらは、コンピューター、プロセッサまたは同様のデバイスによって読み取られ得るデータ(例えば、命令、データ構造)を与えることに関与する。かかる媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含むが、それらに限定されない多くの形態をとってもよい。不揮発性媒体としては、例えば、光学または磁気ディスク109および他の永続性の媒体が挙げられる。揮発性媒体としては、典型的に、メインメモリを構成するダイナミックランダムアクセスメモリ(DRAM)111が挙げられる。伝送媒体としては、プロセッサに連結されたシステムバスを備えるワイヤを含む、同軸ケーブル、銅線および光ファイバーが挙げられる。伝送媒体は、音波、光波、および電磁放射線、例えば、ラジオ周波数(RF)および赤外線(IR)データ通信の間に発生するものを含んでもよいか、または伝送してもよい。コンピューター可読媒体の一般的な形態としては、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD−ROM、DVD、任意の他の光学媒体、パンチカード、穿孔テープ、ホールのパターンを備える任意の他の物理的媒体、RAM、PROM、EPROM、FLASH−EEPROM、任意の他のメモリチップまたはカートリッジ、後述の搬送波、あるいはコンピューターが読み取ることができる任意の他の媒体が挙げられる。
コンピューター可読媒体の種々の形態は、プロセッサにデータ(例えば、命令シーケンス)を伝送することに関与してもよい。例えば、データは、(i)RAMからプロセッサに送られる;(ii)ワイヤレス伝送媒体を介して運ぶ;(iii)多数のフォーマット、標準、またはプロトコル、例えば、イーサネット(Ethernet)(またはIEEE 802.3)、SAP、ATP、ブルートゥース(Bluetooth)(商標)、およびTCP/IP、TDMA、CDMA、および3Gに従って、フォーマットおよび/または送信される;ならびに/あるいは(iv)当該分野において周知の任意の種々の方法において、プライバシーを保証するか、または不正を防ぐために暗号化される。
従って、プロセスの説明は、同様に、プロセスを実施するためのプログラムを保存するコンピューター可読媒体の説明である。コンピューター可読媒体は、方法を実行するのに適切であるそれらのプログラム要素を(任意の適切なフォーマットで)保存できる。
プロセスにおける種々のステップの説明は、全ての記載されるステップが必要とされることを示さないのと同様に、装置の実施形態は、記載されるプロセスの(全てを必要とされるわけではないが)一部を実行するのに操作可能なコンピューター/コンピューターデバイスを含む。
同様に、プロセスにおける種々のステップの説明は、全ての記載されるステップが必要とされることを示さないのと同様に、プログラムまたはデータ構造を保存するコンピューター可読媒体の実施形態は、実行される場合、プロセッサに、記載されるプロセスの(全てを必要とされるわけではないが)一部を実行させる得るプログラムを保存するコンピューター可読媒体を含む。
コンピューターシステムはまた、1つ以上の入力/出力デバイス113を備えてもよい。かかる入力/出力デバイスは、モニター、キーボード、マウス、および任意の他の所望のデバイスを備えてもよい。
一部のコンピューターシステムは、コンピューターシステムの種々の内部コンポーネントと接続する通信ネットワークと称され得る伝送媒体115を備えてもよい。かかる通信ネットワークはまた、一部の実行において、コンピューターバスと称される。一部のコンピューターシステムは、外部通信ネットワークに接続するように構成される専用の入力/出力デバイス117を含んでもよい。かかるデバイスは、ネットワークインターフェースと称されてもよい。外部通信ネットワークは、LAN 119および/またはインターネット121を含んでもよい。一部の実行において、エッジルーティング(edge routing)デバイス123は、LNAと、インターネット121と同様の別のネットワークとの間で機能することができる。かかるデバイスは、ファイアウォールおよび/または任意の他の所望のセキュリティー機構を含んでもよい。
データベースが記載される場合、(i)記載されるものに対する代替のデータベース構造が容易に使用され得、そして(ii)データベース以外の他のメモリ構造が容易に使用され得ることは、当業者によって理解されるだろう。本明細書中に提示される任意のサンプルデータベースの任意の例示または説明は、情報の保存された表示についての例示的な構成である。かなり多くの他の構成は、例えば、図または他の場所に示される表によって示唆されるもの以外に使用されてもよい。同様に、データベースの任意の例示されるエントリーは、例示的な情報のみを表し;当業者は、エントリーの数および内容が本明細書中に記載されるものと異なることを理解するだろう。さらに、表としてのデータベースの任意の説明にもかかわらず、他のフォーマット(リレーショナルデータベース、オブジェクトベースのモデルおよび/または分散データベースを含む)を、本明細書中に記載されるデータ形式を保存および操作するために使用してもよい。同様に、データベースのオブジェクト方法または動作を、本明細書中に記載されるような種々のプロセスを実行するために使用してもよい。さらに、データベースは、かかるデータベースにおけるデータにアクセスするデバイスのローカルに、またはリモートに、既知の方法で保存されてもよい。
種々の実施形態は、1つ以上のデバイスと(例えば、通信ネットワークを介して)通信するコンピューターを含むネットワーク環境において作動するように構成されてもよい。コンピューターは、任意の有線媒体または無線媒体(例えば、インターネット、LAN、WANまたはイーサネット(Ethernet)、トークリング(Token Ring)、電話線、ケーブル回線、無線チャネル、光通信回線、コマーシャルオンラインサービスプロバイダー、電子掲示板システム、衛星通信リンク、上記の任意の組み合わせ)を介して、直接または間接的にデバイスと通信してもよい。デバイスの各々は、それ自体、コンピューターと通信するよう適合されたコンピューターまたはIntel(登録商標)Pentium(登録商標)、Core、またはCentrino(商標)プロセッサに基づいたものなどの他のコンピューターデバイスを含んでもよい。任意の数および形式のデバイスが、コンピューターと通信されてもよい。
一実施形態において、サーバーコンピューターまたは集中化された権限は、必要でなくてもよいか、または望ましくないことがある。例えば、一実施形態において、本発明は、中央の権限なしで1つ以上のデバイスで実施されてもよい。かかる実施形態において、サーバーコンピューターによって実施されると本明細書中に記載される任意の機能、またはサーバーコンピューターに保存されると記載されるデータは、代わりに、1つ以上のかかるデバイスによって実行されてもよいか、またはそれらに保存されてもよい。
プロセスが記載される場合、一実施形態において、そのプロセスは、任意のユーザーの介入なしに動作してもよい。別の実施形態において、そのプロセスは、一部の人の介入を含む(例えば、ステップは人の助けを受けて実行される)。
(VI.継続出願)
本開示は、いくつかの実施形態および/または発明の可能な説明を当業者に与える。これらの実施形態および/または本発明の一部は、本出願において特許請求されなくてもよいが、それにもかかわらず、本出願の優先権の利益を主張する1つ以上の継続出願において特許請求されてもよい。
出願人は、本出願に特許請求されないが、開示され、実施可能にされている対象について特許化を進めるため、さらなる出願を提出することを意図する。
(VII.米国特許法(35 U.S.C.)§112、6項)
特許請求の範囲において、語句「のための手段」または語句「のためのステップ」を含む特許請求の範囲の限定は、米国特許法(35 U.S.C.)§112、6項がその限定に該当することを意味する。
特許請求の範囲において、語句「のための手段」または語句「のためのステップ」を含まない特許請求の範囲の限定は、その限定が、その機能を実施するための構造、材料または作用を列挙せずに機能を記載しているか否かに関わらず、米国特許法(35 U.S.C.)§112、6項がその限定に該当しないことを意味する。例えば、特許請求の範囲において、特許請求の範囲または別の特許請求の範囲の1つ以上のステップに対して称する際の語句「のステップ」または語句「ステップの」の単なる使用は、米国特許法(35 U.S.C.)§112、6項がそのステップに該当することを意味するものではない。
米国特許法(35 U.S.C.)§112、6項に従って特定の機能を実行するための手段またはステップに関して、本明細書に記載される対応する構造、材料または作用、およびそれらの等価物は、さらなる機能および特定の機能を実行してもよい。
コンピューター、プロセッサ、コンピューターデバイスおよび同様の製品は、種々の機能を実行できる構造である。かかる製品は、その製品のメモリデバイスまたはその製品がアクセスするメモリデバイスに保存されたプログラムなどの1つ以上のプログラムを実行することによって、特定の機能を実行するために操作可能である。他に明記しない限り、かかるプログラムは、本出願において開示され得る任意の特定のアルゴリズムなどの任意の特定のアルゴリズムに基づいていなくてもよい。特定の機能が、異なるアルゴリズムを介して実行され得、任意の多くの異なるアルゴリズムが、特定の機能を実施するための単なる設計上の選択事項にすぎないことは、当業者に周知である。
従って、米国特許法(35 U.S.C.)§112、6項に従って、特定の機能を実行するための手段またはステップに関して、特定の機能に対応する構造は、特定の機能を実行するようにプログラムされた任意の製品を含む。かかる構造は、かかる製品が、(i)機能を実行するための開示されたアルゴリズム、(ii)開示されたアルゴリズムと同様のアルゴリズム、または(iii)機能を実行するための異なるアルゴリズムでプログラムされるか否かにかかわらず、機能を実行するプログラムされた製品を含む。
方法である機能を実行するための記載された手段がある場合、この方法を実行するための1つの構造は、その機能を実行するのに適切なハードウェアでプログラムおよび/または構成されるコンピューターデバイス(例えば、汎用コンピューター)を含む。
また、当業者によって理解されるような他のアルゴリズムを介してその機能を実行するように適切なハードウェアでプログラムおよび/または構成されるコンピューターデバイス(例えば、汎用コンピューター)も含む。
(VIII.免責条項)
特定の実施形態に対する多数の参照は、さらなる、異なる実施形態の免責条項または否認を示すものではなく、同様に、特定の特徴を全て含む実施形態の詳細に対する参照は、その特定の特徴を含まない実施形態の免責条項または否認を示すものではない。本出願における明らかな免責条項または否認には、語句「含まない」によって、または語句「実行できない」によって前置きされるだろう。
(IX.参照による援用)
本明細書中に参照される任意の特許、特許出願または他の文書は、本開示の一部として本特許出願に参照により援用されるが、米国特許法(35 U.S.C.)§112、1項に従って記載された要件、および米国特許法(35 U.S.C.)§112、1項に従う実施可能要件の目的のためのみであり、このような参照による援用がない特許出願が、確認可能な意味を与えることができない場合、本出願の任意の用語を限定、定義、またはその他の方法で解釈するために決して使用されるべきではないが、むしろ、かかる用語についての確認可能な意味を提供することを可能にするだろう。従って、当業者は、参考文献に与えられる任意の実施形態によって限定される必要は決してない。
参照による援用は、それ自体は、本特許出願において明示されない限り、任意の記載において、任意の援用される特許、特許出願または他の文書に含まれる言及、主張または特性の任意の支持、承認、または黙認を示すものではない。
(X.出願経過)
(請求項を含む)本出願を解釈する際に、本出願に関連していると認められる他の特許出願が存在しているか否かにかかわらず、本出願の優先権の主張を共有する他の特許出願が存在しているか否かにかかわらず、当業者は、本出願の出願経過を参照するが、任意の他の特許または特許出願の出願経過を参照しないものとする。
一部の実施形態において使用され得るコンピューターシステムの例を示す。 一部の実施形態において実施され得るアルゴリズムの例を示す。
(XI.実施形態)
(並行処理)
本明細書中で使用される場合、「並行処理」は、アルゴリズムが、独立したプロセスまたは一連のステップを用いて実行され得る程度を含む。例えば、ステップ1、2、3、4を必要とするアルゴリズムは、(a)ステップ2が、ステップ1の出力を入力として必要とし;(b)ステップ4が、ステップ3の出力を入力として必要とし;(c)ステップ1および2が、ステップ3またはステップ4の出力を入力として必要とせず;そして、(d)ステップ3および4が、ステップ1またはステップ2の出力を入力として必要としない場合、2つの並行処理を有してもよい。アルゴリズムが、2つの独立したプロセスを用いて実行され得る、すなわち、ステップ1および2がステップ3および4から独立して実行され得るため、そのアルゴリズムは2つの並行処理を有する。
(条件)
本明細書中で使用される場合、「条件」は、正しいまたは誤りについて評価する命令文を含んでもよい。条件は、属性、演算子、および値から構成されてもよい。例えば、「a>10」は、属性として「a」、演算子として「>」、および値として「10」を有する。本明細書中で使用される場合、条件は、3個の要素からなる属性、演算子、および値を含んでもよい。例えば、条件は、(a,>,10)であってもよい。本明細書中で使用される場合、条件は、1つより多い属性、1つより多い演算子、および/または1つより多い値を含んでもよい。例えば、条件は、「aは20〜30の間」という命令文であってもよい。一部の実施形態において、条件は、演算子の任意の種類および数を含んでもよい。
(ルール)
本明細書中で使用される場合、「ルール」は、条件の収集を含んでもよい。
(ベクトル)
本明細書中で使用される場合、「ベクトル」は、全て同じ種類である項目のリストを含んでもよい。例えば、ブール(Boolean)ベクトルは、正しいまたは誤り(またはその等価物)のいずれかである項目を含んでもよい。
(条件マトリクス)
本明細書中で使用される場合、「条件マトリクス」は、条件のマトリクスを含んでもよい。条件マトリクスの各行は、条件を規定してもよい。条件マトリクスの列は、条件の一部を記載してもよい。例えば、条件マトリクスの1つの実行は、3つの列を含んでもよく、この列は、属性についての列、演算子についての列、および数値についての列を含んでもよい。一部の実施形態において、条件マトリクスにおける値は、演算子および/または値のグループにグループ化されてもよい。
(参照ルール)
本明細書中で使用される場合、「参照ルール」は、1つ以上のルールに対する条件マトリクスまたは条件の他の収集の一部のマッピングを含んでもよい。例えば、参照ルールは、条件マトリクスの1つ以上の行を示してもよい。これらの行の組み合わせは、参照ルールによって規定されるルールを構成してもよい。一部の実施形態において、参照ルールは、元のルールに対して順序付けられた一群の演算子および値をマッピングしてもよい。
種々の実施形態は、プログラム取引を実行するためのアルゴリズムを記載している。種々の実施形態において、ストリーミングデータが受信される。ストリーミングデータは、証券市場または先物市場またはオプション市場などの市場から受信されるデータを含んでもよい。さらに、ストリーミングデータは、実質的に連続して受信されるデータ、および/または実質的にリアルタイムで更新されるデータを含んでもよい。
一部の実施形態において、データは、条件を解析するために使用されてもよい。例えば、条件は、データの一部の値に基づいて正しくてもよいが、他の値に基づいて正しくなくてもよい。従って、データの現在の値は、条件が現在、正しいか否かを決定するために使用されてもよい。種々の実施形態において、解析される条件の数は多くてもよい。さらに、データは急速に変化してもよい。種々の実施形態は、一連の条件を効果的に試験することができるアルゴリズムを含む。種々の実施形態は、O(logN)回数付近で一連のルールを試験することができる(すなわち、logN(式中、Nは一連のルールにおける条件の数である)にほぼ比例する演算子の数を実行することによって試験することができる)アルゴリズムを含む。
かかるアルゴリズムについてのアプリケーションは、例えば、価格が、取引時間を通して、実質的にリアルタイムで為替相場ベースまたは店頭取引(すなわち、非為替相場ベース)の市場から電子的に報告される金融市場に存在する。多数の参加者は、ほぼ同時に、付け値および指し値を入力してもよいか、または取引を実行してもよい。かかる付け値、指し値および取引に関するリアルタイム情報の売買高は、まとめて市場データとみなされる。市場参加者は、取引システムと称され得る種々のコンピューターシステムを使用して、情報を得て、共有してもよいし、あるいは市場活動に参画してもよい。かかるコンピューターシステムは、単一のオフィスまたは複数の国または海外のオフィスであろうとなかろうと、例えば、単一の組織内にあるコンピューターシステムを含んでもよく、このシステムは、電子商取引プラットフォームまたは為替相場ベースの取引プラットフォームにインターフェースで接続することができ、次に、実行された取引を処理およびクリアするための専用のシステムに連結され得る。
1つ以上の条件に関するルールの使用の一例は、取引システムに存在する。かかる取引システムは、人のオペレーターによって注文の電子入力または取引情報を与えてもよい。あるいは、市場参加者は、一連のアルゴリズムにおいて具現化されたルールに従って、市場データを解析することができるコンピュータープログラムを作成することができ、次いで、その解析の結果に基づいて行動してもよいし、行動しなくてもよい。ルールの条件は、例えば、市場の売買高、証券値段、市場管理、値段変化、値段変化の総額、取引された総額、取引に利用可能な総額、いくらかの最近実行された取引の値段、時間および/または任意の他の情報を含んでもよい。行動は、付け値の注文または売り値の注文を提示する形態、付け値の注文または売り値の注文をキャンセルする形態、および/または証券もしくは他の金融商品を売買する形態をとってもよい。
ルールの別の使用の例は、市場および/または為替相場システムに存在する。市場および為替相場システムは、注文が、規模、または購入もしくは販売についての売買高、およびまたは時間に基づいて優遇措置を与えられる下で優先権のルールを有してもよい。例えば、有効な注文は、それらが受信される時間に従って、優先的に処理されてもよい。解析を効率的および迅速に実行するアルゴリズムを作成することは有益であり、それによって、最も短い達成可能な時間間隔内でその適切な優先権において注文を市場に出す。取引システム、市場、および為替相場システムとの間の差異が、常に存在しなくてもよいことは理解されるべきである。例えば、一部の実施形態において、取引システムに関連する行動は、通常、市場で発生してもよく、為替相場システムに関連する行動は、取引システムで発生してもよいなどである。
種々の実施形態は、プログラム取引の外部または金融サービスの外部で使用され得るアルゴリズムを含む。種々の実施形態は、任意の適切なアプリケーション内で多数の条件を調べるために使用され得るアルゴリズムを含む。例えば、アルゴリズムは、水力発電所、自動車、電子デバイス、および/または任意の他の所望のアプリケーション内の測定結果および警告レベルを調べるために使用されてもよい。
実施形態の例のさらなる詳細は、取引システムに関して主に与えられるが、この開示が、他の実施形態を含むことは、理解されるべきである。一部の例示的な取引に関する実施形態において、コンピューターシステムは、複数のルールを受信してもよい。ルールは、1つ以上の条件を含んでもよく、その条件が満たされる場合、行われる1つ以上の行動を識別してもよい。かかるルールは、例えば、トレーダー、システムオペレーター、および/または任意の他の所望の発信元によって入力されてもよい。
(ルールを条件に分類する)
一部の実施形態は、複数の時間(例えば、新しい市場データが連続的に受信される場合など)においてルールを評価することを含んでもよい。一部の実施形態を理解するために、ルールの例:
のこの単純な収集を考慮する。
単純なルールの評価システムは、各々のルールを全体として試験し、正しいまたは誤りの出力のいずれかで終了してもよい。以下の入力の例:
を使用すると、ルールの各々を誤りと評価し、行動が実行されないだろう。
次に、ルール1の実行の例において、1つの条件が誤りであると決定される場合、終了または中断の命令文が挿入され、以下:
(ルール1)
のように処理される。
一部のシステムは、ルールにおける各々の条件の評価を示すベクトルを出力してもよい。例えば、110bのブーリアン(Boolean)ベクトル(正しい、正しい、誤り)は、ルール1の実行の例から得てもよい。かかるベクトルは、(例えば、任意の0’sがベクトルに存在するかどうかを決定する操作によって)評価を容易にすることができ、および/または(例えば、ベクトルを保存するために必要とされるビットのみを用いることによって)結果の保存を圧縮することができる。ベクトルの使用が例のみであることは、理解されるべきである。他の実施形態は、条件および/またはルールの評価の任意の他の種類の表示を使用してもよい。例えば、一部の実施形態は、各々のルールおよび/または条件などに対して整数値を出力してもよい。
このアプローチが、全部で9回の操作について各々3個の条件からなる、3個のルールを試験できることは、明らかであるはずである。このシーケンシャルアプローチは、短絡化を可能にする利点を有し、例えば(上記において)b>20が誤りである場合、c>5は試験されず、その試験を実行するために使用される操作を割り引く。しかしながら、一部の実行において、全ての事象を記録(log)して、短絡しないことは重要であり得る。全ての事象を記録することによって、より完全な情報が、市場の条件または他のデータに関して集められ得る。さらに企図される市場の行動を読み取ることに対して、多くの実験により得られるデータ、またはそれによるアルゴリズムのルールの変化が与えられてもよい。
一部の実施形態において、1つ以上の準備段階が、ルールの評価の速度を向上させるために、ルールが入力されるなどのように、ルールの評価の前にとられてもよい。種々の実施形態において、アプローチは、ルールをそれらの条件に解析することを含んでもよい。例えば、上記のルール1、2および3の3つの条件の各々が、識別されてもよい。条件は、以下のマトリクスCなどの条件の収集に配置されてもよい。このマトリクスは、条件マトリクスと呼ばれてもよい。一部の実施形態において、重複する条件は、マトリクス内に配置されてもよい。例えば、上記のルールは、以下の入力:
で条件マトリクスをもたらしてもよい。
一部の実施形態において、元のルールは、条件の収集(例えば、条件マトリクスの行または指標)の特定の位置を参照することによって、条件の収集(例えば、条件マトリクス)から再作成されてもよい。一部の実施形態において、元のルールの一部は、元のルールを再作成する行を示す参照ルールと関連してもよい。例えば、上記からルール1、2および3を規定するために使用され得る参照ルールは、以下:
のとおりであってもよい。
これらの参照ルールは、ルールの評価の間に解釈され得て、その結果、数字が、元のルールを生成するために指示される順序において組み合わされる条件マトリクスの行を参照する(例えば、ルール1は、マトリクスCの列0、1および2を組み合わせることによって、再作成されてもよい)。参照ルールは、元のルールの条件の数字に対応し得る列の表示の任意の数字を含んでもよい。この参照ルールの例は、単純な数字の表示を用いて単純な英語で与えられるが、種々の実施形態において、参照ルールは、任意の表示(複数も含む)を含んでもよく、その表示から元のルールが、条件マトリクスから再作成され得ることは、理解されるべきである。さらに、本明細書に記載される実施形態は、条件マトリクスに焦点をあてているが、任意の条件の収集(例えば、条件リスト、条件表、条件データベース、条件ハッシュ値など)が、種々の実施形態において使用されてもよいことは、理解されるべきである。
一部の実施形態は、元のルールを再構成するために、参照ルールを評価することを含んでもよい。かかる評価は、条件マトリクスの条件が評価された後、ルールが評価される度に生じてもよい。かかる参照ルールの評価は、例えば、新しい市場データが受信された場合、ルールがその市場データに対して試験され得る場合に行われてもよい。一部の実施形態において、参照ルールは、実行するために一定の数のクロックサイクルを取り得る(すなわち、一定時間に実施され得る)ルックアップを用いて評価されてもよい。かかる評価は、参照ルールによって示される1つ以上のメモリ位置を参照することを含んでもよい。一部の実施形態において、複数のメモリ位置が参照ルールによって参照される場合、複数の位置が並行に参照されて、ルックアップを完結する速度を増加させ得る。
一部の実施形態において、条件が評価されてもよい。条件は、ルールが評価される度に評価されてもよい。一部の実施形態において、ルールの条件は、参照ルールが評価されて、元のルールを再作成する前後に評価されてもよい。一部の実施形態において、条件は、条件マトリクスまたは一部の他の条件の収集において評価されてもよく、次いで、ルールは条件のより速い評価を可能にし、次いで、ルールは、どのルールが満たされ、および/またはどの行動が生じるべきであるかを決定するために再構成されてもよい。
一部の実施形態において、ルールの条件を評価することは、各々の条件が正しいまたは誤りであるかどうかを決定することを含んでもよい。条件マトリクスを構成する全てのルールは、条件マトリクスの適切な行を組み合わせることによって、評価されてもよい。従って、一部の実施形態において、全てのルールを評価するために、条件マトリクスの全ての行が評価されてもよく、次いで、種々の参照ルールに従って、組み合わされてもよい。正しい条件の収集となる条件の組み合わせは、再構成されたルールに関連付けられて、行動をトリガーしてもよい。
一部の実施形態において、条件マトリクスにおける条件は、互いに独立していてもよい。従って、条件の評価は並行処理されてもよい。例えば、条件マトリクスCの例は6個の条件を含み、その各々は互いに独立している。従って、参照ルールおよび条件マトリクスを用いることは、(この場合)並行処理について6回の操作および6個の機会を与える。従来のシーケンシャル評価方法と比べて、以下の表は、参照アプローチを用いることから達成可能な操作回数における可能な割り引きを示す。
一般に、従来のシーケンシャル評価アプローチは、
回数(式中、Nはルールの数であり、Cはルールあたりの条件の数である)をとる。かかるアプローチにおいて、評価は、全ルールの数まで、並行に実行されてもよい。
一部の実施形態において、参照アプローチは、
回数(式中、C’はCの個別要素の部分集合である)である。かかるアプローチにおいて、評価は、ルールの全ての個別条件の数まで並行に実行されてもよい。これにより、特に、多数の独立的条件が同時に評価され得る状況、および多数のルールが重複する条件を含む状況において従来のシーケンシャルアプローチに対して著しい性能の向上を生じ得る。従って、ルールを評価するために、これらの条件マトリクスおよび参照ルールを用いることによって、ルールの評価がより迅速に実行されてもよい。
(条件を効果的に試験する)
一部の実施形態において、条件マトリクスは、多かれ少なかれ、条件を試験するための効果的な順序を有してもよい。例えば、「a>10」が正しい場合、明らかに「a>3」もまた、正しい。複数の条件が同様の変数を試験することを含む場合、条件の評価の実行は、効果的な方法で条件を順序付けすることによって改良されてもよい。条件マトリクスCを再び参照して、以下:
を再生する。
一部の実施形態において、条件を評価するための優先的な順序は、各々の属性内で特有であってもよい。例えば、属性「b」を有する条件についての範囲が、属性「a」を有する条件の範囲を限定するルールは、一部の実施形態の順序付けにおいて考慮されなくてもよい。従って、一部の実施形態において、条件マトリクスは属性によってグループ化されてもよい。例えば、Cは以下:
のようにグループ化されてもよい。
一部の実施形態において、条件は、属性内の演算子が、各々の他の範囲を限定しないように考慮されてもよい。この仮定は正しくなくてもよく、他の実施形態は、これらの限定(例えば、a>30が正しい場合、a<20が明らかに誤りである)を考慮するように構成されてもよいが、単純な実施形態の実証のために無視してもよい。しかしながら、他の実施形態が、実行を改良するために、このような限定による効果を考慮してもよいことは、理解されるべきである。
従って、一部の実施形態において、条件は、それらの属性のグループ化の範囲内の演算子によってグループ化されてもよい。例えば、属性aに対する以下:
の例示的な条件を考慮する。
これらは、以下:
のような演算子および属性によってグループ化されてもよい。
一部の実施形態において、実行を改良するために、各々の演算子のクラス内の演算子の値が、昇順にソートされてもよい。例えば、上記の表は、
(ここで、`s#は、昇順にソートされることを示すために使用される)になってもよい。
このようにソートすることは、所望の探索アルゴリズムの使用を可能にするために実行されてもよい。いくつかの公知の探索アルゴリズムは、ソートされたデータの比較的速い探索を実行するために使用されてもよい。一例の探索アルゴリズムは2分探索であり、これは、O(logN)回数において実行されてもよい。別の探索の例は、Olog((logN))回数に実行されてもよい補間探索である。
一部の実施形態において、参照ルールまたは他のマッピングルールは、条件の順序付けおよび演算子が元のルールにマッピングに戻されてもよいように、更新、または作成されてもよい。かかるルールのマッピングは、元のルールのルックアップが、そのルールが評価されるときはいつでも、一定時間に実行されてもよいように、実行されてもよい。従って、一部の実施形態において、参照ルールは、元のルールに対して、演算子によってグループ化された順序付けされた一群の条件の集合からマッピングするために使用されてもよい。
一部の実施形態において、かかる順序付けおよびグループ化は、ルールが作成された場合などのルールの評価の前に生じてもよい。一部の実施形態において、次いで、ルールの評価は、所望の間隔で、連続的になどの市場データが受信された場合などの後に、何回も生じてもよい。
一部の実施形態において、所望の探索アルゴリズムは、演算子のクラスおよび属性の各々のグループ内の演算子の値の集合で実行されて、ルールの評価を促進してもよい。かかる探索は、演算子の値が、O(logn)回数に操作する周知の二分探索アルゴリズムなどの迅速な探索アルゴリズムの使用を可能にするためにソートされた後に、実行されてもよい。かかる探索は、ルールが評価される度に実行されてもよい。
一部の実施形態において、二分探索演算子、2値(bin)は、2つのパラメーター:X、順序付けされたベクトルの値、y、スカラー値をとってもよい。二分探索演算子の結果は、値がy値よりも大きくないベクトルX内の最後の指標であってもよい。例えば、
を考慮する。
所望の実施形態は、探索演算子として二分探索を使用する間、順序付けされるか、または順序付けされないデータの集合を探索する他の探索アルゴリズムが使用されてもよいことは、理解されるべきである。一部の実施形態は、かかる演算子および/または類似の演算子、あるいは値の集合と入力値との比較の結果を与えるために、値の集合もしくは値の順序付けされた集合を探索できる任意の他の機能を使用してもよい。
2値(bin)演算子の例を用いて、「>」演算子は、属性値のリストで二分探索を実行することによって、評価されてもよい。この場合、二分探索後の全ての結果は誤りである。例e:
を考慮する。aが21に等しいかかる時間で探索することは、2を生じる(値は17である)。リストにおける17の前の全ては正しく、17の後の全ては誤りである。
2値(bin)演算子の例を用いて、「<」演算子は、属性値のリストで二分探索を実行することによって評価されてもよい。かかる場合において、次いで、二分探索後の全ての結果は正しく、二分探索時および前の全ての結果は誤りである。表の例:
を考慮する。aが21と等しいかかる時間で探索することは、2を生じる(値は17である)。17の位置および17の前の全ては誤りであり、17の後の全ては正しい。
一部の実施形態において、「=」演算子を評価することは、二分探索操作を実行すること、および「=」演算子の値と戻された指標での値とを比較することによって、実行されてもよい。その値のみが、等しい操作に対して正し方に戻ってもよい。全ての他の値は誤りである。
この技術は、正しいおよび誤りの収集(例えば、1’sおよび0’sのベクトル)の結果となってもよい。これらの結果は、元のルールを再作成するために上記の参照ルールを用いて再結合されてもよい。正しいと評価する元のルールは、トリガーされる行動となってもよい。実施形態の例は、O(AOplogV)回数(式中、Aは属性の数であり、Opは演算子の数であり、Vは値の数である)程度で実行され得るルールの評価を生じてもよい。種々の実施形態は、O(logN)程度でルールの集合を試験することができる(すなわち、AOplogVにほぼ比例する演算子の数を実行することによって試験することができる)アルゴリズムを含む。かかる実施形態は、ルールの評価の実行を改良することができ、これは、より短い時間で多くのルールが評価されることを可能にする。従って、より多くのルールが使用され得、および/またはより多くの評価が、時間あたり行われてもよく、それによって、評価の結果は、現在の市場データをより正確に反映することができる。
(方法の例)
図2は、ブロック201で開始して、一部の実施形態において実行され得るプロセス200の例を示す。プロセス200は、例えば、コンピューターシステムによって実行され得る。プロセス200が例のみとして与えられ、他の実施形態が他のプロセスを含んでもよいか、またはプロセスを全く含まなくてもよいことは、理解されるべきである。特に、一部の実施形態は、異なるステップ、異なる順序のステップ、代替のステップ、さらなるステップ、および/またはプロセス200の例より少ないステップを含んでもよい。
ブロック203に示したように、プロセス200は、複数のルールを受信することを含んでもよい。上記のように、ルールは、複数の条件を示してもよい。ルールは、条件が正しい場合、取られるべき1つ以上の行動を示してもよい。条件は、x>y、a<b、c=dなどの上記の演算子を含んでもよい。条件はまた、所望され得る任意の他の所望の演算子を含んでもよく、演算子の一部の例としは、絶対値演算子、集合演算子、数学演算子、部分集合演算子、上位集合演算子、共通演算子、和集合演算子、濃度(cardinality)演算子、演算子順序、計算演算子、データに適用される関数、データの値の変化、導関数、積分、反復演算子、アルファベットの演算子、および/または任意の他の所望の条件を示し得る任意の他の演算子が挙げられる。一部の実施形態において、例えば、x+y<z、xはyおよびzの共通部分の集合の範囲であり、集合xの範囲内の要素の数はyより小さく、f(x)の導関数はyより小さい、などの数学演算子および/または集合演算子を含んでもよい。一部の実施形態は、他のルールまたは条件(例えば、ルールxが正しく、z<y、ルールxおよびルールyのうちの少なくとも1つが正しく、ルールa、ルールbおよびルールcのうちの1つのみが正しいなど)に関係する条件を含んでもよい。ルールによって示された行動が、任意の取引に関連する行動、行動の優先順位を決めること、および/または任意の他の所望の行動を含んでもよい。一部の実施形態において、条件は、「<」「>」および「=」演算子のみを含む下位の条件に分類されてもよい。かかる下位の条件は、通常の条件として処理されてもよく、マッピングの使用を介してルールの再結合と同様に元の条件を形成するために再結合されてもよい。
例えば、ルールは、アルゴリズム取引を開発しているトレーダー、優先方式を設計している市場の設計者、および/または任意の他の所望の発信元によって入力されてもよい。一部の実施形態において、ルールが入力され得るインターフェースが与えられてもよい。一部の実施形態において、自動取引プログラムなどのコンピュータープログラムが、ルールを提示してもよい。トレーダー、コンピュータープログラムなどは、評価するためのコンピューターシステムに1つ以上のルールを提示してもよい。
ブロック205に示されるように、プロセス200は、複数のルールを条件収集に解析することを含んでもよい。上記のように、条件収集の一例は条件マトリクスであるが、複数のルールからの複数の条件のうちの任意の他の収集が、種々の実施形態において使用されてもよい。また、ブロック205に示されるように、参照ルールが生成されてもよい。参照ルールは、受信されたルールと、条件収集における条件との間のマッピングを与えてもよい。他の実施形態において、他のマッピングが、かかる参照を与えるために使用されてもよい。
ブロック207に示されるように、プロセス200は、演算子および/または属性によって条件収集における条件をグループ化することを含んでもよい。上記のように、条件はグループ化されて、それによって、類似の演算子および類似の属性が同じグループに存在する。従って、評価、探索、ソートなどの行動は、同様または類似の演算子および/または属性を含むグループで実行されてもよい。また、ブロック205に示されるように、参照ルールは、グループ化から元のルールまでの正確なマッピングを与えるために更新されてもよい。他の実施形態において、さらなる参照ルールまたは他のマッピングが、かかる参照を可能にするために確立されてもよい。
ブロック209に示されるように、プロセス200は、各グループ内の値を順序付けすることを含んでもよい。下記のように、値は、数値について所望の番号順に配置されてもよい。他の実施形態において、任意の他の順序付け(例えば、アルファベットなど)が使用されてもよい。上記のように、かかるグループの順序付けは、各グループでより効果的に実行されるべき探索、評価、および/または任意の他の行動を可能にする。また、ブロック207に示されるように、参照ルールは、順序付けされたグループ化から元のルールまでの正確なマッピングを与えるために更新されてもよい。他の実施形態において、さらなる参照ルールまたは他のマッピングは、かかる参照を可能にするために確立されてもよい。他の実施形態において、任意のマッピングは、任意の所望の方法で維持されてもよい。
ブロック205、207および209において識別される行動は、ルールをグループに処理することとみなされてもよい。この方法の例において、グループは、特定の属性および特定の演算子を有し、値によって順序付けされる条件のグループである。ルールの処理は、任意の行動の集合を含んでもよく、任意のグループ、条件の収集などを得てもよいことは、理解されるべきである。
ブロック211に示されるように、プロセス200は、市場データを受信することを含んでもよい。市場データは、ニュースプロバイダーなどの任意の情報源から受信されてもよい。情報は、市場の活動に関する任意の情報(例えば、値段、売買高、流動性、販売、購入などについての情報)を含んでもよい。情報は、通信ネットワークで受信されてもよい。情報は、一部の実施形態における別の束において受信されてもよい。一部の実施形態において、情報は、継続活動(例えば、それらが市場で行われる場合、進行している取引)を反映する情報の連続フローを含んでもよい。市場および取引に関連しない実施形態において、情報が、市場データ含まなくてもよいが、むしろ情報は、特定の実施形態(例えば、温度、圧力、時間、任意の他の情報)に関係してもよいことは、理解されるべきである。一部の実施形態は、市場データのうちの1つ以上の表示を受信することを含んでもよい。一部の実施形態は、市場データを連続して受信することを含んでもよい。一部の実施形態は、市場データを周期的に受信することを含んでもよい。
ブロック213に示されるように、プロセス200は、ルールを評価することを含んでもよい。上記のように、ルールを評価することは、条件を評価するために順序付けされた値の1つ以上のグループ化で探索(例えば、二分探索)実行することを含んでもよい。かかる探索は、評価された条件(例えば、各々のグループ化につての正しいおよび誤りのベクトル)の収集を与えてもよい。次いで、評価された条件は、参照ルールまたは一部の他のマッピング技術を用いて、元のルールに戻るようにマッピングされてもよい。正しいおよび誤りのルールは、必要な場合、ルールが正しいと決定するために、再マッピングされて評価された条件を調べることによって、決定されてもよい。一部の実施形態は、市場データが受信された場合にルールおよび/または条件を評価することを含んでもよい。一部の実施形態は、ルールおよび/または条件を連続的に評価することを含んでもよい。一部の実施形態は、ルールおよび/または条件を周期的に評価することを含んでもよい。
ブロック215に示されるように、プロセス200は、市場データによって満たされるべき評価されるルールに関連する行動を実行することを含んでもよい。例えば、全て正しいと評価されている条件を有する任意のルールに関して、ルールに関連する行動がとられてもよい。一部の実施形態において、行動の実行は、実行されるべき行動の表示を提供することを含んでもよい。表示は、別のコンピュータープログラム、スレッド、および/またはシステムに提供されてもよい。表示は、コンピューターディスプレイを介して人に提供されてもよい。表示は、通信ネットワークを介して、遠隔システム(例えば、市場)に提供されてもよい。一部の行動の例は、通知(例えば、満たされた条件に関連されるべきルールが評価されている)、金融商品の販売、金融商品の購入、金融商品の購入のための注文に対する調整、金融商品の販売のための注文に対する調整、などを促進するために行動を実行することを含んでもよい。
図2に示されるように、プロセス200は、ルールを実行した後に、ブロック211にループバックしてもよい。ブロック211、213および215が、プロセス200の例において、別の行動として現れるが、これらのブロックに関連する行動が、実質的に同時に行われてもよいことは、理解されるべきである。例えば、ルールの評価が連続ループにおいて行われている間、市場データは進行中のストリームにおいて連続的に受信されてもよい。満たされるべき評価される各々のルールに関して、行動が開始されてもよい。行動は、十分な市場データが受信されて、さらにルールの評価が行われた場合に行われてもよい。一部の実施形態において、コンピューターシステムまたはプログラムは、(例えば、複数のプロセス、スレッド、プログラム、システムなどを介して)市場データの受信、ルールの評価、および行動の実行を並行処理するように構成されてもよい。一部の実施形態において、ルールの評価、行動の実行、および/または市場データの受信が進行中の間、新しいルールの作成もまた、行われてもよい。
一部の実施形態は、同じ回数、全てのルールおよび/または条件を評価しなくてもよい。例えば、一部の実施形態において、市場データが受信される場合、その市場データは、一部の市場の属性における変化を示してもよい。一部の実施形態において、これらの属性に基づく条件が評価されてもよいが、他の条件は評価されなくてもよい。一部の実施形態において、かかる条件は、評価のための待ち行列に入れられてもよい。かかる実施形態において、変化していない市場の属性に関連する条件は、再評価されなくてもよく、それによって、変化している市場の属性に関連する条件が、より迅速に評価されることを可能にする。
プロセス200は、ブロック217において(例えば、一定の期間の取引終了後)終了してもよい。プロセス200、図1におけるコンピューターシステム、および本明細書に記載される実施形態が、非限定的な例示のみとして与えられることは、理解されるべきである。
「計算」の段落で上述したように、一部の実施形態は、コンピューターデバイスを用いて、1つ以上の行動を実行することを含んでもよい。一部の実施形態において、条件の評価は、コンピューターデバイスの1つ以上のプロセッサによって実行されてもよい。一部の実施形態において、かかるプロセッサは、1つ以上のコアを含んでもよい。各々のコアは、ソケットに接続されてもよい。一部の実施形態において、プロセッサは複数のソケットを含んでもよく、各々のソケットは1つ以上のコアに接続されてもよい。一部のプロセッサにおいて、ソケットは、通信ネットワーク(例えば、バス)によって接続されてもよい。典型的に、バスの使用は、(例えば、コアによる命令の実行と比べて)プロセッサ内で比較的遅い行動になる傾向がある。
一部の実施形態において、条件を評価することは、ソケットおよび/またはコアに接続するバス(または他の通信ネットワーク)の使用を減らすために、かかる方法においてプロセッサによって実行されてもよい。例えば、一部の実施形態において、特定の属性に関連する条件は、プロセッサの同じコア(類似コア(core affinity))によって、および/またはプロセッサの同じソケット(類似ソケット(socket affinity))に接続されるコアによって、評価されてもよい。
他の実施形態において、任意の行動を実行する他の方法が使用されてもよい。例えば、一部の実施形態において、特別に設計されたハードウェアが使用されてもよい。かかるハードウェアは、例えば、所望の行動(例えば、ルールを評価すること)を実行するように構成されたゲートアレイのセットを含んでもよい。一部の実施形態において、ベクトルコードは、ベクトルプロセッサを操作するために使用されてもよい。他の実施形態において、行動を実行する任意の他の方法が使用されてもよい。
アルゴリズムの実施形態が、取引ルールおよび取引行動に関して記載されているが、他の実施形態が、所望される任意の種類の行動および任意の種類のルールを含んでもよいことは、理解されるべきである。
(他の実施形態)
以下は、実施形態として解釈されるべきであり、特許請求の範囲として解釈されるべきではない。
A.A コンピューターシステムに、
複数のルールであって、前記複数のルールにおける各々のルールが、少なくとも1つのそれぞれの条件を含み、前記少なくとも1つのそれぞれの条件における各々の条件が、少なくとも1つのそれぞれの属性と、少なくとも1つのそれぞれの値と、前記少なくとも1つのそれぞれの属性と前記少なくとも1つのそれぞれの値との間の関係を示す少なくとも1つのそれぞれの演算子とを含む、複数のルールを受信させ、
前記複数のルールを、前記ルールに含まれる前記条件の複数のグループであって、前記複数のグループにおける各々のグループは、特定の演算子と特定の属性との組み合わせに関連する条件を含み、前記各々のグループにおける前記条件は、前記条件のそれぞれの値に基づいて順序付けされる、複数のグループに処理させ、
前記複数のグループの少なくとも1つで、少なくとも1つの探索操作を実行することによって、前記複数のルールを評価させるように構成されたプロセッサ、
を含む、コンピューターシステム。
A. 前記複数のルールを処理するために、前記プロセッサが、前記システムに、重複する条件を含まない条件の収集に前記ルールを解析させるように構成される、請求項Aに記載のシステム。
A.1.1. 前記複数のルールを処理するために、前記プロセッサが、前記システムに、前記条件の収集の一部を組み合わせることによって、前記条件の前記グループを形成させるように構成される、請求項A.1に記載のシステム。
A.1.2. 前記条件の収集が条件マトリクスを含む、請求項A.1に記載のシステム。
A.2. 前記探索操作が二分探索操作を含む、請求項Aに記載のシステム。
A.3. 前記探索操作が、前記複数のグループにおいて、前記条件のいずれが正しいかという表示、および前記条件のいずれが誤りかという表示を与える、請求項Aに記載のシステム。
A.4. 前記プロセッサが、前記システムに、前記ルールを評価する際に使用するための市場データを受信させるように構成される、請求項Aに記載のシステム。
A.4.1. 前記市場データを受信することが、前記市場データの表示を受信することと、前記市場データの表示を周期的に受信することと、前記市場データを連続的に受信することと、のうちの少なくとも1つを含む、請求項A.4に記載のシステム。
A.4.2. 前記ルールを評価することが、前記市場データが受信された場合に前記ルールを評価することと、前記ルールを周期的に評価することと、前記ルールを連続的に評価することと、のうちの少なくとも1つを含む、請求項A.4に記載のシステム。
A.5. 前記プロセッサが、前記システムに、前記複数のグループにおける条件と、前記複数のルールにおける条件との間でマッピングを維持させるように構成される、請求項Aに記載のシステム。
A.5.1. 前記ルールを評価することが、前記複数のグループ上で前記少なくとも1つの探索操作を実行することによって、前記複数のグループにおける前記条件を評価することと、前記マッピングに基づいて評価された条件を組み合わせることによって、前記複数のルールを再構成することと、を含む、請求項A.5に記載のシステム。
A.6. 前記プロセッサが、前記コンピューターシステムに、満たされるべき評価される前記条件に関連する前記各々のルールに関連する行動を実行させるように構成される、請求項Aに記載のシステム。
A.6.1. 前記行動が、通知と、金融商品の購入と、金融商品の販売と、金融商品の購入のための注文の調整と、金融商品の販売のための注文の調整と、のうちの少なくとも1つを促進する行動を含む、請求項A.6に記載のシステム。
A.7. 前記プロセッサが、前記システムに、前記ルールにおける多数の異なる値の対数を掛けられた前記ルールにおける多数の異なる演算子を掛けられた前記ルールにおける多数の異なる属性とほぼ比例する多数の操作を実行することによって、前記複数のルールを評価させるように構成される、請求項Aに記載のシステム。
B. 請求項Aに記載のシステムに少なくとも1つの取引ルールを提示することを含む、取引システムを操作する方法。
C. 取引ルールを評価する方法であって、前記方法は、
複数の取引ルールであって、前記複数の取引ルールにおける各々の取引ルールが少なくとも1つのそれぞれの条件を含み、前記少なくとも1つのそれぞれの条件における各々の条件が少なくとも1つのそれぞれの属性と、少なくとも1つのそれぞれの値と、前記少なくとも1つのそれぞれの属性と前記少なくとも1つのそれぞれの値と間の関係を示す少なくとも1つのそれぞれの演算子とを含む、複数の取引ルールを受信することと、
前記複数の取引ルールにおける前記条件を前記条件の収集に解析し、それによって、前記条件の収集は、重複する条件を含まないことを特徴とする、前記条件を解析することと、
前記条件の収集から前記複数の取引ルールの再構成を可能にする、前記条件の収集から前記複数の取引ルールまでのマッピングを維持することと、
前記条件の収集における前記条件を評価することと、
前記評価された条件および前記マッピングを参照することによって、前記ルールを評価することと、
を含む、方法。
C.1. 前記条件の収集が条件マトリクスを含む、請求項Cに記載の方法。
C.2. 前記条件を解析することが、演算子および値によって、前記条件を順序付けすることを含む、請求項Cに記載の方法。
C.3. 市場データを受信することをさらに含む、請求項Cに記載の方法。
C.3.1. 前記条件を評価することが、前記市場データを用いて前記条件を評価することを含む、請求項C.3に記載の方法。
C.3.2 前記市場データを受信することが、前記市場データを周期的に受信することと、前記市場データを連続的に受信することと、前記市場データの表示を受信することと、のうちの少なくとも1つを含む、請求項C.3に記載の方法。
C.3.3. 前記条件を評価することが、前記市場データが受信された場合に前記条件を評価することと、前記条件を周期的に評価することと、前記条件を連続的に評価することと、のうちの少なくとも1つを含む、請求項C.3に記載の方法。
C.4. 満たされる条件を有すべき評価される各々のルールに関連する行動を実行することをさらに含む、請求項Cに記載の方法。
C.4.1. 前記行動が、通知、金融商品の購入、金融商品の販売、金融商品の購入のための注文の調整、および金融商品の販売のための注文の調整のうちの少なくとも1つを促進する行動を含む、請求項C.4に記載の方法。
C.5. 前記条件を評価することが、前記ルールにおける多数の異なる条件の対数にほぼ比例する多数の操作を実行することを含む、請求項Cに記載の方法。

Claims (24)

  1. コンピューターシステムに、
    複数のルールであって、前記複数のルールにおける各々のルールが、少なくとも1つのそれぞれの条件を含み、各々の条件が、少なくとも1つのそれぞれの属性と、少なくとも1つのそれぞれの値と、前記少なくとも1つのそれぞれの属性と前記少なくとも1つのそれぞれの値との間の関係を示す少なくとも1つのそれぞれの演算子とを含む、複数のルールを受信させ、
    前記複数のルールを、前記複数のルールに含まれる前記条件の複数のグループであって、前記複数のグループにおける各々のグループは、特定の演算子と特定の属性との組み合わせに関連する条件を含み、前記各々のグループにおける前記条件は、前記特定の属性のそれぞれの値に基づいて順序付けされる、複数のグループに処理させ、
    前記複数のグループの少なくとも1つで、少なくとも1つの探索操作を実行することによって、前記複数のルールを評価させるように構成されたプロセッサ、
    を含む、コンピューターシステム。
  2. 前記複数のルールを処理するために、前記プロセッサが、前記システムに、重複する条件を含まない条件の集合に前記ルールを解析させるように構成される、請求項1に記載のシステム。
  3. 前記複数のルールを処理するために、前記プロセッサが、前記システムに、前記条件の集合の一部を組み合わせることによって、前記条件の前記グループを形成させるように構成される、請求項2に記載のシステム。
  4. 前記条件の集合が条件マトリクスを含む、請求項2に記載のシステム。
  5. 前記探索操作が二分探索操作を含む、請求項1に記載のシステム。
  6. 前記探索操作が、前記複数のグループにおいて、前記条件のいずれが正しいかという表示、および前記条件のいずれが誤りかという表示を与える、請求項1に記載のシステム。
  7. 前記プロセッサが、前記システムに、前記ルールを評価する際に使用するための市場データを受信させるように構成される、請求項1に記載のシステム。
  8. 前記市場データを受信することが、前記市場データの表示を受信することと、前記市場データの表示を周期的に受信することと、前記市場データを連続的に受信することと、のうちの少なくとも1つを含む、請求項7に記載のシステム。
  9. 前記ルールを評価することが、前記市場データが受信された場合に前記ルールを評価することと、前記ルールを周期的に評価することと、前記ルールを連続的に評価することと、のうちの少なくとも1つを含む、請求項7に記載のシステム。
  10. 前記プロセッサが、前記システムに、前記複数のグループにおける条件と、前記複数のルールにおける条件との間でマッピングを維持させるように構成される、請求項1に記載のシステム。
  11. 前記ルールを評価することが、前記複数のグループ上で前記少なくとも1つの探索操作を実行することによって、前記複数のグループにおける前記条件を評価することと、前記マッピングに基づいて評価された条件を組み合わせることによって、前記複数のルールを再構成することと、を含む、請求項10に記載のシステム。
  12. 前記プロセッサが、前記コンピューターシステムに、満たされるべき評価される前記条件に関連する前記各々のルールに関連する行動を実行させるように構成される、請求項1ないし11のうちいずれか一項に記載のシステム。
  13. 前記行動が、通知と、金融商品の購入と、金融商品の販売と、金融商品の購入のための注文の調整と、金融商品の販売のための注文の調整と、のうちの少なくとも1つを促進する行動を含む、請求項12に記載のシステム。
  14. 前記プロセッサが、前記システムに、
    前記ルールにおける多数の異なる値の対数を掛けられた前記ルールにおける多数の異なる演算子を掛けられた前記ルールにおける多数の異なる属性とほぼ比例する多数の操作を実行することによって、前記複数のルールを評価させるように構成される、請求項1に記載のシステム。
  15. 前記プロセッサが、前記システムに、インターフェースを介して少なくとも1つの取引ルールを受け取らせるように構成される、請求項1に記載のシステム。
  16. プロセッサによって、複数の取引ルールであって、前記複数の取引ルールにおける各々の取引ルールが少なくとも1つのそれぞれの条件を含み、各々の条件が少なくとも1つのそれぞれの属性と、少なくとも1つのそれぞれの値と、前記少なくとも1つのそれぞれの属性と前記少なくとも1つのそれぞれの値との関係を示す少なくとも1つのそれぞれの演算子とを含む、複数の取引ルールを受信することと、
    プロセッサによって、前記複数の取引ルールにおける前記条件を前記条件の集合に解析し、それによって、前記条件の集合は、重複する条件を含まない、前記条件を解析することと、
    プロセッサによって、前記条件の集合から前記複数の取引ルールの再構成を可能にする、前記条件の集合から前記複数の取引ルールまでのマッピングを維持することと、
    プロセッサによって、前記条件の集合における前記条件を評価することと、
    プロセッサによって、前記評価された条件および前記マッピングを参照することによって、前記ルールを評価することと、
    を含み、
    前記条件を解析することが、演算子および値によって、前記条件を順序付けすることを含む、
    方法。
  17. 前記条件の集合が条件マトリクスを含む、請求項16に記載の方法。
  18. プロセッサによって受信手段を介して市場データを受信することをさらに含む、請求項16に記載の方法。
  19. 前記条件を評価することが、前記市場データを用いて前記条件を評価することを含む、請求項18に記載の方法。
  20. 前記市場データを受信することが、前記市場データを周期的に受信することと、前記市場データを連続的に受信することと、前記市場データの表示を受信することと、のうちの少なくとも1つを含む、請求項18に記載の方法。
  21. 前記条件を評価することが、前記市場データが受信された場合に前記条件を評価することと、前記条件を周期的に評価することと、前記条件を連続的に評価することと、のうちの少なくとも1つを含む、請求項18に記載の方法。
  22. プロセッサによって、満たされる条件を有すべき評価される各ルールに関連する行動を実行することをさらに含む、請求項16ないし21のうちいずれか一項に記載の方法。
  23. 前記行動が、通知、金融商品の購入、金融商品の販売、金融商品の購入のための注文の調整、および金融商品の販売のための注文の調整のうちの少なくとも1つを促進する行動を含む、請求項22に記載の方法。
  24. 前記条件を評価することが、前記ルールにおける多数の異なる条件の対数にほぼ比例する多数の操作を実行することを含む、請求項16に記載の方法。
JP2009547464A 2007-01-26 2008-01-28 アルゴリズム取引 Active JP5346816B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US88671907P 2007-01-26 2007-01-26
US60/886,719 2007-01-26
PCT/US2008/052238 WO2008092170A1 (en) 2007-01-26 2008-01-28 Algorithmic trading

Publications (2)

Publication Number Publication Date
JP2010517185A JP2010517185A (ja) 2010-05-20
JP5346816B2 true JP5346816B2 (ja) 2013-11-20

Family

ID=39644910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009547464A Active JP5346816B2 (ja) 2007-01-26 2008-01-28 アルゴリズム取引

Country Status (6)

Country Link
US (4) US8082219B2 (ja)
EP (1) EP2115693A4 (ja)
JP (1) JP5346816B2 (ja)
AU (1) AU2008207752B2 (ja)
CA (1) CA2676668A1 (ja)
WO (1) WO2008092170A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8082219B2 (en) 2007-01-26 2011-12-20 Cfph, Llc Algorithmic trading
US8874500B2 (en) * 2008-12-19 2014-10-28 Barclays Capital Inc. Rule based processing system and method for identifying events
US20110137785A1 (en) * 2009-12-04 2011-06-09 Lutnick Howard W Multicomputer distributed processing of trading information
US10380689B2 (en) 2009-03-06 2019-08-13 Bgc Partners, Inc. Method and apparatus for exchange-based condition processing
US10453130B2 (en) * 2009-03-18 2019-10-22 Bgc Partners, Inc. Electronic exchange system using messages related to events and actions on an exchange
US20110320336A1 (en) * 2010-06-29 2011-12-29 Omx Technology Ab System and a method for generating market input
US9547874B2 (en) * 2010-06-29 2017-01-17 Victor Gorelik Method, language, and system for parallel algorithmic trading and overseeing trading activity
AU2011265310A1 (en) * 2010-12-15 2012-07-05 Goldsmith, Charlton Brian Mr A method and system for policing events within an online community
JP5537454B2 (ja) * 2011-01-25 2014-07-02 株式会社東芝 証券売買模擬システム
US20130297531A1 (en) * 2012-05-02 2013-11-07 Imageworks Interactive Device for modifying various types of assets
US9244903B2 (en) * 2013-04-15 2016-01-26 Vmware, Inc. Efficient data pattern matching
US10318397B2 (en) 2013-04-15 2019-06-11 Vmware, Inc. Efficient data pattern matching
WO2017146707A1 (en) * 2016-02-25 2017-08-31 Dhandho Funds Llc Systems, devices, and methods for parallel processing of financial data sets

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01147724A (ja) * 1987-12-04 1989-06-09 Hitachi Ltd 適合規則判別方式
JPH02224060A (ja) * 1989-02-27 1990-09-06 Hitachi Ltd リアルタイム意思決定支援方式
JPH03127228A (ja) * 1989-10-13 1991-05-30 Hitachi Ltd 中間結果保持・非保持決定方法及び装置とこの装置を備えるルールコンパイラとルールインタープリタ
JP3067161B2 (ja) * 1990-04-27 2000-07-17 オムロン株式会社 ファジィ演算処理装置
US5511213A (en) * 1992-05-08 1996-04-23 Correa; Nelson Associative memory processor architecture for the efficient execution of parsing algorithms for natural language processing and pattern recognition
JPH0793156A (ja) * 1993-09-24 1995-04-07 Toshiba Corp プロダクションシステム
JP2003521020A (ja) * 1999-06-03 2003-07-08 アルゴリズミクス インターナショナル コーポレイション インストルメントのポートフォリオの規則に基づいた展開を提供するリスク管理のシステムおよび方法
US7472087B2 (en) * 2000-04-10 2008-12-30 Stikine Technology, Llc Trading program for interacting with market programs on a platform
GB2361555A (en) 2000-04-17 2001-10-24 Apama Inc Method of evaluating queries against received event information
US20050131802A1 (en) * 2000-11-17 2005-06-16 Arman Glodjo Method and system for network-decentralized trading with optimal proximity measures
US7496534B2 (en) * 2001-03-08 2009-02-24 Olsen Richard B Methods for trade decision making
JP2002269357A (ja) * 2001-03-14 2002-09-20 Daiwa Securities Smbc Co Ltd 証券売買意思決定支援システム
WO2003048905A2 (en) * 2001-12-05 2003-06-12 E-Xchange Advantage, Inc. Method and system for managing distributed trading data
US8799121B2 (en) * 2003-05-15 2014-08-05 Cantor Index, Llc System and method for managing trading order requests
US7734528B1 (en) * 2003-12-12 2010-06-08 Trading Technologies International, Inc. System and method for event-based trading
US20050154762A1 (en) * 2004-01-14 2005-07-14 Bing Wang Fast rule lookup with arbitrary IP range configurations
US7433858B2 (en) * 2004-01-26 2008-10-07 Trigent Software Inc. Rule selection engine
JP4422051B2 (ja) * 2005-03-15 2010-02-24 日本電信電話株式会社 イベント判定装置
US20070055921A1 (en) * 2005-08-30 2007-03-08 Challenor Timothy W Document editing system
US20070083452A1 (en) * 2005-10-07 2007-04-12 Jan Mayle Securities trade monitoring and evaluation system
US8082219B2 (en) 2007-01-26 2011-12-20 Cfph, Llc Algorithmic trading

Also Published As

Publication number Publication date
US20210090175A1 (en) 2021-03-25
US9760950B2 (en) 2017-09-12
JP2010517185A (ja) 2010-05-20
US10867353B2 (en) 2020-12-15
US20080256013A1 (en) 2008-10-16
US20120089504A1 (en) 2012-04-12
EP2115693A4 (en) 2011-05-18
US20180060966A1 (en) 2018-03-01
EP2115693A1 (en) 2009-11-11
AU2008207752B2 (en) 2011-10-27
CA2676668A1 (en) 2008-07-31
US8082219B2 (en) 2011-12-20
WO2008092170A1 (en) 2008-07-31
AU2008207752A1 (en) 2008-07-31

Similar Documents

Publication Publication Date Title
JP5346816B2 (ja) アルゴリズム取引
US20190139109A1 (en) Method and system for exposing data used in ranking search results
US20240257249A1 (en) Decision tree data structure based processing system
US20170365000A1 (en) Real-time probability determination based on technical indicators in a financial instrument environment
US11587172B1 (en) Methods and systems to quantify and index sentiment risk in financial markets and risk management contracts thereon
US11119983B2 (en) Data conversion and distribution systems
CN114723566A (zh) 金融交易数据处理方法及系统
Jain et al. NFT Appraisal Prediction: Utilizing Search Trends, Public Market Data, Linear Regression and Recurrent Neural Networks
US20190197612A1 (en) Request for quote system and method
US20060085249A1 (en) Method and apparatus for mining patent data
Pospíšil et al. Robustness and sensitivity analyses for stochastic volatility models under uncertain data structure
Dergachev et al. Evaluating the ergonomics of online store user interfaces based on visual analytics
Köse et al. Causal relationships between cryptocurrencies: the effects of sampling interval and sample size
Tu An application of web‐based data mining: selling strategies for online auctions
US20140019305A1 (en) Cloud-driven Social-network Platform focused on Pattern Analysis
JP2005135167A (ja) データ分析装置、データ分析方法及びデータ分析プログラム
Bhagat et al. IITP-VDLand: A Comprehensive Dataset on Decentraland Parcels
JP5117597B2 (ja) シミュレーション装置およびプログラム
AU2012200313A1 (en) Request for quote system and method
KR20240035672A (ko) 사용자 라이프 기반의 주식종목 추천장치
Jones Exploring the Relationship Between Online Sentiment and Company Stock Returns
US9846908B2 (en) Smart complete option strategy display

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100212

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130624

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130819

R150 Certificate of patent or registration of utility model

Ref document number: 5346816

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250