JP5755146B2 - リアルタイム取引予測 - Google Patents

リアルタイム取引予測 Download PDF

Info

Publication number
JP5755146B2
JP5755146B2 JP2011544470A JP2011544470A JP5755146B2 JP 5755146 B2 JP5755146 B2 JP 5755146B2 JP 2011544470 A JP2011544470 A JP 2011544470A JP 2011544470 A JP2011544470 A JP 2011544470A JP 5755146 B2 JP5755146 B2 JP 5755146B2
Authority
JP
Japan
Prior art keywords
data
market
financial
market data
processing unit
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
JP2011544470A
Other languages
English (en)
Other versions
JP2012514272A (ja
JP2012514272A5 (ja
Inventor
シー. リンデマン、ジェイコブ
シー. リンデマン、ジェイコブ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FMR LLC
Original Assignee
FMR LLC
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 FMR LLC filed Critical FMR LLC
Publication of JP2012514272A publication Critical patent/JP2012514272A/ja
Publication of JP2012514272A5 publication Critical patent/JP2012514272A5/ja
Application granted granted Critical
Publication of JP5755146B2 publication Critical patent/JP5755146B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

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

Description

本発明は、金融予測、特に、リアルタイム金融予測を出力するための、ホストシステムおよびコプロセッサハードウェアの使用に関する。
(関連出願に対する相互参照)
本出願は、参照により本明細書に組み込まれる2008年12月29日に出願された米国特許出願番号第12/344,901号の米国特許法119条(e)の下の利益を主張する。
アルゴリズム取引は、市場データを収集すること、金融市場活動の予測を生成するためにアルゴリズムをデータに適用すること、および、予測に基づいて取引を実行することを含む。アルゴリズム取引は、大量の市場データのリアルタイム処理および解析を必要とする。しかし、金融サービス業界は、大量の市場データを吸収すること、および、金融活動を予測するためにアルゴリズムを実行することに取り組んでいる。現在のところ、市場データの受信と金融市場のアルゴリズム予測の生成との間にかなりの時間遅延が存在する。結果として、アルゴリズムが予測を行うときまでに、市場が動き、予測を陳腐化させる。
多くのシステムで、ただ1つのプロセッサを有する単一機械が、市場データを収集し処理すると共に、処理済みデータに関してアルゴリズムを実行する。これらの単一機械システムは、実質的な時間遅延なしで大量のデータをリアルタイムに取込み出力するのに必要なメモリおよびプロセッサ速度に欠けるため、リアルタイム金融予測を実施できない。
単一機械システムの一例では、1つのコンピュータが、市場データを受信し、アルゴリズム計算を実施する。しかし、この単一コンピュータは、そのプロセッサの速度が制限されるため、市場データのリルタイムアルゴリズム解析を実施できない。すなわち、単一プロセッサが市場データの全てを処理し、予測を生成してしまうときまでに、市場は、既に動き、予測は古くなっている。
ある程度のリアルタイム解析および予測を実施できるシステムでさえも、極端に大きな量のデータについてそうする能力を喪失する。たとえば、システムは、10ミリ秒で1000メガバイト(「megs」)の市場データを処理できる可能性がある。しかし、このシステムは、10msで8000megsの市場データを処理できない。
アルゴリズム取引における時間遅延を軽減する努力は、市場データを収集するサーバを配置すること、および、証券取引所などの、市場データの発信源の物理的に非常に近くで予測を生成することを含む。たとえば、サーバは、市場データの処理時間を減少させようと試みて証券取引所と反対の通りの向こう側に配置されてもよい。
一態様では、本発明は、金融活動を予測する装置を特徴とする。装置は、金融市場活動を示すストリーミングされる市場データを受信するホストシステムと、サーバとデータ通信状態にあるグラフィカル処理ユニットであって、ホストシステムから、ストリーミングされる市場データを受信するプロセッサメモリを含む、グラフィカル処理ユニットとを含む。装置はまた、ホストシステム上に存在するコンピュータプログラム製品であって、グラフィカル処理ユニットに1つまたは複数の金融モデルを送出するように、ホストシステ
ムにさせる命令を含む、コンピュータプログラム製品と、ホストシステムから受信される市場データに対して、ホストシステムから受信される金融モデルを実行するための、グラフィカル処理ユニット上に存在するコンピュータプログラム製品であって、金融モデルおよび各金融モデルに関連する市場データのタイプのリストを受信し、受信される金融モデルおよび各金融モデルに関連する市場データのタイプのリストに基づいて1つまたは複数のエンジンインスタンスを生成し、市場データに関連するタイムスタンプに従って受信される市場データを構築し、ホストシステムから、識別される金融モデルを実行する命令を受信し、タイムスタンプおよび識別される金融モデルに基づくエンジンインスタンスに基づいて構築された市場データの少なくとも一部をクローン化し、予想される市場性能を示す予測データであって、クローン化された市場データに少なくとも部分的に基づく、予測データを、リアルタイムに生成するために、識別される金融モデルに基づくエンジンインスタンスを実行し、予想される市場性能を示す予測データを出力するように、グラフィカル処理ユニットにさせる命令を含む、コンピュータプログラム製品とを含む。
一部の実践では、装置は、サーバとデータ通信状態にある2つ以上のグラフィカル処理ユニットを含む。
装置の他の実践は、市場データに関連するティッカーシンボルに従って受信される市場データを構築するように、グラフィカル処理ユニットにさせる命令を含む。
装置のなお他の実践は、選択されたデータに対して2つ以上の金融アルゴリズムを並列に実行すること、選択された第1のデータを選択された第2のデータでオーバライトすることによって選択されたデータを更新すること、予想される市場性能を示すデータをサーバに転送すること、および、金融市場活動を示すストリーミングされるデータを受信する前に、グラフィカル処理ユニット上でメモリを割当てることのうちの1つまたは複数を実施するように、グラフィカル処理ユニットにさせる命令を含む。
本発明のさらなる実践の中には、受信されるデータの処理に関する統計量を収集すること、受信されるデータを格納するデータ構造を生成すること、および、非同期時間に少なくとも2つのエンジンインスタンスを実行することのうちの1つまたは複数を実施するように、グラフィカル処理ユニットにさせる命令を含む実践が存在する。
別の態様では、本発明は、金融市場活動を予測する装置を特徴とし、装置は、金融市場活動を予測する装置であって、金融市場活動を示すストリーミングされる市場データを受信するホストシステムと、サーバとデータ通信状態にあるコプロセッサハードウェアであって、ホストシステムから、ストリーミングされる市場データを受信するプロセッサメモリを含む、コプロセッサハードウェアとを備える。装置はまた、ホストシステム上に存在するコンピュータプログラム製品であって、コプロセッサハードウェアに1つまたは複数の金融モデルを送出するように、ホストシステムにさせる命令を含む、コンピュータプログラム製品と、ホストシステムから受信される市場データに対して、ホストシステムから受信される金融モデルを実行するための、コプロセッサハードウェア上に存在するコンピュータプログラム製品であって、金融モデルおよび各金融モデルに関連する市場データのタイプのリストを受信し、受信される金融モデルおよび各金融モデルに関連する市場データのタイプのリストに基づいて1つまたは複数のエンジンインスタンスを生成し、市場データに関連するタイムスタンプに従って、受信される市場データを構築し、ホストシステムから、識別される金融モデルを実行する命令を受信し、タイムスタンプおよび識別される金融モデルに基づくエンジンインスタンスに基づいて、構築された市場データの少なくとも一部をクローン化し、予想される市場性能を示す予測データであって、クローン化された市場データに少なくとも部分的に基づく、予測データを、リアルタイムに生成するために、識別される金融モデルに基づくエンジンインスタンスを実行し、予想される市場性能を示す予測データを出力するように、コプロセッサハードウェアにさせる命令を含む、コンピュータプログラム製品とを備える。
なお別の態様では、本発明は、金融市場活動を予測する装置を特徴とし、装置は、市場データ源に対するインタフェースであるグラフィカル処理ユニットであって、ストリーミングされる市場データを受信するプロセッサメモリを含む、グラフィカル処理ユニットを備える。本発明はまた、市場データに対して金融モデルを実行するための、グラフィカル処理ユニット上に存在するコンピュータプログラム製品を含み、コンピュータプログラム製品は、市場データ源から市場データを受信し、ホストシステムから、金融モデルおよび各金融モデルに関連する市場データのタイプのリストを受信し、受信される金融モデルおよび各金融モデルに関連する市場データのタイプのリストに基づいて1つまたは複数のエンジンインスタンスを生成し、市場データに関連するタイムスタンプに従って、受信される市場データを構築し、識別される金融モデルを実行する命令を受信し、タイムスタンプおよび識別される金融モデルに基づくエンジンインスタンスに基づいて、構築された市場データの少なくとも一部をクローン化し、予想される市場性能を示す予測データであって、クローン化された市場データに少なくとも部分的に基づく、予測データを、リアルタイムに生成するために、識別される金融モデルに基づくエンジンインスタンスを実行し、予想される市場性能を示す予測データを出力するように、グラフィカル処理ユニットにさせる命令を含む。
別の態様では、本発明は、金融市場活動を予測するコンピュータ実施方法を特徴とする。方法は、グラフィカル処理ユニット上で、金融市場活動を示すストリーミングされる市場データを受信すること、金融モデルおよび各金融モデルに関連する市場データのタイプのリストを受信すること、受信される金融モデルおよび各金融モデルに関連する市場データのタイプのリストに基づいて1つまたは複数のエンジンインスタンスを生成すること、市場データに関連するタイムスタンプに従って、受信される市場データを構築すること、識別される金融モデルを実行する命令を、ホストシステムから受信すること、タイムスタンプおよび識別される金融モデルに基づくエンジンインスタンスに基づいて、構築された市場データの少なくとも一部をクローン化すること、予想される市場性能を示す予測データであって、クローン化された市場データに少なくとも部分的に基づく、予測データを、リアルタイムに生成するために、識別される金融モデルに基づくエンジンインスタンスを実行すること、および、予想される市場性能を示す予測データを出力することを含む。
一部の実践では、方法は、市場データに関連するティッカーシンボルに従って、受信される市場データを構築すること、選択されたデータに対して2つ以上の金融アルゴリズムを並列に実行すること、選択された第1のデータを選択された第2のデータでオーバライトすることによって選択されたデータを更新すること、および、予想される市場性能を示すデータをホストシステムに転送することのうちの1つまたは複数を含む。
予測方法の他の実践は、金融市場活動を示すストリーミングされるデータを受信する前に、グラフィカル処理ユニット上でメモリを割当てること、受信されるデータの処理に関する統計量を収集すること、受信されるデータを格納するデータ構造を生成すること、および、非同期時間に少なくとも2つのエンジンインスタンスを実行することのうちの1つまたは複数を含む。
他の態様では、本発明は、金融市場活動を予測するソフトウェアを符号化されているコンピュータ可読媒体を含む。ソフトウェアは、金融市場活動を示すストリーミングされる市場データを、ホストシステムから受信し、金融モデルおよび各金融モデルに関連する市場データのタイプのリストを受信し、受信される金融モデルおよび各金融モデルに関連する市場データのタイプのリストに基づいて1つまたは複数のエンジンインスタンスを生成し、市場データに関連するタイムスタンプに従って、受信される市場データを構築し、ホストシステムから、識別される金融モデルを実行する命令を受信し、タイムスタンプおよ
び識別される金融モデルに基づくエンジンインスタンスに基づいて、構築された市場データの少なくとも一部をクローン化し、予想される市場性能を示す予測データであって、クローン化された市場データに少なくとも部分的に基づく、予測データを、リアルタイムに生成するために、識別される金融モデルに基づくエンジンインスタンスを実行し、予想される市場性能を示す予測データを出力するように、グラフィカル処理ユニットにさせる命令を含む。
他の実施形態は、市場データに関連するティッカーシンボルに従って、受信される市場データを構築すること、選択されたデータに対して2つ以上の金融アルゴリズムを並列に実行すること、選択された第1のデータを選択された第2のデータでオーバライトすることによって選択されたデータを更新すること、および、予想される市場性能を示すデータをホストシステムに転送することのうちの1つまたは複数を実施するように、グラフィカル処理ユニットにさせる命令を符号化されている。
コンピュータ可読媒体のなお他の実施形態は、金融市場活動を示すストリーミングされるデータを受信する前に、グラフィカル処理ユニット上でメモリを割当てること、受信されるデータの処理に関する統計量を収集すること、受信されるデータを格納するデータ構造を生成すること、および、非同期時間に少なくとも2つのエンジンインスタンスを実行することのうちの1つまたは複数を実施するように、グラフィカル処理ユニットにさせる命令を符号化されている。
本発明の1つまたは複数の実施形態の詳細は、添付図面および以下の説明に述べられる。本発明の他の特徴、目的、および利点は、説明および図面から、また、特許請求の範囲から明らかになるであろう。
取引予測器を示すブロック図。 取引予測器を示すブロック図。 データ構造のフローチャート。 データ構造のフローチャート。 ホストシステムからコプロセッサハードウェアまでのデータフローのフローチャート。 データクローン化中に実施されるプロセスのフローチャート。 実行し更新するエンジンインスタンスの図。
取引予測器は、金融市場で起ころうとしているイベントを予測し、したがって、市場状況に瞬時に資金供給する。図1を参照して、取引予測器100は、ホストシステム102およびホストシステム102に結合されるコプロセッサハードウェア104を含む。市場データ106は、ホストシステム102を通して取引予測器100にストリーミングされる。ホストシステム102は、市場データ106をコプロセッサハードウェア104に転送する。コプロセッサハードウェア104は、リアルタイムに市場データ106を処理し、金融予測108をホストシステム102に出力する取引アルゴリズムを起動する(fire)(すなわち、実行する)。
コプロセッサハードウェア104と通信状態にあるホストシステム102は、高スループットでかつ超低遅延の取引予測器100を提供する。コプロセッサハードウェア104をホストシステム102と結合することは、取引予測器100の計算速度を上げ、取引予測器100が金融市場状況のリアルタイム予測を提供することを可能にする。
ハードウェアアクセレレータカードまたはグラフィックスカードを含む種々のタイプの
コプロセッサハードウェア104が、ホストシステム102に結合されてもよい。ハードウェアアクセレレータカードは、市販されており、専用クロックおよびプロセッサを含むことが多い。NvidiaまたはATI Radeonによって製造されるカードなどの市販のグラフィクスカードが使用されてもよい。例示的な実施形態では、取引予測器100は、グラフィックスカードを含む。グラフィックスカードに含まれるいくつかのクラスのダイナミックランダムアクセスメモリ(DRAM)のために、グラフィックスカードは、大量のストリーミングされる金融データの入力および出力について最適化される。さらに、グラフィックスカードは、ホストシステム102に外的に接続され、密接に結合されない。この例では、ラック搭載式ホストシステム102の上部に載るグラフィックスカードは、外部配線によってホストシステム102に接続される。
処理されるデータ量に応じて、複数のコプロセッサ104が単一ホストシステム102に取付けられうる。グラフィックスカードがホストシステム102に外的に接続されるため、2つ以上のグラフィックスカードがホストシステム102に結合されうる。
(初期化プロセス)
パワーオンされると、取引予測器100は、種々の初期化プロセスを実行する。例示的な実施形態では、初期化プロセスは、1日に1回、朝でかつ取引日の開始前に実行される
。図2を参照して、構成ディスク記憶部281は、整数−ティッカーシンボルマッピングプログラムなどの構成プログラムをホストシステム102にロードすることによって、ホストシステム102を「ウェークアップさせる(wake up)」。ホストシステム102は、
情報をコプロセッサハードウェア104にロードするエンジンアダプタ204を含む。コプロセッサハードウェア104は、エンジンアダプタ204から金融アルゴリズムなどの情報を受信するエンジンゲートウェイ206を含む。1つの特定の例では、エンジンゲートウェイ206は、エンジンアダプタ204から、コプロセッサハードウェア104が起動するためのアルゴリズムのセットを受信する。
エンジンアダプタ204は、構成パラメータをエンジンゲートウェイ206に提供して、リソースプール214およびシンボルハンドラ216、218、220を初期化する。エンジンアダプタ204は、初期化プロセス中に、リソースプール214をエンジンインスタンス304、306、308、310に関連付ける。図3を参照して、エンジンゲートウェイ206は、初期化中に、エンジンインスタンス302を生成し、メモリ312を割当て、データ構造314を生成する。
(エンジンインスタンスの生成)
初期化プロセスの1つのプロセスは、アルゴリズムをコプロセッサハードウェア104にロードすることを含む。取引予測器100の利点は、そうする時間が来たときにアルゴリズムが即座に起動されうるように、アルゴリズムが、コプロセッサハードウェア104にプリロードされることである。これは、コプロセッサハードウェア104が予測108を生成するのにかかる総合時間(以降で「予測までの時間(time-to-forecast)」)を減少させる。
図2を参照して、ホストシステム102上のエンジンアダプタ204は、アルゴリズムがプリロードされうるように、コプロセッサハードウェア104上のエンジンゲートウェイ206にアルゴリズムを提供する。そうすることによって、ホストシステム102は、コプロセッサハードウェア104に、その日に起動されると予測されるアルゴリズムを提供する。アルゴリズムが、特定のティッカーシンボルについて起動されるため、コプロセッサハードウェア104にプリロードされるアルゴリズムは、関連するティッカーシンボルのリストを含む。
ティッカーシンボルは、有価証券を識別する。たとえば、バンクオブアメリア(Bank of
America)の有価証券は、「BOA」ティッカーシンボルによって識別される。1つの特
定の例では、2つのアルゴリズム、アルゴリズムAおよびアルゴリズムBが、エンジンゲートウェイ206にロードされる。以下の表1に示すように、アルゴリズムAは、ティッカーシンボルXとティッカーシンボルYの両方に関連する。アルゴリズムBは、ティッカーシンボルYとティッカーシンボルZの両方に関連する。この例では、表1に示すマトリクスは、エンジンゲートウェイ206に提供される。
Figure 0005755146
図3を参照して、受信されたアルゴリズムのセットおよび関連するティッカーシンボルに基づいて、エンジンゲートウェイ206は、エンジンインスタンス302を生成する。こうした各エンジンインスタンスは、起動されるアルゴリズムおよびアルゴリズムがそれについて起動されるべきであるティッカーシンボルを含むデータ構造である。アルゴリズムは、エンジンインスタンスを実行することによって起動される。エンジンゲートウェイ206によって生成されるエンジンインスタンスの数は、アルゴリズムの数および各アルゴリズムに関連するティッカーシンボルの数に依存する。表1の例では、起動される2つのアルゴリズムが存在し、各アルゴリズムは、2つのティッカーシンボルに関連する。結果として、4つのエンジンインスタンス304、306、308、および310が生成される。エンジンインスタンス304は、ティッカーシンボルXについてアルゴリズムAを起動する。エンジンインスタンス306は、ティッカーシンボルYについてアルゴリズムAを起動する。エンジンインスタンス308は、ティッカーシンボルYについてアルゴリズムBを起動する。エンジンインスタンス310は、ティッカーシンボルZについてアルゴリズムBを起動する。
エンジンゲートウェイ206は、多くのエンジンインスタンスを生成することが可能である。たとえば、百万のアルゴリズムが、コプロセッサハードウェア104にロードされ、エンジンインシタンスが、7つの異なるティッカーシンボルについて各アルゴリズムを起動させる場合、エンジンゲートウェイ206は、七百万のエンジンインスタンスを生成する。
(メモリ割当て)
図3を参照して、エンジンゲートウェイ206はまた、コプロセッサハードウェア104上で実行される種々のプロセス間でメモリを割当てる。これらのプロセスは、リソースプール214(図2)、ステータスゲートウェイ232、シンボルハンドラ216、218、220、およびエンジンインスタンス304、306、308、310を含む。プロセス速度を最適化し、予測までの時間を減少させるために、コプロセッサハードウェア104上のメモリは、ストリーミングされるデータ106の処理の前に、予め割当てられる。エンジンゲートウェイ206は、エンジンインスタンスを実行するのに必要とされるメモリ量に基づいてコプロセッサハードウェアのメモリ312を割当てる。エンジンアダプタ204は、メモリ割当てパラメータを、ホストシステム102構成ファイルからエンジンゲートウェイ206に提供する。
(データ構造の生成)
エンジンインスタンス304、306、308、310は、コプロセッサハードウェア104に最初に注入されるストリーミングされる未処理データ106に対して実行可能でない。したがって、コプロセッサハードウェア104は、エンジンインスタンス304、306、308、310の実行の前に、データ106をバッファリングし、構築する。取引予測器100の1つの利点は、ストリーミングされるデータ106が、ホストシステム102上ではなく、コプロセッサハードウェア104上でバッファリングされ、構築されることである。これは、処理時間、したがって、予測までの時間を減少させる。
図3を参照して、エンジンゲートウェイ206は、受信されるデータ106を保持するデータ構造を予め定義する。すなわち、エンジンゲートウェイ206は、処理時間を減少させるために、アルゴリズムの起動の前にデータ構造314を生成する。
一例では、ストリーミングされる市場データ106は、そのティッカーシンボルおよびデータが最初に生成された時間に基づいて構築される。別の例では、ストリーミングされる市場データ106は、市場ティックハンドラ280によって割当てられた関連する一意の整数値に基づいて構築される。しかし、市場データ106が、その一意の整数値に基づいて構築されるときでも、各ティッカーシンボルが一意の整数値に関連するため、市場データ106は、依然としてそのティッカーシンボルに基づいて構築される。図2を参照して、データ106をこうして構築するために、エンジンゲートウェイ206は、3つのタイプの構造、シンボルハンドラ216、218、220、シンボルアレイ222、224、226、およびタイムバケット(図示せず)を生成する。
シンボルハンドラ216、218、220は、ティッカーシンボルに基づいて新しいデータ106を適切なシンボルアレイ222、224、226に挿入するフローコントロールである。シンボルアレイ222、224、226は、ティッカーシンボルについてのキューイングされたデータのアレイ106である。エンジンゲートウェイ206は、エンジンアダプタ204から、データ106がそれについて受信される全てのティッカーシンボルのリストを受信する(表1参照)。エンジンゲートウェイ206は、データ106がそれについて受信される各ティッカーシンボルについて、シンボルハンドラ216、218、220およびシンボルアレイ222、224、226を生成する。各シンボルは、一意のシンボルハンドラ216、218、220および一意のシンボルアレイ222、224、226が割当てられる。したがって、生成されるシンボルハンドラ216、218、220およびシンボルアレイ222、224、226の総数は、コプロセッサハードウェア104によって処理されるシンボルの総数に依存する。
1つの特定の例では、コプロセッサハードウェア104は、全部で8000の異なるティッカーシンボルになる、NASDAQ証券取引所、NY証券取引所、店頭売買(over-the-counter)(「OTC」)有価証券、債権、オプション、およびデリバティブの全てのシンボルを処理する。したがって、エンジンゲートウェイ206は、8000の一意のシンボルハンドラおよび8000のシンボルアレイを生成し、各シンボルハンドラおよびシンボルアレイは、ティッカーシンボルに対応する。
シンボルアレイ222、224、226内で、データは、「タイムバケット(time bucket)」に時間ソーティングされ、各「バケット(bucket)」は、指定された期間を示す。タ
イムバケットは、データが生成された時間に基づいてデータ106をソーティングするデータ構造である。エンジンインスタンス304、306、308、および310を生成し、ストリーミングされるデータ106を受信する前に、エンジンゲートウェイ206はまた、タイムバケットを予め作成する。各タイムバケットは、データ106が収集される期間を示す。タイムバケットは、1秒データ収集間隔または15秒データ収集間隔を示しうる。
図3Aを参照して、シンボルアレイX 216は、タイムバケットのセット350に関連する。シンボルアレイY 218はまた、タイムバケットのセット360に関連する。タイムバケットのセット350、360は、個々のタイムバケット352、354、356、358、59、および362、364、366、368を含む。タイムバケットの数は、起動すると、アルゴリズムによって必要とされるデータ量に依存する。この例では
、また、表1を参照して、エンジンインスタンスはティッカーシンボルXについてアルゴリズムAを起動する。アルゴリズムAが、データの15分相当分を必要とし、タイムバケットが、収集されるデータのそれぞれの1秒相当分について生成される場合、タイムバケットのセット350は、900(15分×60秒=900)タイムバケット352、354、356、358、359を含む。
2つ以上のアルゴリズムがティッカーシンボルについて起動される場合、そのティッカーシンボルについて収集されるデータ量は、ほとんどのデータを必要とするアルゴリズムに依存する。たとえば、アルゴリズムAおよびBは共に、ティッカーシンボルYについて起動される。アルゴリズムBは、データの3時間相当分を必要とする。したがって、アルゴリズムAがデータの15分相当分を必要とするだけであっても、ティッカーシンボルYデータの3時間相当分が収集される。タイムバケットが、ティッカーシンボルについて収集されるデータのそれぞれの1秒相当分について生成される場合、タイムバケットのセット360は、10,800(3時間×60分×60秒=10,800)タイムバケット362、364、366、368を含む。
シンボルアレイ222、224、226およびバケットセット350、360を含むデータ構造は、コプロセッサハードウェア104上のランダムアクセスメモリ(「RAM」)に存在する。データ106が、これらのデータ構造に、したがって、コプロセッサハードウェア104上のランダムアクセスメモリ(「RAM」)に自動的に挿入されるため、データを格納する外部データベースが必要とされない。外部データベースのこの削除のために、取引予測器100は、超低遅延速度で動作し、予測までの時間を減少させる。
(メモリ参照)
図2を参照する。エンジンゲートウェイ206は、エンジンインスタンス304,306,308,310を駆動する前に、リソースプール214およびエンジンインスタンス304,306,308,310の両方に参照228,230を生成する。エンジンインスタンス304,306,308,310を駆動している間には、エンジンインスタンス304,306,308,310は、シンボルアレイ222,224,226の一部または全部のクローンを要求する。ある特定の実施例において、エンジンインスタンス304はシンボルアレイX222のクローンを要求し、リソースプール214はシンボルアレイXのクローン252を生成する。エンジンゲートウェイ206はエンジンインスタンス304にシンボルアレイX222のメモリ位置を与える。このことはエンジンインスタンス304にシンボルアレイX222のクローンの要求を可能とさせる。さらに、リソースプール214はエンジンインスタンス304への参照も有している。この参照は、リソースプール214がシンボルアレイX222の共有されたメモリクローン252をエンジンインスタンス304に転送することを可能とさせる。
(データのフロー)
初期化プロセスが終了すると、データ106は、取引予測器100内にストリーミングされ、取引予測器100は、その一部が図4に示される種々のステップ400を実施する。これらのステップの中に、ホストシステムがストリーミングされるデータを受信するス
テップ(ステップ402)およびホストシステムがコプロセッサハードウェアにストリーミングされるデータを渡す別のステップ(ステップ404)が存在する。コプロセッサハードウェア104は、予め定義されたデータ構造内にデータを挿入するステップ(ステップ406)と、データをクローン化するステップ(ステップ408)と、エンジンインスタンスを生成するステップ(ステップ410)とを実施する。
(ホストシステムおよびコプロセッサハードウェア受信データ)
元の図2を参照して、ホストシステム102は、ストリーミングされる金融市場データ106を市場データプロバイダ202から受信する。市場データ106のタイプは、買い呼び値、売り呼び値、および売買高を含むが、それに限定されない。ホストシステム102は、その後、コプロセッサハードウェア104に注入するために市場データ106を準備する。ホストシステム102は、取引予測器100全体を通して後で使用するために、それぞれの一意の市場データシンボルに一意の整数値を割当てる市場ティックハンドラ280を通して市場データを処理することによって準備する。市場データシンボルは、コプロセッサハードウェア104内のデータ構造が、効率的に生成され処理されるために、整数値にマッピングされる。市場ティックハンドラ280は、対応する市場データシンボルへの整数値のマッピングを維持する。一部の例では、このマッピングは、予測出力290が、コプロセッサハードウェア104から元のホストシステム102に中継されるときに、ホストシステム102が、市場データシンボルを市場データ106に再関連付けするように、ホストシステム102上でホストされる。市場ティックアダプタ240は、市場ティックハンドラ280から、整数割当てを有する市場データを受信し、市場データを、市場ストリームゲートウェイ242にアップロードするコマンドを発する。
ホストシステム102によって処理された後、データは、コプロセッサハードウェア104に注入される。取引予測器100の利点のうちの1つの利点は、バッファリングおよびデータハンドリングなどのホストシステム102上で通常実行される機能の多くが、代わりに、コプロセッサハードウェア104上で実行されることである。
取引予測器100の別の利点は、取引予測器100が、大量の市場データをリアルタイムに処理し、したがって、市場が動く前に予測を生成することができることである。取引予測器100の別の利点は、リアルタイム予測を生成するのに十分に迅速に大量の市場データを処理することができることである。
(データ構造への挿入)
コプロセッサハードウェア104に注入されると、市場ストリームゲートウェイ242は、データを受信し、データに対してタイムスタンプをアペンドし、リソースプール214上にそれを渡す。市場ストリームゲートウェイ242は、整数値に基づいて正しいシンボルハンドラ216、218、220に挿入するために、ホストシステム102からデータを受信し、リソースプール214内に市場データを割当てる。リソースプール214およびシンボルハンドラ216、218、220による整数値の使用は、市場データ106が効率的に処理されることを可能にすることによって、かなりの処理性能利益を提供する。コプロセッサハードウェア104内での市場データに対する参照は、整数値を使用する。一部の例では、市場データシンボルは、予測データがコプロセッサハードウェア104からホストシステム102に戻るときに、ホストシステム102によって後で使用するために、コプロセッサハードウェア104に渡される。他の例では、市場データシンボルは、先に論じたように、ホストシステム102上に存在する。
図4を参照して、リソースプール214(図2参照)は、データピースに関連するティッカーシンボルを確定し、正しいデータ構造にデータを挿入する(ステップ406)。これは、データピースを、データのティッカーシンボルに対応するシンボルハンドラ216、218、220に転送することを含む。一部の例では、予測データ106が、一意の整数値に関連するため、シンボルハンドラ216、218、220は、これらの一意の整数値に対応する。さらに、リソースプール214は、データピースに関連するタイムスタンプを調査し、データが、適切なシンボルアレイ222、224、226内に挿入されるべきであるタイムバケット352、354、356、358、359、および362、364、366、368(図3)を指定する。
タイムバケット352、354、356、358、359、および362、364、366、368は、連続して、新しいデータで更新され、古いデータが一掃される。タイムバケット352、354、356、358、359、および362、364、366、368の1つの利点は、最も古いデータが、最も古いデータを最初に探索する必要なしで、容易に上書きされることである。上記例では、アルゴリズムAは、起動する前に、データの15分相当分を必要とする。したがって、アルゴリズムAについて使用されるだけであるティッカーシンボルデータは、15分のデータ収集後に新しいデータで上書きされる。表1を参照して、ティッカーシンボルXデータはアルゴリズムAのみに用いられる。したがって、最も古いティッカーシンボルXデータは、すなわち15分より前に収集されたデータは、15分のデータ収集後に上書きされ始める。しかし、ティッカーシンボルYデータは、アルゴリズムAとアルゴリズムBの両方について収集される。先に論じたように、アルゴリズムBは、エンジンインスタンスによって起動されるデータ収集の3時間相当分を必要とする。したがって、ティッカーシンボルYデータは、15分だけのデータ収集後ではなく、3時間のデータ収集後に、新しいティッカーシンボルYで上書きされ始める。
タイムバケット352、354、356、358、359、および362、364、366、368の別の利点は、それらが、可変長データの分類を可能にすることである。データ106が、連続ストリームでホストシステム102に入ることに失敗するとき、タイムバケット352、354、356、358、359、および362、364、366、368での金融データの更新レートが一貫していない。タイムバケット352、354、356、358、359、および362、364、366、368などの時間ベース分類システムは、データが、データのタイムスタンプに応じて、また、データ長に無関係にバケットで分類されることを可能にする。
タイムバケット352、354、356、358、359、および362、364、366、368の別の利点は、指定された時間間隔にわたるデータが、エンジンインスタンス304、306、308、310によって要求されると、容易に識別されうることである。たとえば、午後3:00に、エンジンインスタンス304は、15分のティッカーシンボルXデータに対してアルゴリズムAを実行するとき、午後2:45と午後3:00との間に収集された全てのティッカーシンボルXデータを要求する可能性がある。応答して、コプロセッサハードウェア104は、午後2:45と午後3:00との間に収集されたデータを保持する全てのタイムバケット352、354、356、358、359に問い合わせるだけであり、それにより、大量のデータを走査する必要性が回避される。
(データのクローン化)
エンジンインスタンス304、306、308、310を実行する前に、アルゴリズムを起動するときに使用されるデータがクローン化される408(図4)。図5を参照して、コプロセッサハードウェア104は、エンジンインスタンスの実行を準備するためにデータをクローン化するとき408に、種々のステップを実施する。データクローン化(ステップ408)は、起動メッセージの受信によって開始される(ステップ502)。この起動メッセージは、ホストシステム102上に位置するマネジャー250(図2)が起動メッセージをエンジンアダプタ204に送出するときに起こり、エンジンアダプタ204が、その後、起動メッセージをエンジンゲートウェイ206に中継する。起動メッセージは、エンジンインスタンス304、306、308、310が実行されるときを指定し、エンジンインスタンス304、306、308、310の実行を開始する。
起動メッセージを受信すると、エンジンゲートウェイ206は、エンジンインスタンスを実行するのに必要とされるデータ量およびデータのティッカーシンボルを確定する(ステップ504)。データ量は、どれだけ多くのデータをアルゴリズムが必要とするかに依存する。たとえば、一部のアルゴリズムは、ティッカーシンボルデータの15分相当分を必要とすることになり、一方、他のアルゴリズムは、ティッカーシンボルデータの3時間相当分を必要としてもよい。必要とされるティッカーシンボルデータを保持するメモリ部分に対する参照228(図2)を使用して、エンジンインスタンス304、306、308、310は、必要とされるデータがクローン化されることを要求する506。それは、必要とされるデータのタイプおよび量を指定する要求をリソースプール214に送出することによって行われる。
応答して、シンボルハンドラ216、218、220は、指定されたティッカーシンボルに関連しかつ要求される時間間隔内に含まれるタイムバケット352、354、356、358、359、および362、364、366、368内のデータをクローン化する。これは、シンボルアレイ222、224、226の全てまたは一部をクローン化することをもたらす。シンボルアレイ222、224、226のコンテンツは、コプロセッサハードウェア104に市場データ106が連続して流入するため、絶えず変化する。しかし、本質的にシンボルアレイ内のデータのスナップショットであるデータクローンは、静的データセットである。たとえば、アルゴリズムAが、最後の15分で収集されたティッカーシンボルXデータに対して実行される場合、シンボルハンドラX 216は、ティッカ
ーシンボルXタイムバケットセット350から最後の15分のデータをクローン化し、静的なティッカーシンボルXデータセットを生成する。
データがクローン化された後、クローン化されたデータは、データを要求したエンジンインスタンス510に渡される。図2を参照して、各エンジンインスタンス304、306、308、310は、クローン化されたシンボルアレイ252、254、256、258に関連付けられる。これらのエンジンインスタンス304、306、308、310は、アルゴリズムの起動時にクローン化されたシンボルアレイ252、254、256、258を使用する。
コプロセッサハードウェア104上でティッカーシンボルデータをクローン化する利益は、コプロセッサハードウェア104が、オペレーティングシステムカーネルなしで、高速メモリバッファを含むことである。結果として得られる計算オーバヘッドの減少は、データをクローン化するのに必要とされる時間を減少させ、予測までの時間を減少させる。
1つの最適化技法は、全体のシンボルアレイ222、224、226を再クローン化する代わりに、クローン化されたシンボルアレイ252、254、256、258を更新するのに必要とされるデータだけをクローン化することを含む。たとえば、エンジンインスタンス304が、15分のティッカーシンボルデータを要求するだけであるアルゴリズムAを起動することを仮定する。エンジンインスタンス304が、アルゴリズムAを午後3:00に起動し、アルゴリズムAを午後3:01に再び起動する場合、シンボルハンドラ216、218、220内の最後の15分のデータは、再クローン化される必要がない。代わりに、クローン化されたシンボルアレイ252が、3:00:00と3:00:59との間に収集された最近のデータで更新される必要があるだけである。
さらに、クローン化されたシンボルアレイ252、254、256、258は、種々のまた時には異なる時間で更新する。図6を参照して、エンジンインスタンスは、アルゴリズムAを15分ごとに起動し、アルゴリズムBを1時間ごとに起動する。エンジンインスタンスが、起動する前に更新するため、アルゴリズムAに関連するクローン化されたシンボルアレイは、3回602、604、606更新され、アルゴリズムAは、45分で3回608、610、612起動される。対照的に、アルゴリズムBに関連するクローン化されたシンボルアレイは、1回だけ更新され614、アルゴリズムBは、45分で1回だけ起動される616。
(エンジンインスタンスの実行)
図4を参照して、データがクローン化され、クローン化されたシンボルアレイ252、254、256、258がエンジンインスタンス304、306、308、310に渡されると、エンジンインスタンス304、306、308、310は、適切なアルゴリズムを起動する。一部の例では、同じアルゴリズムが、異なるティッカーシンボルに適用される。他の例では、異なるアルゴリズムが、異なるティッカーシンボルに適用される。エンジンインスタンス304、306、308、310によって起動されるアルゴリズムのタイプは、取引活動の時間加重平均または容量加重平均などの標準的な業界アルゴリズム、および、独自アルゴリズムまたはカスタム開発アルゴリズムを含む。
コプロセッサハードウェア104が、多数のエンジンインスタンス304、306、308、310を同時に実行することが可能であるため、多数のアルゴリズムが、起動され、市場データ106に対して並列に実行される。一例では、8000のエンジンインスタンスが生成される。コプロセッサハードウェア104は、これらの8000のエンジンインスタンスを同時に実行する。これは、市場データ106に対する8000のアルゴリズムの並列実行をもたらす。
(エンジンインスタンスからの出力)
一部の例では、エンジンインスタンス304、306、308、310からの予測108は、有価証券の平均価格などの単一計算である。他の例では、予測108は、多数の事前計算に依存する。図2を参照して、エンジンインスタンス310は、3つの計算266、268、270を生成し、第3の計算270は、予測108を示す。しかし、予測108は、計算266および計算268に依存する。
エンジンインスタンス304、306、308、310は、予測出力290を生成すると、予測出力290を、ホストシステム102上の予測アダプタ274に戻す。予測アダプタ274は、予測出力290を予測ハンドラ284に渡す。予測ハンドラ284は、下流の消費者のために予測出力290をフォーマットする。このステップで、予測ハンドラ284は、ティッカーシンボルを市場データに再割り当てする。予測出力290のフォーマットは、外部予測ティッカープラント286のためにカスタマイズされる。ティッカープラント286は、その後、予測データを予測消費者288に中継する。
コプロセッサハードウェア104およびホストシステム102は、予測108をホストシステム102に渡す予測ストリームゲートウェイ272を通してインタフェースする。予測アダプタ274は、コプロセッサハードウェア104が予測108を提供するときに予測108をバッファリングし格納することによって、コプロセッサハードウェア104からホストシステム102上に予測108を移動させる。予測アダプタ274はまた、ユーザインタフェース260に提示するために、バッファリングされた予測108をマネジャー250に転送し、ユーザインタフェース260にて、予測108が、観察可能フォーマットで提示される。
(ステータスゲートウェイ)
図2を参照して、ステータスゲートウェイ232は、リソースプール214から統計量を収集する。統計量は、コプロセッサハードウェア104が受信したティッカーシンボルデータの異なるタイプ、または、メモリに保持されるタイムバケットの数を含むが、それに限定されない。リソースプール214は、コプロセッサハードウェア104にストリーミングされるデータのタイプおよびサイズの運用在庫を維持する。エンジンインスタンス304、306、308、310は、ステータスゲートウェイ232に、所与の時間に実行されるエンジンインスタンス304、306、308、310の数、1日に生成される予測108の総数、およびコンピュータタイマ性能の実行速度などの予測108の生成に関する統計量を提供する。ステータスゲートウェイ232を通して、コプロセッサハードウェア104は、コプロセッサハードウェア104がタイムバケットを通して再走査する必要なく、データ106の処理に関する統計量をホストシステム102に提供して、処理されるデータの現在のタイプおよびサイズの更新が提供される。さらに、エンジンインスタンス304、306、308、310が実行されるとき、実行の前に、参照が、ステータスゲートウェイ232に送出される。この参照を受信すると、ステータスゲートウェイ232は、エンジンインスタンス304、306、308、310が起動された回数、および、エンジンインスタンス304、306、308、310が起動することをエンジンアダプタ204が要求した回数などの統計量をステータスアダプタ262に送出し始める。
ステータスゲートウェイ232は、ホストシステム102に統計量を出力する。ホストシステム102内のステータスアダプタ262は、未処理統計量を受信し、その統計量をステータスハンドラ264に送出する。ステータスハンドラ364は、マネジャー250によって消費されるために統計量をフォーマットする。統計量は、フォーマットされた後、マネジャー250に転送される。
本発明のいくつかの実施形態が述べられた。それでも、本発明の趣旨および範囲から逸脱することなく、種々の変更が行われてもよいことが理解されるであろう。1つの特定の
例では、コプロセッサハードウェア104は、市場データ源に対するインタフェースである。したがって、他の実施形態は、添付特許請求の範囲内にある。

Claims (30)

  1. 金融市場活動を予測するための装置において、
    ホストシステムとデータ通信状態にあるグラフィカル処理ユニットと、
    コンピュータ読み取り可能記憶デバイスに記憶されたコンピュータプログラムであって、
    複数の金融モデルと、各金融モデルに関連する市場データのタイプのリストとを受信する手順と
    受信した前記複数の金融モデルおよび各金融モデルに関連する市場データのタイプの前記リストに基づいて1つまたは複数のエンジンインスタンスを生成する手順と
    前記金融市場活動を示しストリーミングされる市場データをホストシステムから受信する手順と
    受信した前記市場データを前記市場データに関連するタイムスタンプに従って構築する手順と
    前記複数の金融モデルのうちの識別された金融モデルを実行する命令を前記ホストシステムから受信する手順と
    前記ストリーミングされた市場データの少なくとも一部を前記タイムスタンプおよび前記識別された金融モデルに基づく前記エンジンインスタンスに基づいて、前記識別された金融モデルで用いるために、前記グラフィカル処理ユニット上でクローン化する手順と
    予想される市場性能を示す予測データをリアルタイムに生成するために、前記識別された金融モデルとストリーミングされた前記市場データのうち前記クローン化した部分とに基づく前記エンジンインスタンスを実行する手順と
    予想される市場性能を示す前記予測データを前記ホストシステムに出力する手順とを、前記グラフィカル処理ユニットに実行させるためのコンピュータプログラムとを備える装置。
  2. サーバとデータ通信状態にある2つ以上のグラフィカル処理ユニットをさらに備える請求項1に記載の装置。
  3. 前記コンピュータプログラムは
    受信した前記市場データを前記市場データに関連するティッカーシンボルに従って構築する手順を、前記グラフィカル処理ユニットに実行させる、請求項1に記載の装置。
  4. 前記コンピュータプログラムは
    選択されたデータに対して2つ以上の金融アルゴリズムを並列に実行する手順を、前記グラフィカル処理ユニットに実行させる、請求項1に記載の装置。
  5. 前記コンピュータプログラムは
    選択された第1のデータを選択された第2のデータでオーバライトすることによって前記選択されたデータを更新する手順を、前記グラフィカル処理ユニットに実行させる、請求項1に記載の装置。
  6. 前記コンピュータプログラムは
    予想される市場性能を示す前記予測データを前記ホストシステムに転送する手順を、前記グラフィカル処理ユニットに実行させる、請求項1に記載の装置。
  7. 前記コンピュータプログラムは
    金融市場活動を示すストリーミングされるデータを受信する前に、前記グラフィカル処理ユニット上でプロセッサメモリを割当てる手順を、前記グラフィカル処理ユニットに実行させる、請求項1に記載の装置。
  8. 前記コンピュータプログラムは
    受信した前記市場データの処理に関する統計量を収集する手順を、前記グラフィカル処理ユニットに実行させる、請求項1に記載の装置。
  9. 前記コンピュータプログラムは
    受信した前記市場データを格納するためのデータ構造を生成する手順を、前記グラフィカル処理ユニットに実行させる、請求項1に記載の装置。
  10. 前記コンピュータプログラムは
    非同期時間に少なくとも2つのエンジンインスタンスを実行する手順を、前記グラフィカル処理ユニットに実行させる、請求項1に記載の装置。
  11. 金融市場活動を予測するための装置において、
    ホストシステムとデータ通信状態にあるコプロセッサハードウェアであって、
    前記ホストシステムからストリーミングされる市場データを受信するプロセッサメモリを含む、コプロセッサハードウェアと、
    コンピュータ読み取り可能記憶デバイスに記憶されたコンピュータプログラムであって、
    複数の金融モデルと、各金融モデルに関連する市場データのタイプのリストとを受信する手順と
    受信した前記複数の金融モデルおよび各金融モデルに関連する市場データのタイプの前記リストに基づいて1つまたは複数のエンジンインスタンスを生成する手順と
    前記金融市場活動を示しストリーミングされる市場データをホストシステムから受信する手順と
    受信した前記市場データを前記市場データに関連するタイムスタンプに従って構築する手順と
    前記ホストシステムから、前記複数の金融モデルのうちの識別された金融モデルを実行する命令を受信する手順と
    前記ストリーミングされた市場データの少なくとも一部を前記タイムスタンプおよび
    前記識別される金融モデルに基づく前記エンジンインスタンスに基づいて、前記識別された金融モデルで用いるために、前記コプロセッサハードウェア上でクローン化する手順と
    予想される市場性能を示す予測データをリアルタイムに生成するために、前記識別された金融モデルとストリーミングされた前記市場データのうち前記クローン化した部分とに基づく前記エンジンインスタンスを実行する手順と
    予想される市場性能を示す前記予測データを前記ホストシステムに出力する手順とを、前記コプロセッサハードウェアに実行させるためのコンピュータプログラムとを備える装置。
  12. 金融市場活動を予測するための装置において、
    市場データ源とインタフェースするグラフィカル処理ユニットであって、
    ストリーミングされる市場データを受信するプロセッサメモリを有する、グラフィカル処理ユニットと、
    前記グラフィカル処理ユニット上に存在し、前記市場データに対して金融モデルを実行するためのコンピュータプログラムであって、
    前記市場データ源から、前記複数の金融モデルと各金融モデルに関連する市場データのタイプのリストとを受信する手順と
    受信した前記複数の金融モデルおよび各金融モデルに関連する市場データのタイプの前記リストに基づいて1つまたは複数のエンジンインスタンスを生成する手順と
    金融市場活動を示しストリーミングされる市場データを前記市場データ源から受信する手順と
    受信した前記市場データを前記市場データに関連するタイムスタンプに従って構築する手順と
    前記複数の金融モデルのうちの識別された金融モデルを実行する命令を受信する手順と
    前記ストリーミングされた市場データの少なくとも一部を前記タイムスタンプおよび前記識別された金融モデルに基づく前記エンジンインスタンスに基づいて、前記識別された金融モデルで用いるために、前記グラフィカル処理ユニット上でクローン化する手順と
    予想される市場性能を示す予測データをリアルタイムに生成するために、前記識別された金融モデルとストリーミングされた前記市場データのうち前記クローン化した部分とに基づく前記エンジンインスタンスを実行する手順と
    予想される市場性能を示す前記予測データを出力する手順とを
    前記グラフィカル処理ユニットに実行させるためのコンピュータプログラムとを備える装置。
  13. 金融市場活動を予測するためにコンピュータの処理を実行するための方法において、
    複数の金融モデルと各金融モデルに関連する市場データのタイプのリストとを受信するステップと、
    受信した前記複数の金融モデルおよび各金融モデルに関連する市場データのタイプの前記リストに基づいて1つまたは複数のエンジンインスタンスを生成するステップと、
    金融市場活動を示しストリーミングされる市場データをグラフィカル処理ユニット上で受信するステップと、
    受信した前記市場データを前記市場データに関連するタイムスタンプに従って構築するステップと、
    前記複数の金融モデルのうちの識別された金融モデルを実行する命令を、ホストシステムから受信するステップと、
    前記ストリーミングされた市場データの少なくとも一部を前記タイムスタンプおよび前記識別される金融モデルに基づく前記エンジンインスタンスに基づいて、前記識別された
    金融モデルで用いるために、前記グラフィカル処理ユニット上でクローン化するステップと、
    予想される市場性能を示す予測データをリアルタイムに生成するために、前記識別された金融モデルとストリーミングされた前記市場データのうち前記クローン化した部分とに基づく前記エンジンインスタンスを実行するステップと、
    予想される市場性能を示す前記予測データを出力するステップとを備える方法。
  14. 受信した前記市場データを前記市場データに関連するティッカーシンボルに従って構築するステップをさらに備える請求項13に記載の方法。
  15. 前記選択されたデータに対して2つ以上の金融アルゴリズムを並列に実行するステップをさらに備える請求項13に記載の方法。
  16. 選択された第1のデータを選択された第2のデータでオーバライトすることによって前記選択されたデータを更新するステップをさらに備える請求項13に記載の方法。
  17. 予想される市場性能を示す前記予測データを前記ホストシステムに転送するステップをさらに備える請求項13に記載の方法。
  18. 金融市場活動を示すストリーミングされるデータを受信する前に、前記グラフィカル処理ユニット上でメモリを割当てるステップをさらに備える請求項13に記載の方法。
  19. 受信した前記市場データの処理に関する統計量を収集するステップをさらに備える請求項13に記載の方法。
  20. 受信した前記市場データを格納するためのデータ構造を生成するステップをさらに備える請求項13に記載の方法。
  21. 非同期時間に少なくとも2つのエンジンインスタンスを実行するステップをさらに備える請求項13に記載の方法。
  22. 金融市場活動を予測するソフトウェアを符号化して記録したコンピュータ可読媒体において、前記ソフトウェアは、グラフィカル処理ユニットに、
    複数の金融モデルと、各金融モデルに関連する市場データのタイプのリストとを受信する手順と
    受信した前記複数の金融モデルおよび各金融モデルに関連する市場データのタイプの前記リストに基づいて1つまたは複数のエンジンインスタンスを生成する手順と
    金融市場活動を示しストリーミングされる市場データを、ホストシステムから受信する手順と
    受信した前記市場データを前記市場データに関連するタイムスタンプに従って構築する手順と
    前記複数の金融モデルのうちの識別された金融モデルを実行する命令を前記ホストシステムから受信する手順と
    前記ストリーミングされた市場データの少なくとも一部を前記タイムスタンプおよび前記識別される金融モデルに基づく前記エンジンインスタンスに基づいて、前記識別された金融モデルで用いるために、グラフィカル処理ユニット上でクローン化する手順と
    予想される市場性能を示す予測データをリアルタイムに生成するために、前記識別された金融モデルとストリーミングされた前記市場データのうち前記クローン化した部分とに基づく前記エンジンインスタンスを実行する手順と
    予想される市場性能を示す前記予測データを前記ホストシステムに出力する手順とを実
    行させる、コンピュータ可読媒体。
  23. 前記ソフトウェアは、
    受信した前記市場データを前記市場データに関連するティッカーシンボルに従って構築する手順を、前記グラフィカル処理ユニットにさらに実行させる、請求項22に記載のコンピュータ可読媒体。
  24. 前記ソフトウェアは、
    前記選択されたデータに対して2つ以上の金融アルゴリズムを並列に実行する手順を、前記グラフィカル処理ユニットにさらに実行させる、請求項22に記載のコンピュータ可読媒体。
  25. 前記ソフトウェアは、
    選択された第1のデータを選択された第2のデータでオーバライトすることによって前記選択されたデータを更新する手順を
    前記グラフィカル処理ユニットにさらに実行させる、請求項22に記載のコンピュータ可読媒体。
  26. 前記ソフトウェアは、
    予想される市場性能を示す前記予測データを前記ホストシステムに転送する手順を
    前記グラフィカル処理ユニットにさらに実行させる、請求項22に記載のコンピュータ可読媒体。
  27. 前記ソフトウェアは、
    金融市場活動を示すストリーミングされるデータを受信する前に、前記グラフィカル処理ユニット上でメモリを割当てる手順を、前記グラフィカル処理ユニットにさらに実行させる、請求項22に記載のコンピュータ可読媒体。
  28. 前記ソフトウェアは、
    受信した前記市場データの処理に関する統計量を収集する手順を
    前記グラフィカル処理ユニットにさらに実行させる、請求項22に記載のコンピュータ可読媒体。
  29. 前記ソフトウェアは、
    受信した前記市場データを格納するためのデータ構造を生成する手順を
    前記グラフィカル処理ユニットにさらに実行させる、請求項22に記載のコンピュータ可読媒体。
  30. 前記ソフトウェアは、
    非同期時間に少なくとも2つのエンジンインスタンスを実行する手順を
    前記グラフィカル処理ユニットにさらに実行させる、請求項22に記載のコンピュータ可読媒体。
JP2011544470A 2008-12-29 2009-12-17 リアルタイム取引予測 Active JP5755146B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/344,901 2008-12-29
US12/344,901 US8433628B2 (en) 2008-12-29 2008-12-29 Real-time trade forecaster
PCT/US2009/068391 WO2010078008A2 (en) 2008-12-29 2009-12-17 Real-time trade forecaster

Publications (3)

Publication Number Publication Date
JP2012514272A JP2012514272A (ja) 2012-06-21
JP2012514272A5 JP2012514272A5 (ja) 2014-07-24
JP5755146B2 true JP5755146B2 (ja) 2015-07-29

Family

ID=42286076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011544470A Active JP5755146B2 (ja) 2008-12-29 2009-12-17 リアルタイム取引予測

Country Status (6)

Country Link
US (3) US8433628B2 (ja)
EP (1) EP2389653A4 (ja)
JP (1) JP5755146B2 (ja)
AU (1) AU2009333140B2 (ja)
CA (1) CA2748502A1 (ja)
WO (1) WO2010078008A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11748814B2 (en) 2018-05-21 2023-09-05 Empower Annuity Insurance Company Of America Planning engine for a financial planning system
US20190355055A1 (en) 2018-05-21 2019-11-21 Great-West Life & Annuity Insurance Company Graphical user interface including dynamic generation of savings option selectors for a financial planning system
CN109271113B (zh) * 2018-09-28 2022-03-29 武汉烽火众智数字技术有限责任公司 一种基于云存储的数据管理系统及方法
CN110517149B (zh) * 2019-08-29 2022-05-06 中国银行股份有限公司 向用户推送金融市场加工信息的方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4536833B2 (ja) * 1998-03-12 2010-09-01 新日鉄ソリューションズ株式会社 金融情報処理システム
JPH11345108A (ja) * 1998-06-01 1999-12-14 Ntt Mobil Commun Network Inc 受信端末および情報配信システム
US7707091B1 (en) * 1998-12-22 2010-04-27 Nutech Solutions, Inc. System and method for the analysis and prediction of economic markets
US7013285B1 (en) * 2000-03-29 2006-03-14 Shopzilla, Inc. System and method for data collection, evaluation, information generation, and presentation
US7194434B2 (en) * 2000-06-15 2007-03-20 Sergio Piccioli Method for predictive determination of financial investment performance
US20080027841A1 (en) 2002-01-16 2008-01-31 Jeff Scott Eder System for integrating enterprise performance management
JP2003296476A (ja) * 2002-04-04 2003-10-17 Dreamvisor.Com Kk 株価情報配信システム
WO2003093930A2 (en) 2002-04-30 2003-11-13 Veridiem Inc. Marketing optimization system
JP2004126901A (ja) * 2002-10-02 2004-04-22 Hitachi Kokusai Electric Inc 情報表示システム
US6915390B2 (en) * 2002-12-05 2005-07-05 International Business Machines Corporation High speed memory cloning facility via a coherently done mechanism
US8271369B2 (en) * 2003-03-12 2012-09-18 Norman Gilmore Financial modeling and forecasting system
JP5097108B2 (ja) 2005-05-09 2012-12-12 ベア・スターンズ・アンド・カンパニー・インコーポレーテッド コンピュータ支援型の金融証券分析システムおよび方法
US20070156479A1 (en) 2005-11-02 2007-07-05 Long Erik T Multivariate statistical forecasting system, method and software
JP4878973B2 (ja) * 2006-09-27 2012-02-15 みずほ情報総研株式会社 負荷分散処理システム、負荷分散処理方法及び負荷分散処理プログラム

Also Published As

Publication number Publication date
US8433628B2 (en) 2013-04-30
CA2748502A1 (en) 2010-07-08
US8924276B2 (en) 2014-12-30
AU2009333140A1 (en) 2011-07-07
EP2389653A2 (en) 2011-11-30
US20150120613A1 (en) 2015-04-30
WO2010078008A3 (en) 2011-01-20
WO2010078008A2 (en) 2010-07-08
AU2009333140B2 (en) 2016-07-21
JP2012514272A (ja) 2012-06-21
US20130226835A1 (en) 2013-08-29
EP2389653A4 (en) 2013-01-02
US20100169235A1 (en) 2010-07-01

Similar Documents

Publication Publication Date Title
Bhattacharjee et al. Barista: Efficient and scalable serverless serving system for deep learning prediction services
US20220058054A1 (en) Fpga acceleration for serverless computing
US11188392B2 (en) Scheduling system for computational work on heterogeneous hardware
CN112667414A (zh) 基于消息队列的消息消费方法、装置、计算机设备及介质
Yang et al. Intermediate data caching optimization for multi-stage and parallel big data frameworks
CN107463434A (zh) 一种分布式任务处理方法与设备
KR20140080434A (ko) 맵리듀스 프레임워크에서 데이터 프로세싱의 최적화를 위한 디바이스 및 방법
CN109783255B (zh) 数据解析分发装置及高并发数据处理方法
US20210256427A1 (en) Automated Computer Operating System Optimization
JP5755146B2 (ja) リアルタイム取引予測
CN106815254A (zh) 一种数据处理方法和装置
CN114090537A (zh) 卫星在轨状态的实时分析方法、装置、系统、设备及介质
CN111209310A (zh) 基于流计算的业务数据处理方法、装置和计算机设备
JP2004192047A (ja) メッセージ処理装置、メッセージ処理方法、及びメッセージ処理プログラム
CN111813868B (zh) 数据同步方法及装置
US8429120B1 (en) System and method for distributed back-off in a database-oriented environment
Ujjwal et al. An efficient framework for ensemble of natural disaster simulations as a service
GB2516357A (en) Methods and apparatus for monitoring conditions prevailing in a distributed system
CN104011682B (zh) 对应用事件响应进行推测性处理的方法和计算机系统
CN115858667A (zh) 用于同步数据的方法、装置、设备和存储介质
Kim et al. Cooperative scheduling schemes for explainable DNN acceleration in satellite image analysis and retraining
CN115421920A (zh) 金融产品的任务管理方法及装置、电子设备、存储介质
CN108009849B (zh) 生成账号状态的方法以及生成账号状态的装置
CN112948078A (zh) 基于服务调用的收益分配任务处理方法及装置
WO2023231937A1 (zh) 调度装置、方法及相关设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131210

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140310

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140317

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20140606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141203

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: 20150519

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150526

R150 Certificate of patent or registration of utility model

Ref document number: 5755146

Country of ref document: JP

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