(57)【特許請求の範囲】
【請求項１】
（１）金融市場のデータを含んでいるデータストリームを受け取る、および（２）受け取ったデータストリームの少なくとも一部について複数のオプション価格付け演算を同時に行うように構成された再構成可能な論理素子
を含む、金融市場のデータを処理するためのデバイス。
【請求項２】
再構成可能な論理素子がさらに、オプション価格付け演算に基づいて、原金融商品に関するオプションのインプライドボラティリティを計算するように構成される、請求項１に記載のデバイス。
【請求項３】
オプションの価格付け演算が、オプションの複数の理論上の適正市場価格の計算を含む、請求項１から２のいずれかに記載のデバイス。
【請求項４】
再構成可能な論理素子が、同時にオプション価格付け演算を行うように構成された複数の並列計算ユニットを含むファームウェアアプリケーションモジュールのパイプラインで構成された、請求項１から３のいずれか一項に記載のデバイス。
【請求項５】
並列計算ユニットのうちの少なくとも１つの計算ユニットが、複数のパイプラインステージを含み、最後のパイプラインステージを除く複数のパイプラインステージが、複数の並列計算ノードを含み、計算ノードのそれぞれが、段階的なオプション価格付けモデルのステップを計算するように構成され、
各計算ノードが、隣接する２つのパイプラインステージの間において、前段であるパイプラインステージに含まれる少なくとも２つの計算ノードからの出力を、後段であるパイプラインステージに含まれる１つの計算ノードが受け取るように構成され、
最後のパイプラインステージの出力が、オプションの計算された理論上の適正市場価格を含む、請求項４に記載のデバイス。
【請求項６】
並列計算ユニットのうちの少なくとも１つが、複数のパイプラインステージを含み、複数のパイプラインステージが、上方の倍数因子および下方の倍数因子に基づいてオプション価格付けモデルについて複数の金融商品価格を計算するように構成され、上方の倍数因子および下方の倍数因子が、受け取られたボラティリティ値の関数である、請求項４に記載のデバイス。
【請求項７】
少なくとも１つの並列計算ユニットがさらに、第２のセットのパイプラインステージを含み、第２のセットのパイプラインステージが、理論上の適正市場価格の計算で使用されるオプション価格付けモデルの複数の確率項を計算するように構成された、請求項６に記載のデバイス。
【請求項８】
パイプラインステージの２つのセットが、互いと並行に配置され、デバイスがさらに、２つのセットのパイプラインステージから下流の組合せ論理ステージを含み、組合せ論理ステージが、第１のセットのパイプラインステージによって生成された複数の最終的な金融商品の価格および第２のセットのパイプラインステージからの計算された確率項に基づいて、オプションの理論上の適正市場価格を計算するように構成された、請求項７に記載のデバイス。
【請求項９】
オプションについて記述するデータが、対象のオプションがコールオプションまたはプットオプションのどちらであるのかを特定するフラッグを含み、並列計算ユニットのうちの少なくとも１つが、コールオプションの理論上の適正市場価格を計算するように構成された第１計算パスおよびプットオプションの理論上の適正市場価格を計算するように構成された第２計算パスを含み、少なくとも１つの並列計算ユニットがさらに、対象のオプションのフラッグに基づいて、オプションについて記述するデータを第１計算パスまたは第２計算パスに選択的に経路設定するように構成された、請求項４に記載のデバイス。
【請求項１０】
再構成可能な論理素子がさらに、インプライドボラティリティを計算するために同時オプション価格付け演算を反復的に行うように構成される、請求項２に記載のデバイス。
【請求項１１】
再構成可能な論理素子が、オプションのボラティリティで索引付けされたルックアップテーブルを使用して理論上の適正市場価格の計算を行うように構成され、ルックアップテーブルが複数の異なるボラティリティ値について複数の予め計算されたパラメータを格納するように構成され、再構成可能な論理素子は予め計算されたパラメータを使用して理論上の適正市場価格を計算するようにさらに構成される、請求項３に記載のデバイス。
【請求項１２】
各並列計算ユニットが、ルックアップテーブル、ルックアップユニットおよび組合せ論理ステージを含み、
各並列計算ユニットのルックアップテーブルが、ボラティリティ値とオプションの残存期間で索引付けされ、複数の予め計算された項を格納し、
各並列計算ユニットのルックアップユニットが、与えられたボラティリティ値およびオプションについて記述するデータが示すオプションの残存期間に基づいてルックアップテーブルにアクセスして、それによってそのオプションに適用できる複数の予め計算された項を取り出すように構成され、
各並列計算ユニットの組合せ論理ステージが、オプションについて記述するデータおよび取り出された予め計算された項に少なくとも部分的に基づいてオプション価格付けモデルにより理論上の適正市場価格を計算するように構成された、請求項４に記載のデバイス。
【請求項１３】
組合せ論理ステージが、複数の並列計算パイプラインおよび並列計算パイプラインの下流の加算器を含み、各計算パイプラインが、オプションについて記述するデータおよび取り出された予め計算された項に少なくとも部分的に基づいて理論上の適正市場価格の副構成要素を他の並列計算パイプラインと並列に計算するように構成され、加算器が、並列計算パイプラインによって作られた計算された副構成要素を合計することによってオプションの理論上の適正市場価格を計算するように構成された、請求項１２に記載のデバイス。
【請求項１４】
再構成可能な論理素子がさらに、複数のパイプラインステージによって理論上の適正市場価格の計算において使用される複数の構成要素の項を直接計算するように構成され、複数のパイプラインステージが複数の並列計算ユニットを含む、請求項３に記載のデバイス。
【請求項１５】
原金融商品のボラティリティ値の複数の帯域のそれぞれについて、各帯域の２つの境界のボラティリティ値に対応するオプションの理論上の適正市場価格を並列に計算することによって複数のオプション価格付け演算を同時に実行することと、
計算された複数の理論上の適正市場価格のうち、オプションの実際の購入価格との差が所定のしきい値未満である適正市場価格が存在する場合、所定のしきい値未満である差を有する適正市場価格に対応するボラティリティ値をオプションのインプライドボラティリティとして定義することと、
計算された複数の理論上の適正市場価格のうち、オプションの実際の購入価格との差が所定のしきい値未満である適正市場価格が存在しない場合、（ｉ）インプライドボラティリティが複数の帯域のうちの１つの帯域の２つの境界のボラティリティ値の間に入る帯域を特定することと、（ｉｉ）特定された帯域を分割することと、（ｉｉｉ）分割された帯域を新たな複数の帯域として定義することと
を含むボラティリティ処理を、オプションのインプライドボラティリティが定義されるまで、反復的に実行するように構成された、請求項１に記載のデバイス。
【請求項１６】
再構成可能な論理素子が、
第１の反復について、原金融商品のボラティリティ値の範囲が複数ｍの帯域に細分されるように複数のボラティリティ値を定義し、
定義されたボラティリティ値のそれぞれについて理論上の適正市場価格を計算することによって、第１の反復について理論上の適正市場価格計算を実行する
ようにさらに構成された、請求項１５に記載のデバイス。
【請求項１７】
再構成可能な論理素子が、（ｉ）ｍ個の帯域のうちのどの帯域が、実際の購入価格が第１の境界における計算された理論上の適正市場価格と第２の境界における計算された理論上の適正市場価格との間に入るような第１の境界における計算された理論上の適正市場価格および第２の境界における計算された理論上の適正市場価格を有するかを求めること、および（ｉｉ）求められた帯域を特定された帯域として選択することによって帯域特定動作を実行するようにさらに構成された、請求項１６に記載のデバイス。
【請求項１８】
再構成可能な論理素子が、各反復について、（ｉ）選択された帯域が複数ｍの帯域に細分されるように選択された帯域内の複数のボラティリティ値を定めること、（ｉｉ）選択された帯域内の定められたボラティリティ値について複数の理論上の適正市場価格を計算すること、および（ｉｉｉ）選択された帯域のｍ個の帯域について帯域特定ステップを実行することによって反復して狭め、繰り返す動作を実行するようにさらに構成された、請求項１７に記載のデバイス。
【請求項１９】
再構成可能な論理素子を介して金融市場のデータを流すこと、および
金融市場のデータが通って流れるとき金融市場のデータの少なくとも一部について再構成可能な論理素子を用いて複数のオプション価格付け演算を同時に実行すること
を含む、金融市場のデータを処理する方法。
【請求項２０】
オプション価格付け演算に基づいて、原金融商品に関するオプションのインプライドボラティリティを計算することをさらに含む、請求項１９に記載の方法。
【請求項２１】
同時に実行することが、オプションの複数の理論上の適正市場価格を同時に計算することを含む、請求項１９から２０のいずれか一項に記載の方法。
【請求項２２】
同時に実行することおよび計算することが、ファームウェアアプリケーションモジュールのパイプラインを用いて実行される、請求項２０に記載の方法。
【請求項２３】
計算されたインプライドボラティリティをブラックボックス取引アルゴリズムに送ること、および
計算されたインプライドボラティリティに少なくとも部分的に基づいてブラックボックス取引アルゴリズムによってオプションに関する取引を自動的に行うこと
をさらに含む、請求項２０または２２のいずれか一項に記載の方法。
【請求項２４】
計算されたインプライドボラティリティに少なくとも部分的に基づいて自動気配値サーバを用いてオプションの気配値を自動的に生成すること
をさらに含む、請求項２０または２２から２３のいずれか一項に記載の方法。
【請求項２５】
ボラティリティ値で索引付けされたルックアップテーブルに複数の異なるボラティリティ値について複数の予め計算されたパラメータを格納すること、および
ルックアップテーブルへのボラティリティ値としてオプションのボラティリティ値を使用して、ルックアップテーブルから同時に実行することで使用するための予め計算されたパラメータを取り出すことをさらに含み、
理論上の適正市場価格を計算することが、取り出された予め計算されたパラメータに少なくとも部分的に基づいて理論上の適正市場価格を並列に計算することを含む、
請求項２１に記載の方法。
【請求項２６】
計算された理論上の適正市場価格をブラックボックス取引アルゴリズムに送ること、および
送られた理論上の適正市場価格に少なくとも部分的に基づいてブラックボックス取引アルゴリズムによってオプションに関する取引を自動的に行うこと
をさらに含む、請求項２１または２５に記載の方法。
【請求項２７】
計算された理論上の適正市場価格に少なくとも部分的に基づいて自動気配値サーバを用いてオプションの気配値を自動的に生成すること
をさらに含む、請求項２１または２５から２６のいずれか一項に記載の方法。
【請求項２８】
理論上の適正市場価格を計算することが、複数の並列計算ユニットを含む複数のパイプラインステージによって、理論上の適正市場価格の計算において使用される複数の構成要素の項を直接計算することを含む、請求項２１に記載の方法。
【請求項２９】
実行することが、オプションのインプライドボラティリティが定義されるまで、ボラティリティ処理を反復的に実行することを含み、ボラティリティ処理が、
原金融商品のボラティリティ値の複数の帯域のそれぞれについて、各帯域の２つの境界のボラティリティ値に対応するオプションの複数の理論上の適正市場価格を並列に計算することによって複数のオプション価格付け演算を同時に実行すること、
計算された複数の理論上の適正市場価格のうち、オプションの実際の購入価格との差が所定のしきい値未満である適正市場価格が存在する場合、所定のしきい値未満である差を有する適正市場価格に対応するボラティリティ値をオプションのインプライドボラティリティとして定義すること、および
計算された複数の理論上の適正市場価格のうち、オプションの実際の購入価格との差が所定のしきい値未満である適正市場価格が存在しない場合、（ｉ）インプライドボラティリティが複数の帯域のうちの１つの帯域の２つの境界のボラティリティ値の間に入る帯域を特定すること、（ｉｉ）特定された帯域を分割すること、および（ｉｉｉ）分割された帯域を新たな複数の帯域として定義すること
を含む、請求項１９に記載の方法。
【請求項３０】
第１の反復について、原金融商品のボラティリティ値の範囲が複数ｍの帯域に細分されるように、複数のボラティリティ値を定めることをさらに含み、
第１の反復についての計算することが、定義されたボラティリティ値のそれぞれについて理論上の適正市場価格を計算することを含む、
請求項２９に記載の方法。
【請求項３１】
帯域を特定することが、
ｍ個の帯域のうちのどの帯域が、実際の購入価格が第１の境界の計算された理論上の適正市場価格と第２の境界の計算された理論上の適正市場価格の間に入るような第１の境界の計算された理論上の適正市場価格および第２の境界の計算された理論上の適正市場価格を有するかを求めること、および
求められた帯域を特定された帯域として選択すること
を含む、請求項３０に記載の方法。
【請求項３２】
ボラティリティ処理を実行することが、
各反復について、（１）選択された帯域が複数ｍの帯域に細分されるように選択された帯域内の複数のボラティリティ値を定めること、（２）選択された帯域内の定められたボラティリティ値について複数の理論上の適正市場価格を計算すること、および（３）選択された帯域のｍ個の帯域について帯域を特定することを実行すること
をさらに含む、請求項３１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許出願は、２００６年６月１９日に出願された「Ｈｉｇｈ  Ｓｐｅｅｄ  Ｐｒｏｃｅｓｓｉｎｇ  ｏｆ  Ｆｉｎａｎｃｉａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｕｓｉｎｇ  ＦＰＧＡ  Ｄｅｖｉｃｅｓ」という名称の米国仮特許出願第６０／８１４，７９６号に基づく優先権を主張し、その開示全体を参照により本明細書に組み込む。
【０００２】
本特許出願は、次の特許出願と関連しており、下記の特許出願のそれぞれの開示全体を参照により本明細書に組み込む：米国特許出願０９／５４５，４７２号（２０００年４月７日に「Ａｓｓｏｃｉａｔｉｖｅ  Ｄａｔａｂａｓｅ  Ｓｃａｎｎｉｎｇ  ａｎｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｒｅｔｒｉｅｖａｌ」という名称で出願、現在の米国特許第６，７１１，５５８号明細書）、米国特許出願第１０／１５３，１５１号（２００２年５月２１日に「Ａｓｓｏｃｉａｔｉｖｅ  Ｄａｔａｂａｓｅ  Ｓｃａｎｎｉｎｇ  ａｎｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｒｅｔｒｉｅｖａｌ  ｕｓｉｎｇ  ＦＰＧＡ  Ｄｅｖｉｃｅｓ」という名称で出願、現在の米国特許第７，１３９，７４３号明細書）、米国特許出願第１１／５６１，６１５号（２００６年１１月２０日に「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｐｒｏｃｅｓｓｉｎｇ  Ｆｉｎａｎｃｉａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  ａｔ  Ｈａｒｄｗａｒｅ  Ｓｐｅｅｄｓ  Ｕｓｉｎｇ  ＦＰＧＡ  Ｄｅｖｉｃｅｓ」という名称で出願、米国特許出願公開第２００７／００７８８３７号明細書として公開）、公開されたＰＣＴ出願の国際公開第０５／０４８１３４号パンフレットおよび国際公開第０５／０２６９２５号パンフレット（ともに２００４年５月２１日に「Ｉｎｔｅｌｌｉｇｅｎｔ  Ｄａｔａ  Ｓｔｏｒａｇｅ  ａｎｄ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｓｉｎｇ  ＦＰＧＡ  Ｄｅｖｉｃｅｓ」という名称で出願）、米国仮特許出願第６０／６５８，４１８号（２００５年３月３日に「Ｂｉｏｓｅｑｕｅｎｃｅ  Ｓｉｍｉｌａｒｉｔｙ  Ｓｅａｒｃｈｉｎｇ  Ｕｓｉｎｇ  ＦＰＧＡ  Ｄｅｖｉｃｅｓ」という名称で出願された）、米国仮特許出願第６０／７３６，０８１号（２００５年１１月１１日に「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｐｅｒｆｏｒｍｉｎｇ  Ｂｉｏｓｅｑｕｅｎｃｅ  Ｓｉｍｉｌａｒｉｔｙ  Ｓｅａｒｃｈｉｎｇ」という名称で出願）、ＰＣＴ特許出願ＰＣＴ／ＵＳ２００６／００６１０５（２００６年２月２２日に「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｐｅｒｆｏｒｍｉｎｇ  Ｂｉｏｓｅｑｕｅｎｃｅ  Ｓｉｍｉｌａｒｉｔｙ  Ｓｅａｒｃｈｉｎｇ」という名称で出願）、米国特許出願第１１／２９３，６１９号（２００５年１２月２日に「Ｍｅｔｈｏｄ  ａｎｄ  Ｄｅｖｉｃｅ  ｆｏｒ  Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｒｅｇｕｌａｒ  Ｅｘｐｒｅｓｓｉｏｎ  Ｐａｔｔｅｒｎ  Ｍａｔｃｈｉｎｇ」という名称で出願）、米国特許出願第１１／３３９，８９２号（２００６年１月２６日に「Ｆｉｒｍｗａｒｅ  Ｓｏｃｋｅｔ  Ｍｏｄｕｌｅ  ｆｏｒ  ＦＰＧＡ  Ｂａｓｅｄ  Ｐｉｐｅｌｉｎｅ  Ｐｒｏｃｅｓｓｉｎｇ」という名称で出願）、米国特許出願第１１／３８１，２１４号（２００６年５月２日に「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ａｐｐｒｏｘｉｍａｔｅ  Ｐａｔｔｅｒｎ  Ｍａｔｃｈｉｎｇ」という名称で出願）。
【０００３】
本発明は、金融市場のデータを処理する分野に関し、詳細には金融市場のデータについてオプション価格付け演算を行う分野に関する。
【背景技術】
【０００４】
情報配信の速さは、金融商品取引（ｆｉｎａｎｃｉａｌ  ｉｎｓｔｒｕｍｅｎｔｓ）および証券業界にとって重要な要素である。株、債券および特にオプションなどの金融商品に関する分析情報（例えば価格付け、取引量、動向など）をできるだけ早く取得するトレーダの能力はこの上なく重要であり、情報配信の遅延を一秒の何分の一か削減することによって、トレーダに重大な価値をもたらすことができる。しかし、汎用プロセッサ（ＧＰＰ）で実行されるソフトウェアに依存して金融商品に関する分析情報を計算する当分野の従来の技術は、一般に、多くの金融商品分析モデルの大規模な計算の性質により待ち時間の問題が発生する。
【０００５】
オプション価格付けは、従来のＧＰＰベースのプラットフォームでは計算待ち時間に特に悩まされる機能である。「オプション」とは、原金融商品と関連するデリバティブ金融商品である。オプションは、オプション保有者が将来のある時期に特定の価格で原金融商品の株の取引を行うことを許可する契約である。この将来の時期は、オプションの行使期間（オプションの「残存期間（ｔｉｍｅ  ｔｏ  ｍａｔｕｒｉｔｙ）」とも呼ばれる）と関連しており、行使期間とは、この期間を過ぎると売る／買うオプションを実行することができないというものである。オプション所有者が自身の選択を行使することができる将来の特定の時期は、オプションのタイプによって決まり、例えばアメリカンオプションは、オプション行使期間中のいつでも行使されることが可能であるが、ヨーロピアンオプションは、オプション行使期間の終わりにのみ行使されることが可能であり、さらに他のクラスのオプションは、行使期間中のある所定の時期にのみ行使されることが可能である。
【０００６】
金融市場の専門用語では、株を買うためのオプションは「コールオプション」（または略して「コール」）と呼ばれ、株を売るためのオプションは「プットオプション」（または略して「プット」）と呼ばれる。本発明の教示は、コールオプションにもプットオプションにも等しく適用可能であることをここに記す。
【０００７】
金融市場のデータストリームの中では、オプションを買うまたは売るオファーは、次の特性によって定義される：オプションの原金融商品の識別情報（例えばＩＢＭ株）、オプションの適用を受ける原金融商品の持ち株数、オプションの購入価格（Ｐ）、オプションの行使期間（Ｔ）、原金融商品の現在の価格（Ｓ）およびオプション所有者がその価格で将来に原金融商品の株を買うまたは売る選択を有する固定価格（Ｋ）（別名「行使価格」）。さらにオプションは、配当率（δ）を含むことができる。オプションに直接関連しないが、市場に関連した、オプションの取引に含まれるべき別のパラメータは、潜在オプション所有者が金を借りるまたは貸すことができる無リスク金利（ｒ）である。修飾語の無リスクは、これがゼロリスクを含んだ投資に期待することができる収益率であることを示すために使用される。さらにオプション価格付けに影響を及ぼすオプションの特性は、上記で説明したように、オプションがコールであるかプットであるか、またオプションがアメリカンオプションであるかヨーロピアンオプションであるかを含む。
【０００８】
これらのオプションの特性および無リスク金利の値を知ることに基づいて、トレーダは次に、オプションの購入価格Ｐがトレーダにとって優良な取引であるかどうかを評価することができる。「優良な取引」となるものは、ほぼ確実にトレーダによって異なるであろうが、大多数のトレーダは、オプションの価格Ｐが他のオプションの特性を考慮して好ましいと思われる場合にこのオプションを買うことまたは売ることに興味を有すると予想される。オプションの望ましさに関してこうした評価を行う際の問題には、オプションの価格およびオプションの望ましさに影響を及ぼす要因が複雑であることがある。
【０００９】
オプションのこのような評価を行う際に重要な１つの注意すべきことは、原金融商品の価格が将来どのくらい変動するかを推定することである。原金融商品の価格におけるこのような変動は、一般に金融商品の「ボラティリティ（変動率）」と呼ばれる。このボラティリティの１つの測定法は、金融商品の価格の過去の動向を観察して、過去の動向からボラティリティを推定することである。ボラティリティの別の測定は、ボラティリティによって決まる理論上の適正市場オプション価格（Ｐｔｈ）を用いて、オプションの購入価格（Ｐ）を（ある程度の許容範囲内で）見積もることによって求められることが可能である。このように求められるボラティリティは、オプションによって暗示される（ｉｍｐｌｉｅｄ）原金融商品のボラティリティを表しているため、「インプライドボラティリティ」と呼ばれる。このような理論上の適正市場オプション価格（Ｐｔｈ）は、オプション価格付けモデルを使用して計算されることが可能である。様々なオプション価格付けモデルが当技術分野で知られている、または理論上のオプション価格を計算するために独自の方法で使用されている。これらのモデルのうち、ブラック−ショールズ（Ｂｌａｃｋ−Ｓｃｈｏｌｅｓ）のオプション価格付けモデルならびにＣｏｘ、ＲｏｓｓおよびＲｕｂｉｎｓｔｅｉｎ（ＣＲＲ）のオプション価格付けモデルが有名であり、これらの両方とも当技術分野でよく知られている。
【００１０】
上記に示すように、オプションを買う／売るオファーが望ましい取引に相当するかどうかを評価するためにこれらのオプション価格付けモデルのいくつかを使用することの不都合な点は、これらのオプション価格付けモデルが非常に大規模な計算であることである。これらの大規模な計算の性質上、オプションに関するデータがトレーダに届く時間とトレーダがオプションのデータ（例えばオプションのインプライドボラティリティおよび／またはオプションの理論上の適正市場価格）から計算された価格付け情報にアクセスする時間との間に遅延が発生する。この遅延は、トレーダがオプション価格付けモデルの結果を待っている間に別の当事者が提供されたオプションをすでに買ってしまう可能性があるので、トレーダにとって損害の大きいものとなりうる。例えば、次のような例示的なシナリオを考える。一株当たり１０ドルのオプション価格（Ｐ）で株Ｘを１００株買うためのオプションを売る確約価格である株Ｘのオプションに対する売りに出された「ビッド（買い手）」があり、株Ｘの現在の市場価格（Ｓ）が一株当たり２５ドルであり、さらにこのオプションはＫ、Ｔ、δに規定の値を有し、ｒがわかっていると仮定する。また２人のトレーダ、ＡおよびＢがいると仮定し、それぞれ株Ｘの１００株についてコールオプションを買うことを希望しているが、そうする前に一株当たり１０ドルというこのオプション価格Ｐが、他のオプション特性（Ｓ、Ｋ、Ｔおよびδ）および無リスク金利（ｒ）を考えて、優良な取引であるかどうかを知りたいと思っているとする。この評価プロセスを支援するために、トレーダＡおよびトレーダＢはともにオプション価格付けモデルの独自の実行を有し、通常それぞれがこれらのオプション特性の値をそれぞれ自身のオプション価格付けモデルの実行に適用して、コールオプションのオファーが望ましい取引であるかどうかを示す情報を取得する。この例の目的のために、コールオプションを売るこのオファーは、実際に両方のトレーダにとって優良な取引であると仮定する。自身のオプション価格付けモデルの実行が最も速く動作するトレーダは、もう一方のトレーダより前に情報を得てコールオプションを購入する投資決断をすることができるので、決定される市場および投資の利益を有することになる。というのは「成功する」トレーダがオプションの望ましさを知らされるときに、「失敗する」トレーダはまだ自身のオプション価格付けモデルのそれぞれの実行の出力を待っているからである。したがって、「失敗する」トレーダがそれを買いたいと悟る前に「成功する」トレーダがそのオプションのオファーを市場から取り上げてしまうので、「失敗する」トレーダは、望ましいオプションを見逃がすことになる。このように、トレーダのオプション価格付けエンジンの速度が、必然的に取引の利点になることがわかり、ただ１度の大規模な機会でさえかなりの金額になる可能性がある。時間と共にこの市場の利点は、トレーダが顧客を惹きつけて維持し、事業を継続することに成功するか失敗するかにつながる可能性さえある。
【００１１】
オプション価格付けモデルを実装する計算エンジンがその出力を速く生成する能力は、「ブラックボックス」取引が考慮に入れられるとき、さらに重要である。このようなブラックボックス取引では、トレーダは、金融商品を買う／売るかどうかを決定するために、取引画面上を動く金融商品を買う／売るオファーを見つめることはない。代わりにトレーダは、コンピュータが実行するアルゴリズムによって、トレーダが様々な金融商品を買う／売る条件を定める。このアルゴリズムは、次に市場データフィード内で様々な金融商品を買う／売るオファーを詳しく検討し、どのオファーが指定された条件を満たすかを確認する。フィード内のオファーに「ヒット」を見つけると、アルゴリズムが作動して（さらにトレーダが介入することなく）このオファーに対して指定された取引を自動的に実行する。したがって、上記の例に戻ると、このようなアルゴリズムは、「コールオプションのインプライドボラティリティがＺ以下である場合にＡＢＣ株のＸ株についてコールオプションを買う」という実施に指定された条件を有することができる。別の例示的アルゴリズムの条件は、「そのオプションの計算された理論上の適正市場価格がオプションの実際価格を少なくともＺセント上回っている場合にＡＢＣ株のＹ株についてコールオプションを買う」というものである可能性がある。したがって、アルゴリズムが所与のコールオプションのオファーを購入するかどうかに関する決定を行うことができるようになるには、その前に、このオプションのオファーについてのインプライドボラティリティおよび／または理論上の適正市場価格が、何らかの形式のオプション価格付けモデルによって計算される必要がある。上記の説明のように、このようなブラックボックス取引を用いると、どのトレーダが望ましい価格でオプションを最初に買うまたは売ることを確定できるかを決める際に、一秒の何分の一かの遅れが重大であるので、インプライドボラティリティおよび／または理論上の適正市場価格を計算するための計算の待ち時間が非常に重要である。ブラックボックス取引が将来顕著に成長し続ける（例えば、現在５０％を超える取引がコンピュータにより生成される「ブラックボックス」トランザクションによって自動的に行われていると推定される）ことを想像すると、オプション価格付けの計算エンジンの性能を向上させることが、金融商品の取引業界にとってさらに重要になるであろうと考えられる。
【００１２】
上記の解析にＣＲＲオプション価格付けモデルを使用することは、これが反復モデルであり、二項モデルでもあることから、特に大規模な計算である。ＣＲＲオプション価格付けモデルを使用すると、オプションの理論上の適正市場価格（Ｐｔｈ）は、次の入力の関数として計算されることが可能である：Ｐ、Ｓ、Ｋ、Ｔ、δ、ｒ、ボラティリティ値σおよびｎ。ただしｎは原金融商品の価格が変動する可能性があるオプションの行使期間内の個別時間ステップの数を表す。パラメータｎは、ＣＲＲオプション価格付けアルゴリズムのユーザによって指定される。そのオプションの理論上の適正市場価格Ｐｔｈがオプションの実際の市場価格（Ｐ）に近づくまでボラティリティ値σを反復して更新することによって、オプションの「インプライドボラティリティ」（σ’）を計算することができる。「インプライドボラティリティ」は、オプションの理論上の適正市場価格（Ｐｔｈ）がオプションの実際の購入価格（Ｐ）のある指定された許容範囲内となる、原金融商品の変動率を表すが、このインプライドボラティリティは、所定のオプションを買うべきかどうかを決定するためにトレーダが使用するオプションの重要な特性である。しかしながら、インプライドボラティリティの計算の反復性および理論上の適正市場価格の計算の二項性のため、ＣＲＲオプション価格付けモデルを使用するインプライドボラティリティの計算は、上記のように非常に大規模な計算である。ＧＰＰ上のソフトウェアにおいてインプライドボラティリティを計算するためにＣＲＲオプション価格付けモデルを従来のように実行することは、インプライドボラティリティを計算する間に発生する処理の遅延のために満足できるものではないと考えられる。
【００１３】
上記に基づき、オプション価格を評価するためにオプション価格付けモデルが使用されることが可能である速度をいかにして上げることができるかに関して、当分野には技術的な問題があると考えられる。
【００１４】
さらなる背景として、トレーダなどの当事者に金融情報を迅速に配信しようとする試みにおいて、様々な市場データプラットフォームが、流れているビッド、オファー、および金融商品に関する取引情報をトレーダに表向きの「リアルタイム」で配信するために開発されたことに注目する。図１２は、現在当技術分野で知られており、オプション取引をなどの取引活動を支援するためにトレーダによって使用されている例示的プラットフォームを示している。図１２に示すように、市場データプラットフォーム１２００は、ユニット１２０２に示すデータ処理動作（オプション価格付けを含む）などのデータ処理動作を実行するように構成された複数の機能ユニット１２０２を備え、それによってワークステーション１２０４におけるトレーダは、対象の金融データにアクセスし、それによって取引情報は、出力パス１２１２を介して様々な取引所または他の外部システムに送信されることが可能である。機能ユニット１２０２によって行われる機能の目的および詳細は、当技術分野でよく知られている。金融データのストリーム１２０６は、プライベートデータ通信回線を通じて取引所自体（例えばＮＹＳＥ、ＮＡＳＤＡＱ、その他）などの外部ソースから、またはＳａｖｖｉｓもしくはＢＴ  Ｒａｄｉａｎｓなどのエクストラネットプロバイダからシステム１２００に届く。金融データソースのストリーム１２０６は、金融商品を買うまたは売る新しいオファーを個々に表す一連のメッセージ、金融商品の完了した販売の表示、金融商品の以前に報告された販売への訂正通知、このような取引に関連する管理上のメッセージなどを含む。本明細書で使用する「金融商品」は、一般に契約が受け入れられる政府機関の企業に関連して、エクィティ所有権、借り、または貸しを表す契約のことを指す。「金融商品」の例には、株、債券、オプション、商品、通貨市場で取引される通貨などが含まれるが、現金または小切手はこれらの品目が金融取引市場の外で如何に使用されるかという意味では含まれない（すなわち現金または小切手を使用して食料品店で食料品を購入することは、本明細書で使用する「金融商品」という用語には含まれず、同様にデビットカードを使用して現金自動預払機から現金で１００ドルを引き出すことは、本明細書で使用する「金融商品」という用語には含まれない）。
【００１５】
次にシステムの機能ユニット１２０２が、ストリーム１２０６またはそこから送られるデータに作用して様々な金融処理タスクを実行する。本明細書で使用する「金融市場のデータ」という用語は、金融商品を買うまたは売る新しいオファーを個々に表す一連のメッセージ、金融商品の完了した販売の表示、金融商品の以前に報告された販売への訂正通知、このような取引に関連する管理上のメッセージなどに含まれるまたはそこから送られるデータを指す。「金融市場ソースデータ」という用語は、取引所自体または第三者のプロバイダ（例えばＳａｖｖｉｓまたはＢＴ  Ｒａｄｉａｎｓプロバイダ）などのデータソースから直接受け取られる金融市場のデータフィードを指す。「金融市場の二次データ」という用語は、フィード圧縮動作、フィード処理動作、オプション価格付け演算などによって生成されるデータなど、金融市場のソースデータから導き出された金融市場のデータを指す。
【００１６】
このようなプラットフォームに対応するには大規模な計算が要求されるため、現在知られている実行は、一般にこれらの機能をネットワークでつながれたいくつかの個々のコンピュータシステムにわたって展開し、それによって許容できる程度の待ち時間で情報をトレーダに配信するための適切な処理規模を達成する。この分散処理は、所与の機能を複数の論理ユニットに分割すること、および各論理ユニットを独自のコンピュータシステム／サーバ上のソフトウェアで実行することを含む。使用される特定の分割方法は、特定の機能およびその機能が連動するデータの性質によって決まる。市場データプラットフォームに対する様々な分割方法が、長年にわたって開発されてきたと考えられる。巨大な市場データプラットフォームについては、複数のコンピュータシステムおよびサーバにわたる展開の規模は、物理的に巨大になり、部屋全体がコンピュータシステムおよびサーバで埋め尽くされることも多く、したがって費用がかかる上に複雑な購入、保守管理、およびサービスの問題の一因となる可能性がある。
【００１７】
この分割手法は図１２に示されており、この中で各機能ユニット１２０２は独自のコンピュータシステムまたはサーバと考えられることが可能である。バス１２０８および１２１０は、様々な機能ユニット１２０２をネットワークでつなげるために使用されることが可能である。多くの機能については、オプション価格付けおよびその他に関連して示した並列コンピュータシステム／サーバなどの並列コンピュータシステム／サーバによって、冗長性および規模が、もたらされることが可能である。知るところによると、これらの機能は、コンピュータシステム／サーバ１２０２上にある従来のＧＰＰによって実行されるソフトウェアで展開される。当技術分野の現在の状態におけるＧＰＰおよびソフトウェアシステムの性質により、これらの機能のパフォーマンスを制限する制約が加えられる。一般にパフォーマンスは、システムで単位時間当たりに実行される計算作業のユニットの数（一般に「スループット」と呼ばれる）、および計算作業のそれぞれ個々のユニットを開始から終了まで実行するのに必要な時間（一般に「待ち時間」または遅延と呼ばれる）として測定される。また、システム１２００によって多くの物理的マシンが必要とされるため、様々なマシンへおよび様々なマシンからメッセージを送信する際に含まれる処理オーバーヘッドにより、データ処理動作に通信待ち時間が加えられる。
【００１８】
これらのシステムは業界に改善をもたらしたが、さらなる大幅な改善を行うことができると考えられる。その際に、上記で確認した関連して組み込む特許および特許出願に開示された基礎となる技術は、市場データプラットフォームが展開されるシステムアーキテクチャを根本的に変更する新規で非自明の方法で利用されることが可能である。
【００１９】
上記の関連する米国特許第７，１３９，７４３号では、まずフィールドプログラマブルゲートアレイ（ＦＰＧＡ）などの再構成可能論理が、ハードウェアの速度で流れている金融情報を処理するために導入されることが可能であると初めて開示された。例としては、この’７４３特許は、流れている金融情報に対してデータ削減動作を行うためにＦＰＧＡを使用することを開示し、このようなデータ削減動作の特定の例は最低価格関数、最高価格関数、および最新価格関数であるとした。
【００２０】
この時以来、金融情報のストリームを処理するための機能の範囲は、再構成可能論理を用いて大幅に拡大された。
【発明の概要】
【課題を解決するための手段】
【００２１】
本明細書に記載する発明の一実施形態によれば、オプション価格付けは、ハードウェア機器に導入された再構成可能論理によってハードウェアの速度で実行されることが可能であり、オプション価格付け演算を行うことができる速度を大幅に速めて、トレーダに重要な競争上の優位性を与えることができる。このように本発明のこの実施形態によれば、従来のプラットフォーム上のソフトウェアで行われるオプション価格付け機能１２０２は、オプション価格付けエンジンとして構成される再構成可能論理に置き換え可能であることが開示される。このようなオプション価格付けエンジンは、所与のオプションが望ましい取引となるかどうかの評価の助けとなるように、オプションと関連するいくつかの計算を行うことができる。例えばこのようなオプション価格付けエンジンは、オプションのインプライドボラティリティまたはオプションの理論上の適正市場価格を計算するように構成されることが可能である。さらに、オプション価格付けに加えて、従来の市場データプラットフォームのその他の機能が、再構成可能論理に導入されることが可能であり、それによって従来の市場データプラットフォームの分散された性質をより少数のはるかに小さい機器に大幅に統合しながらも、待ち時間およびスループットに関して促進することを開示する。
【００２２】
本明細書で使用する「汎用プロセッサ」（またはＧＰＰ）という用語は、命令を取り出してこれらの命令を実行するハードウェア装置（例えばＩｎｔｅｌ  ＸｅｏｎプロセッサまたはＡＭＤ  Ｏｐｔｅｒｏｎプロセッサ）を指す。「再構成可能論理」という用語は、その形状および機能を製造後に現場で大幅に変更する（すなわち再構成する）ことができる論理技術を指す。これは、ＧＰＰと対照をなすことになり、ＧＰＰの機能は製造後に変更されることが可能であるが、その形状は製造時に固定される。「ソフトウェア」という用語は、ＧＰＰ上に導入されるデータ処理機能を指す。「ファームウェア」という用語は、再構成可能論理上に導入されるデータ処理機能を指す。
【００２３】
本発明の別の実施形態により、オプションのインプライドボラティリティおよび適正市場価格を計算することができる方法を合理化し、それによってこのような機能がハードウェアに導入されるかソフトウェアに導入されるかに関係なく、加速を行う。本明細書に開示するインプライドボラティリティおよび適正市場価格の計算は再構成可能論理に導入されたファームウェアのパイプラインによって行われることが好ましいが、特別仕様の特定用途向け集積回路（ＡＳＩＣ）上のハードウェアで、スーパースカラプロセッサ、マルチコアプロセッサ、グラフィックスプロセッサユニット（ＧＰＵ）、物理プロセッサユニット（ＰＰＵ）、チップマルチプロセッサ、およびＧＰＰなどの他のプラットフォーム上のソフトウェアで、または再構成可能ハードウェアおよび様々なプラットフォーム上で実行中のソフトウェア技術など、ハードウェアの活用を含む混成システムで行われるとき、インプライドボラティリティおよび適正市場価格がどのように計算されることが可能であるかに関する構造上および技術上の改善もまた、加速を行うことができることに注意する。
【００２４】
オプションのインプライドボラティリティの計算に関して、例示的な技術上の解決法を開示し、この解決法ではオプションのボラティリティ区域内の反復帯域型ｍ−ａｒｙ探索が実行されて、オプション価格付けモデルにより計算されるオプションの理論上の適正市場価格が、オプションの実際の購入価格に所定の許容範囲内で近づく場合のボラティリティ値を特定することが可能である。オプションの計算された理論上の適正市場価格がオプションの実際の購入価格に所定の許容範囲内で近づく場合の、この特定されたボラティリティ値は、次にオプションのインプライドボラティリティとして使用されることが可能である。
【００２５】
この反復帯域型ｍ−ａｒｙ手法を用いて、好ましくは複数のｍ＋１の理論上の適正市場価格が、所与の反復についてボラティリティ区域内の異なるボラティリティ値に対して並行して計算され、それによってインプライドボラティリティの計算に関する加速を行う。少なくとも１つの、好ましくは複数の条件がテストされて、インプライドボラティリティを見出すためにさらなる反復が必要であるかどうかを判断する。下記に説明するように、理論上の適正市場価格の収束特性（ε）が、これらの条件の１つとして使用されることが好ましい。また下記に説明するように、ボラティリティの収束特性（εσ）が、これらの条件のもう１つとして使用されることが好ましい。
【００２６】
好ましくは、オプションの理論上の適正市場価格を計算するために使用されるオプション価格付けモデルは、ＣＲＲオプション価格付けモデルである。ＣＲＲモデルによるオプションの理論上の適正市場価格の計算を加速するために、ＣＲＲ二項ツリー内の異なる時間ステップで中間価格の計算を並行処理およびパイプライン処理し、それによってＣＲＲオプション価格付けモデルによる理論上の適正市場価格の計算に関して加速を行うための例示的な技術上の解決法を本明細書に開示する。
【００２７】
本発明の別の実施形態に従って、ヨーロピアンオプションの理論上の適正市場価格の計算に使用される予め計算された項（ｔｅｒｍ）を取り出すためにルックアップテーブルを使用する別の技術上の解決法を開示する。場合によっては、理論上の適正市場オプション価格は次に、上述のようにインプライドボラティリティの計算を進めるために使用されることが可能である。ルックアップテーブルは、ヨーロピアンオプションのボラティリティおよび残存期間で指数化されることが好ましい。さらに、ルックアップテーブルがヨーロピアンオプションのインプライドボラティリティにではなく、その理論上の適正市場価格を計算するために使用される一実施形態では、金融商品で指数化されたボラティリティ値の追加のルックアップテーブルが、対象のヨーロピアンオプションの原金融商品に適用できるボラティリティ値を確認するために使用されることが好ましい。テーブルから取り出される、オプションのボラティリティおよび残存期間で指数付けされたルックアップテーブルの項は、オプションの理論上の適正市場価格を決定するための総和公式の構成要素の計算を並列処理にすることによって理論上の適正市場価格の計算を加速するように構成された組合せ論理ステージに送られることが可能である。
【００２８】
本発明のさらに別の実施形態に従って、オプションの理論上の適正市場価格の計算に使用される項を直接計算する別の技術上の解決法を開示する。好ましくはこの技術を用いて複数の並列計算モジュールが使用されて、各項を並行して計算し、それによってオプションの理論上の市場適正価格の全計算を加速する。
【００２９】
さらにまた、これらの計算モジュールを、利用できる処理モジュールによりよくマップするために、場合によっては分割方式を使用して項の計算の一部を様々な処理資源に分散することができる。
【００３０】
上記のように、オプションのインプライドボラティリティおよび／または理論上の適正市場価格を計算するためのこれらの並列／パイプラインアーキテクチャは、再構成可能論理に導入され、それによってハードウェアの速度でデータ処理を行うだけでなく、計算に使用されるパラメータおよびモデルに関して柔軟性を与えることが好ましい。好ましくは下記でより詳細に説明するように、ファームウェアパイプラインが再構成可能論理上に導入され、これらの並列／パイプラインアーキテクチャの少なくとも一部を加速する。しかしながら上記のように、本明細書に記載する合理化されたオプション価格付けアーキテクチャを実施するために、再構成可能論理以外の処理資源が使用されることが可能であることに注意されたい。
【００３１】
本発明のこれらの特徴および利点ならびに他の特徴および利点は、当業者には以下の説明および図を検討して理解されるであろう。
【図面の簡単な説明】
【００３２】
【図１ａ】ＣＲＲオプション価格付けモデルを使用して計算されたオプションの理論上の適正市場価格対オプションのボラティリティを示す例示的グラフである。
【図１ｂ】ＣＲＲオプション価格付けモデルを使用して計算されたオプションの理論上の適正市場価格対オプションのボラティリティを示す例示的グラフである。
【図１ｃ】図１ａおよび図１ｂのグラフについてオプションのインプライドボラティリティを計算する反復帯域型手法を示す図である。
【図１ｄ】図１ａおよび図１ｂのグラフについてオプションのインプライドボラティリティを計算する反復帯域型手法を示す図である。
【図１ｅ】図１ａおよび図１ｂのグラフについてオプションのインプライドボラティリティを計算する反復帯域型手法を示す図である。
【図２ａ】オプションのインプライドボラティリティを計算する反復帯域型手法を示す例示的流れ図である。
【図２ｂ】オプションのインプライドボラティリティを計算する計算パイプラインの例示的実施形態を示す図である。
【図２ｃ】本発明により処理されることが可能である例示的オプションメッセージを示す図である。
【図３】図２ｂのパイプラインの反復ステージについての計算パイプラインの例示的実施形態を示す図である。
【図４】ＣＲＲオプション価格付けモデルに基づいて理論上の適正市場オプション価格を計算するための深さｎの二項ツリーの例示的実施形態を示す図である。
【図５ａ】ＣＲＲオプション価格付けモデルに基づいて理論上の適正市場オプション価格を計算するための計算二項ツリーの例示的実施形態を示す図である。
【図５ｂ】ＣＲＲオプション価格付けモデルに基づいて理論上の適正市場オプション価格を計算するための組合せ論理ステージの例示的実施形態を示す図である。
【図５ｃ】ＣＲＲオプション価格付けモデルに基づいて理論上の適正市場オプション価格を計算するための組合せ論理ステージの例示的実施形態を示す図である。
【図５ｄ】ＣＲＲオプション価格付けモデルに基づいて理論上の適正市場オプション価格を計算するための組合せ論理ステージの例示的実施形態を示す図である。
【図６ａ】ルックアップテーブルを使用してヨーロピアンオプションの適正市場価格を計算するための例示的技術を示す図である。
【図６ｂ】ルックアップテーブルを使用してヨーロピアンオプションの適正市場価格を計算するための例示的技術を示す図である。
【図６ｃ】図６ａの組合せ論理ステージの例示的実施形態を示す図である。
【図７】オプションの適正市場価格を直接計算するための例示的実施形態を示す図である。
【図８ａ】ヨーロピアンオプションに適用されるＣＲＲオプション価格付けモデル用の二項ツリーであって、ツリーの深さｎが４であり、最終的なオプション価格を計算するために必要とされる演算の数が最小限に抑えられた二項ツリーの例示的実施形態を示す図である。
【図８ｂ】ヨーロピアンオプションに適用されるＣＲＲオプション価格付けモデル用の二項ツリーであって、ツリーの深さｎが４であり、最終的なオプション価格を計算するために必要とされる演算の数が最小限に抑えられた二項ツリーの例示的実施形態を示す図である。
【図８ｃ】ヨーロピアンオプションに適用されるＣＲＲオプション価格付けモデル用の二項ツリーであって、ツリーの深さｎが４であり、最終的なオプション価格を計算するために必要とされる演算の数が最小限に抑えられた二項ツリーの例示的実施形態を示す図である。
【図８ｄ】図８ｂの二項ツリーについてオプションの適正市場価格を計算するための計算パイプラインの例示的実施形態を示す図である。
【図８ｅ】図８ｃの二項ツリーについてオプションの適正市場価格を計算するための計算パイプラインの例示的実施形態を示す図である。
【図９ａ】分割が利用される二項ツリーの例示的実施形態を示す図である。
【図９ｂ】図９ａの二項ツリーについてオプションの適正市場価格の計算のために分割された計算パイプラインの例示的実施形態を示す図である。
【図９ｃ】図９ａの二項ツリーについてオプションの適正市場価格の計算のために分割された計算パイプラインの例示的実施形態を示す図である。
【図９ｄ】図９ａの二項ツリーについてオプションの適正市場価格の計算のために分割された計算パイプラインの例示的実施形態を示す図である。
【図１０ａ】二重分割が利用される二項ツリーの例示的実施形態を示す図である。
【図１０ｂ】図１０ａの二項ツリーについてオプションの適正市場価格の計算のために二重分割された計算パイプラインの例示的実施形態を示す図である。
【図１１】図７の計算モジュール７０２を実行するための計算パイプラインの例示的実施形態を示す図である。
【図１２】従来の市場データプラットフォーム用の例示的システム構築を示す図である。
【図１３】機能ユニットの少なくとも一部がハードウェアに配置された市場データプラットフォームの例示的アーキテクチャを示す図である。
【図１４】オプション価格付けエンジンが配置されることが可能である、本発明の一実施形態による例示的システム構築のブロック図である。
【図１５】本発明の一実施形態についてソフトウェアおよびファームウェアの配置の例示的構成を示す図である。
【図１６ａ】本発明の一実施形態に従ってデータ処理タスクを実行するために市場データプラットフォームに導入する好ましいプリント回路基板のブロック図である。
【図１６ｂ】本発明の一実施形態に従ってデータ処理タスクを実行するために市場データプラットフォームに導入する代替プリント回路基板のブロック図である。
【図１７】パイプラインのファームウェアアプリケーションモジュールが複数のＦＰＧＡにわたってどのように配置されることが可能であるかの一例を示す図である。
【図１８】オプション価格付けが行われることが可能であるメッセージ処理用の例示的ファームウェアアプリケーションモジュールのパイプラインを示す図である。
【図１９】オプション価格付けが行われることが可能であるメッセージ処理用の別の例示的ファームウェアアプリケーションモジュールのパイプラインを示す図である。
【図２０ａ】ルックアップテーブルを使用して図３のＯＰＭ計算ユニット３００を実行するための例示的実施形態を示す図である。
【図２０ｂ】ルックアップテーブルを使用して図３のＯＰＭ計算ユニット３００を実行するための例示的実施形態を示す図である。
【発明を実施するための形態】
【００３３】
本発明の一実施形態に従って、オプションのインプライドボラティリティσ＊を効率的に計算することが望ましい。図１ａは、ＣＲＲオプション価格付けモデルを使用して計算されたオプションの理論上の適正市場オプション価格が、ボラティリティに応じてどのように変化するかを示す例示的グラフ１００である。理論上の適正市場価格は、無リスク裁定機会を回避するようにオプションに割り当てられるべき価格を指し、すなわちオプションは、潜在オプション所有者がリスクなしにこれに利益を得ることができないように価格付けされるべきである。オプションの理論上の適正市場価格を決定するためには、いくつかのオプション価格付けモデルのうちのいずれかが使用されることが可能であり、ＣＲＲオプション価格付けモデル、ブラック−ショールズオプション価格付けモデル、ならびにその他のオプション価格付けモデル、一般によく知られているモデルとトレーダおよび証券会社が所有するモデルの両方が含まれるがこれらに限定されない。本発明のこの例示的実施形態では、ＣＲＲオプション価格付けモデルが使用されるが、本発明の実施者は、オプションのインプライドボラティリティを計算するときに他のオプション価格付けモデルを導入することを選択することができることに注意されたい。
【００３４】
また、この例では、オプションの原資産となる株の株価Ｓが１００、オプションの行使価格Ｋが１００、オプションの残存期間Ｔが１０カ月、オプションに適用でき金利ｒが年複利で１０％、オプションの配当率δが０、ＣＲＲオプション価格付けモデルの時間ステップｎの数が１００であると仮定する。このグラフに示す尺度および値は例示的なものにすぎず、他の値および尺度が容易に使用可能であることに留意されたい。例えば、ボラティリティは一般に、原金融商品の価格の平均値を中心とする原金融商品の価格の標準偏差を単位として表される。このような尺度を用いると、ボラティリティ値は定義により常に正である。大部分の金融商品のボラティリティ値の範囲が２標準偏差を超えないことを考えると、本明細書では説明のために０から２のボラティリティの範囲を示すことが有益である。しかしながら、金融商品のボラティリティ区域を表すのに他の範囲および尺度が使用可能であることに注意されたい。
【００３５】
グラフ１００は、オプション価格がボラティリティの単調増加関数であることを示している。本明細書で使用する単調増加とは、その一次導関数が常に正数である関数を指す。グラフ１００では、ボラティリティが増加するにつれて、曲線は株価の値Ｓ（この例では１００であると仮定した）に近づいている。
【００３６】
そこで対象の問題は、オプションの購入価格が与えられると、その購入価格におけるオプションのボラティリティ値を計算する必要があるということである。インプライドボラティリティσ＊は、オプションの理論上の適正市場価格がある許容範囲内までオプションの実際の購入価格Ｐに近づく場合のボラティリティ値であるということを思い起こされたい。この例では、オプションの実際の購入価格Ｐが９２であると仮定すると、その結果、図１ｂのグラフ１００上の点１０２で示されるように、オプションのインプライドボラティリティσ＊は０．８となる。理論上の適正市場オプション価格のボラティリティ依存性は閉形式ではないので、理論上の適正市場オプション価格の関数としてボラティリティを直接計算するために、解析式を簡単に使用することができない。この問題への１つの解決法は、所与のボラティリティ値から理論上の適正市場オプション価格を反復して計算し、理論上の適正市場オプション価格が実際のオプション購入価格Ｐのある許容範囲内となるように計算されるまで、計算に使用するボラティリティ値を反復して調整する反復法である。
【００３７】
この処理を速めるために、好ましくは帯域反復手法（ｂａｎｄｅｄ  ｉｔｅｒａｔｉｖｅ  ａｐｐｒｏａｃｈ）で並列処理を適用することが好ましい。帯域反復手法を用いて、図１ｃに示すように、ボラティリティ値に複数の開始点が選ばれて、ボラティリティ範囲が複数ｍの帯域にさらに分割されるようにする。各反復で、複数のボラティリティ値（好ましくは各ボラティリティ帯域の境界を定めるｍ＋１個のボラティリティ値（σ１、σ２、…σｍ＋１））のそれぞれに対する理論上の適正市場オプション価格が計算される。記載したように、これらの計算は並行して行われることが好ましい。図１ｃの例では、ｍは４であり、０から２の最初のボラティリティ範囲は４つの帯域に細分され、この帯域の境界ボラティリティ値は、σ１＝０、σ２＝０．５、σ３＝１．０、σ４＝１．５およびσ５＝２．０である。理論上の適正市場購入価格（Ｐｔｈ（σ１）、Ｐｔｈ（σ２）、Ｐｔｈ（σ３）、Ｐｔｈ（σ４）、およびＰｔｈ（σ５））が、これらのボラティリティ境界値のそれぞれについて計算される。これらの理論上の適正市場オプション価格の計算後に、アルゴリズムは計算された理論上の適正市場オプション価格のいずれかが、実際のオプション購入価格Ｐのある許容範囲ε内であるかどうかをチェックする。理論上の購入価格Ｐｔｈ（σｋ）の１つががＰのε内である場合は、インプライドボラティリティσ＊は、σｋに等しいと判断される。計算された理論上の購入価格のいずれもＰのε内でない場合は、アルゴリズムをもう一度反復する必要がある。このように許容範囲εは、理論上の適正市場価格の収束特性としての機能を果たす。以下に説明するように、場合によっては２つの他の条件、すなわち反復最大数およびボラティリティ収束特性がテストされて、もう一度反復する必要があるかどうかを判断することも可能である。
【００３８】
アルゴリズムがインプライドボラティリティを探索するボラティリティの帯域を知的に狭めるために、アルゴリズムはインプライドボラティリティが存在するボラティリティの帯域を決定する。理論上の適正市場オプション価格は、ボラティリティの単調増加関数であるので、インプライドボラティリティが存在するボラティリティの帯域は、境界における理論上の適正市場オプション価格が実際のオプション購入価格Ｐを包含するボラティリティの帯域を確認することによって迅速に決定されることが可能である。図１ｃの例では、インプライドボラティリティが存在するボラティリティの帯域は、１０４と表示されている。見てわかるように、帯域１０４の下方境界におけるボラティリティ値は０．５であり、このボラティリティ値に対して理論上の適正市場オプション価格は約９０、また帯域１０４の上方境界におけるボラティリティ値は１．０であり、このボラティリティ値に対して理論上の適正市場オプション価格は約９５である。９２という実際のオプション購入価格は、これら２つの計算された理論上の購入価格値の間にあたるので、帯域１０４はインプライドボラティリティが存在するボラティリティ帯域と確認される。
【００３９】
このように、次の反復の間に第１の反復からの帯域１０４は、図１ｄに示すように、別の複数ｍの帯域に細分される。したがって、図１ｄの例では、第２の反復についてのボラティリティ帯域の境界値は、σ１＝０．５、σ２＝０．６２５、σ３＝０．７５、σ４＝０．８７５およびσ５＝１．０である。次に理論上の適正市場購入価格が、これらのボラティリティ境界値のそれぞれについて計算され、計算された理論上の適正市場オプション価格のいずれかがＰのε内であるかどうかを判断することによって、インプライドボラティリティが見つけられたかどうかを評価するためにチェックがもう一度行われる。インプライドボラティリティが見つからなかった場合は、インプライドボラティリティが存在する帯域１０６が再確認される。次に確認された帯域１０６は、図１ｅに示すように、次の反復の間に複数ｍの帯域にさらに細分される。この次の反復の間に、インプライドボラティリティが見つかったかどうかを判断するためのチェックとともに、理論上の適正市場オプション価格の並列計算がもう一度行われる。見つからなかったと仮定すると、アルゴリズムは次の反復の間に細分する帯域１０８を特定するように動作する。インプライドボラティリティが存在するボラティリティ帯域をこのように反復して狭めることは、その後アルゴリズムが十分な精度でインプライドボラティリティを見つけたと判断する、またはこの処理を中止する他の条件のいずれか１つがが満たされるまで続く。
【００４０】
図１ａから図１ｅの例は一例としてｍ＝４の値を使用しているが、インプライドボラティリティのこの反復帯域型探索には他のｍの値が容易に使用可能であることに注意されたい。また、図１ａから図１ｅの例では各反復に同じｍの値を使用しているが、本発明のこの実施形態の実施者の必要に応じて、ｍの値は反復ごとに異なることも可能であることに注意されたい。またさらに、図１ａから図１ｅの例では、各ボラティリティ帯域は、基本的に対象のボラティリティ範囲をｍで割ることによって等しい大きさになっている。各反復に使用されるボラティリティ帯域は、等しい大きさにされる必要がないことに注意されたい。さらにこの例では、最初のボラティリティ範囲は０−２の範囲（すなわちボラティリティの全範囲）に等しく設定された。他の最初のボラティリティ範囲が使用されることも可能であることに注意されたい。例えば本発明のこの実施形態の実施者は、最初のボラティリティ範囲を知的に選択することがより効率的であると気づく場合がある。そのような知的選択では、最初のボラティリティ範囲は、オプションの原金融商品のヒストリカルボラティリティ値に基づいて選択されることが可能である。例えば過去１２カ月における金融商品の最低記録ボラティリティ値（場合によってはある許容範囲を引く）が、最初のボラティリティ区域の下方境界として使用されることが可能であり、また過去１２カ月における金融商品の最高記録ボラティリティ値（場合によってはある許容範囲を足す）が、最初のボラティリティ区域の上方境界として使用されることが可能である。
【００４１】
図２ａは、インプライドボラティリティの反復帯域型探索の例示的流れ図を示している。ステップ２００においてアルゴリズムは、市場で利用できるオプションに関するメッセージならびに他のオプション価格付けパラメータを受け取る。図２ｃに示すように、このオプションメッセージ２６０は、オプションの原金融商品（例えばＩＢＭ株）（フィールド２６２）、オプションの適用を受ける株数、ならびにオプションのＰ、Ｓ、Ｋ、Ｔおよびδ値（それぞれフィールド２６４、２６６、２７２、２６８および２７４）を特定することが好ましい。図２ｃに示すように、オプションメッセージ２６０はまた、オプションがコールであるかプットであるかを特定するフィールド２７０（Ｃ／Ｐフラッグ）を含むことが好ましい。フィールド２６２の中のオプションの名前自体が、このオプションがヨーロピアンオプションであるかアメリカンオプションであるかを符号化することに注意されたい。このように所与のオプションがヨーロピアンであるかアメリカンであるかの問題は、名前フィールド２６２の解析により解決されることが可能である。やはりステップ２００で受け取られることが好ましいオプション価格付けパラメータの例には、オプション価格付けモデルで使用される無リスク金利ｒおよび時間ステップの数ｎがある。ステップ２０２においてアルゴリズムは、その反復指数ｑをｑ＝１に初期設定する。次にステップ２０４においてアルゴリズムは、第１の反復についてボラティリティ帯域境界値σｑ１、σｑ２、…σｑｍ＋１を定める。
【００４２】
次にステップ２０６においてアルゴリズムは、ステップ２０４で定められたボラティリティ帯域境界値のそれぞれについて理論上の適正市場オプション価格Ｐｔｈを計算する。好ましくはこれらの計算は、以下に説明するように並行して行われる。ステップ２０８においてアルゴリズムは、Ｄｑｋ＝Ｐｔｈ，ｑ（σｋ）−Ｐとして、それぞれ計算された理論上の適正市場オプション価格と実際のオプション購入価格Ｐとの差Ｄｑ１、Ｄｑ２、…Ｄｑｍ＋１を計算する。ステップ２０６と同様に、ステップ２０８の計算は並行して行われるのが好ましい。次にステップ２１０においてアルゴリズムは、計算された差Ｄｑ１、Ｄｑ２、…Ｄｑｍ＋１のいずれかの絶対値がεより小さいかどうかをチェックする。計算された差Ｄｑｋの１つの絶対値がεより小さい場合、ステップ２１２においてアルゴリズムはインプライドボラティリティσ＊を、計算されたＤｑｋがεより小さくなるボラティリティ値σｑｋに等しく設定する。その後アルゴリズムは停止し、決定したインプライドボラティリティを出力することができる。
【００４３】
しかしながら、差Ｄｑｋのいずれもεより小さくない場合は、アルゴリズムはステップ２１４および２１６へ進む。ステップ２１４および２１６は、インプライドボラティリティが存在するボラティリティ帯域を特定するように動作する。ステップ２１４においてアルゴリズムは、ｋ＝１，２，…ｍ＋１について積Ｄｑｋ＊Ｄｑｋ＋１を計算する。理論上の適正市場オプション価格がボラティリティに対して単調に増加する特性のため、実際の購入価格が帯域の理論上の適正市場オプション価格の両境界値の間に入る帯域は単に１つとなるので、負の数である単に１つの積がある。したがってステップ２１６においてアルゴリズムは、どの積が負の数であるかを判断することによってインプライドボラティリティが存在する帯域を特定する。Ｄｑｋ＊Ｄｑｋ＋１という積が負になるボラティリティの境界値σｑｋおよびσｑｋ＋１は、その後次の反復の間に細分されるボラティリティ範囲を定めるために使用される（ステップ２１８）。
【００４４】
好ましくは、アルゴリズムはまた、アルゴリズムが行う反復の数を制御する他の２つのパラメータ、Ｑｍａｘおよびεσを使用する。Ｑｍａｘは、アルゴリズムが行う反復の最大数を定め、εσは、満たされるとアルゴリズムを停止させてインプライドボラティリティ値を出力させるボラティリティの収束特性を表す。このＱｍａｘ条件は、過剰な数の反復が発生することを防止することによって計算の待ち時間を削減するように作用する。またεσ条件は、インプライドボラティリティ付近のボラティリティ帯域探索区域は非常に小さいが、そのボラティリティ区域内の理論上の適正市場価格の曲線１００が急勾配の傾斜であるために、理論上の適正市場価格の収束条件εが満たされていない場合に、計算の待ち時間を削減するように作用する。したがってボラティリティ帯域内の異なるボラティリティ値についての理論上の適正市場価格は、εを超える値の差を有する可能性があるが、異なるボラティリティ値間の差は実質的にはほとんどない可能性がある。このような場合には、対象の狭いボラティリティ帯域の平均ボラティリティ値が、インプライドボラティリティとして出力されるのが好ましい。アルゴリズムを制御するために、これらの２つのパラメータを使用して、ステップ２２０、２２２および２２４は次のように動作する。ステップ２２０においてアルゴリズムは、ステップ２１８において定められたボラティリティ境界値の差｜σｑｋ−σｑｋ＋１｜を計算し、次にこの差をεσと比較する。この差｜σｑｋ−σｑｋ＋１｜がεσより小さい場合は、アルゴリズムは定められたボラティリティ境界およびインプライドボラティリティが十分に収束したと判断し、ステップ２２２においてアルゴリズムは、インプライドボラティリティをσｑｋとσｑｋ＋１の平均値（σ＊＝（σｑｋ＋σｑｋ＋１）／２）として出力する。ボラティリティの収束が達成されていない場合は、アルゴリズムはステップ２２４へ進み、現在の反復ｑがＱｍａｘに等しいかどうかをチェックする。ｑがＱｍａｘに等しい場合は、アルゴリズムはステップ２２２へ戻ってインプライドボラティリティをσｑｋとσｑｋ＋１の平均として出力する。ｑがＱｍａｘより小さい場合は、アルゴリズムはステップ２２６において反復指数ｑをインクリメントする。その後アルゴリズムは次の反復のためにステップ２０４に戻り、ステップ２１８で定めたボラティリティ範囲から始めてｍ＋１個のボラティリティ帯域境界値が定められる。
【００４５】
図２ａのアルゴリズムは、ハードウェアまたはソフトウェア（またはその組合せ）に導入されることが可能である。ソフトウェアに導入される場合、好ましくは複数の並列コプロセッサまたはマルチコアプロセッサが、少なくともステップ２０６を並列処理して加速するために使用される。しかしながら、より加速するためには、好ましくは図２ａのアルゴリズムの少なくとも一部（またより好ましくは図２ａの全アルゴリズム）がハードウェアに導入される。好ましくはこのハードウェアは、以下に説明するように、再構成可能論理である。
【００４６】
図２ｂは、図２ａのアルゴリズムを実現するための計算パイプライン２５０を示している。パイプライン２５０は、好ましくはパイプライン２５０を形成するために合わせて順番に並べられた複数の計算モジュール２５２を含む。各計算モジュール２５２は、好ましくは図２ａのアルゴリズムの１回の反復に対して計算を行うように構成される。したがって、パイプライン２５０の中の計算モジュール２５２の数はＱｍａｘであることが好ましい。パイプラインの中の第１の計算モジュール２５２は、好ましくは入力としてオプションメッセージ２６０（例えばＰ、Ｓ、Ｔ、Ｋおよびδに定められた様々な値を有するＩＢＭ株に関するオプション）を受け取る。第１の反復の計算モジュール２５２は、好ましくはやはりｍ＋１個のボラティリティ帯域境界値（σ１１、σ１２、…σ１ｍ＋１）で初期設定される。第１の反復の計算モジュール２５２はまた、好ましくはｎ、ｒ、εおよびεσの値で初期設定される。計算モジュール２５２は次に、アルゴリズムのステップ２０４−２２２を実行するように構成される。このとき第２の反復の計算モジュール２５２によって受け取られる第１の計算モジュールの出力は、同じオプションメッセージのパラメータ、ステップ２０４で定められた第２の反復のボラティリティ帯域境界値、ならびに第１の反復中に使用されたｎ、ｒ、εおよびεσパラメータを含む。また計算モジュール２５２は、好ましくは該当する場合はインプライドボラティリティ値σ＊を出力する。計算モジュール２５２のパイプラインの性質により、反復２の計算モジュール２５２が別の異なるオプションメッセージなどに取り組むと同時に、反復１の計算モジュール２５２は、所与のオプションメッセージに取り組むことができる。したがって、パイプラインを通してオプションメッセージの高スループットが流されながら、その間ずっと各オプションメッセージに対するインプライドボラティリティが決定される待ち時間を減らすことができる。
【００４７】
図３は、計算モジュール２５２の展開図を提供する。好ましくは、各計算モジュールは複数ｍ＋１の並列オプション価格付けモデル（ＯＰＭ）計算ユニット３００を含む。図３の例では、ｍは４であることがわかるが、ｍの他の値を容易に使用することができることを理解されたい。各ＯＰＭ計算ユニット３００は、入力されたボラティリティ値について理論上の適正市場オプション価格を計算するように構成されている。各ＯＰＭ計算ユニット３００の出力は、差分値Ｄｑｋを計算する計算ユニット３０２に送り込まれる。このように、複数の並列ＯＰＭ計算ユニット３００および差分計算ユニット３０２が、図２ａのアルゴリズムのステップ２０６および２０８を実行する。次に計算モジュール２５２の組合せ論理ステージ３０４が、差分計算ユニット３０２のすべてからの出力ならびに様々なパラメータＰ、Ｓ、Ｋ、Ｔ、δ、ｎ、ｒ、ε、εσ、およびσｑ１、σｑ２、…σｑｍ＋１を受け取り、アルゴリズムのステップ２１０−２２２を実行する。
【００４８】
また各計算モジュール２５２は、好ましくは入力として、そのオプションメッセージに対するインプライドボラティリティσ＊が見つけられたかどうかを示すσ＊＿ｅｎａｂｌｅ信号、ならびに決定されたインプライドボラティリティの値を特定するσ＊信号を受け取る（ただし、第１の反復の計算モジュール２５２は入力としてこれらの信号を受け取る必要はない）。好ましくは、組合せ論理ステージ３０４は、オプションメッセージに対するインプライドボラティリティを見つけた場合はσ＊＿ｅｎａｂｌｅ信号をｈｉｇｈに設定して、インプライドボラティリティσ＊を出力する。好ましくは、本発明のこの態様の再構成可能な論理素子の実施形態に関して以下に説明するファームウェアソケットモジュール１４２０などの制御ユニットが、各計算モジュール２５２からのσ＊＿ｅｎａｂｌｅおよびσ＊の出力を読み取り、インプライドボラティリティがすでに見つけられたメッセージに対してパイプライン処理を停止する。このような制御を使用すると、オプションのインプライドボラティリティが反復３で見つけられたとき、パイプライン２５０はパイプラインの最後のＱｍａｘ反復まで待つことなくオプションのインプライドボラティリティを出力し、それによって不必要な待ち時間を無くす。組合せ論理ステージ３０４はまた、パイプライン２５０の次の下流計算モジュール２５２によって使用されるＰ、Ｓ、Ｋ、Ｔ、δ、ｎ、ｒ、ε、εσ、およびσｑ＋１１、σｑ＋１２、…σｑ＋１ｍ＋１パラメータを出力するのが好ましい。
【００４９】
上記のように、様々なＯＰＭのうちのいずれも、オプションの理論上の適正市場価格を計算するためにＯＰＭ計算ユニット３００によって使用されることが可能である。しかしながら、ＣＲＲ  ＯＰＭに基づいたＯＰＭが使用されることが好ましい。Ｃｏｘ、Ｒｏｓｓ、およびＲｕｂｉｎｓｔｅｉｎは、オプションの理論上の適正市場価格を計算するために、行使価格Ｋ、オプションの原金融商品の価格Ｓ、Ｓの変動範囲（すなわちボラティリティ）、オプションの残存期間Ｔ、金利ｒ、およびオプションの配当率δだけわかればよいということを示した。ＣＲＲ二項モデルは、オプションの行使期間Ｔをｎ個の個別ステップに分割し、各ステップで株価Ｓが一定の倍数因子ｕで上がる、または一定の倍数因子ｄで下がる可能性があると仮定する。因子ｕおよびｄは、株のボラティリティσ、オプションの残存期間、および個別ステップの数ｎによって決まる。上方および下方の変動率は、次のように計算されることが可能である：
【数１】
0005492767.tif 000002
ｕおよびｎのこれらの特定の形式は、時間ステップの数ｎが無限大に近づくにつれて、二項モデルによる株価の変動が、ブラックおよびショールズによって提示された株価の分布に確実に近づくように選択される。二項モデルによる株価の変動がブラックおよびショールズによって提示された株価の分布に近づくようになる、ｕおよびｄの他の定式化があることに注意されたい。また、二項モデルは、好ましくは金利ｒおよび配当率δがオプションの行使期間にわたって一定であると仮定する。
【００５０】
株価が倍数的に変化するという仮定のもとに、各時間ステップで株価の予想される値を表す二項ツリーが作成されることが可能である。図４は、このような二項ツリー４００を示している。時間ステップｉでは、株価は、ｊ＝０，１，…，ｉの場合、ｉ＋１個の値ｕｊｄｉ−ｊＳのうちの１つをとることができる。したがって、Ｓというルートノード４０２から始まって、ツリー４００の時間ステップ１におけるノード４０４は、ｕＳおよびｄＳという値を示す。ツリー４００の時間ステップ２では、リーフ４０６はｕ２Ｓ、ｕｄＳおよびｄ２Ｓという値を示す。時間ステップ３では、リーフ４０８はｕ３Ｓ、ｕ２ｄＳ、ｕｄ２Ｓおよびｄ３Ｓという値を示すなど、時間ステップｎまで続き、時間ステップｎでは、リーフ４１０はｕｎＳ、ｕｎ−１ｄＳ、ｕｎ−２ｄ２Ｓ…ｕ２ｄｎ−２Ｓ、ｕｄｎ−１ＳおよびｄｎＳという値を示す。
【００５１】
次にオプションの理論上の適正市場価格が、時間ステップｎにおけるリーフ４１０からルート４０２までツリー４００を逆に進むことによって、取得されることが可能である。Ｃ（ｎ，ｉ，ｊ）は、深さｎの二項ツリーについて時間ステップｎ−ｉにおけるｊｔｈノードにおけるオプションの価格を示すとする。このとき、Ｃ（ｎ，ｉ，ｊ）は次のように計算されることが可能である：
Ｃ（ｎ，ｉ，ｊ）＝ｍａｘ［Ｒ（ｐＣ（ｎ，ｉ−１，ｊ＋１）＋（１−ｐ）Ｃ（ｎ，ｉ−１，ｊ）），Ｓｕｊｄ｜ｉ−ｊ｜−Ｋ］      （３）
ただし、Ｒは正規化された金利を表し、ここでは
Ｒ＝ｅ−ｒＴ／ｎ      （４）
またここでは：
【数２】
0005492767.tif 000003
Ｃ（ｎ，ｉ，ｊ）の計算は、ｊ＝０，１，…，ｎ−１について行われ、その後この計算は時間ステップｎ−ｉ−１に進む。計算は、オプションの満了時に、時間ステップｎのノードｊにおける支払いがｍａｘ（０，ｕｊｄｎ−ｊＳ−Ｋ）であることを示すことによって、時間ステップｎにおいて初期設定される。このときこれは、リスクのない収益性の高いさや取り売買（ａｒｂｉｔｒａｇｅ）が可能とならないようなこのノードでのオプションの価格であるべきである。したがって、時間ステップｎでは、計算は次のように初期設定される：
Ｃ（ｎ，０，ｊ）＝ｍａｘ（０，ｕｊｄｎ−ｊＳ−Ｋ）、ここでｊ＝０，１，…，ｎ      （６）
【００５２】
本明細書の教示を精査すると当業者には理解されるであろうが、Ｃ（ｎ，ｉ，ｊ）の式（３）以外の式が、本発明のこの実施形態の実施に際して使用されることが可能であることに注意されたい。
【００５３】
また、式３は、コールオプションの理論上の適正市場価格に対するものであることに注意されたい。プットオプションについては、理論上の適正市場価格は次のように計算されることが可能である。
Ｃ（ｎ，ｉ，ｊ）＝ｍａｘ［Ｒ（ｐＣ（ｎ，ｉ−１，ｊ＋１）＋（１−ｐ）Ｃ（ｎ，ｉ−１，ｊ）），Ｋ−Ｓｕｊｄ｜ｉ−ｊ｜］      （３ａ）
この式は、時間ステップｎにおいて次のように初期設定する：
Ｃ（ｎ，０，ｊ）＝ｍａｘ（０，Ｋ−ｕｊｄｎ−ｊＳ）、ここでｊ＝０，１，…，ｎ      （６ａ）
さらにまた、式３および３ａは、アメリカンオプションとヨーロピアンオプションの両方の理論上の適正市場価格を計算するために使用されることが可能であることに注意されたい。
【００５４】
好ましくは、Ｃ（ｎ，ｉ，ｊ）の計算は、図５ａに示すように並列パイプラインアーキテクチャで実行される。図５ａは、図３のＯＰＭ計算ユニット３００の展開図を示している。ＯＰＭ計算ユニット３００は、複数のパイプラインステージ５０４によって実現されることが可能であり、各パイプラインステージ５０４は、少なくとも１つの計算ノード５０２を含む。各パイプラインステージは、所与の時間ステップのＣ（ｎ，ｉ，ｊ）の計算を行うように構成される。第１のパイプラインステージ５０４の計算ノード５０２は、好ましくはコールオプションに対しては式（６）によって、またプットオプションに対しては式（６ａ）によって決定されたＣ（ｎ，０，ｊ）の値で初期設定される。また各計算ノード５０２は、好ましくは入力としてパラメータσ、Ｓ、Ｋ、Ｔ、ｒ、ｎ、δならびに関連オプションがコールであるかプットであるかを識別するＣ／Ｐフラッグの値を受け取る。各計算ノード５０２は、オプションのＣ／Ｐフラッグで定められる通り、オプションがコールオプションの場合はＣ（ｎ，ｉ，ｊ）に対して式（３）によって定義される計算を、オプションがプットオプションである場合はＣ（ｎ，ｉ，ｊ）に対して式（３ａ）によって定義される計算を行うように構成される。計算ノード２５２の再構成可能論理の実装では、各ノード２５２は並列計算パスすなわち式（３）用の１つのパスおよび式（３ａ）用のもう１つのパスを含むことができ、制御論理が導入されて、オプションのコール／プットステータスに基づき関連入力値を適切な計算パスに経路設定することが可能である。したがってＣ（ｎ，ｉ，ｊ）の計算された各値は、式（３）および（３ａ）で定義される計算で使用するために、次のパイプラインステージ５０４の中の２つの下流計算ノード５０２に送り込まれる。
【００５５】
図５ａのＯＰＭ計算ユニット３００によって行われる計算の並列パイプラインの性質が、従来の設計に比べてオプション価格付けの計算を著しく加速する。二項ツリー４００の各リーフノード４１０において計算を行うためにｆ１クロックサイクル、またルートを含めた各内部ノードにおいて計算を行うためにｆ１クロックサイクルがかかると仮定する。深さｎのツリー４００については、ｎ＋１個のリーフノード４１０およびｎ（ｎ＋１）／２個の内部ノード（ルートを含む）がある。順序機械上でオプション価格を計算するためのクロックサイクルの総数は、（ｎ＋１）ｆ１＋０．５ｎ（ｎ＋１）ｆｉとなる。一方、図５ａに示す並列アーキテクチャなどの並列アーキテクチャを使用して、各時間ステップの計算のすべては同時に行われ、したがってクロックサイクルの数を（ｎ＋１）ｆ１＋ｎｆｉに削減することが可能である。並列パイプラインアーキテクチャの複雑性はこのとき、ツリーの深さでの一次式になり、順序機械の場合のようにツリーの深さでの二次式になるのとは対照的である。図５ａの実施形態のこの態様により、本発明の実施者はオプション価格付けエンジンの設計および使用時の柔軟性を向上させることができる。実施者は、待ち時間を犠牲にすることなく、より正確なオプション価格モデリングを求めて順序機械で使用できるものと比べてより大きなｎの値を使用することができる、または実施者は、順序機械に使用した同じｎの値もしくは同様のｎの値を使用することによって、はるかに高速でオプションに価格を付けることができる、すなわちより高いスループットを達成することができる。
【００５６】
図５ｂから図５ｄは、図３の組合せ論理ステージ３０４の例示的実施形態を示している。図５ｂは、図２ａからのステップ２１０および２１２を実行するように構成されたステージ３０４の一部を示している。図５ｂに示すように、ｍ＋１個の並列の絶対値ユニット５１０は、Ｄｑｉについて各入力値の絶対値を見つけるように動作する。計算された絶対値｜Ｄｑｉ｜は、次にｍ＋１個の並列の比較器５１２に送り込まれ、そこで｜Ｄｑｉ｜の各値は、理論上の適正市場価格の収束特性εと比較される。比較器５１２は、好ましくは｜Ｄｑｉ｜が適正市場価格の収束特性を満たす場合は１の値を出力し、そうでない場合は０の値を出力するように構成されることに注意されたい。差分｜Ｄｑｉ｜の１つがε条件を満たす場合は、対応する乗算器５１４が１の値にσｑｉを掛けてインプライドボラティリティ値σ＊を生成し、このインプライドボラティリティ値は加算器５１６によって他の乗算器によって生成された他の０の値と合計される。ＯＲゲート５１８は、乗算器５１４の１つが１の出力を生成するときを検出することによって、σ＊＿ｅｎａｂｌｅ信号をｈｉｇｈに設定するように動作する。乗算器５１４、加算器５１６、およびＯＲゲート５１８は、このようにσ＊およびσ＊＿ｅｎａｂｌｅの適切な値を出力するように動作する。
【００５７】
図５ｃは、図２ａからのステップ２１４、２１６、２１８、２２０、２２２および２０４を実行するように構成されたステージ３０４の一部を示している。複数ｍの並列の乗算器５２０は、各逐次差分ＤｑｉとＤｑｉ＋１を互いに掛けるように動作する。オプションの実際の購入価格が、１つのボラティリティ帯域境界で理論上の適正市場価格を上回り、その帯域のもう１つのボラティリティ境界で理論上の適正市場価格を下回るボラティリティ帯域が１つだけあるので、これらの乗算の積の１つだけが負となる。次に比較器５２２が、乗算器５２０のどれが負の積を生成するかを特定するように動作する。好ましくは、各比較器５２２の出力Ｓｉは、入力の積Ｄｑｉ＊Ｄｑｉ＋１が負である場合にのみｈｉｇｈになるように構成される。次に論理ステージ５２４が、インプライドボラティリティが存在するボラティリティ帯域の境界値σｑｋおよびσｑｋ＋１を計算するように動作する。加算器５２６、絶対値オペレータ５２８および比較器５３０は、σｑｋおよびσｑｋ＋１で定義される特定されたボラティリティ帯域を、ボラティリティの収束特性εσと照らし合わせてテストするように動作する。ボラティリティの収束特性が満たされる場合は、比較器５３０はσ＊＿ｅｎａｂｌｅをアサートする。加算器５３２および乗算器５３４は、特定されたボラティリティ帯域境界を合わせて平均するように動作し、ボラティリティの収束特性が満たされる場合はこの平均がインプライドボラティリティとして機能する。論理ステージ５３６は、次の反復についてボラティリティ境界値σｑ＋１１、σｑ＋１２、…σｑ＋１ｍを計算するように動作する。ボラティリティの収束特性が満たされるかどうかによって、マルチプレクサ５４２は、インプライドボラティリティか次の反復のボラティリティ値を出力５４２として渡す。パイプライン２５０の中の最後の反復モジュール２５２では、次の反復のボラティリティ値を計算する必要がないので、組合せ論理ステージ３０４は論理５３６またはマルチプレクサ５４０を含む必要がないことに注意されたい。同様に、パイプラインの中の最後の反復モジュール２５２の組合せ論理ステージ３０４は、特定されたボラティリティ帯域境界をボラティリティの収束特性と照らし合わせてテストする必要がない。
【００５８】
また組合せ論理ステージ３０４は、εによって定義される理論上の適正市場価格の収束特性とεσによって定義されるボラティリティの収束特性がともに満たされる状況を調整するために、制御論理を含むことができることに注意されたい。このような場合、適切な制御論理が導入されて、所望のインプライドボラティリティを出力として渡すことが可能である。εで決定されるインプライドボラティリティが使用されることが好ましい場合は、制御論理はステップ２１２で特定されたσ＊値を出力として渡すように構成されることが可能である。εσで決定されるインプライドボラティリティが使用されることが好ましい場合は、制御論理はステップ２２２で特定されたσ＊値を出力として渡すように構成されることが可能である。あるいは制御論理は、ステップ２１２と２２２で特定された２つのσ＊値の平均を出力として渡すように構成されることが可能である。さらにまた制御論理は、どちらの許容範囲（εまたはεσ）が１つまたは複数の条件を満たすかに基づいて、σ＊値の１つを出力として渡すように構成されることが可能である。
【００５９】
図５ｄは、論理ステージ５２４および５３６をさらに詳細に示している。論理ステージ５２４内では、複数２ｍの乗算器５５０が各Ｓｉ値にσｑｉおよびσｑｉ＋１を掛けるように動作する。加算器５５２の出力は、特定されたボラティリティ帯域境界値σｑｋおよびσｑｋ＋１となる。論理ステージ５３６内では、インバータ５５４および加算器５５６が和σｑｋ−σｑｋ＋１を生成するように動作し、この和は特定されたボラティリティ帯域の幅を表す。乗算器５６０は、この帯域幅を等しい幅のｍ個のサブ帯域に分けるように動作し、加算器５６２は、次の反復の間に使用されるように、特定された帯域について結果として生じる中間ボラティリティ値を計算する。論理ステージ５３６は、別個のインバータ５５４および加算器５５６を含む必要はなく、所望であればステージ５３６は、図５ｃに示す加算器５２６の出力にタッピングすることができるということに注意されたい。
【００６０】
このように、図２ｂ、図３および図５ａから図５ｄに示される並列化されたパイプラインアーキテクチャによってオプションのインプライドボラティリティを決定することにより、待ち時間およびスループットに著しい向上がもたらされ、それによって本発明の実施者に、金融市場における重要な競争上の優位性をもたらすことができる。
【００６１】
図１ａから図５ｄに関連して本明細書に開示する反復帯域型ｍ−ａｒｙ探索は、オプションのボラティリティの単調増加関数であるオプションの理論上の適正市場価格との関連で説明されていることに注意されたい。さらに、金融商品と関連する対象の特定パラメータについての反復帯域型ｍ−ａｒｙ探索は、金融商品と関連する第１のパラメータが金融商品と関連する第２のパラメータの単調増加（または単調減少）関数である他のグラフと関連して行われることが可能であることに注意する。さらにまた、第１の金融パラメータは、第２の金融パラメータの狭義単調増加関数または狭義単調減少関数である可能性もあることに注意する。本明細書で使用する単調減少とは、その第１の導関数が常に非正の数である関数を指し、狭義単調増加とは、その第１の導関数が常にゼロを超える数である関数を指し、また狭義単調減少とは、その第１の導関数が常にゼロ未満の数である関数を指す。
【００６２】
本発明の別の実施形態に従って、オプションの理論上の適正市場価格を効率的に計算することが望ましい。上記のように、オプションの適正市場価格を迅速に計算することは、トレーダにとって、特にブラックボックス取引アルゴリズムを使用して取引を行うトレーダにとって、優先度の高い問題である。トレーダまたはトレーダのブラックボックスアルゴリズムが、（あるオプション価格付けモデルにより）オプションの売り呼び値Ｐとこのオプションの理論上の適正市場価格に差分を検出することができる場合、このトレーダに取引の好機が存在する可能性がある。
【００６３】
図６ａは、オプションメッセージの入力６００から理論上の適正市場価格６２４を低待ち時間で計算する例示的アーキテクチャを示している。図６ａの例では、オプションメッセージはヨーロピアンコールオプションに関連すると仮定され、さらにＣＲＲモデルによりヨーロピアンコールオプションの理論上の適正市場価格を計算するために図６ａのアーキテクチャによって使用されるオプション価格付けモデルは、次のように仮定される：
【数３】
0005492767.tif 000004
しかしながら、本発明のこの実施形態の実施に際し、式（７）以外のオプション価格付けモデルが使用されることが可能であることに注意されたい。
【００６４】
式（７）について、二項係数ｂｊは、ｎ個の時間ステップの中でｊ個の上昇状態の発生数を示し、次のようになる：
【数４】
0005492767.tif 000005
変数ｕおよびｄは、上記の式（１）および（２）で説明される各時間ステップについての金融商品の価格Ｓに関する増分上昇率および下降率である。変数ｐおよびｑは、それぞれ上昇状態および下降状態についての区間価格である：
【数５】
0005492767.tif 000006
変数Ｒは、正規化された金利であり、次のようになる：
【数６】
0005492767.tif 000007
【００６５】
式（７）の二項価格付けモデルの総和の中の各項を調べると、上昇／下降率（ｕ、ｄ）および上昇／下降状態の価格（ｐ、ｑ）は、単に時間ステップの数ｎ、無リスク金利ｒ、およびボラティリティσによって決まることがわかる。次に、この例の目的のために、次の仮定を行う：（１）無リスク金利がオプションの有効期限を通して一定であり、オプション価格付けアルゴリズムを単純化するのに役立つ、（ブラック−ショールズモデルから得られる）仮定、（２）モデルの中の時間ステップの数ｎがすべての金融商品について同じであり、それによって様々なオプションの価格付けについて計算の複雑さ（ひいては待ち時間）が一定であることが保証されるという仮定、および（３）オプションが同じ満期日を共有するという仮定。このように、３カ月のコールオプションが、原金融商品にかかわらず、同じ日に満期になると仮定する。同じ存続期間を共有するすべてのオプションが、同じ満期日を共有するとは限らないが、将来の満期日の数は合理的に小さい（約１０）とさらに仮定することができる。ヨーロピアンオプションは満期日にのみ行使されることが可能であるので、この仮定は、ヨーロピアンオプションには合理的なものであり、したがって特定の月に満期になるオプションは、これらすべてがほぼ同じ開始日を有するとすると、ほぼ同じ満期日までの期間を有することになる。
【００６６】
図６ａおよび図６ｂに示すアーキテクチャ６００については、ｐｊｑｊ−ｎｂｊおよびｕｊｄｎ−ｊの値が、ｊのすべての値について予め計算され、ボラティリティσおよび残存期間Ｔで指数化されたルックアップテーブル６１０に格納される。したがって、Ａ（σ，Ｔ）は、０≦ｊ≦ｎおよびＴについてｎ＋１個のｐｊｑｊ−ｎｂｊの値の配列を表し、Ｂ（σ，Ｔ）は、０≦ｊ≦ｎおよびＴについてｎ＋１個のｕｊｄｎ−ｊの値の配列を表す。したがって、上記の式（７）は、次のように表されることが可能である：
【数７】
0005492767.tif 000008
【００６７】
式（７）および（１２）は、ヨーロピアンコールオプションについて理論上の適正市場価格を決定するように作用するが、ヨーロピアンプットオプションの理論上の適正市場価格を計算する式は、次のように表されることが可能であること注意されたい：
【数８】
0005492767.tif 000009
これが次のように解かれる：
【数９】
0005492767.tif 000010
式（１２）および（１４）の両方を組み合わせて、テーブル６１０中の各エントリ６１６は、（Ａ（σ，Ｔ），Ｂ（σ，Ｔ））で表されるペア６１２を含む。ペア６１２のルックアップテーブル６１０は、スケジュールされた間隔で計算されることが可能であり、例えば毎夜に、または取引日中の２秒に１回（無リスク金利などパラメータが変化する場合にモデルの精度向上に役立つ）もしくは他の時間間隔などより頻繁な間隔で、計算されることが可能である。またこのアーキテクチャは、取引日中の無リスク金利の変化などのきっかけに反応して、ルックアップテーブルのエントリを更新するように構成されることが可能である。
【００６８】
したがって、図６ａおよび図６ｂを参照すると、オプションメッセージ２６０が与えられるとルックアップユニット６２０は、好ましくはこのメッセージ２６０を構文解析して原金融商品の識別情報（オプションメッセージのフィールド２６２から）およびその残存期間のパラメータ（フィールド２６８から）を確認するように動作する。ユニット６２０にアクセスできるルックアップテーブル６０２は、様々な金融商品のボラティリティ値を格納している。図６ｂに示すように、ルックアップテーブル６０２は、好ましくはルックアップユニット６２０が金融商品の指数６０４によってオプションメッセージ２６０に関するボラティリティ基準６１４を取り出すことができるように、金融商品で指数化される。ボラティリティ値のテーブル６０２は、スケジュールされた間隔（例えば毎夜、毎時など）で連続して、および／またはトリガベースで、計算されることが可能である。テーブル６０２のボラティリティ値は、いくつかの方法で決定されることが可能であり、この方法は、原金融商品のヒストリカルボラティリティ値を使用して計算される原金融商品のヒストリカルボラティリティであることが可能であり、またはこの方法は、原金融商品の以前に決定されたインプライドボラティリティであることが可能である。
【００６９】
ルックアップテーブル６０２からボラティリティ値を取り出すとき、ルックアップユニット６２０は、好ましくはボラティリティの指数６０６およびメッセージ２６０から取得される残存期間の指数６０８を使用してルックアップテーブル６１０にアクセスする。指数６０６および６０８は、（Ａ，Ｂ）ペア６１２を含むテーブル６１０内のエントリ６１６を特定する。次にルックアップユニット６２０は、特定された（Ａ，Ｂ）ペア６１２を読み出し、これらの値をオプションメッセージ２６０の適正市場オプション価格６２４を計算するための組合せ論理ステージ６２２に渡す。
【００７０】
図６ｃは、上記の式（１２）および（１４）を実現する例示的組合せ論理ステージ６２２を示している。好ましくは、組合せ論理ステージ６２２は、複数ｎ＋１の並列計算パイプライン６５００、６５０１、…６５０ｎを使用する。各パイプライン６５０ｊは、次の入力パラメータを送り込まれる：Ａｊ、Ｂｊ、Ｓ、Ｋおよびコール／プットフラッグＣ／Ｐ。Ｃ／Ｐフラッグは、式（１２）または式（１４）がマルチプレクサ６５０および６５２による計算に適用されるかどうかを制御する。式（１２）および（１４）のＢｊＳ項を作成するために、乗算器６３０はＢｊにＳを掛けるように動作する。式（１２）のＢｊＳ−Ｋ項を生成するために、好ましくは加算器６３２が、Ｋの逆数値をＢｊＳ項に加える。式（１４）のＫ−ＢｊＳ項を生成するために、好ましくは加算器６３２が、Ｋ値をＢｊＳ項の逆数値に加える。マルチプレクサ６５０および６５２は、Ｃ／Ｐフラッグの値に基づいて、どの項が加算器６３２に届くかを制御する。次に比較器６３４およびマルチプレクサ６３６が、コールオプションについては項ＢｊＳ−Ｋと０の間で、またプットオプションについては項Ｋ−ＢｊＳと０の間で最大値選択演算を行うように動作し、これらの２つの値の最大値は乗算器６３８に送り込まれ、マルチプレクサ６３６に渡された最大値はＡｊを掛けられる。したがって各パイプライン６５０ｊは、好ましくはコールオプションについてのＡｊｍａｘ［ＢｊＳ−Ｋ，０］の値、またはプットオプションについてのＡｊｍａｘ［Ｋ−ＢｊＳ，０］の値を加算器６４０に出力し、それによって理論上の適正市場オプション価格６２４を計算する。
【００７１】
図６ｃの実施形態については、適正市場オプション価格６２４の計算は、好ましくは２（ｎ＋１）個の３２ビットの浮動小数点乗算、（ｎ＋１）個の３２ビットの浮動小数点減算、（ｎ＋１）個の最大値選択演算、およびｎ個の３２ビットの浮動小数点加算、合計で約５ｎ個の浮動小数点演算を使用する。ソフトウェアの実施形態については、各演算が２ＧＨｚのプロセッサの５サイクルを必要とすると仮定すると、各演算は２．５ｎｓを要する。さらに対数正規分布に近づけるのに２５６の時間ステップで十分であると仮定すると、適正市場オプション価格６２４は、３．２μｓで計算可能である。さらに適正市場価格の計算間にオーバーヘッドがないと仮定すると、単一の２ＧＨｚのプロセッサは、１秒あたり３１２，５００の適正市場オプション価格の計算を行うことができるはずである。
【００７２】
次にテーブル６０２および６１０に必要とされるメモリの量について考えると、配列ＡおよびＢの各要素は、３２ビットの単精度浮動小数点数として表されることが好ましい。ｎ＝２５５が十分であるという仮定を続けると、テーブル６１０中の各エントリ６１６は、合計８１９２ビットすなわち１０２４バイトに対して２５６個の３２ビット値を格納することになる。
【００７３】
また、有効桁数３桁で十分にボラティリティ値を正確に表すと仮定すると、結果として金融商品のボラティリティも１０００個の考えられる値のうちの１つとみなすことになる。さらに現在取引されているすべてのオプションについて考えられる１０の満期日がある（ただし考えられる満期日の他の数が使用されることも可能である）と仮定すると、テーブル６１０は１０００×１０のエントリを含むことになり、その結果、合計テーブルサイズは１０２Ｍバイトとなる。ボラティリティテーブル６０２のサイズは、約１０キロバイトになると予想される。これらのテーブルサイズは、ルックアップテーブル６０２および６１０が、ＲＡＭに、好ましくは高速メモリ、プロセッサメモリもしくはオフチップメモリ（ハードウェアコプロセッサを使用する実施形態の場合）に、容易に格納可能であることを示唆する。しかしながらルックアップテーブル（複数可）は、チップ上の利用可能なメモリ資源が十分である場合、オンチップメモリ（ＦＰＧＡチップ上のＳＤＲＡＭなど）にも格納可能であることにも注意されたい。
【００７４】
ルックアップテーブルが計算される規則性（ｒｅｇｕｌａｒｉｔｙ）に関しては、本発明のこの実施形態の実施者の必要および希望に応じて、様々な方式のいずれかが使用されることが可能であると考えられる。例えば、ある状況では、特にオプションの残存期間が数日とされ、無リスク金利が取引日を通してほとんど変化しないと仮定する場合、各取引日が始まる前にテーブルを再計算すれば十分である可能性がある。
【００７５】
ルックアップテーブルをより頻繁に更新することが望まれる場合は、テーブルが再計算されることが可能である速度を推定することが有用である。テーブル６１０の中のエントリを計算するためには、まずパラメータｕ、ｄ、ｐおよびｑを計算しなければならない。１／ｎの値は一定であると仮定する。さらに、ボラティリティσおよび無リスク金利ｒは変化する可能性があると仮定する。ｕの計算は、浮動小数点の平方根演算、乗法演算および指数演算を必要とする。ｕがわかるとｄの値は、単一の浮動小数点の除算演算によって見出されることが可能である。ｐの計算は、浮動小数点の除算演算、乗算演算および２つの減算演算を必要とする。ｐがわかるとｑの値は、単一の浮動小数点の除算演算によって見出されることが可能である。本明細書では、このｕ、ｄ、ｐおよびｑの項の計算は、約２００サイクルで行うことができると推定する。図１０ａおよび図１０ｂで例示する完全に分割された二項ツリーの技術を使用することによって中間結果の使用を最大限に活用する場合は、二項ツリーを通る前方パスは、
【数１０】
0005492767.tif 000011
の乗算演算を必要とする。２つのパスが必要とされる（価格要素の配列に１回および確率の配列に１回）ので、次に２ｎ［ｌｏｇ２ｎ］乗算演算が必要となる。上記と同じ仮定（各乗算演算に２．５ｎｓを要するｎ＝２５６）を用いると、１０００×１００のエントリを有するルックアップテーブル６１０の計算は、約１．０２４秒を要することになる。したがって、同じシステムメモリにアクセスできる第２のプロセッサが、テーブルを頻繁に更新するために利用可能である場合、テーブル６１０は、約２秒ごとに再計算されることが可能であると考えられる。
【００７６】
オプションの理論上の適正市場価格を計算するための図６ａから図６ｃの例示的実施形態の代替形態は、（ｕ、ｄ、ｐおよびｑに関連する項を求めてルックアップテーブルを使用するのではなく）適正市場価格の計算に使用される二項ツリーを直接計算することである。
【００７７】
このような直接計算への１つの手法は、図５ａのアーキテクチャを使用することができる。このような直接計算の実施形態については、理論上の適正市場価格の計算で使用されるボラティリティ値は、図６ｂに関連して示したボラティリティ値のルックアップテーブルから、または他の方法で、ＯＰＭ計算ユニット３００に渡される必要がある。
【００７８】
図７は、オプションの価格付けを行うために二項ツリーを直接計算する別の手法の例示的アーキテクチャを示している。やはりこの例も、ヨーロピアンコールオプションに関連して説明するが、本発明のこの実施形態の実践には他のオプション型が容易に使用可能であることを理解されたい。本明細書で説明するように図７のアーキテクチャは、並列処理を巧みに利用して適正市場価格の計算を加速する。図７のアーキテクチャについては、オプションメッセージ２６０が２つの並列計算モジュール７０２および７０４に送り込まれる。計算モジュール７０２および７０４は、式（７）に従った最終的な計算を可能にする式（１）、（２）、および（８）−（１１）に必要な計算を行うことができるように、メッセージ２６０からオプションの特性データおよび他の価格付けパラメータ、すなわちσ、ｒおよびｎを受け取るように構成されている。ボラティリティ入力値は、図６ｂに示すようなルックアップテーブルから、または他の方法で決定されることが可能である。計算モジュール７０２は、式（７）の中に見られるｐｊｑｎーｊｂｊ項を計算するように構成されている。計算モジュール７０４は、式（７）の中に見られるｕｊｄｎ−ｊＳ項を計算するように構成されている。モジュール７０２および７０４の下流に、モジュール７０２および７０４の出力ならびにオプションメッセージ２６０で動作して適正市場オプション価格６２４を計算する組合せ論理ステージ７０６がある。
【００７９】
図８ａは、ｎ＝４である、式（７）中のｕｊｄｎ−ｊＳ項の例示的二項ツリーの表示８００を示している。ツリー８００の中の各エッジ８０４は乗算演算を表し、各ノード８０２はｕｊｄｎ−ｊＳ項の１つを表す。金融商品の価格の上昇率ｕおよび下降率ｄがオプションの有効期間を通して一定であるという単純化した仮定により、二項ツリー８００は、各ノード８０４が２つの「親」エッジ８０４を有する格子を形成する。各ノード８０２における価格は、このノードに到達するために進んだパスと無関係であることがわかる。また最終的な価格は、式（７）の最後の重み付き合計に含まれる唯一の価格であることがわかる。したがって、各最終的な価格までの１つのパスを計算するだけでよい。
【００８０】
図８ｂは、各最終的な価格までの単一パスを計算する１つの技術を示しており、この構造は、単にｎ＋１個の並列乗算器が利用可能であるときに特に有用である。図８ｄに示すように、図８ａのツリーは、複数のパイプラインステージ８１４を使用した計算モジュール７０４で実現されることが可能である。第１のステージ８１４は、金融商品の価格Ｓが入力され、項ｕＳおよびｄＳを計算する２つの並列乗算ユニット８１０および８１２を備える（またモジュール７０４の乗算器８１０および８１２は、図８ｄに示す乗算演算の実行に備えてそれぞれ計算されたｕおよびｄ値を受け取る）。第２のステージ８１４は、ｕ２Ｓ、ｕｄＳおよびｄ２Ｓ項を計算する３つの並列乗算ユニット（１つの＊ｕ乗算ユニット８１０および２つの＊ｄ乗算ユニット８１２）を備える。第３のステージ８１４は、ｕ３Ｓ、ｕ２ｄＳ、ｕｄ２Ｓ、およびｄ３Ｓ項を計算する４つの並列乗算ユニット（１つの＊ｕ乗算ユニット８１０および３つの＊ｄ乗算ユニット８１２）を備える。最後の第４のステージ８１４は、最終的な項ｕ４Ｓ、ｕ３ｄＳ、ｕ２ｄ２Ｓ、ｕｄ３Ｓ、およびｄ４Ｓ項を計算する５つの並列乗算ユニット（１つの＊ｕ乗算ユニット８１０および４つの＊ｄ乗算ユニット８１２）を備える。このように図８ｄの計算モジュール７０４は、最後のステージ８１４のｎ＋１個の並列乗算器がｎ番目のサイクルで最終的な金融商品の価格を計算するまで、中間結果を用いて新しい反復乗算演算を「生成する（ｓｐａｗｎｉｎｇ）」プロセスを使用する。
【００８１】
図８ｃおよび図８ｅは、各最終的な価格までの単一パスを計算するための例示的な代替技術を示しており、この最終的な価格のパスは、図８ｂおよび図８ｄとは異なる（本質的に乗算ユニット８１０および８１２の役割が逆になっている）。やはり図８ｂおよび図８ｄの例と同様に、図８ｃおよび図８ｅの例は、４に等しいｎの値を使用する。
【００８２】
図８ａから図８ｅの例はｎ＝４の値を使用しているが、本発明のこの実施形態の実施者は他のｎの値を容易に使用することができることを理解されたい。本発明の実施者は、トレーダの速さおよび精度の必要性に基づいてｎの値を選択することができることに注意されたい。ｎの値が大きくなると、理論上の適正市場価格の計算に関して精度が高くなるが、理論上の適正市場価格を計算するために必要な時間が増大する。したがってｎの値は、必要に応じて設定および調整されて、本明細書に記載するオプション価格付け技術を所与の応用の必要に合わせることができる。
【００８３】
ｎ＋１個の並列乗算器が利用可能ではない場合、および／またはスーパースカラプロセッサおよびハードウェアコプロセッサ全体でモジュール７０４の計算負荷のバランスを取ることを望む場合、二項ツリーを分割することができる。ステップ
【数１１】
0005492767.tif 000012
で、ｍステップのサブツリーに分割することができる。図９ａは、ステップ５で二項ツリー９００を分割する例を示している。分割９０２の左側の二項ツリー９００の部分は、ツリー９００の左半分の最終的な価格を計算するのに２つのパスしか必要としないということに注意されたい。これらの左半分の計算は、順次または並列プロセッサ／スレッドによって行われることが可能である。図９ｂは、並列乗算器を使用して左側サブツリーの最終的な価格を計算するモジュール９１０の一例を示している。図９ｂに示すように、２つの並列乗算ユニット８１０および８１２の５つのパイプラインステージ９１２は、最終的なｕ５Ｓおよびｄ５Ｓ項９１４および９１６を計算するために使用されることが可能である。
【００８４】
時間ステップ５において、ツリー９００の左半分からの最終的な価格９１４および９１６は、別のモジュール、好ましくはハードウェアコプロセッサに送り込まれることが可能である。ハードウェアコプロセッサが１０の並列乗算器を利用可能である場合は、最終的な価格ｕ９Ｓ、ｕ８ｄＳ、ｕ７ｄ２Ｓ、ｕ６ｄ３Ｓ、ｕ５ｄ４Ｓ、ｕ４ｄ５Ｓ、ｕ３ｄ６Ｓ、ｕ２ｄ７Ｓ、ｕｄ８Ｓおよびｄ５Ｓが４つの時間ステップで計算されることが可能である。あるいは図９ｃおよび図９ｄのモジュール９２０および９３０で示すように、５つの並列乗算器を備える２つのハードウェアコプロセッサが、これらの項を並行して計算するために使用されることが可能である。図９ｃのモジュール９２０では、４つのパイプラインステージ９２２が、入力されたｕ５Ｓ価格９１４から最終的な価格ｕ９Ｓ、ｕ８ｄＳ、ｕ７ｄ２Ｓ、ｕ６ｄ３Ｓおよびｕ５ｄ４Ｓを計算する。図９ｄのモジュール９３０では、４つのパイプラインステージ９３２が、入力されたｄ５Ｓ価格９１６から最終的な価格ｕ４ｄ５Ｓ、ｕ３ｄ６Ｓ、ｕ２ｄ７Ｓ、ｕｄ８Ｓおよびｄ９Ｓを計算する。したがってこの例については、計算モジュール７０４は、モジュール９１０、９２０および９３０から容易に形成されることが可能である。別の代替形態として、５つの並列乗算器を備えたハードウェアコプロセッサは、図９ａに示す分割９０２の右側の各サブツリーを順次計算することによって、８ステップで最終的な価格を計算することができる。スーパースカラマイクロプロセッサを使用して、スーパースカラマイクロプロセッサ上の利用可能な資源を並行して使用して、オプション価格付けまたは他の解析関数に必要とされる可能性がある他の演算を行うことができるということにさらに注意されたい。
【００８５】
また分割技術は、本発明のこの実施形態を実施する際に使用される特定の処理プラットフォームに計算負荷をよりよく割り当てるために再帰的に適用されることが可能であることにも注意されたい。図１０ａは、時間ステップ６で１つの分割１００２および時間ステップ９でもう１つの分割１００４を行った、二重分割が使用された例示的な１１ステップの二項ツリー１０００を示している。一実施形態では、時間ステップ９において、分割１００４時に生成される４つの中間結果が、ハードウェアコプロセッサに送り込まれることが可能であり、このハードウェアコプロセッサは、分割１００４の右側の１つまたは複数のサブツリーを並行して計算するように構成されている。図１０ａの例から得られる別の例示的実施形態では、モジュール７０４は図１０ｂに示すように実現されることが可能である。分割計算ユニット１０１２は、２つの計算パスを使用して価格ｕ６Ｓおよびｄ６Ｓを出力する。次にｕ６Ｓ項は、分割計算ユニット１０１４に送り込まれ、それによって２つの計算パスを使用して項ｕ９Ｓおよびｕ６ｄ３Ｓを計算することが可能である。分割計算ユニット１０１４と並行して、分割計算ユニット１０１６がユニット１０１２からのｄ６Ｓ項に作用し、それによって２つの計算パスを使用して項ｕ３ｄ６Ｓおよびｄ９Ｓを計算することができる。その後項ｕ９Ｓ、ｕ６ｄ３Ｓ、ｕ３ｄ６Ｓおよびｄ９Ｓは、４つの並列分割計算ユニット１０１８、１０２０、１０２２および１０２４に送り込まれ、図１０ａのツリー１０００に示す最終的な価格を計算することができる。
【００８６】
図８ａから図１０ｂに関連して説明した同じ技術は、モジュール７０２によってｐｊｑｎ−ｊｂｊ項を計算するために使用されることが可能であることに注意されたい。図１１は、分割が使用されておらず、二項ツリーの深さｎ＝４であるモジュール７０２の例示的実施形態を示している。モジュール７０２は、乗算ユニット１１０２および１１０４（乗算ユニット１１０２は＊ｑ乗算器であり、乗算ユニット１１０４は＊ｑ乗算器である）によってｐｊｑｎ−ｊ項を計算するｎのパイプラインステージ１１１６を含む。１の入力値１１１８が、第１のパイプラインステージ１１１６に送り込まれる。最後のステージ１１１６は、＊ｂｊ乗算演算を行うｎ＋１個の並列乗算ユニット１１０６、１１０８、１１１０、１１１２、および１１１４を含む。モジュール７０２のさらに複雑な実装が、図８ａから図１０ｂに関連して本明細書で説明する教示に従って採用されることも可能であることに注意されたい。
【００８７】
また図７のアーキテクチャ７００の組合せ論理ステージ７０６は、ルックアップテーブルの実施形態に関して図６ｃに示したように構築されることが可能であるが、乗算器６３０によって行われる演算がモジュール７０４内で行われるとき乗算器６３０は必要ではないことに注意されたい。
【００８８】
図１ａから図１１に関連して説明したオプション価格付け技術は、ソフトウェア、ハードウェア、またはハードウェアとソフトウェアの組合せで、いくつかのプラットフォームのいずれかに実装されることが可能である。したがって、これまでに説明したように、本明細書に記載されたオプション価格付け技術を採用するための好適なプラットフォームは、再構成可能な論理素子（例えばＦＰＧＡ）、スーパースカラプロセッサ、マルチコアプロセッサ、ＡＳＩＣ、ＧＰＵ、ＰＰＵ、チップマルチプロセッサ、およびＧＰＰを含むことができる。
【００８９】
本明細書に記載するオプション価格付け技術を導入するための好ましいプラットフォームは、上記の参照され組み込まれた米国仮特許出願第６０／８１４，７９６号に記載された市場データプラットフォームであり、その一例が図１３に示されている。図１３に示す市場データプラットフォーム１３００は、図１２に示す機能ユニット１２０２をはるかに少ない物理デバイスに統合し、また機能ユニット１２０２のＧＰＰによって行われるデータ処理の多くをハードウェアに、好ましくは再構成可能論理に任せて負担を軽減する。
【００９０】
例えば、図１３のアーキテクチャを用いて、図１４に関して以下に説明するシステム１４００などの機器にフィード圧縮器１３０２が採用されることが可能である。フィード圧縮器１３０２は、様々な個々のソースから届く金融データストリーム１２０６のコンテンツを圧縮するために使用される。使用される圧縮技術の例は、オープンスタンダードの「ｇｌｉｂ」ならびに本発明の実施者によって使用されることが可能ないかなる独自の圧縮技術をも含む。
【００９１】
好ましくは、フィード圧縮装置１３０２は、フィードソース１２０６にできるだけ近い物理的位置に採用され、それによって通信コストおよび待ち時間を削減する。例えば、エクストラネットプロバイダ（例えばＳａｖｖｉｓ、ＢＴ  Ｒａｄｉａｎｓなど）のデータセンタにフィード圧縮装置１３０２を採用すると、データセンタが金融市場のデータ１２０６のソースに地理的に近いため有利である。圧縮はフィードストリーム１２０６内のメッセージサイズを削減するので、ストリームがワイドエリアネットワーク（ＷＡＮ）１３２０ａに到達する前に圧縮を行うことが有利であり、それによってメッセージサイズがより小さくなることからネットワークを経由する通信待ち時間を削減する。
【００９２】
ＷＡＮ１３２０は、好ましくはデバイス１３０４の中に採用されたフィードハンドラに、インバウンド側で接続するために、エクストラネットインフラストラクチャまたはプライベート通信回線を含む。アウトバウンド側では、ＷＡＮ１３２０は以下に説明するように好ましくはデバイス１３０６と接続する。ＷＡＮ１３２０は、単一ネットワークまたはプラットフォーム１３００に関連してインバウンド／アウトバウンドの役割によって区分された複数のネットワーク１３２０ａおよび１３２０ｂを含むことができることに注意されたい。また、リアルタイムニュースの配信を伴うニュースフィードが、デバイス１３０４に配信されるようにＷＡＮ１３２０ａに送り込まれることも可能であることに注目されたい。
【００９３】
デバイス１３０４は、図１４に関して以下に説明するシステム１４００などの機器に採用されることが可能である。図１２に示す従来のＧＰＰベースのシステムアーキテクチャは、フィードハンドリング／ティッカープラントの機能ユニット、ルールベース型計算エンジン、アラート生成エンジン、オプション価格付け、スナップショットおよび／またはストリーミングインタフェースを提供する最終値キャッシュ（ＬＶＣ）サーバ、分析付き履歴時系列指向データベース、および別個のＧＰＰ上のソフトウェアの中の取り出し機能付きニュースデータベースを採用したが、図１３のアーキテクチャは、これらの機能を部分的または全体的に、デバイス１３０４の再構成可能論理（１つまたは複数のＦＰＧＡ）上にあるファームウェアに統合することができる。
【００９４】
フィードハンドラ、ＬＶＣ、時系列データベース、およびニュースデータベースは、上記の参照され組み込まれた第６０／８１４，７９６号明細書に関連して説明するように、デバイス１３０４に実装されることが可能である。
【００９５】
ルールベース型計算エンジンは、ファームウェアパイプラインでの実装に適用できるエンジンであり、これによりユーザは、独自の統合レコードを作成することができ、そのフィールド値は、ＬＶＣから取得される情報、ＬＶＣからもしくは代替ソースから生成される更新メッセージのストリームから抽出される情報に対して行われる計算から導出されるが、このルールベース型計算エンジンは、場合によっては本明細書に記載されたオプション価格付け技術を少なくとも部分的に使用することができる。また、ルールベース型計算エンジンは、ＬＶＣによって管理される既存レコードに含まれる新しい統合フィールドを作成するように構成されることも可能であることに注意されたい。エンジンによって計算される新しい値は、各統合フィールドに指定された一連のルールまたは式に従うことによって計算される。したがって、例えばルールベース型計算エンジンは、図１ａから図１１に関連して説明した技術を使用して、オプションのインプライドボラティリティおよび／または理論上の適正市場価格を計算するように構成され、ＬＶＣによって管理されるオプション用の既存レコードにこれらの値を含むことが可能である。
【００９６】
デバイス１３０４内のアラート生成機能は、ファームウェアパイプラインに導入されることも可能である。アラート生成エンジンは、金融商品のレコード（または金融商品のレコードのセット）の現在の状態を監視するという点でルールベース型計算エンジンと同様であり、アラート生成エンジンは、指定された条件のセットのいずれかに対応するとき（またはオプションの実際価格Ｐがオプションの理論上の適正市場価格の予め指定した許容範囲内であるとき）アラートを作動させる。次に、アラートが発生すると通知を受けることを望む消費アプリケーションまたはエンドユーザに、様々な手段を介して表示が配信される。本発明のこの実施形態は、アラート生成機能を、生成されたアラートに反応する他のアプリケーションと強固に結合し、それによってデータ処理の実効待ち時間を削減する能力（例えばアラート生成エンジンによって検出されるアラートに反応することができる「ブラックボックス」取引アルゴリズム）を実施者に与えることによって大きな価値がもたらされる。
【００９７】
オプション価格付けは、上記のルールベース型計算エンジンの機能によって、または特定のオプション価格付けエンジンによって、デバイス１３０４にファームウェアパイプラインを用いて実装されることが可能である。したがって、デバイス１３０４の一部であるオプション価格付けエンジンは、受け取られるオプションおよびそれらの原商品と関連するいくつかの計算（例えば、図１ａから図１１に関連して説明したように、オプションの理論上の適正市場価格またはオプションの市場価格に基づく原商品のインプライドボラティリティ）を行うように構成されることが可能である。しかしながら、当技術分野で知られている通り、プラットフォーム１３００のファームウェアに導入されることが可能である、オプションの価格付けには多様な計算ルールが使用されることが可能であるので、オプション価格付けエンジンは、図１ａから図１１に関して本明細書に記載した技術に限定される必要はないことに注意されたい。上記の説明の通り、オプション価格付けのために業界が受け入れる大部分の技術は、非常に計算が大規模であり、ソフトウェアで計算が行われるとき著しい待ち時間が発生する。しかしながら、ファームウェアパイプラインにオプション価格付けを実装することによって、市場データプラットフォーム１３００がオプション価格付けの計算を著しく加速し、それによって本発明を利用するトレーダに重要な優位性を与えることができる。
【００９８】
次に、ワークステーション１２０４のトレーダ（または事業体独自のトレーディングプラットフォーム上で実行中のアプリケーションプログラム１３５０）は、ローカルエリアネットワーク（ＬＡＮ）１３２２への接続を介してデバイス１３０４によって処理された、流れている金融データにアクセスすることができる。このＬＡＮ接続を介して、ワークステーション１２０４（およびアプリケーションプログラム１３５０）はまた、デバイス１３０６、１３０８、１３１０、１３１２、１３１４、および１３１６によって作成されたデータにアクセスする。デバイス１３０２および１３０４と同様に、デバイス１３０６、１３０８、１３１０、１３１２、１３１４、および１３１６は、図１４に関して以下に説明するシステム１４００などの機器に導入されることも可能である。
【００９９】
上記の参照され組み込まれた第６０／８１４，７９６号明細書に記載されたように、デバイス１３０６は、好ましくは次の機能を少なくとも部分的に再構成可能論理上にあるファームウェアに統合する：オーダーブックサーバ、オーダールータ、取引所への直接市場アクセスゲートウェイ、電子証券取引ネットワーク（ＥＣＮ）および他の流動性プール、取引エンジン、自動気配値サーバ（ａｕｔｏ−ｑｕｏｔｅ  ｓｅｒｖｅｒ）、ならびにコンプライアンスジャーナル。オーダーブックサーバは、オプション価格付けエンジンまたはオプション価格付けエンジンからの結果を使用して、オプションの計算された理論上の適正市場価格および／またはインプライドボラティリティでオーダーブックのデータを充実させることができる。また、オーダールータは、オプション価格付けエンジンまたはオプション価格付けエンジンからの結果を使用することによって機能強化されることが可能である。例えばオーダールータは、オーダーブックの状態を監視するように構成されることが可能である。そうすることでオーダールータは、市場のどこに流動性が存在するかを確認することができ、オーダールーティングの決定を行う助けとなる。このようなオーダールーティングの決定を行うとき、オプションのインプライドボラティリティおよび／または理論上の適正市場価格の知識は有益なものとなりうる。フィード／コンプライアンスジャーナルもまた、オプション価格付けエンジンまたはオプション価格付けエンジンからの結果を使用して、市場価格を理論上の適正市場価格および／またはインプライドボラティリティと関連付け、潜在的な市場の異常性を確認することができる。
【０１００】
デバイス１３０６内の取引エンジンもまた、再構成可能論理上に導入されることが可能である。アルゴリズムによる取引エンジンは、数量モデルを規定量の取引オーダーに適用するように動作し、それによってその取引オーダーを、数量モデルの目標によって導かれるタイミングおよびサイズのより小さいオーダーに自動的に細分し、元の取引オーダーが現在の市場価格で有する可能性がある影響を緩和するようにする。またブラックボックス取引エンジンは、金融商品または金融商品のセットに対する関係または条件付きパラメータを規定する数理モデルに従うことによって、取引を自動的に生成するように動作する。この処理を支援するために、ブラックボックス取引エンジンは、リアルタイムの市場データを入力される。したがってデバイス１３０６内のブラックボックス取引エンジンは、各オプションに対して計算されたインプライドボラティリティおよび／または計算された適正市場価格を入力されることが可能であり、そうしてブラックボックス取引エンジンが所与のオプションを買うべきかまたは売るべきかについて決定を行うことができるようにする。ブラックボックス取引エンジンを本明細書に記載する加速されたオプション価格付け機能とこのように組み合わせることによって相乗効果的に、本発明のこの実施形態の実施者に驚くべき競争上の優位性が生み出され、実施者はおそらく、他のトレーダが利用可能なオプションが望ましい取引に相当するかどうかを認識すらしないうちに、市場で利用可能なオプションに対して行動を起こすことができる。
【０１０１】
自動気配値（ｑｕｏｔｅ）サーバは、ブラックボックス取引エンジンと同様である。自動気配値サーバは、「マーケットメーカー」の命令で特定の金融商品を買うまたは売るための確定気配値を自動的に生成するように動作する。ここで「マーケットメーカー」とは、「ターン（ｔｕｒｎ）」またはビッド／オファースプレッドで利益を上げることを望みながら金融商品における買値および／または売値を付ける人または事業体である。オプション価格付けエンジンまたはオプション価格付けエンジンからの結果を使用することによって、どのビッド／アスクのオファーを市場に出すべきかに関する自動気配値サーバの決定は、少なくとも部分的に計算された理論上の適正市場価格および／またはインプライドボラティリティによって行われることが可能である。例えば、ビッド／オファースプレッドは、商品のボラティリティと相互に関連している可能性があると考えられ、これらの関係およびその他の関係は、オプション価格付けエンジンまたはそこからの結果を使用するブラックボックスの自動気配値サーバによって調べられることが可能である。
【０１０２】
上記の参照され組み込まれた第６０／８１４，７９６号出願に記載されているように、デバイス１３０８は、好ましくは再構成可能論理上にあるファームウェアに内部マッチングシステム／エンジンを実装し、デバイス１３１０は、好ましくは再構成可能論理上にあるファームウェアにオーダー管理システム（ＯＭＳ）を実装し、デバイス１３１２は、好ましくは権利付与および報告機能を実装し、デバイス１３１４は、好ましくは管理および監視を実装し、デバイス１３１６は、好ましくは公開および投稿サーバ機能を実装する。
【０１０３】
図１４は、本明細書に記載するオプション価格付け機能（また場合によっては図１３と関連して説明した他の機能も）が導入されることが可能である例示的システム１４００を示している。システム１４００は、流れているデータの高速処理を行うハードウェアコプロセッサまたはハードウェア機器として特徴付けられることが可能である。例えば、処理は、これまでに言及したインプライドボラティリティまたはオプション価格付け計算などの金融計算を含むことができる。このシステムでは、再構成可能な論理素子１４０２は、（直接的にもしくはＲＡＭ１４１０などのシステムメモリを経由して間接的に）ディスクコントローラ１４０６およびデータストア１４０４によって定義されるディスクサブシステムと（ネットワークインタフェース１４４０を介した）ネットワークデータソース／宛先１４４２のどちらかまたは両方から、データを受け取るように位置づけられている。好ましくは、データは、システムバス１４１２を通って再構成可能な論理素子に流れるが、他の設計のアーキテクチャも可能である（図１６ｂ参照）。好ましくは再構成可能な論理素子１４０２はＦＰＧＡであるが、そうである必要はない。例えば再構成可能な論理素子は、オブジェクトが処理素子（例えば算術演算装置）または完全なプロセッサ（例えばチップマルチプロセッサ）であることが可能である汎用のフィールドプログラマブルオブジェクトアレイ（ＦＰＯＡ）の形態をとることも可能である。またシステムバス１４１２は、再構成可能な論理素子１４０２をコンピュータシステムのメインプロセッサ１４０８ならびにコンピュータシステムのＲＡＭ１４１０と相互に接続することができる。本明細書で使用する「バス」という用語は、デバイスおよび場所がアドレスでアクセスされるようにするいかなる物理的相互接続をも含む論理バスを指す。本発明の実施に使用されることが可能であるバスの例には、ＰＣＩファミリのバス（例えばＰＣＩ−ＸおよびＰＣＩ−Ｅｘｐｒｅｓｓ）ならびにＨｙｐｅｒＴｒａｎｓｐｏｒｔバスがあるが、これらに限定されない。好ましい実施形態では、システムバス１４１２はＰＣＩ−Ｘバスとすることができるが、そうである必要はない。
【０１０４】
データストアは、いかなるデータ記憶装置／システムとすることもできるが、ある種の大容量記憶媒体であることが好ましい。例えばデータストア１４０４は、ハードディスクドライブのアレイなど磁気記憶装置とすることができる。しかしながら、本発明の実施に際して他のタイプの記憶媒体も使用に適していることに注意されたい。例えばデータストアは、インターネット、ストレージエリアネットワーク（ＳＡＮ）、または何らかのローカルエリアネットワーク（ＬＡＮ）などのネットワークを通じてアクセスされる１つまたは複数の遠隔データ記憶装置とすることもできる。再構成可能論理デバイス１４０２へ流れるデータの別のソースまたは再構成可能な論理素子１４０２から流れるデータの別の宛先は、上記のようにネットワークインタフェース１４４０を経由するネットワーク１４４２である。金融業界では、ネットワークのデータソース（例えば取引所自体、第三者のプロバイダなど）は、図１２および図１３に関連して上述した金融データストリーム１２０６を提供することができる。
【０１０５】
メインプロセッサ１４０８およびＲＡＭ１４１０によって定義されるコンピュータシステムは、好ましくは当業者には理解される汎用コンピュータシステムである。例えばコンピュータシステムは、Ｉｎｔｅｌ  ＸｅｏｎシステムまたはＡＭＤ  Ｏｐｔｅｒｏｎシステムであることが可能である。
【０１０６】
再構成可能な論理素子１４０２には、その機能を定義するファームウェアモジュールが導入されている。１つの具体例では、ファームウェアソケットモジュール１４２０が、再構成可能な論理素子への、および再構成可能論理デバイスからのデータ（コマンドデータおよびターゲットデータ）の移動要求を処理し、それによってやはり再構成可能論理デバイス上に導入されたファームウェアアプリケーションモジュール（ＦＡＭ）チェーン１４３０への整合性があるアプリケーションインタフェースを提供する。ＦＡＭチェーン１４３０のＦＡＭ１４３０ｉは、ファームウェアソケットモジュール１４２０からチェーン１４３０を通って流れるデータに指定されたデータ処理動作を行うように構成されている。本発明の好ましい実施形態に従って再構成可能論理上に導入されることが可能であるＦＡＭの好ましい例は、オプション価格付けに関連して上述している。例えば、図２ｂのパイプライン２５０（図３および図５ａから図５ｄの例で具体化される構成要素を含む）が、オプションのインプライドボラティリティを計算するためにＦＡＭチェーン１４３０に導入されることが可能である。また本発明の実施者に希望されれば、図６ａの組合せ論理ステージ６２２が、オプションの適正市場価格を計算するために、ＦＡＭチェーン１４３０に導入されることも可能である。さらに、再構成可能論理上に利用可能な資源が十分ある場合は、図６ａおよび図６ｂに関連して説明したルックアップユニット６２０およびルックアップテーブルの１つまたは複数が、ＦＡＭチェーン１４３０に導入されることが可能であることに注意されたい。同様に、図７で説明したアーキテクチャ７００の全部または一部が、オプションの理論上の適正市場価格を計算するために、ＦＡＭチェーン１４３０に導入されることが可能である。
【０１０７】
ＦＡＭによって行われる特定のデータ処理動作は、ＦＡＭがファームウェアソケットモジュール１４２０から受け取るコマンドデータによって制御される／パラメータ化されることが可能である。このコマンドデータは、ＦＡＭ専用であることが可能であり、コマンドを受け取ると、ＦＡＭは受け取られたコマンドによって制御されるデータ処理動作を実行するために準備する。例えば、図２ｂのパイプライン２５０の最初のモジュール２５２として構成されたＦＡＭは、ｎ、ｒ、ε、およびεσの値ならびに最初のボラティリティ帯域境界値σ１１、σ１２、…σ１ｍ＋１を定義するためにパラメータ化されることが可能である。このように、所与のオプションについての指定されたデータ値を計算するように構成されたＦＡＭは、そのＦＡＭに異なるオプション用の新しいパラメータを単にロードすることによって、異なるオプションについてのデータ値を計算するように容易に再構成されることが可能である。このようにして、ＦＡＭチェーン１４３０を介して複数のオプションが処理されるときに高スループットが維持されることが可能である。
【０１０８】
ＦＡＭが受け取られたコマンドによって指定されるデータ処理動作を行うように準備されると、このＦＡＭはファームウェアソケットモジュールから受け取るデータストリーム上の指定されたデータ処理動作を実行できる状態にある。したがってＦＡＭは、指定された方法でデータの指定されたストリームを処理するために、適切なコマンドを介して準備されることが可能である。ＦＡＭがデータ処理動作を完了すると、別のコマンドがこのＦＡＭに送られることが可能であり、このコマンドによってＦＡＭは、行われるデータ処理動作の性質を変更するために再調整する。システムの好ましい実施形態では、ＦＡＭはデータストリームと並行してコマンドを処理することができる。例えばデータの次のストリーム用の新しいパラメータは、現在のデータストリームが終わる前にパラメータキャッシュにロードされることが可能である。ＦＡＭはハードウェアの速度で動作する（それによってＦＡＭを介するデータの高スループットがもたらされる）だけでなく、ＦＡＭはデータ処理動作のパラメータを変更するために柔軟にプログラムを作り直されることも可能である。
【０１０９】
ＦＡＭチェーン１４３０は、パイプライン配列で並べられた複数のファームウェアアプリケーションモジュール（ＦＡＭ）１４３０ａ、１４３０ｂ、…を含むことが好ましい。本明細書で使用する「ＦＡＭパイプライン」、「ＦＡＭパイプライン配列」、または「ＦＡＭチェーン」とは、１つのＦＡＭの出力が順番に次のＦＡＭの入力につながれたＦＡＭの配列のことを指す。このパイプライン配列により、各ＦＡＭは所与のクロックサイクル中に受け取るデータに独立して動作し、次にその出力を別のクロックサイクル中に順番に次の下流ＦＡＭに渡すことが可能になる。
【０１１０】
通信パス１４３２は、ファームウェアソケットモジュール１４２０をパイプラインＦＡＭの第１のＦＡＭ１４３０ａの入力と接続する。第１のＦＡＭ１４３０ａの入力は、ＦＡＭチェーン１４３０の入口点として働く。通信パス１４３４は、パイプラインＦＡＭの最後のＦＡＭ１４３０ｚの出力をファームウェアソケットモジュール１４２０と接続する。最後のＦＡＭ１４３０ｚの出力は、ＦＡＭチェーン１４３０からの出口点として働く。通信パス１４３２も通信パス１４３４も、マルチビットパスであることが好ましい。
【０１１１】
図１５は、図１４のシステム１４００にアプリケーションを導入するための例示的な枠組みを示している。図１５の上位３層は、コンピュータシステムの汎用プロセッサ１４０８上のソフトウェアで行われる機能を表している。下位２層は、再構成可能な論理素子１４０２上のファームウェアで行われる機能を表している。
【０１１２】
アプリケーションソフトウェア層１５００は、どのデータ処理動作がＦＡＭによって行われるべきかを規定するために、およびデータ処理動作はどのデータに行われるべきかを規定するために、１人もしくは複数のユーザまたは外部プログラムがアプリケーションと対話する機能のタイプなど、ハイレベル機能に対応する。
【０１１３】
次の層は、モジュールのアプリケーションプログラミングインタフェース（ＡＰＩ）層１５０２であり、ハイレベルモジュールのＡＰＩ１５０２ａおよびローレベルモジュールのＡＰＩ１５０２ｂを含む。ハイレベルモジュールのＡＰＩ１５０２ａは、アプリケーションレベルのソフトウェア（例えば管理コールバック）に汎用サービスを提供することができる。ローレベルモジュールのＡＰＩ１５０２ｂは、オペレーティングシステム（ＯＳ）レベル／デバイスドライバソフトウェア１５０４の動作を管理する。ソフトウェアライブラリインタフェース１５１０は、ハイレベルモジュールのＡＰＩ１５０２ａをローレベルモジュールのＡＰＩ１５０２ｂにつなぐ。このソフトウェアライブラリインタフェースに関するさらなる詳細は、上記の参照され組み込まれた特許出願第１１／３３９，８９２号に見られる。
【０１１４】
デバイスドライバソフトウェア１５０４とファームウェアソケットモジュール１４２０の間のインタフェースは、システム１４００のハードウェア／ソフトウェアインタフェース１５１２として働く。このインタフェース１５１２の詳細は、上記の参照され組み込まれた特許出願第１１／３３９，８９２号にさらに詳しく記載されている。
【０１１５】
ファームウェアソケットモジュール１４２０とＦＡＭチェーン１４３０の間のインタフェースは、ファームウェアモジュール１５１４である。このインタフェースの詳細は、上記の参照され組み込まれた特許出願第１１／３３９，８９２号にさらに詳しく記載されている。
【０１１６】
図１６ａは、市場データプラットフォームに使用される汎用コンピュータシステムのＰＣＩ−Ｘバス１４１２に接続されることが可能であるプリント回路基板またはカード１６００を示している。図１６ａの例では、プリント回路基板は、メモリデバイス１６０４およびＰＣＩ−Ｘバスコネクタ１６０６と通信するＦＰＧＡ１６０２（Ｘｉｌｉｎｘ  Ｖｉｒｔｅｘ  ４  ＦＰＧＡなど）を含んでいる。好ましいメモリデバイス１６０４には、ＳＲＡＭおよびＤＲＡＭメモリが含まれる。好ましいＰＣＩ−Ｘバスコネクタ１６０６は、標準的なカードエッジコネクタである。
【０１１７】
図１６ｂは、プリント回路基板／カード１６００の代替的な構成を示している。図１６ｂの例では、プライベートバス１６０８（ＰＣＩ−Ｘバスなど）、ネットワークインタフェースコントローラ１６１０、およびネットワークコネクタ１６１２もまた、プリント回路基板１６００に組み込まれる。当業者には理解されるように、いかなる汎用ネットワークインタフェース技術も対応可能である。この構成では、ファームウェアソケット１４２０は、ＰＣＩ−ＸとＰＣＩ−Ｘのブリッジとしても働き、プロセッサ１４０８がプライベートＰＣＩ−Ｘバス１６０８を介して接続されるネットワークに正常にアクセスできるようにする。
【０１１８】
図１６ａまたは図１６ｂのいずれの構成でも、ファームウェアソケット１４２０は、メモリ１６０４をＰＣＩ−Ｘバスにアクセスできるようにし、それによってメモリ１６０４を、ディスクコントローラおよび／またはネットワークインタフェースコントローラからＦＡＭへの転送のためのバッファとして、ＯＳカーネル１５０４用に利用できるようにされることに注目すべきである。また注目すべきことは、図１６ａおよび図１６ｂのプリント回路基板には単一ＦＰＧＡ１６０２を示しているが、プリント回路基板１６００に２つ以上のＦＰＧＡを含むことによって、またはコンピュータシステムに２つ以上のプリント回路基板１６００を組み込むことによって、複数のＦＰＧＡがサポートされることが可能であることであり、理解されたい。図１７は、単一パイプラインの多数のＦＡＭが、複数のＦＰＧＡにわたって導入されている例を示している。
【０１１９】
図１４から図１６ｂに示すように、インバウンドデータ（カーネル１５０４からカード１６００へ）は、コンピュータシステムのバス１４１２を越えてファームウェアソケットモジュール１４２０に移され、次にファームウェアソケットモジュール１４２０によってＦＡＭチェーン１４３０に運ばれる。アウトバウンドデータ（カード１６００からカーネル１５０４へ）は、ＦＡＭチェーン１４３０からファームウェアソケットモジュール１４２０に運ばれ、次にファームウェアソケットモジュール１４２０によってＰＣＩ−Ｘバスを越えてコンピュータシステム上で実行中のソフトウェアアプリケーションに運ばれる。図１５に示すように、使用される３つの相互に作用するインタフェースは、ファームウェアモジュールインタフェース１５１４、ハードウェア／ソフトウェアインタフェース１５１２、およびソフトウェアライブラリインタフェース１５１０である。
【０１２０】
図１８は、流れている金融情報に関する様々なデータ処理タスクを実行するための例示的ＦＡＭパイプラインを示しており、本明細書で説明するオプション価格付け機能が、フィールド計算エンジン１８１２全体にまたは一部に導入されることが可能である。図１８のＦＡＭパイプラインは、ＦＡＳＴメッセージストリームを取り入れる。ＦＡＳＴ（ストリーミングに適したＦＩＸ）は、メッセージ符号化方式として当技術分野で知られている。入ってくるＦＡＳＴストリームは、ＦＡＭ１８０２によって受け取られ、ＦＡＭ１８０２がＦＡＳＴメッセージのストリームをデシリアライズ（ｄｅｓｅｒｉａｌｉｚｅ）する。デシリアライズされたＦＡＳＴメッセージは、次にＦＡＭ１８０４に供給され、ＦＡＭ１８０４は、メモリ１８２２内のテンプレートおよびフィールドマップならびにメモリ１８２４内のオペレータ値によって支援されるように、ＦＡＳＴメッセージの様々なフィールドを復号するために動作する。したがって、ＦＡＭ１８０４の出力は、構成フィールドに分解されたＦＡＳＴメッセージのデータの内容を含む。この内容は、次に様々な並列ＦＡＭ１８０６、１８０８、および１８１０に渡される。ＦＡＭ１８０６は、受け取るデータに管理レコードフィルタを行う。管理レコードフィルタは、好ましくはパイプラインの他のＦＡＭモジュールのいずれによっても処理されないメッセージ型を透過するように動作する。ＦＡＭ１８０８は、上記の参照され組み込まれた第６０／８１４，７９６号出願に記載されたように、トップ１０リストエンジンとして働く。ＦＡＭ１８１０は、メッセージクエリフィルタとして働く。メッセージクエリフィルタは、あるメッセージがメッセージフローから排除されることを可能にする。このようなフィルタは、好ましくはＦＡＭ１８１０でパラメータ化され、各メッセージ内に含まれるフィールド値に基づくフィルタリング基準が柔軟に定められて、ＦＰＧＡ上にロードされるようにする。メッセージをフィルタにかけるために使用されることが可能であるフィルタリング基準の例には、特定タイプの商品（例えば普通株、ワラント、債券、オプション、商品、先物など）、金融商品の所定セット（例えば指数または「取引所で取引される投資信託」（ＥＴＦ））内の資格、メッセージ型などがある。フィールド計算エンジン１８１２がオプション価格付けエンジンを含む本明細書の実施形態では、メッセージクエリフィルタ１８１０は、好ましくはオプションメッセージをフィールド計算エンジンに送って処理するように構成される。
【０１２１】
したがって、上記のようにＦＡＭ１８１０の出力（オプションメッセージのストリームを含む）は、次に、オプション価格付けを行うためのルールベース型計算エンジンとして構成されたＦＡＭ１８１２に送られる。またＦＡＭ１８１２は、好ましくはトップ１０リストのＦＡＭ１８０８と同様に、リアルタイムフィールド値キャッシュ１８２６からデータを受け取ってＬＶＣデータを取得する。キャッシュ１８２６は、記憶装置１３３２に組み入れられることが好ましい。ルールベース型計算エンジンＦＡＭ１８１２からの出力は、次に並列のＦＡＭ１８１４、１８１６、および１８１８に送られる。ＦＡＭ１８１４は、メッセージマルチプレクサとして働くことができ、ＦＡＭ１８０６、１８０８および１８１２の出力からメッセージを受け取る。ＦＡＭ１８２０は、ＦＡＭ１８１４によって多重化されたメッセージを受け取り、これらのメッセージを所望のフォーマットに符号化する働きをする。ＦＡＭ１８１６は、アラート生成エンジンとして働き、その機能は上記で説明されており、またその出力はパイプラインから出る。ＦＡＭ１８１８は、値キャッシュ更新エンジンとして働き、キャッシュ１８２６が最新状態であることを保証する。
【０１２２】
図１９は、複数のデータ処理タスクを実行する別の例示的ＦＡＭパイプラインを示している。ＦＡＭ１９０２は、固定フォーマットのメッセージのストリームを取り込み、これらのメッセージをその構成要素のデータフィールドにパースする。ＦＡＭ１９０２の出力は、ＦＡＭ１９０４およびＦＡＭ１９１８に提供されることが可能である。ＦＡＭ１９１８は、メッセージ同期バッファとして働く。したがって、元のパースされたメッセージのフィールドは、ＦＡＭ１９０２からＦＡＭ１９１８へ直接送られるので、図１９の上位パス（ＦＡＭ１９０４、１９０６、１９０８、１９１０、１９１２、および１９１４によって定義される）がパースされたメッセージの選択フィールドを処理する間、ＦＡＭ１９１８はこれらのデータフィールドをバッファすることになる。したがって、上位パスのＦＡＭによって行われる処理が完了すると、メッセージフォーマッタＦＡＭ１９１６が、そのパースされたメッセージならびにＦＡＭ１９１８の中にバッファされたフィールドに対し、上位パスによって処理されたフィールドを使用して、パイプラインから出力する新しいメッセージを生成することができる。メッセージフォーマッタ１９１６は、次に上位パスのＦＡＭによって処理されたフィールドをそのメッセージ用にＦＡＭ１９１８にバッファされたフィールドに加えること、そのメッセージ用にＦＡＭ１９１８にバッファされた選択フィールドを上位パスのＦＡＭによって処理されたフィールドと置き換えること、またはこの追加と置換えの組合せを行うことができる。
【０１２３】
ＦＡＭ１９０４は、パースされたメッセージで定義される金融商品（または金融商品のセット）の既知の記号をプラットフォーム内部の記号表示にマップするように動作する（例えばＩＢＭ株の記号を内部記号「１２３４５」にマップする）。ＦＡＭ１９０６は、ＦＡＭ１９０４からの出力を受け取り、メモリ１９２４によってＬＶＣキャッシュを更新するように働く。ＦＡＭ１９０６の出力は、次にＦＡＭ１９０８、１９１０、１９１２、および１９１４に並行して提供される。
【０１２４】
ＦＡＭ１９０８は、上述のようにトップ１０リスト生成器として動作する。ＦＡＭ１９１０は、上記の参照され組み込まれた第６０／８１４，７９６号出願に記載されたように、Ｍｉｎｕｔｅ  Ｂａｒ生成器として動作する。ＦＡＭ１９１２は、上記の参照され組み込まれた第６０／８１４，７９６号出願に記載されているように、金利／権利付与フィルタとして動作し、またＦＡＭ１９１４は、上述のようにプログラム計算エンジンとして動作する。この実施形態では、プログラム計算エンジン１９１４は、図１ａから図１１の実施形態のいずれかと関連して説明したようにオプション価格付けを使用することができる。ＦＡＭ１９０８、１９１０、１９１２および１９１４からの出力は、次にメッセージフォーマッタＦＡＭ１９１６に提供され、このメッセージフォーマッタＦＡＭ１９１６は、ＦＡＭ１９０８、１９１０、１９１２、１９１４および１９１８の出力から所望のフォーマットの固定フォーマットメッセージを作成するように動作する。
【０１２５】
これらのタスクを実行する際に、ＦＡＭ１９０４は、テンプレートおよびフィールドマップを格納するメモリ１９２０、ならびに記号指数を格納するメモリ１９２２によって支援される。ＦＡＭ１９０６もまた、メモリ１９２０ならびにＬＶＣキャッシュとして働くメモリ１９２４によって支援される。メモリ１９２０は、ＦＡＭ１９０８によってもアクセスされ、メモリ１９２４は、ＦＡＭ１９１４によってもアクセスされる。ＦＡＭ１９１２は、ボード１６００の初期設定中に記憶装置１３３４からロードされる金利権利付与メモリ１９２６にアクセスする。
【０１２６】
これらの図は、リアルタイムの金融データストリームを処理するように実装されることが可能であるＦＡＭパイプラインのいくつかの実施形態を示しているが、本明細書の教示に従って当業者により数多くの他のＦＡＭパイプラインが容易に考案され、開発されることが可能であることに注意されたい。
【０１２７】
さらにまた、冗長の目的のためおよび／またはスケーリングの目的のために、冗長機器１３０４、１３０６、１３０８、１３１０、１３１２、１３１４および１３１６が、所与の市場データプラットフォーム１３００に導入されることが可能であることに注意されたい。
【０１２８】
さらには、本発明の実施者は、本明細書で再構成可能論理において説明した機能のすべてに満たない機能を導入することを選択することができるということにも注意されたい。例えばデバイス１３０４は、単に再構成可能論理においてオプション価格付けを、または図１３に挙げた機能の何らかの他の一部を行うように取り決められることが可能である。ユーザが後にさらなる機能をデバイス１３４に追加することを望む場合は、所望の新しい機能を追加するように、システム１４００の再構成可能論理を単に再構成することによって追加することができる。また、図１３に示す破線ボックスは、データ処理動作の同じカテゴリに属すると考えることができるデータ処理機能を囲んでいる。すなわち、デバイス１３１２および１３１４は、管理動作として分類されることが可能である。デバイス１３０４は、データアクセスのためのフィードハンドリング／プロセシング、値追加サービス、および履歴サービスを提供するとして分類されることが可能である。デバイス１３０６、１３０８および１３１０は、直接市場アクセス取引システムとして分類されることが可能である。時間と共に再構成可能論理の改善が続いてより多くの資源が利用できるようになる（例えばＦＰＧＡ上でメモリがより利用できるようになる）と、破線ボックスで示す同様のカテゴリのデータ処理動作を結合することによって、金融データ処理機能のさらなる統合が達成可能であり、それによってプラットフォーム１３００を構築するために必要とされる機器１４００の数をさらに削減すると想像する。さらにまた、ＦＰＧＡについて時間と共に資源がこのように向上する場合、図１３に示すすべての機能を単一システム１４００に統合することなど、さらなる統合が起こると予測可能である。
【０１２９】
したがって、本発明の実施で展開されるプラットフォーム１３００は、（従来のＧＰＰベースのシステムに比べて）プラットフォーム１３００に必要とされる機器の数、ならびにそのようなプラットフォームに消費されるスペースを削減しながら、金融市場情報のためのデータ処理速度を向上させるように設計されることが可能である。プラットフォーム１３００を用いると、ワークステーション１２０４のトレーダ（またはアプリケーションプログラミングインタフェース（ＡＰＩ）を介してプラットフォームにアクセスする顧客支給のアプリケーションソフトウェアプログラム１３５０などのユーザは、従来のシステムから見込まれるより少なく待ち時間で、金融市場に関する様々な情報を取得することができる。この待ち時間の改善は、本発明の実施者にとって多大な価値になりうる。
【０１３０】
本発明は、その好ましい実施形態と関連して以上に説明してきたが、なし得る様々な変更形態は、本発明の範囲内に入るものとする。
【０１３１】
例えば、図３のＯＰＭ計算ユニット３００は、図２０ａおよび図２０ｂに示すように、所与の入力σｑｉについて理論上の適正市場オプション価格を計算するために、ルックアップテーブルの手法を使用することができることに注意されたい。このようなＯＰＭ計算ユニット３００’ｉは、好ましくは図６ｃと関連して説明した組合せ論理ステージのような組合せ論理ステージ６２２と通信するルックアップユニット２０２０を含む。ルックアップユニット２０２０は、好ましくは図６ｂと関連して説明したルックアップテーブルなどのルックアップテーブル６１０を使用する。次にルックアップユニット２０２０は、（１）オプションメッセージ２６０および入力されたボラティリティ値σｑｉを受け取る、（２）このオプションメッセージ２６０をパースして、ルックアップテーブル６１０を指数化するために指数値２００８（好ましくはオプションの残存期間の特性の値）を確認する、（３）残存期間の指数２００８とボラティリティの指数２００６で定義されたテーブルのエントリ６１６に配置された予め計算された項６１２（例えば（Ａ，Ｂ）ペア）を取り出すように動作する。取り出された予め計算された項６１２は次に、オプションの理論上の適正市場価格を計算するように構成された組合せ論理ステージ６２２に渡されることが可能である。
【０１３２】
別の例として、図２ｂの実施形態は、各計算モジュール２５２が図２ａに示すアルゴリズムの異なる反復を実行するように構成された複数のパイプライン計算モジュール２５２を示しているが、システムはまた、同じ計算モジュール２５２がすべての反復の計算を行うように構成されることも可能であり、その場合計算モジュール２５２の出力は、次の反復のために自身にフィードバックされることに注意されたい。この構成は、システムのスループット能力を低下させる恐れがあるが、このような設計は、処理プラットフォーム上で利用できる処理資源の量を考えると、システムが必要とする計算資源の量を削減するために望ましいものである可能性がある。同様の方法で、混成手法がとられることも可能であり、混成手法では複数の計算モジュール２５２がパイプライン２５０に配置されるが、その計算モジュール２５２の一部（場合によりそのうちのただ１つ）が図２ａに示すアルゴリズムの複数の反復の計算を行うように構成される。このような構成では、利用できる計算資源の量に問題がある場合、スループットと利用できる計算資源のバランスが追求されることが可能である。
【０１３３】
同様に、図３の実施形態は計算モジュール２５２内で動作している複数の並列ＯＰＭ計算ユニット３００を示しているが、計算モジュール２５２はまた、図２ａに示すアルゴリズムの異なる反復を実行するように構成されることも可能であり、またシステムは、ただ１つのＯＰＭ計算ユニット３００を有して構成されることも可能であり、その場合単一計算ユニット３００が、所与の反復の異なるボラティリティ値のそれぞれについて理論上の適正オプション価格を順次計算することにも注意されたい。やはりこの設計はスループットを犠牲にする恐れがあるが、このような設計は、所与の処理プラットフォーム上で利用できる計算資源の量を考えると望ましい可能性がある。また上述のように、混成手法がとられることが可能であり、混成手法では複数の並列ＯＰＭ計算ユニット３００が計算モジュール２５２に導入されるが、ＯＰＭ計算ユニット３００の数は、所与の反復の各ボラティリティ値について理論上の適正市場価格を別々に計算するには十分ではなく、ＯＰＭ計算ユニット３００の少なくとも１つがその反復の複数の異なるボラティリティ値について順次作動する。好ましくは、所与の反復のボラティリティ値の作業量は、複数の順次作動するＯＰＭ計算ユニット３００すべてにわたって均等に分配される。また、このような設計では、組合せ論理ステージ３０４は、ＯＰＭ計算ユニット３００が所与の反復のボラティリティ値の次のセットについて順次作動している間に様々な計算ユニット３０２からの出力を格納するためのバッファスペースを有して構成されることに注意されたい。
【０１３４】
また、好ましい実施形態では、インプライドボラティリティが存在するボラティリティ帯域を特定するステップは、計算された理論上の適正市場価格がオプションの実際の購入価格を取り囲むようになる上下のボラティリティ値から帯域を定めることを含むことに注意されたい。インプライドボラティリティが存在する帯域を特定するための別のオプションは、オプションの実際の購入価格に最も近い値である計算された理論上の適正市場価格に対応するボラティリティ値を決定することである。特定される帯域はこのとき、決定されたボラティリティ値の両方向にいくらか追加の幅を加えることによって定められることが可能である。
【０１３５】
さらに、好ましい実施形態は、コールオプションとプットオプションの両方ならびにアメリカンオプションとヨーロピアンオプションの両方を処理するために同じパイプラインが使用されることが可能である（オプションメッセージ内の適切なフラッグが使用されて、パイプラインが所与のオプションメッセージをコールオプション／プットオプションおよび／またはアメリカンオプション／ヨーロピアンオプションとして扱うかどうかを制御する）と説明しているが、システムは、各パイプラインが所与のタイプのオプションに対して構成された複数の個々のパイプライン（例えば１つのパイプラインがアメリカンオプション用、１つのパイプラインがヨーロピアンオプション用である２つのパイプラインシステム、１つのパイプラインがコールオプション用、１つのパイプラインがプットオプション用である２つのパイプラインシステム、１つのパイプラインがアメリカンコールオプション用、１つのパイプラインがアメリカンプットオプション用、１つのパイプラインがヨーロピアンコールオプション用、１つのパイプラインがヨーロピアンプットオプション用である４つのパイプラインシステム）を維持するように構成されることも可能であることに注意されたい。このような実施形態では、オプションメッセージは、そのコールフラッグ／プットフラッグおよび／またはアメリカンフラッグ／ヨーロピアンフラッグに基づいて適切なパイプラインへ導かれることが可能である。
【０１３６】
本明細書の教示を検討すれば本発明に対するこれらの変更形態および他の変更形態が認識できるであろう。したがって、本発明の全範囲は、添付の特許請求の範囲およびその法的均等物によってのみ定められるべきである。
【図１ａ】
0005492767.tif 000013
【図１ｂ】
0005492767.tif 000014
【図１ｃ】
0005492767.tif 000015
【図１ｄ】
0005492767.tif 000016
【図１ｅ】
0005492767.tif 000017
【図２ａ】
0005492767.tif 000018
【図２ｂ】
0005492767.tif 000019
【図２ｃ】
0005492767.tif 000020
【図３】
0005492767.tif 000021
【図４】
0005492767.tif 000022
【図５ａ】
0005492767.tif 000023
【図５ｂ】
0005492767.tif 000024
【図５ｃ】
0005492767.tif 000025
【図５ｄ】
0005492767.tif 000026
【図６ａ】
0005492767.tif 000027
【図６ｂ】
0005492767.tif 000028
【図６ｃ】
0005492767.tif 000029
【図７】
0005492767.tif 000030
【図８ａ】
0005492767.tif 000031
【図８ｂ】
0005492767.tif 000032
【図８ｃ】
0005492767.tif 000033
【図８ｄ】
0005492767.tif 000034
【図８ｅ】
0005492767.tif 000035
【図９ａ】
0005492767.tif 000036
【図９ｂ】
0005492767.tif 000037
【図９ｃ】
0005492767.tif 000038
【図９ｄ】
0005492767.tif 000039
【図１０ａ】
0005492767.tif 000040
【図１０ｂ】
0005492767.tif 000041
【図１１】
0005492767.tif 000042
【図１２】
0005492767.tif 000043
【図１３】
0005492767.tif 000044
【図１４】
0005492767.tif 000045
【図１５】
0005492767.tif 000046
【図１６ａ】
0005492767.tif 000047
【図１６ｂ】
0005492767.tif 000048
【図１７】
0005492767.tif 000049
【図１８】
0005492767.tif 000050
【図１９】
0005492767.tif 000051
【図２０ａ】
0005492767.tif 000052
【図２０ｂ】
0005492767.tif 000053