(57)【要約】【課題】  取引市場において互いに関連する多くの銘柄の予測を精度良く行う。【解決手段】  銘柄選択部２１は、複数の銘柄を選択する。複数の銘柄時系列特徴抽出ユニット２３−１〜２３−Ｎは、選択された複数の銘柄のそれぞれの正規化された履歴データを入力データとして前段ニューラルネットワークで、選択された複数の銘柄のそれぞれの時系列特徴ベクトルを出力データとして計算する。そして、共通予測ユニット２４は、複数の銘柄時系列特徴抽出ユニット２３−１〜２３−Ｎの時系列特徴ベクトルを連結したベクトルを入力データとして後段ニューラルネットワークで、選択された複数の銘柄のそれぞれの予測データを出力データとして計算する。【選択図】  図１
2020009272.tif 000002
【特許請求の範囲】
【請求項１】
複数の銘柄を選択する銘柄選択部と、
選択された前記複数の銘柄のそれぞれの正規化された履歴データを入力データとして前段ニューラルネットワークで、選択された前記複数の銘柄のそれぞれの時系列特徴ベクトルを出力データとして計算する複数の銘柄時系列特徴抽出ユニットと、
前記複数の銘柄時系列特徴抽出ユニットの前記時系列特徴ベクトルを連結したベクトルを入力データとして後段ニューラルネットワークで、選択された前記複数の銘柄のそれぞれの予測データを出力データとして計算する共通予測ユニットと、
を備えることを特徴とする取引市場予測システム。
【請求項２】
取引時間内に前記前段ニューラルネットワークおよび前記後段ニューラルネットワークの機械学習を行う取引時間内学習処理部と、
予測すべき前記複数の銘柄に変更があった場合に、前記前段ニューラルネットワークおよび前記後段ニューラルネットワークの機械学習を行うオフライン学習処理部と
をさらに備えることを特徴とする請求項１記載の取引市場予測システム。
【請求項３】
前記銘柄時系列特徴抽出ユニットは、当該銘柄時系列特徴抽出ユニットの前段ニューラルネットワークのパラメータを所定の記憶装置に記憶し、
前記銘柄選択部により選択された銘柄の前記銘柄時系列特徴抽出ユニットは、当該銘柄時系列特徴抽出ユニットの前段ニューラルネットワークのパラメータを前記所定の記憶装置から読み出し、読み出したパラメータで、当該銘柄時系列特徴抽出ユニットの前段ニューラルネットワークのパラメータを初期化し、
前記オフライン学習処理部は、当該銘柄時系列特徴抽出ユニットの前段ニューラルネットワークのパラメータの初期化後、前記前段ニューラルネットワークおよび前記後段ニューラルネットワークの機械学習を行うこと、
を特徴とする請求項２記載の取引市場予測システム。
【請求項４】
前記前段ニューラルネットワークは、それぞれ、畳み込みニューラルネットワークまたはリカレントニューラルネットワークであり、
前記後段ニューラルネットワークは、畳み込みニューラルネットワークまたはリカレントニューラルネットワークであること、
を特徴とする請求項１から請求項３のうちのいずれか１項記載の取引市場予測システム。
【請求項５】
前記履歴データは、銘柄ごとに、複数時間帯の取引関連データを含み、
前記取引関連データは、ある時間帯の始値、終値、高値、安値、売り気配値リスト、および買い気配値リストを含むこと、
を特徴とする請求項１から請求項４のうちのいずれか１項記載の取引市場予測システム。
【請求項６】
複数の銘柄を選択するステップと、
複数の銘柄時系列特徴抽出ユニットにおいて、選択された前記複数の銘柄のそれぞれの正規化された履歴データを入力データとして前段ニューラルネットワークで、選択された前記複数の銘柄のそれぞれの時系列特徴ベクトルを出力データとして計算するステップと、
前記複数の銘柄時系列特徴抽出ユニットの前記時系列特徴ベクトルを連結したベクトルを入力データとして後段ニューラルネットワークで、選択された前記複数の銘柄のそれぞれの予測データを出力データとして計算するステップと、
を備えることを特徴とする取引市場予測方法。
【請求項７】
コンピュータを、
複数の銘柄を選択する銘柄選択部、
選択された前記複数の銘柄のそれぞれの正規化された履歴データを入力データとして前段ニューラルネットワークで、選択された前記複数の銘柄のそれぞれの時系列特徴ベクトルを出力データとして計算する複数の銘柄時系列特徴抽出ユニット、および
前記複数の銘柄時系列特徴抽出ユニットの前記時系列特徴ベクトルを連結したベクトルを入力データとして後段ニューラルネットワークで、選択された前記複数の銘柄のそれぞれの予測データを出力データとして計算する共通予測ユニット
として機能させる取引市場予測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、取引市場予測システム、取引市場予測方法、および取引市場予測プログラムに関するものである。
【背景技術】
【０００２】
ある株価予測装置は、ニューラルネットワークを使用して、株価データを入力データとして１つのニューラルネットワークに与え、予測すべき株価データをそのニューラルネットワークから出力データとして得ている（例えば特許文献１参照）。その株価予測装置は、ある時点の株価データを入力データとし、予測すべき時点の実際の株価データを教師データとして、そのニューラルネットワークを学習している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−７０９５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の株価予測装置は、１つのニューラルネットワークで株価データを予測するため、互いに関連する多くの銘柄の予測を行う場合には、ニューラルネットワーク内のニューロンが多くなりそれに伴ってニューラルネットワーク内のニューロン間の結合が多くなるため、ニューラルネットワークのパラメータが多くなり、機械学習時の計算量が多くなってしまうとともに、ニューラルネットワークの非線形性に起因にして機械学習後の予測結果の精度が低くなる可能性がある。
【０００５】
また、複数の銘柄の予測を行う場合、予測すべき銘柄の入れ替えを行ったときに、ニューラルネットワークの全体を再学習する必要がある。
【０００６】
本発明は、上記の問題に鑑みてなされたものであり、互いに関連する多くの銘柄の予測を精度良く行う取引市場予測システム、取引市場予測方法、および取引市場予測プログラムを得ることを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る取引市場予測システムは、複数の銘柄を選択する銘柄選択部と、選択された複数の銘柄のそれぞれの正規化された履歴データを入力データとして前段ニューラルネットワークで、選択された複数の銘柄のそれぞれの時系列特徴ベクトルを出力データとして計算する複数の銘柄時系列特徴抽出ユニットと、複数の銘柄時系列特徴抽出ユニットの時系列特徴ベクトルを連結したベクトルを入力データとして後段ニューラルネットワークで、選択された複数の銘柄のそれぞれの予測データを出力データとして計算する共通予測ユニットとを備える。
【０００８】
本発明に係る取引市場予測方法は、複数の銘柄を選択するステップと、複数の銘柄時系列特徴抽出ユニットにおいて、選択された複数の銘柄のそれぞれの正規化された履歴データを入力データとして前段ニューラルネットワークで、選択された複数の銘柄のそれぞれの時系列特徴ベクトルを出力データとして計算するステップと、複数の銘柄時系列特徴抽出ユニットの時系列特徴ベクトルを連結したベクトルを入力データとして後段ニューラルネットワークで、選択された複数の銘柄のそれぞれの予測データを出力データとして計算するステップとを備える。
【０００９】
本発明に係る取引市場予測プログラムは、コンピュータを、複数の銘柄を選択する銘柄選択部、選択された複数の銘柄のそれぞれの正規化された履歴データを入力データとして前段ニューラルネットワークで、選択された複数の銘柄のそれぞれの時系列特徴ベクトルを出力データとして計算する複数の銘柄時系列特徴抽出ユニット、および複数の銘柄時系列特徴抽出ユニットの時系列特徴ベクトルを連結したベクトルを入力データとして後段ニューラルネットワークで、選択された複数の銘柄のそれぞれの予測データを出力データとして計算する共通予測ユニットとして機能させる。
【発明の効果】
【００１０】
本発明によれば、互いに関連する多くの銘柄の予測を精度良く行う取引市場予測システム、取引市場予測方法、および取引市場予測プログラムが得られる。
【００１１】
本発明の上記又は他の目的、特徴および優位性は、添付の図面とともに以下の詳細な説明から更に明らかになる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施の形態に係る取引市場予測システムの構成を示すブロック図である。
【図２】図２は、図１に示す取引市場予測システムにおけるデータフローについて説明する図である。
【図３】図３は、図１に示す取引市場予測システムの動作について説明するフローチャートである。
【図４】図４は、図１に示す取引市場予測システムの取引時間内の動作について説明するタイミングチャートである。
【発明を実施するための形態】
【００１３】
以下、図に基づいて本発明の実施の形態を説明する。
【００１４】
図１は、本発明の実施の形態に係る取引市場予測システムの構成を示すブロック図である。図２は、図１に示す取引市場予測システムにおけるデータフローについて説明する図である。図１に示す取引市場予測システムは、１台の情報処理装置（パーソナルコンピュータなど）で構成されているが、後述の処理部やユニットを、互いにデータ通信可能な複数の情報処理装置に分散させてもよい。また、そのような複数の情報処理装置には、特定の演算を並列処理するＧＰＵ（Graphics Processing Unit）が含まれていてもよい。
【００１５】
図１に示す取引市場予測システムは、金融取引市場などの取引市場における所定時点の価格などを予測するシステムであって、記憶装置１、通信装置２、ユーザーインターフェイス３、および演算処理装置４を備える。
【００１６】
記憶装置１は、フラッシュメモリー、ハードディスクなどの不揮発性の記憶装置であって、各種データやプログラムを格納する。
【００１７】
ここでは、記憶装置１には、取引市場予測プログラム１１が格納されており、また、予測すべき銘柄を指定する銘柄設定データ１２、およびパラメータデータセット１３，１４（後述のニューラルネットワークの結合係数（重み）、バイアスなどのパラメータなど）が必要に応じて格納される。
【００１８】
通信装置２は、ネットワークインターフェイス、周辺機器インターフェイス、モデムなどのデータ通信可能な装置であって、必要に応じて、他の装置とデータ通信を行う。
【００１９】
ユーザーインターフェイス３は、操作画面などを表示するディスプレイなどの表示装置３ａ、およびユーザー操作を受け付けるキーボードなどの入力装置３ｂを備える。
【００２０】
なお、図１では、ユーザーインターフェイス３は、演算処理装置４に、内部バスや周辺機器インターフェイスで接続されているが、その代わりに、例えば、演算処理装置４がネットワーク（インターネット、ＬＡＮ（Local Area Network）など）上のサーバーに内蔵されている場合、ユーザーインターフェイス３は、そのサーバーと通信可能な端末装置のユーザーインターフェイスデバイスとされ、そのサーバーとその端末装置との間のデータ通信によって、演算処理装置４において実現される処理部やユニットのユーザーインターフェイスとして機能する。
【００２１】
演算処理装置４は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを備えるコンピュータであって、プログラムを、ＲＯＭ、記憶装置１などからＲＡＭにロードしＣＰＵで実行することで、各種処理部として動作する。
【００２２】
ここでは、プログラム１１を実行することで、演算処理装置４は、銘柄選択部２１、入力データ取得部２２、複数の銘柄にそれぞれ固有な銘柄時系列特徴抽出ユニット２３−１〜２３−Ｎ（Ｎ＞１）、共通予測ユニット２４、取引時間内学習処理部２５、およびオフライン学習処理部２６として動作する。
【００２３】
銘柄選択部２１は、入力装置３ｂに対するユーザー操作や銘柄設定データ１２に従って、取引市場で売買可能な銘柄（株式銘柄、ＥＴＦ銘柄、ＲＥＩＴ銘柄、先物銘柄、オプション銘柄などを含む）から、予測すべき複数の銘柄を選択する。なお、予測すべき銘柄およびその数は任意であり、ユーザーが選択できる。
【００２４】
この取引市場は、例えば証券取引市場であって、上述の銘柄は、例えば、ある企業の株式、つまり株式銘柄であり、例えば固有な銘柄コードで指定される。また、この取引市場は、為替市場、電力取引市場、商品取引市場、天候デリバティブ取引市場などといった他の取引市場でもよい。
【００２５】
入力データ取得部２２は、通信装置２を使用して、少なくとも、上述の選択された銘柄の履歴データを外部（外部サーバーなど）から取得し、履歴データの正規化処理を行う。
【００２６】
履歴データは、銘柄ごとに、所定の複数時間帯の取引関連データを含む。第ｉの時間帯の取引関連データは、その時間帯の始値、終値、高値、安値、売買高（売買件数、売買数量など）、時間帯終了時点での板情報（つまり、買い気配値リストおよび売り気配値リスト）などといった特定の複数（Ｋ個）のデータ項目ν（ｉ，１），・・・，ν（ｉ，Ｋ）の値（実数値）を含む。なお、買い気配値リストは、所定の複数の買い気配値とその買い気配値での注文数量とを含む。また、売り気配値リストは、所定の複数の売り気配値とその売り気配値での注文数量とを含む。
【００２７】
例えば、各時間帯が所定時間長Ｔを有し、履歴データは、連続するｎ個（ｎ＞１）の時間帯の取引関連データを含み、その場合、履歴データの時間ウィンドウサイズＰは、Ｔ×ｎとなる。
【００２８】
履歴データの正規化処理では、各データ項目ν（ｉ，ｊ）（なお、ｊ＝１，・・・，Ｋ）の値が、前段ニューラルネットワークの入力値として許容される範囲内になるように正規化される。
【００２９】
例えばデータ項目ν（ｉ，ｊ）の値は、次式に従って正規化される。
【００３０】
ν（ｉ，ｊ）＝（ν（ｉ，ｊ）−ν（ｉ−１，ｊ））／ν（ｉ−１，ｊ）
【００３１】
あるいは、例えばデータ項目ν（ｉ，ｊ）の値は、次式に従って正規化される。
【００３２】
ν（ｉ，ｊ）＝ｌｏｇ（ν（ｉ，ｊ））−ｌｏｇ（ν（ｉ−１，ｊ））
【００３３】
複数の銘柄時系列特徴抽出ユニット２３−１〜２３−Ｎは、図２に示すように、選択された複数の銘柄のそれぞれの正規化された履歴データを入力データとして前段ニューラルネットワークで、選択された複数の銘柄のそれぞれの時系列特徴ベクトル（埋め込まれた時系列に沿った複数の特徴ベクトル）を出力データとして計算する。
【００３４】
つまり、銘柄時系列特徴抽出ユニット２３−ｓは、特定の銘柄＃ｓに対応し、特定の銘柄＃ｓに対応する前段ニューラルネットワークで、その銘柄＃ｓの履歴データから、その銘柄＃ｓの時系列特徴ベクトルＶ（ｓ，ｔ）を計算する。具体的には、銘柄時系列特徴抽出ユニット２３−ｓは、前段ニューラルネットワークのパラメータ（重みおよびバイアス）に基づいて順伝播の演算を行い、複数の時系列特徴ベクトルＶ（ｓ，ｔ）（ｔ＝１，・・・，Ｐ）を計算する。
【００３５】
ここで、銘柄＃ｓの時系列特徴ベクトルＶ（ｓ，ｔ）は、埋め込み表現データであって、時系列内の１つのタイミングｔ（ｔ＝１，・・・，Ｐ，Ｐ：時間ウィンドウサイズ）での、所定要素数のベクトルである。
【００３６】
なお、Ｖ（ｓ，ｔ）の要素数および時間ウィンドウサイズＰ（つまり、銘柄時系列特徴抽出ユニット２３−ｓの出力データとしてのＶ（ｓ，ｔ）の数）は、共通予測ユニット２４の出力データ（予測データ）の精度や銘柄時系列特徴抽出ユニット２３−１〜２３−Ｎおよび共通予測ユニット２４の計算量に応じて適宜設定される。
【００３７】
このように、ある銘柄＃ｓ１の前段ニューラルネットワークに対しては、別の銘柄＃ｓ２（ｓ１≠ｓ２）の履歴データは入力されず、ある銘柄＃ｓ１の前段ニューラルネットワークからは、別の銘柄＃ｓ２（ｓ１≠ｓ２）の時系列特徴ベクトルＶ（ｓ２，ｔ）の要素は出力されない。つまり、選択された銘柄＃１〜＃Ｎの前段ニューラルネットワークは、互いに独立している。
【００３８】
共通予測ユニット２４は、複数の銘柄時系列特徴抽出ユニット２３−１〜２３−Ｎの時系列特徴ベクトルＶ（１，ｔ），・・・，Ｖ（Ｎ，ｔ）を連結した時系列ｔに沿った連結ベクトルＶｃ（ｔ）を入力データとして１つの後段ニューラルネットワークで、選択された複数の銘柄＃１〜＃Ｎのそれぞれの、予測時刻ｔｐについての予測データＰＲ（ｔｐ）を出力データとして計算する。具体的には、共通予測ユニット２４は、後段ニューラルネットワークのパラメータ（重みおよびバイアス）に基づいて順伝播の演算を行い、予測データＰＲ（ｔｐ）を計算する。
【００３９】
つまり、その複数の銘柄＃１〜＃Ｎで構成される、取引市場の全体または一部が予測される。ユーザーが予測したい銘柄（例えば１つの銘柄）以外の銘柄についても併せて複数の銘柄＃１〜＃Ｎとして予測することで、銘柄間の関連性が反映されて予測および学習が実行されるため、ユーザーが予測したい銘柄の予測精度が向上する。
【００４０】
銘柄＃ｓの予測データは、予測時刻ｔｐ（履歴データの複数の時間帯の終了時点ｔから所定時間ｐ後の時点ｔ＋ｐ）での、価格Ｐｒｉｃｅ（ｓ，ｔｐ）、価格リターンＲｐ（ｓ，ｔｐ）、出来高Ｖｏｌｕｍｅ（ｓ，ｔｐ）、価格トレンドＴｒｅｎｄＰ（ｓ，ｔｐ）、出来高トレンドＴｒｅｎｄＶ（ｓ，ｔｐ）などといった特定の１または複数のデータ項目の予測値を含む。なお、価格Ｐｒｉｃｅ（ｓ，ｔｐ）および出来高Ｖｏｌｕｍｅ（ｓ，ｔｐ）以外のデータ項目の値は、以下のように、価格Ｐｒｉｃｅ（ｓ，ｔｐ）および出来高Ｖｏｌｕｍｅ（ｓ，ｔｐ）などから得られる値である。
【００４１】
また、出来高Ｖｏｌｕｍｅ（ｓ，ｔｐ）は、例えば取引関連データの時間帯の時間長Ｔあたりの出来高、あるいは単位時間あたりの出来高である。
【００４２】
なお、上述の所定時間ｐは、上述の履歴データの時間ウィンドウサイズＰ以下であることが好ましい。例えば、１日以内の取引時間内で予測が繰り返し行われる場合、所定時間ｐは、例えば１分〜６０分のいずれかとされる。
【００４３】
Ｒｐ（ｓ，ｔｐ）＝（Ｐｒｉｃｅ（ｓ，ｔｐ）−Ｐｒｉｃｅ（ｓ，ｔ））／Ｐｒｉｃｅ（ｓ，ｔ）
【００４４】
ＴｒｅｎｄＰ（ｓ，ｔｐ）＝１（Ｒｐ（ｓ，ｔｐ）≧０の場合），０（Ｒｐ（ｓ，ｔｐ）＜０の場合）
【００４５】
ＴｒｅｎｄＶ（ｓ，ｔｐ）＝１（（Ｖｏｌｕｍｅ（ｓ，ｔｐ）−Ｖｏｌｕｍｅ（ｓ，ｔ））／Ｖｏｌｕｍｅ（ｓ，ｔ）≧０の場合），０（（Ｖｏｌｕｍｅ（ｓ，ｔｐ）−Ｖｏｌｕｍｅ（ｓ，ｔ））／Ｖｏｌｕｍｅ（ｓ，ｔ）＜０の場合）
【００４６】
つまり、前段ニューラルネットワークは、エンコーダ・デコーダモデルにおける、履歴データから特徴ベクトルを生成するエンコーダとされ、後段ニューラルネットワークは、エンコーダ・デコーダモデルにおける、特徴ベクトルから予測ベクトルを生成するデコーダとされている。このように、複数の前段ニューラルネットワークおよび１つの後段ニューラルネットワークによって１つのディープニューラルネットワークが構成される。
【００４７】
各銘柄＃ｓのための前段ニューラルネットワークは、それぞれ、時系列データ用の畳み込みニューラルネットワーク（ＣＮＮ）、リカレントニューラルネットワーク（ＲＮＮ）、並びに、時系列データ用のＣＮＮおよびＲＮＮを組み合わせたニューラルネットワークのいずれかであり、ここでは、長短期記憶（ＬＳＴＭ：Long Short-Term Memory）を含む。各銘柄＃ｓのための前段ニューラルネットワークは、１または複数の中間層（隠れ層）を含む。
【００４８】
後段ニューラルネットワークは、時系列データ用のＣＮＮ、ＲＮＮ、並びに、時系列データ用のＣＮＮおよびＲＮＮを組み合わせたニューラルネットワークのいずれかであり、ここでは、長短期記憶（ＬＳＴＭ）を含む。後段ニューラルネットワークは、１または複数の中間層（隠れ層）を含む。
【００４９】
取引時間内学習処理部２５は、取引時間内に前段ニューラルネットワークおよび後段ニューラルネットワークの機械学習を行う。
【００５０】
具体的には、共通予測ユニット２４により得られた特定時点（予測時刻ｔｐ）の予測データについて、取引時間内学習処理部２５は、（ａ）その特定時点（予測時刻ｔｐ）における予測データの各データ項目についての実測値を取引関連データから特定し、（ｂ）予測データに設定されている各データ項目についての実測値と予測値とに対する所定の誤差関数に基づいて、誤差逆伝播法に従って、後段ニューラルネットワークおよび前段ニューラルネットワークのパラメータ（重みおよびバイアス）を更新する。
【００５１】
なお、特定時点（予測時刻ｔｐ）での価格の実測値は、例えば、（ａ）上述の特定時点を取引関連データの時間帯の開始時点とし、取引関連データの始値を上述の実測値としてもよいし、（ｂ）上述の特定時点を取引関連データの時間帯の終了時点とし、取引関連データの終値を上述の実測値としてもよいし、（ｃ）上述の特定時点を取引関連データの時間帯の終了時点とし、その終了時点での最高売り気配値と最低買い気配値との平均値としてもよい。なお、最高売り気配値と最低買い気配値は、取引関連データにおける板情報から特定可能である。
【００５２】
また、継続的に連続して履歴データを取得して予測データを計算する場合には、学習のために新たに履歴データを取得することなく、予測データの計算のために取得した履歴データにおける取引関連データを使用して、実測値を特定すればよい。
【００５３】
オフライン学習処理部２６は、予測すべき複数の銘柄に変更があった場合に、取引時間内の予測を行う前に、前段ニューラルネットワークおよび後段ニューラルネットワークの機械学習を行う。
【００５４】
例えば、オフライン学習処理部２６は、（ａ）取引時間開始前に、その取引時間で予測すべき複数の銘柄＃１〜＃Ｎを銘柄設定データ１２やユーザー操作に基づいて特定し、（ｂ）前回の取引時間（例えば前営業日の取引時間）内において得られた複数の履歴データを使用して、その複数の銘柄のために構成される複数（Ｎ個）の前段ニューラルネットワークおよび後段ニューラルネットワークの学習データセット（入力データとしての履歴データおよび教師データとしての予測時刻ｔｐでの出力データの実測値）を生成し、（ｃ）その学習データセットを使用して、取引時間内学習処理部２５と同様にして後段ニューラルネットワークおよび前段ニューラルネットワークのパラメータ（重みおよびバイアス）を更新する。
【００５５】
なお、各銘柄時系列特徴抽出ユニット２３−ｓは、その銘柄時系列特徴抽出ユニット２３−ｓの前段ニューラルネットワークのパラメータ値を、その銘柄時系列特徴抽出ユニット２３−ｓ（つまり、銘柄＃ｓ）のパラメータデータセット１３として記憶装置１に記憶する。同様に、共通予測ユニット２４は、後段ニューラルネットワークのパラメータ値をパラメータデータセット１４として記憶装置１に記憶する。したがって、前回の取引時間での銘柄に対比して予測すべき複数の銘柄に変更があった場合、新たに追加された銘柄の前段ニューラルネットワークのパラメータデータセット１３が、新たに追加された銘柄の前段ニューラルネットワークのパラメータの初期値としてセットされた後、オフライン学習処理部２６は、複数の前段ニューラルネットワークおよび後段ニューラルネットワークの機械学習を行う。
【００５６】
また、オフライン学習処理部２６は、取引時間内学習処理部２５での学習データセット数より多くの学習データセットを生成し、取引時間内学習処理部２５での学習回数より多い回数、それらの学習データセットで前段ニューラルネットワークおよび後段ニューラルネットワークの機械学習を行う。
【００５７】
次に、上記取引市場予測システムの動作について説明する。図３は、図１に示す取引市場予測システムの動作について説明するフローチャートである。図４は、図１に示す取引市場予測システムの取引時間内の動作について説明するタイミングチャートである。
【００５８】
取引時間開始前に、銘柄選択部２１は、予測すべき複数（Ｎ個）の銘柄＃１〜＃Ｎを選択し（ステップＳ１）、選択された銘柄＃１〜＃Ｎに対応する銘柄時系列特徴抽出ユニット２３−１〜２３−Ｎの初期設定を行う（ステップＳ２）。銘柄設定データ１２が記憶装置１に記憶されている場合には、銘柄選択部２１は、銘柄設定データ１２により指定されている銘柄を選択する。なお、ユーザーがユーザーインターフェイス３を使用して銘柄設定データ１２を事前に編集できるようにしてもよい。
【００５９】
具体的には、銘柄選択部２１は、各銘柄＃ｓの前段ニューラルネットワークのパラメータの初期値をセットする。銘柄＃ｓに固有の前段ニューラルネットワークのパラメータデータセット１３が記憶装置１に記憶されている場合には、銘柄選択部２１は、銘柄＃ｓについてのパラメータデータセット１３を読み出し、銘柄＃ｓの前段ニューラルネットワークのパラメータの初期値としてセットする。
【００６０】
さらに、共通予測ユニット２４は、後段ニューラルネットワークの初期設定を行う（ステップＳ２）。具体的には、共通予測ユニット２４は、後段ニューラルネットワークのパラメータの初期値をセットする。後段ニューラルネットワークのパラメータデータセット１４が記憶装置１に記憶されている場合には、共通予測ユニット２４は、そのデータセットを読み出し、後段ニューラルネットワークのパラメータの初期値としてセットする。
【００６１】
次に、オフライン学習処理部２６は、上述のように、前回の取引時間の履歴データを取得し、その履歴データに基づいて、後段ニューラルネットワークおよび今回選択された銘柄＃１〜＃Ｎの前段ニューラルネットワークの学習を行う（ステップＳ３）。
【００６２】
取引時間開始後（ステップＳ４）、図４に示すように、入力データ取得部２２は、時間ウィンドウサイズＰの履歴データを取得し、銘柄時系列特徴抽出ユニット２３−１〜２３−Ｎおよび共通予測ユニット２４は、取得した履歴データの時点ｔから相対的に将来の時点（予測時刻ｔｐ）における、選択された銘柄＃１〜＃Ｎの予測データにおける各データ項目（価格など）の値を予測する（ステップＳ５）。各データ項目（価格など）の予測値は、表示装置３ａで表示されたり、所定プロトコルで所定の宛先に送信されたりする。これにより、予測時刻ｔｐより前の時点でユーザーにその予測値が報知される。
【００６３】
なお、演算処理装置４は、銘柄時系列特徴抽出ユニット２３−１〜２３−Ｎの演算処理を逐次的に行ってもよいし、並列的に行ってもよい。また、演算処理装置４は、共通予測ユニット２４の演算処理を逐次的に行ってもよいし、並列的に行ってもよい。
【００６４】
そして、図４に示すように、予測時刻ｔｐが到来した後、ただちに、取引時間内学習処理部２５は、その予測時点ｔｐでの、予測データにおけるデータ項目の実測値を履歴データから特定し、その実測値と履歴データとを学習データセット（入力データと教師データとしての出力データとの対）として、後段ニューラルネットワークおよび前段ニューラルネットワークの学習を行い、後段ニューラルネットワークおよび前段ニューラルネットワークのパラメータを更新する（ステップＳ６）。
【００６５】
以後、取引時間終了まで（ステップＳ７）、予測（ステップＳ５）および学習（ステップＳ６）が繰り返し実行される。
【００６６】
そして、取引時間終了時に、銘柄選択部２１は、その時点で選択されている銘柄を銘柄設定データ１２として記憶装置１に記憶し、各銘柄時系列特徴抽出ユニット２３−ｓは、その銘柄時系列特徴抽出ユニット２３−ｓの前段ニューラルネットワークのパラメータ値を、その銘柄時系列特徴抽出ユニット２３−ｓ（つまり、銘柄＃ｓ）のパラメータデータセット１３として記憶装置１に記憶し、共通予測ユニット２４は、後段ニューラルネットワークのパラメータ値をパラメータデータセット１４として記憶装置１に記憶する（ステップＳ８）。
【００６７】
以上のように、上記実施の形態によれば、銘柄選択部２１は、複数の銘柄を選択する。複数の銘柄時系列特徴抽出ユニット２３−１〜２３−Ｎは、選択された複数の銘柄のそれぞれの正規化された履歴データを入力データとして前段ニューラルネットワークで、選択された複数の銘柄のそれぞれの特徴ベクトルを出力データとして計算する。そして、共通予測ユニット２４は、複数の銘柄時系列特徴抽出ユニット２３−１〜２３−Ｎの特徴ベクトルを連結したベクトルを入力データとして後段ニューラルネットワークで、選択された複数の銘柄のそれぞれの予測データを出力データとして計算する。
【００６８】
これにより、各銘柄に固有の前段ニューラルネットワークは、その銘柄の履歴データに基づいて個別的に学習されていき、後段ネットワークは、複数の前段ニューラルネットワークから出力される銘柄ごとの時系列特徴ベクトルの相互関連性を考慮しつつ、複数の銘柄の予測データを出力する。このように、前段ニューラルネットワークは互いに独立しているため、予測や学習時の計算量が少なくなり、互いに関連する多くの銘柄の予測が精度良く行われる。また、銘柄ごとの前段ニューラルネットワークのパラメータを再利用することで、銘柄の入れ替え時の再学習が効率良く行われる。
【００６９】
なお、上述の実施の形態に対する様々な変更および修正については、当業者には明らかである。そのような変更および修正は、その主題の趣旨および範囲から離れることなく、かつ、意図された利点を弱めることなく行われてもよい。つまり、そのような変更および修正が請求の範囲に含まれることを意図している。
【００７０】
例えば、上記実施の形態において、取引市場予測プログラム１１を、ＣＤ（Compact Disk）などの可搬性のあるコンピュータ読取可能な記録媒体に格納されていてもよい。その場合、例えば、その記録媒体から記憶装置１へプログラム１１がインストールされる。また、プログラム１１は、１つのプログラムでも、複数のプログラムの集合体でもよい。
【００７１】
また、上記実施の形態において、複数回の取引時間を１つの取引時間として取り扱うようにしてもよい。例えば、株式市場において、午前の取引時間（前場）および午後の取引時間（後場）を、１つの（１日の）取引時間として取り扱うようにしてもよい。
【００７２】
また、上記実施の形態において、銘柄選択部２１は、取引時間外において、各銘柄＃ｓについて前回の取引時間での所定の予測パフォーマンス値を予測データから計算し、その予測パフォーマンス値が所定の閾値以下である銘柄を、選択すべき銘柄から自動的に除外するようにしてもよい。例えば、予測パフォーマンス値として、予測データの特定のデータ項目（価格リターンＲｐ（ｓ，ｔｐ）など）の予測値と実測値との誤差の総和が計算される。
【００７３】
また、上記実施の形態において、取引関連データには、板情報が含まれていなくてもよい。
【００７４】
また、上記実施の形態において、記憶装置１の代わりに、ネットワーク上のストレージ（ファイルサーバー、クラウドストレージなど）を使用するようにしてもよい。
【００７５】
また、上記実施の形態において、初期状態の（つまり、予測に未使用の）前段ニューラルネットワークおよび初期状態の（つまり、予測に未使用の）後段ニューラルネットワークに対して、既知の方法で事前学習を行うようにしてもよい。
【００７６】
また、上記実施の形態において、今回の取引時間での予測対象の銘柄が、前回の取引時間での予測対象の銘柄から変更されていない場合には、オフライン学習処理部２６は、ステップＳ３の学習を行わないようにしてもよい。
【産業上の利用可能性】
【００７７】
本発明は、例えば、ニューラルネットワークを使用した取引市場予測に適用可能である。
【符号の説明】
【００７８】
１  記憶装置
４  演算処理装置（コンピュータの一例）
２１  銘柄選択部
２２  入力データ取得部
２３−１〜２３−Ｎ  銘柄時系列特徴抽出ユニット
２４  共通予測ユニット
２５  取引時間内学習処理部
２６  オフライン学習処理部
【図１】
2020009272.tif 000003
【図２】
2020009272.tif 000004
【図３】
2020009272.tif 000005
【図４】
2020009272.tif 000006