(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-12
(45)【発行日】2022-12-20
(54)【発明の名称】コアレート生成装置、コアレート生成方法およびプログラム
(51)【国際特許分類】
G06Q 40/04 20120101AFI20221213BHJP
【FI】
G06Q40/04
(21)【出願番号】P 2021023939
(22)【出願日】2021-02-18
(62)【分割の表示】P 2020556982の分割
【原出願日】2019-10-31
【審査請求日】2021-02-18
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】100109380
【氏名又は名称】小西 恵
(74)【代理人】
【識別番号】100109036
【氏名又は名称】永岡 重幸
(72)【発明者】
【氏名】エイムス マシュー
(72)【発明者】
【氏名】シャロン ブリューノ アンドレ
【審査官】加舎 理紅子
(56)【参考文献】
【文献】米国特許出願公開第2002/0042765(US,A1)
【文献】特表2003-528679(JP,A)
【文献】特開2013-257701(JP,A)
【文献】藤澤 洋徳,ロバスト統計 -外れ値への対処の仕方-,株式会社近代科学社,2017年07月31日,p.5-20
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
複数のカウンタパーティでそれぞれ生成される複数のレートを取得するレート取得部と、
前記複数のレートの全体の中央値を算出する中央値算出部と、
前記複数のレートのそれぞれと、前記中央値との差分を算出する差分算出部と、
前記複数のレートのそれぞれについて算出された前記差分に基づいて、前記複数の
カウンタパーティのそれぞれについて重みを導出する重み導出部と、
前記複数のレートのそれぞれに前記重みを付与して
、前記複数のカウンタパーティの全体のコアレート
を生成するコアレート生成部と、
を備えることを特徴とするコアレート生成装置。
【請求項2】
前記重み導出部は、前記差分を指数関数の入力として、前記複数のレートのそれぞれの正確性を算出し、算出された前記正確性に基づいて、前記重みを導出する
ことを特徴とする請求項1に記載のコアレート生成装置。
【請求項3】
前記重み導出部は、前記複数のレートのそれぞれの前記正確性を所定期間に亘り算出し、前記所定
期間に亘り算出された前記正確性に基づいて、前記重みを導出する
ことを特徴とする請求項2に記載のコアレート生成装置。
【請求項4】
前記重み導出部は、前記所定期間に亘り算出された前記正確性の指数移動平均を算出することで、前記重みを導出する
ことを特徴とする請求項3に記載のコアレート生成装置。
【請求項5】
複数のレートを取得するレート取得部と、
前記複数のレートの全体の中央値を算出する中央値算出部と、
前記複数のレートのそれぞれと、前記中央値との差分を算出する差分算出部と、
前記複数のレートのそれぞれについて算出された前記差分を指数関数の入力として、前記複数のレートのそれぞれの正確性を所定期間に亘り算出し、前記所定
期間に亘り算出された前記正確性の指数移動平均を算出することで、前記複数のレートのそれぞれに付与すべき重みを導出する重み導出部と、
前記レートに前記重みを付与して、コアレートを生成するコアレート生成部と、
を備えることを特徴とするコアレート生成装置。
【請求項6】
前記コアレート生成部は、前記重みが付与された前記複数のレートの全体の中央値を、前記コアレートとして生成する
ことを特徴とする請求項5に記載のコアレート生成装置。
【請求項7】
前記指数移動平均の第1のパラメータを、所定の評価関数を用いて調整する第1の調整部をさらに備える
ことを特徴とする請求項4から6のいずれか1項に記載のコアレート生成装置。
【請求項8】
前記指数関数の第2のパラメータを、所定の評価関数を用いて調整する第2の調整部をさらに備える
ことを特徴とする請求項2から6のいずれか1項に記載のコアレート生成装置。
【請求項9】
前記コアレート生成部は、さらに、生成された前記コアレートに所定のスプレッド幅でスキューを付与することにより、顧客への提示レートを生成する
ことを特徴とする請求項1から8のいずれか1項に記載のコアレート生成装置。
【請求項10】
コアレート生成装置が実行するコアレート生成方法であって、
複数のカウンタパーティでそれぞれ生成される複数のレートを取得するステップと、
前記複数のレートの全体の中央値を算出するステップと、
前記複数のレートのそれぞれと、前記中央値との差分を算出するステップと、
前記複数のレートのそれぞれについて算出された前記差分に基づいて、前記複数の
カウンタパーティのそれぞれについて重みを導出するステップと、
前記複数のレートのそれぞれに前記重みを付与して
、前記複数のカウンタパーティの全体のコアレート
を生成するステップと、
を含むことを特徴とするコアレート生成方法。
【請求項11】
コアレート生成装置が実行するコアレート生成方法であって、
複数のレートを取得するステップと、
前記複数のレートの全体の中央値を算出するステップと、
前記複数のレートのそれぞれと、前記中央値との差分を算出するステップと、
前記複数のレートのそれぞれについて算出された前記差分を指数関数の入力として、前記複数のレートのそれぞれの正確性を所定期間に亘り算出し、前記所定
期間に亘り算出された前記正確性の指数移動平均を算出することで、前記複数のレートのそれぞれに付与すべき重みを導出するステップと、
前記レートに前記重みを付与して、コアレートを生成するステップと、
を含むことを特徴とするコアレート生成方法。
【請求項12】
コアレート生成処理をコンピュータに実行させるためのコアレート生成プログラムであって、該プログラムは、前記コンピュータに、
複数のカウンタパーティでそれぞれ生成される複数のレートを取得するレート取得処理と、
前記複数のレートの全体の中央値を算出する中央値算出処理と、
前記複数のレートのそれぞれと、前記中央値との差分を算出する差分算出処理と、
前記複数のレートのそれぞれについて算出された前記差分に基づいて、前記複数の
カウンタパーティのそれぞれについて重みを導出する重み導出処理と、
前記複数のレートのそれぞれに前記重みを付与して
、前記複数のカウンタパーティの全体のコアレート
を生成するコアレート生成処理と、を含む処理を実行させるためのものである、
ことを特徴とするコアレート生成プログラム。
【請求項13】
コアレート生成処理をコンピュータに実行させるためのコアレート生成プログラムであって、該プログラムは、前記コンピュータに、
複数のレートを取得するレート取得処理と、
前記複数のレートの全体の中央値を算出する中央値算出処理と、
前記複数のレートのそれぞれと、前記中央値との差分を算出する差分算出処理と、
前記複数のレートのそれぞれについて算出された前記差分を指数関数の入力として、前記複数のレートのそれぞれの正確性を所定期間に亘り算出し、前記所定
期間に亘り算出された前記正確性の指数移動平均を算出することで、前記複数のレートのそれぞれに付与すべき重みを導出する重み導出処理と、
前記レートに前記重みを付与して、コアレートを生成するコアレート生成処理と、を含む処理を実行させるためのものである、
ことを特徴とするコアレート生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コアレート生成装置、コアレート生成方法およびプログラムに関し、特に、複数のカウンタパーティにより提示される複数のレートから、顧客に提示すべきレートの基礎となるコアレートを自動生成する技術に関する。
【背景技術】
【0002】
例えば、FX(外国為替証拠金取引)等の為替レートをベースとする金融取引を行う事業者は、ウェブプラットフォーム等で構築されるGUI(Graphical User Interface)を介して、顧客(投資家)に、通貨ペアごとに、事業者の売値(BID)と買値(ASK)を随時提供する。
顧客は、取引口座を開設し、自己資金に所定のレバレッジ(日本の顧客の場合25:1)を掛けて、提供された買値(ASK)および売値(BID)で自己資金を売買する。
【0003】
事業者は、別途の手数料を徴収することなく、ASKとBIDの差分であるスプレッドから利益を取得することができる。
例えば、米ドル/日本円(USD/JPY)の通貨ペアで、事業者の買値(ASK)が1米ドル当たり109.947円、売値(BID)が109.944円とすると、スプレッドは0.003円(0.3pips:1pip=1銭)となる。
【0004】
事業者は、カバー先である複数のカウンタパーティ(例えば、銀行や証券会社等の金融機関)と、顧客との相対取引で事業者に発生したポジションをヘッジするための売買取引を行うことで、マーケットリスク(相場変動に伴うリスク)を相殺している。
このため、一般的には、事業者が顧客に提示する投資家提示レートは、複数のカウンタパーティからそれぞれ取得される、カウンタパーティが事業者に提示するカウンタパーティ提示レートに基づいて生成される。
【0005】
具体的には、事業者は、複数のカウンタパーティのカウンタパーティ提示レートをモニターし、信頼性の高いカウンタパーティのサブセットをマニュアルで選択する。次に、事業者は、選択されたカウンタパーティのサブセットのカウンタパーティ提示レートの中から、例えば、事業者にとって最も有利である直近のASKレートとBIDレートとを用いることにより、コアレートを生成する。
このコアレートに、事業者の利益となるスプレッドを付加して、スプレッド付加レートを生成する。さらに、このスプレッドに対して、任意の大きさのスキュー値を増減するスキュー処理を適用して、顧客に提示すべき投資家提示レートを生成する。
【0006】
特許文献1(特願2014-13516号公報)は、複数のカウンタパーティ(マーケットメーカ)から、例えば、0.05秒から0.1秒等の短い時間間隔で繰り返し送信されてくるマーケットメーカ提示レートを取得して、コアレートを生成するOTC(Over The Counter)-FX業務用のレート生成システムを開示する。具体的には、特許文献1のレート生成システムは、通貨ペアを米ドル/日本円(USD/JPY)とした場合、取得した複数のマーケットメーカ提示レートから、BIDについては、FX業者が最も高く米ドルを売ることができるレート(すなわち、最も高く米ドルを買ってくれるマーケットメーカの提示レート)をBIDコアレートとして選択し、一方、ASKについては、FX業者が最も安く米ドルを買うことができるレート(すなわち、最も安く米ドルを売ってくれるマーケットメーカの提示レート)をASKコアレートとして選択する。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、マニュアルで選択されたカウンタパーティのサブセット(通常は2,3のカウンタパーティ)のカウンタパーティ提示レートが、常に事業者にとって最も有利なレートを含むとは限らない。このため、従来は、事業者にとって最適なコアレートが生成できず、コアレートの精度が低いおそれがあった。
特に、選択されたカウンタパーティのうち、いずれかのカウンタパーティで突発的に不正確で変則的変動(ブレ)のあるレートが提示された場合、このような不正確で変則的変動(ブレ)のあるレートが偶然ベストBID/ASKの値となってしまうと、最終的に生成されるコアレートが、カウンタパーティ提示レートの変則的変動(ブレ)の影響をそのまま受けてしまう。
さらに、市場において1日に実行すべき為替取引のトランザクションのボリュームは、例えば、数百億米ドルに上り、レートの更新頻度も、例えば、5msと極めて高頻度であって、1日に数百万回に及ぶレートの更新が発生する。このため、コアレートを自動的に算出する処理は、システム資源への負荷の増大を低減しつつ、より高速で実行可能な処理でなければならない。
【0009】
本発明は上記課題を解決するためになされたものであり、その目的は、カウンタパーティから提示されるレートに発生する変則的変動(ブレ)に対して堅牢であり、かつより高精度にコアレートを生成することが可能なコアレート生成装置、コアレート生成方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明に係るコアレート生成装置の一態様は、複数のレートを取得するレート取得部と、前記複数のレートの全体の中央値を算出する中央値算出部と、前記複数のレートのそれぞれと、前記中央値との差分を算出する差分算出部と、前記複数のレートのそれぞれについて算出された前記差分に基づいて、前記複数のレートのそれぞれに付与すべき重みを導出する重み導出部と、 前記複数のレートのそれぞれに前記重みを付与して、前記重みが付与された前記複数のレートの全体の中央値を、コアレートとして生成するコアレート生成部と、を備える。
【0011】
前記重み導出部は、前記差分を指数関数の入力として、前記複数のレートのそれぞれの正確性を算出し、算出された前記正確性に基づいて、前記重みを導出してよい。
【0012】
前記重み導出部は、前記複数のレートのそれぞれの前記正確性を所定期間に亘り算出し、前記所定時間に亘り算出された前記正確性に基づいて、前記重みを導出してよい。
【0013】
前記重み導出部は、前記所定期間に亘り算出された前記正確性の指数移動平均を算出することで、前記重みを導出してよい。
【0014】
本発明に係るコアレート生成装置の他の一態様は、複数のレートを取得するレート取得部と、前記複数のレートの全体の中央値を算出する中央値算出部と、前記複数のレートのそれぞれと、前記中央値との差分を算出する差分算出部と、前記複数のレートのそれぞれについて算出された前記差分を指数関数の入力として、前記複数のレートのそれぞれの正確性を所定期間に亘り算出し、前記所定時間に亘り算出された前記正確性の指数移動平均を算出することで、前記複数のレートのそれぞれに付与すべき重みを導出する重み導出部と、前記レートに前記重みを付与して、コアレートを生成するコアレート生成部と、を備える。
【0015】
前記コアレート生成部は、前記重みが付与された前記複数のレートの全体の中央値を、前記コアレートとして生成してよい。
【0016】
前記コアレート生成装置はさらに、前記指数移動平均の第1のパラメータを、所定の評価関数を用いて調整する第1の調整部をさらに備えてよい。
前記コアレート生成装置はさらに、前記指数関数の第2のパラメータを、所定の評価関数を用いて調整する第2の調整部をさらに備えてよい。
【0017】
前記コアレート生成部は、さらに、生成された前記コアレートに所定のスプレッド幅でスキューを付与することにより、顧客への提示レートを生成してよい。
【0018】
本発明に係るコアレート生成方法の一態様は、コアレート生成装置が実行するコアレート生成方法であって、複数のレートを取得するステップと、前記複数のレートの全体の中央値を算出するステップと、前記複数のレートのそれぞれと、前記中央値との差分を算出するステップと、前記複数のレートのそれぞれについて算出された前記差分に基づいて、前記複数のレートのそれぞれに付与すべき重みを導出するステップと、前記複数のレートのそれぞれに前記重みを付与して、前記重みが付与された前記複数のレートの全体の中央値を、コアレートとして生成するステップと、を含む。
本発明に係るコアレート生成方法の他の一態様は、コアレート生成装置が実行するコアレート生成方法であって、複数のレートを取得するステップと、前記複数のレートの全体の中央値を算出するステップと、前記複数のレートのそれぞれと、前記中央値との差分を算出するステップと、前記複数のレートのそれぞれについて算出された前記差分を指数関数の入力として、前記複数のレートのそれぞれの正確性を所定期間に亘り算出し、前記所定時間に亘り算出された前記正確性の指数移動平均を算出することで、前記複数のレートのそれぞれに付与すべき重みを導出するステップと、前記レートに前記重みを付与して、コアレートを生成するステップと、を含む。
【0019】
本発明に係るコアレート生成プログラムの一態様は、コアレート生成処理をコンピュータに実行させるためのコアレート生成プログラムであって、該プログラムは、前記コンピュータに、複数のレートを取得するレート取得処理と、前記複数のレートの全体の中央値を算出する中央値算出処理と、前記複数のレートのそれぞれと、前記中央値との差分を算出する差分算出処理と、前記複数のレートのそれぞれについて算出された前記差分に基づいて、前記複数のレートのそれぞれに付与すべき重みを導出する重み導出処理と、前記複数のレートのそれぞれに前記重みを付与して、前記重みが付与された前記複数のレートの全体の中央値を、コアレートとして生成するコアレート生成処理と、を含む処理を実行させるためのものである。
本発明に係るコアレート生成プログラムの他の一態様は、コアレート生成処理をコンピュータに実行させるためのコアレート生成プログラムであって、該プログラムは、前記コンピュータに、複数のレートを取得するレート取得処理と、前記複数のレートの全体の中央値を算出する中央値算出処理と、前記複数のレートのそれぞれと、前記中央値との差分を算出する差分算出処理と、前記複数のレートのそれぞれについて算出された前記差分を指数関数の入力として、前記複数のレートのそれぞれの正確性を所定期間に亘り算出し、前記所定時間に亘り算出された前記正確性の指数移動平均を算出することで、前記複数のレートのそれぞれに付与すべき重みを導出する重み導出処理と、前記レートに前記重みを付与して、コアレートを生成するコアレート生成処理と、を含む処理を実行させるためのものである。
【発明の効果】
【0020】
本発明によれば、カウンタパーティから提示されるレートに発生する変則的変動(ブレ)に対して堅牢であり、かつより高精度にコアレートを生成することができる。
上記した本発明の目的、態様及び効果並びに上記されなかった本発明の目的、態様及び効果は、当業者であれば添付図面及び請求の範囲の記載を参照することにより下記の発明を実施するための形態から理解できるであろう。
【図面の簡単な説明】
【0021】
【
図1】
図1は、本発明の実施形態に係る為替取引ネットワークシステムのネットワーク構成の一例を示すブロック図である。
【
図2】
図2は、本発明の実施形態に係るレート生成装置1の機能構成の一例を示すブロック図である。
【
図3】
図3は、複数のカウンタパーティから取得されるカウンタパーティ提示レートに変則的変動(ブレ)が生したことにより、ベストレート算出においてプライシングエラーが発生する例を説明する時系列グラフである。
【
図4】
図4は、本発明の実施形態に係るレート生成装置が実行するレート生成処理の概略処理手順の一例を示すフローチャートである。
【
図5】
図5は、
図4のS4で実行される重み算出処理の詳細処理手順の一例を示すフローチャートである。
【
図6】
図6は、本実施形態のコアレート生成装置1が生成するコアレートと従来のベストレートから算出されるコアレートとを比較する時系列グラフである。
【
図7】
図7は、本発明の実施形態に係るレート生成装置1のハードウエア構成の一例を示す図である。
【発明を実施するための形態】
【0022】
以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。以下に開示される構成要素のうち、同一機能を有するものには同一の符号を付し、その説明を省略する。なお、以下に開示される実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されるべきものであり、本発明は以下の実施形態に限定されるものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0023】
以下、本実施形態に係るレート生成装置が、FX(外国為替証拠金取引)において顧客(投資家)に提示すべきレートを導出する基礎となるコアレートを生成する非限定的一例を説明するが、本実施形態はこれに限定されない。
本実施形態に係るレート生成装置は、株式、仮想通貨、あるいは複数の通貨価値に換算可能なグローバルポイント等、通貨の為替レートに基づくあらゆる取引に適用することができる。
【0024】
<FX取引システムのネットワーク構成>
図1は、本実施形態に係るFX取引システムのネットワーク構成の一例を示すブロック図である。
図1に示すFX取引システム10は、コアレート生成装置1と、複数のカウンタパーティ装置2-1、2-2、2-3、・・・2-Nを備える。コアレート生成装置1と、複数のカウンタパーティ装置2-1、2-2、2-3、・・・2-Nとは、ネットワーク3を介して相互通信可能に接続されている。
【0025】
コアレート生成装置1は、FX事業者により保有、またはアクセス可能に管理され、複数のカウンタパーティ装置2-1、2-2、2-3、・・・2-Nからそれぞれ一定の頻度(例えば、5~10ms)で提示される、カウンタパーティの提示レートを取得して、取得された提示レートに基づいて、顧客(投資家)に提示すべきレートを導出するためのコアレートを生成する。
コアレート生成装置1はまた、顧客(投資家)のコンピュータ(不図示)とネットワークを介して接続され、生成されたコアレートから導出された投資家提示レートを顧客のコンピュータに送信するとともに、顧客コンピュータから売買注文を受け付けてFX取引を実行する。
カウンタパーティ装置2-1、2-2、2-3、・・・2-Nはそれぞれ、複数の異なるカウンタパーティ(例えば、銀行、証券会社等の金融機関)により保有、またはアクセス可能に管理され、一定の頻度で、各カウンタパーティのFX事業者の提示レートを提示する。なお、コアレート生成装置1は、それぞれのカウンタパーティ装置2-1、2-2、2-3、・・・2-Nに対して、当該カウンタパーティの提示レートの送信を要求する要求メッセージを送信してもよい。この場合、要求メッセージを受信したカウンタパーティ装置2-1、2-2、2-3、・・・2-Nは、コアレート生成装置1に提示レートを送信し、レート生成装置1は送信される提示レートを受信することで、提示レートを取得してよい。
【0026】
<コアレート生成装置1の機能構成>
図2は、コアレート生成装置1の機能構成の一例を示すブロック図である。
図2に示すコアレート生成装置1は、記憶部11、レート取得部12、差分算出部13、重み算出部14、レート算出部15、通信部16、および表示部17を備える。
記憶部11は、RAM(Random Access Memory)等の揮発性メモリ、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の不揮発性メモリ、着脱可能な外部メモリ等から構成されてよい。記憶部11は、システムバスを介して、コアレート生成装置1内の各ブロック12~17が共有して利用可能な記憶領域であり、各種データの保存やワークメモリとして使用される。
【0027】
レート取得部12は、通信部16を介して、複数のカウンタパーティ装置2-1、2-2、2-3、・・・2-Nからそれぞれ一定の頻度で提示される、カウンタパーティの提示レートを取得して、取得されたカウンタパーティの提示レートを、タイムスタンプや識別子を付与して記憶部11に逐次記憶する。
差分算出部13は、複数のカウンタパーティ装置2-1、2-2、2-3、・・・2-N全体について算出される指標となるカウンタパーティ提示レートと、それぞれのカウンタパーティ装置2-1、2-2、2-3、・・・2-Nから取得されるカウンタパーティ提示レートとの差分を、それぞれのカウンタパーティ装置2-1、2-2、2-3、・・・2-Nのバラつき(エラー)として算出する。
【0028】
具体的には、差分算出部13は、まず、複数のカウンタパーティ装置2-1、2-2、2-3、・・・2-Nのそれぞれから取得した、それぞれのカウンタパーティの提示レートのBIDレートとASKレートとの中間値(mid rate)を算出する。
差分算出部13はまた、すべてのカウンタパーティ装置2-1、2-2、2-3、・・・2-Nから取得したすべてのカウンタパーティの提示レートについて算出されたすべての中間値の中央値(median)を指標となるカウンタパーティ提示レートとして算出する。
差分算出部13は、このように算出されたすべてのカウンタパーティの提示レートの中央値と、それぞれのカウンタパーティの提示レートの中間値との差分を算出して、重み算出部14に供給する。
なお、本実施形態で説明する差分は一例であり、差分算出部13によって算出される差分は、例えば、それぞれのカウンタパーティの提示レートと、すべてのカウンタパーティの提示レートの中央値との差分であってもよい。
【0029】
重み算出部14は、差分算出部13により算出された差分(エラー)に基づいて、それぞれのカウンタパーティ装置2-1、2-2、2-3、・・・2-Nについての重みを算出(導出)する。具体的には、重み算出部14はまず、それぞれのカウンタパーティ装置2-1、2-2、2-3、・・・2-Nのカウンタパーティ提示レートについて、正確性(精度)を算出する。次に、重み算出部14は、それぞれのカウンタパーティについて算出された正確性に基づいて、コアレート算出においてそれぞれのカウンタパーティに付与すべき重みを算出する。重み算出部14が行う処理の詳細は、
図5を参照して後述する。
【0030】
レート算出部15は、レート取得部12により取得されたすべてのカウンタパーティ装置2-1、2-2、2-3、・・・2-Nのカウンタパーティの提示レートを使用して、コアレートを生成し、生成されたコアレートに所定のスプレッドを付与し、スプレッド付与コアレートにスキューを適用して、顧客に提示すべき投資家提示レートを算出(生成)する。
【0031】
本実施形態において、レート算出部15は、それぞれのカウンタパーティ装置2-1、2-2、2-3、・・・2-Nの提示レートの中間値に対して、それぞれのカウンタパーティについて重み算出部14で算出された重みを付与し、それぞれのカウンタパーティの重み付けされた中間値の中央値を算出することにより、コアレートを生成する。レート算出部15が行う処理の詳細は、
図4および
図5を参照して後述する。
【0032】
通信部16は、ネットワーク3とのインタフェースを提供し、ネットワーク3を介してカウンタパーティ装置2-1、2-2、2-3、・・・2-Nや顧客のコンピュータ装置との通信を実行する。実施形態では、通信部16は、イーサネット(登録商標)等の通信規格に準拠する有線LAN(Local Area Network)や専用回線を介した通信を実行してよい。ただし、本実施形態で利用可能なネットワークはこれに限定されず、無線ネットワークで構成されてもよい。この無線ネットワークは、Bluetooth(登録商標)、ZigBee(登録商標)、UWB(Ultra Wide Band)等の無線PAN(Personal Area Network)を含む。また、Wi-Fi(Wireless Fidelity)(登録商標)等の無線LAN(Local Area Network)や、WiMAX(登録商標)等の無線MAN(Metropolitan Area Network)を含む。さらに、LTE/3G、4G、5G等の無線WAN(Wide Area Network)を含む。なお、ネットワークは、各機器を相互に通信可能に接続し、通信が可能であればよく、通信の規格、規模、構成は上記に限定されない。
【0033】
表示部17は、コアレート生成装置1が実行するコアレート生成処理の実行結果を、表示装置を介して表示出力する。表示部17はまた、GUI(Graphical User Interface)を提供し、このGUIは、コアレート生成処理で使用される各種パラメータや通信パラメータ等をコアレート生成装置1へ指示入力させる。
【0034】
図3は、複数のカウンタパーティから取得されるカウンタパーティ提示レートに変則的変動(ブレ)が生したことにより、ベストレート算出においてプライシングエラーが発生する例を説明する時系列グラフである。
図3において、実線は、時系列上の真の中間値(ASKレートとBIDレートの中間値)を示し、それぞれの時点について、次のタイムフレームの中間値群の中央値がプロットされている。一方、一点鎖線は、従来のように、複数のカウンタパーティからマニュアルで選択されたカウンタパーティのサブセットのうち、ベストレートとして抽出された、時系列上のカウンタパーティ提示レートの中間値を示す。
図3に示すように、時系列上の15:28までは、一点鎖線のベストレートは、実線の真の中間値に追従しているが、15:28以降、次第に真の中間値から乖離し、15:30前から15:31過ぎまでの間は、ベストレートがフリーズしてフラットとなり、ベストレートがプロットできないプライシングエラーが発生している。
【0035】
このような事象は、いずれかのカウンタパーティが突発的に不正確で変則的変動(ブレ)のあるレートをカウンタパーティ提示レートとして取得し、このような不正確で変則的変動(ブレ)のあるレートが偶然ベストBID/ASKの値となってしまうことにより、コアレートとすべきベストレートが、カウンタパーティ提示レートの変則的変動(ブレ)の影響をそのまま受けてしまうものと考えられる。
本実施形態では、このようなカウンタパーティ提示レートの変則的変動(ブレ)の影響を低減するため、それぞれのカウンタパーティのカウンタパーティ提示レートの正確性(精度)に基づき算出された重みを考慮して、すべてのカウンタパーティのカウンタパーティ提示レートからコアレートを生成する。
【0036】
<コアレート生成処理の概略処理手順>
図4は、本実施形態に係るコアレート生成装置1が実行するコアレート生成処理の概略処理手順の一例を示すフローチャートである。
なお、
図4の各ステップは、コアレート生成装置1の記憶部に記憶されたプログラムをCPUが読み出し、実行することで実現される。また、
図4に示すフローチャートの少なくとも一部をハードウエアにより実現してもよい。ハードウエアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからFPGA(Field Programmable Gate Array)上に自動的に専用回路を生成すればよい。また、FPGAと同様にしてGate Array回路を形成し、ハードウエアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。
【0037】
S1で、コアレート生成装置1のレート取得部12は、複数のカウンタパーティ装置2-1、2-2、2-3、・・・2-Nから、それぞれ、所定の周期で、カウンタパーティ提示レートを取得する。S1で取得されるカウンタパーティ提示レートは、複数のカウンタパーティ装置2-1、2-2、2-3、・・・2-Nからネットワークを介して送信されてもよく、記憶部11を介して入力されてもよい。
【0038】
S2で、コアレート生成装置1の差分算出部13は、中間値算出部を含み、S1で取得されたそれぞれのカウンタパーティについて、カウンタパーティ提示レート(ASKレートおよびBIDレート)の中間値(mid rate)を、下記式1のように算出する。
mid rate=(ASKレート+BIDレート)/2 (式1)
代替的に、コアレート生成装置1は、カウンタパーティ提示レートの中間値を算出することなく、カウンタパーティ提示レートのASKレートおよびBIDレートそれぞれについて、S3~S6までの処理を実行してもよい。この場合、
図4のS2の処理を省略することができ、後続の処理において、カウンタパーティ提示レートの中間値に替えて、ASKレートおよびBIDレートの双方またはいずれか一方を処理対象とすればよい。
【0039】
S3で、コアレート生成装置1の差分算出部13は、中央値算出部を含み、S2で算出されたカウンタパーティ提示レートの中間値のすべての中央値(median mid)を算出する。
なお、中間値算出部および中央値算出部は、差分算出部13に含まれてもよく、あるいは、コアレート生成装置1は、差分算出部13とは異なる別ユニットとして、中間値算出部および中央値算出部を備えてもよい。
S4で、コアレート生成装置1の重み算出部14は、S2で算出された各カウンタパーティのカウンタパーティ提示レートの中間値と、S3で算出されたすべてのカウンタパーティのカウンタパーティ提示レートの中間値の中央値とに基づいて、それぞれのカウンタパーティのカウンタパーティ提示レートに付与すべき重みWを算出するが、その詳細は
図5を参照して後述する。
【0040】
S5で、コアレート生成装置1のレート算出部15は、各時点tにおけるすべてのカウンタパーティの中間値に対して、S4で算出された重みWで重み付けし、すべてのカウンタパーティについての重み付けされた中間値の中央値を、コアレート(house mid)として、下記式2のように算出する。
【数1】
(式2)
なお、Δtは、サンプリング間隔であって、例えば、100msであるがこれに限定されない。
【0041】
S6で、コアレート生成装置1のレート算出部15は、S5で算出されたコアレートに、所定のスプレッド幅でスキューを付与して、顧客(投資家)に提示すべき投資家提示レートを生成する。なお、スキューを付与する際のスプレッド幅は任意に決定されてよい。
【0042】
<各カウンタパーティの重み算出処理詳細>
図5は、
図4のS4でコアレート生成装置1の重み算出部14が実行する、各カウンタパーティの重みWの算出処理の詳細処理手順の一例を示すフローチャートである。
S41で、コアレート生成装置1の重み算出部14は、各時点tにおける各カウンタパーティの真の中央値(true mid)からのエラーεを下記式3のように算出する。
【数2】
(式3)
【0043】
式3に示されるように、各カウンタパーティのエラーεは、各時点tにおける、
図4のS2で算出された各カウンタパーティのカウンタパーティ提示レートの中間値(CP mid)と、すべてのカウンタパーティのカウンタパーティ提示レートの中間値の中央値(median mid)との差分(絶対差)として算出される。
【0044】
S42で、コアレート生成装置1の重み算出部14は、S41で算出された各カウンタパーティのエラーεを指数関数に入力として、各時点tにおける各カウンタパーティ(CP
j、j={1、…、N})の正確性(精度)(accuracy:acc)を下記式4のように算出する。
【数3】
(式4)
【0045】
式4から理解されるように、カウンタパーティCPのエラーεの値が増加すると、当該カウンタパーティCPの正確性accは、指数関数的に減少する。
さらに、調整パラメータλの値が増加すると、正確性accは、より急激に減少する。S42で算出される正確性accは、0と1の間の値を取り、accが0に近いほどエラーεの値が大きく、コアレートを算出するために有用でないことを示す。一方、accが1に近いほどエラーεの値が小さく、コアレートを算出するため有用であることを示す。すなわち、各カウンタパーティCPのエラーεを、式4の指数関数への入力とすることにより、エラーεには指数関数的にペナルティが科されることになる。
【0046】
式4のように各カウンタパーティの正確性accを算出することにより、変則的変動(ブレ)等が生じたカウンタパーティの提示レートの影響を可及的に低減することができ、変則的変動(ブレ)に対して高い堅牢性を有するコアレート生成が実現される。
【0047】
S43で、コアレート生成装置1の重み算出部14は、所定期間について、S42で算出された各カウンタパーティCPの正確性accの指数平滑移動平均(exponential moving average:ema)を算出することにより、各時点tにおける各カウンタパーティCPの重みWを下記式5のように算出する。
【数4】
(式5)
【0048】
各カウンタパーティCPの正確性accに対して、指数平滑移動平均関数emaを適用するため、過去の時点での正確性accへの加重を指数関数的に減少させて、正確性accの平均値が算出される。すなわち、最新の正確性accが2倍されることで直近の正確性が重視されるため、算出される重みWのデータ鮮度(freshness)を高めることができる。
【0049】
重み算出部14は、S43で算出された各カウンタパーティCPに対し、重みWで重み付けを行う。レート算出部15は、
図4のS5で、時点tにおけるすべてのカウンタパーティのカウンタパーティ提示レートの中間値の中央値(median mid)を、時点tにおけるコアレートとして算出(生成)する。
【0050】
図6は、本実施形態のコアレート生成装置1が生成するコアレートと従来のベストレートから算出されるコアレートとを比較する時系列グラフである。
図6を参照して、実線(太線)は、英ポンド/米ドル(GBP/米ドル)の通貨ペアにおける複数のカウンタパーティのカウンタパーティ提示レートの真の中間値(True_mid)の時系列推移を示す。
図6の一点鎖線は、従来のベストレートから算出されるコアレート(best rates mid)の時系列推移を示す。従来のベストレート方式で算出されるコアレートでは、カウンタパーティ提示レートの真の中間値(True_mid)の+/-1pipsの範囲から逸脱している時点が多いことが観察できる。
【0051】
これに対して、
図6の実線(細線)は、本実施形態のコアレート生成装置1が生成するコアレート(weighted median mid)を示す。本実施形態に係るコアレートでは、
図6の観察期間に亘り、カウンタパーティ提示レートの真の中間値(True_mid)の+/-1pipsの範囲内で、カウンタパーティ提示レートの真の中間値(True_mid)に十分に追従していることが分かる。
【0052】
図6の右上に示されるTATE(Total Absolute Thresholded Error)は、下記式6で表され、コアレートの評価関数として使用することができる。
【数5】
(式6)
ここで、
【数6】
は時点t-Δtまでのデータを使用して算出された本実施形態に係るコアレート生成装置1が生成したコアレートの値であり、
【数7】
は、時点tにおける真のカウンタパーティ提示レートの中間値の中央値である。
【0053】
TATEの値が小さいほど真の値に近く高精度であり、TATEの値が大きいほど真の値から乖離して低精度になる。機械学習等により、重み付け算出のパラメータηおよび精度(正確性)算出のパラメータλを、所定期間(例えば、10日間)のデータを入力としてTATEの値がより低くなるよう繰り返し学習させて調整することで、これらのパラメータηおよびλを最適化することができる。
【0054】
<コアレート生成装置1のハードウエア構成>
図7は、コアレート生成装置1のハードウエア構成の一例を示す図である。
本実施形態に係るコアレート生成装置1は、単一または複数の、あらゆるコンピュータ、モバイルデバイス、または他のいかなる処理プラットフォーム上に実装することができる。
図7に示すように、コアレート装置1は、CPU21と、ROM22と、RAM23と、外部メモリ24と、入力部25と、表示部26と、通信I/F27と、システムバス28とを備える。
【0055】
CPU21は、コアレート生成装置1における動作を統括的に制御するものであり、システムバス28を介して、各構成部(22~27)を制御する。ROM22は、CPU21が処理を実行するために必要な制御プログラム等を記憶する不揮発性メモリである。なお、当該プログラムは、外部メモリ24や着脱可能な記憶媒体(不図示)に記憶されていてもよい。RAM23は、CPU21の主メモリ、ワークエリア等として機能する。すなわち、CPU21は、処理の実行に際してROM22から必要なプログラム等をRAM23にロードし、当該プログラム等を実行することで各種の機能動作を実現する。
【0056】
外部メモリ24は、例えば、CPU21がプログラムを用いた処理を行う際に必要な各種データや各種情報等を記憶している。また、外部メモリ24には、例えば、CPU21がプログラム等を用いた処理を行うことにより得られた各種データや各種情報等が記憶される。入力部25は、キーボードやマウス等のポインティングデバイスにより構成される。表示部26は、液晶ディスプレイ(LCD)等のモニターにより構成される。通信I/F27は、コアレート生成装置1とカウンタパーティ装置2-1、2-2、2-3、・・・2-Nや顧客のコンピュータとの通信を制御するインタフェースである。
【0057】
図7に示すコアレート生成装置1の各要素のうち少なくとも一部の機能は、CPU21がプログラムを実行することで実現することができる。ただし、
図7に示すコアレート生成装置1の各要素のうち少なくとも一部が専用のハードウエアとして動作るようにしてもよい。この場合、専用のハードウエアは、CPU21の制御に基づいて動作する。
なお、
図1に示すカウンタパーティ装置2-1、2-2、2-3、・・・2-Nも、同様のハードウエア構成で実現することができる。
【0058】
以上説明したように、本実施形態によれば、コアレート生成装置は、複数のカウンタパーティのそれぞれのレートについて算出された中間値と、複数のカウンタパーティの全体の中間値の中央値との差分(エラー)を、前記複数のカウンタパーティのそれぞれについて算出し、算出された差分に基づいて、複数のカウンタパーティのそれぞれについて重みを導出する。コアレート生成装置はさらに、複数のカウンタパーティのそれぞれについて、算出された中間値に、重みを付与して、コアレートを生成する。
したがって、本実施形態によれば、複数のカウンタパーティから提示されるレートに発生する変則的変動(ブレ)に対して堅牢であり、かつより高精度にコアレートを生成することができる。
【0059】
なお、上記において特定の実施形態が説明されているが、当該実施形態は単なる例示であり、本発明の範囲を限定する意図はない。本明細書に記載された装置及び方法は上記した以外の形態において具現化することができる。また、本発明の範囲から離れることなく、上記した実施形態に対して適宜、省略、置換及び変更をなすこともできる。かかる省略、置換及び変更をなした形態は、請求の範囲に記載されたもの及びこれらの均等物の範疇に含まれ、本発明の技術的範囲に属する。
【符号の説明】
【0060】
1…コアレート生成装置、2…カウンタパーティ装置、3…ネットワーク、11…記憶部、12…レート取得部、13…差分算出部、14…重み算出部、15…レート算出部、16…通信部、17…表示部、21…CPU、22…ROM、23…RAM、24…外部メモリ、25…入力部、26…表示部、27…通信I/F、28…システムバス