(57)【要約】【課題】より少ないリソース、及びより短い時間で現実の市場の動きを再現可能とすることを目的とする。【解決手段】ニューラルネットワークを用いて、第１の注文情報が入力された際に更新された板情報及び第１の注文情報が入力されたときより過去の板情報の何れか又は双方に基づいて、第１の注文情報が入力された際に板情報が更新されたときより未来の板情報を予測する予測手段と、予測された未来の板情報と第１の注文情報に基づき更新された板情報とに基づき第２の注文情報を生成する生成手段と、を有する。【選択図】図５
2020061027.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークを用いて、第１の注文情報が入力された際に更新された板情報及び前記第１の注文情報が入力されたときより過去の板情報の何れか又は双方に基づいて、前記第１の注文情報が入力された際に板情報が更新されたときより未来の板情報を予測する予測手段と、
前記予測された未来の板情報と前記第１の注文情報に基づき更新された板情報とに基づき第２の注文情報を生成する生成手段と、
を有する情報処理システム。
【請求項２】
前記第１の注文情報が入力されると、前記第１の注文情報が入力された際の板情報を更新する第１の更新手段を更に有し、
前記予測手段は、前記ニューラルネットワークを用いて、前記第１の更新手段により更新された前記板情報及び前記第１の注文情報が入力されたときより過去の板情報の何れか又は双方に基づいて、前記第１の注文情報が入力された際に板情報が更新されたときより未来の板情報を予測する請求項１記載の情報処理システム。
【請求項３】
前記生成手段により生成された前記第２の注文情報に基づいて板情報を更新する第２の更新手段を更に有する請求項１又は２記載の情報処理システム。
【請求項４】
前記第２の更新手段により更新された板情報をユーザに提示する提示手段を更に有する請求項３記載の情報処理システム。
【請求項５】
前記ニューラルネットワークは、ＲＮＮ（Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）により学習した学習済みモデルである請求項１乃至４何れか１項記載の情報処理システム。
【請求項６】
前記ニューラルネットワークは、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）により学習した学習済みモデルである請求項１乃至４何れか１項記載の情報処理システム。
【請求項７】
前記ニューラルネットワークは、ＲＮＮ、又はＣＮＮにより学習した学習済みモデルに基づいて転移学習された学習済みモデルである請求項１乃至４何れか１項記載の情報処理システム。
【請求項８】
情報処理システムが実行する情報処理方法であって、
ニューラルネットワークを用いて、第１の注文情報が入力された際に更新された板情報及び前記第１の注文情報が入力されたときより過去の板情報の何れか又は双方に基づいて、前記第１の注文情報が入力された際に板情報が更新されたときより未来の板情報を予測する予測工程と、
前記予測された未来の板情報と前記第１の注文情報に基づき更新された板情報とに基づき第２の注文情報を生成する生成工程と、
を含む情報処理方法。
【請求項９】
コンピュータに、
ニューラルネットワークを用いて、第１の注文情報が入力された際に更新された板情報及び前記第１の注文情報が入力されたときより過去の板情報の何れか又は双方に基づいて、前記第１の注文情報が入力された際に板情報が更新されたときより未来の板情報を予測する予測工程と、
前記予測された未来の板情報と前記第１の注文情報に基づき更新された板情報とに基づき第２の注文情報を生成する生成工程と、
を実行させるためのプログラム。
【請求項１０】
コンピュータに、
ニューラルネットワークを用いて、第１の注文情報が入力された際に更新された板情報及び前記第１の注文情報が入力されたときより過去の板情報の何れか又は双方に基づいて、前記第１の注文情報が入力された際に板情報が更新されたときより未来の板情報を予測する予測工程と、
前記予測された未来の板情報と前記第１の注文情報に基づき更新された板情報とに基づき第２の注文情報を生成する生成工程と、
を実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、プログラム及び記憶媒体に関する。
【背景技術】
【０００２】
マーケットインパクト減衰係数を用いて、マーケットシミュレーションを提供する技術が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−２２６９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、現実に近い市場の動きを再現することはできなかった。また、特許文献１の技術では、マーケットインパクト減衰係数を算出するために、ＣＰＵ等のリソースを多く使い、算出する時間もかかっていた。
【課題を解決するための手段】
【０００５】
本発明の情報処理システムは、ニューラルネットワークを用いて、第１の注文情報が入力された際に更新された板情報及び前記第１の注文情報が入力されたときより過去の板情報の何れか又は双方に基づいて、前記第１の注文情報が入力された際に板情報が更新されたときより未来の板情報を予測する予測手段と、前記予測された未来の板情報と前記第１の注文情報に基づき更新された板情報とに基づき第２の注文情報を生成する生成手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、より少ないリソース、及びより短い時間で、より現実に近い市場の動きを再現することができる。
【図面の簡単な説明】
【０００７】
【図１】図１は、本実施形態のシステムのシステム構成の一例を示す図である。
【図２】図２は、マーケットシミュレーションシステムのハードウェア構成の一例を示す図である。
【図３】図３は、マーケットシミュレーションシステムの機能構成等の一例を示す図である。
【図４】図４は、マーケットシミュレーションシステムにおける、注文情報が入力された際の情報処理の一例を示すフローチャートである。
【図５】図５は、Ｓ４０３の処理の詳細の一例を示すフローチャートである。
【図６Ａ】図６Ａは、板情報の一例を示す図（その１）である。
【図６Ｂ】図６Ｂは、板情報の一例を示す図（その２）である。
【図６Ｃ】図６Ｃは、価格−時刻の時系列データの一例を示す図である。
【図７】図７は、ＬＳＴＭを用いた場合の、板生成ＮＮ３０３の学習の一例を示す図である。
【図８Ａ】図８Ａは、ＣＮＮを用いた場合の、板生成ＮＮ３０３の学習の一例を説明するための図（その１）である。
【図８Ｂ】図８Ｂは、ＣＮＮを用いた場合の、板生成ＮＮ３０３の学習の一例を説明するための図（その２）である。
【図９】図９は、ＣＮＮにより学習した学習済みモデルに基づいて転移学習する一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
図１は、本実施形態のシステムのシステム構成の一例を示す図である。
本実施形態のシステムは、ユーザ端末１１０とマーケットシミュレーションシステム１２０とを含む。マーケットシミュレーションシステム１２０は、情報処理システムの一例である。
ユーザ端末１１０は、マーケットシミュレーションシステム１２０を利用するユーザの端末であって、ネットワークを介してマーケットシミュレーションシステム１２０と通信可能に接続されている。ユーザ端末１１０は、単体の装置であってもよし、複数の装置から構成されたシステムであってもよい。
マーケットシミュレーションシステム１２０は、株の売り買いを行う市場のバックテスト環境を提供するシステムである。また、マーケットシミュレーションシステム１２０は、実データに基づいてマーケットインパクトを学習したニューラルネットワークを利用したマーケットシミュレーターである。
マーケットシミュレーションシステム１２０は、ユーザ端末１１０から注文情報が入力されると、注文情報が入力された際の板情報を、入力された注文情報に基づき更新し、更新した板情報と、注文情報が入力されたときより過去の板情報とに基づいて、注文情報が入力されたときより未来の板情報を予測する。そして、マーケットシミュレーションシステム１２０は、予測した未来の板情報と更新した板情報とに基づき、ユーザ端末１１０から入力された注文情報に応じた、注文情報を生成する。
このような処理を行うことにより、自然な市場の動きを表現でき、バックテストの有効性も向上する。また、マーケットインパクト減衰係数を算出する方法に比べて、より少ないリソース、及びより短い時間で現実の市場の動きを再現可能とすることができる。
【００１０】
図２は、マーケットシミュレーションシステム１２０のハードウェア構成の一例を示す図である。
マーケットシミュレーションシステム１２０は、ハードウェア構成として、ＣＰＵ２０１、メモリ２０２、表示部２０３、入力部２０４、通信部２０５を少なくとも有する。
ＣＰＵ２０１は、マーケットシミュレーションシステム１２０の全体を制御する。ＣＰＵ２０１がメモリ２０２に記憶されたプログラムに基づき処理を実行することにより、後述する図３のマーケットシミュレーションシステム１２０の機能及び、後述する図４、図５のフローチャートの処理が実現される。メモリ２０２は、プログラム、ＣＰＵ２０１がプログラムに基づき処理を実行する際に用いるデータ、例えば後述する過去板情報３０４、過去注文情報３０５等、を記憶する。表示部２０３は、各種情報を表示する。入力部２０４は、キーボード、マウス、表示部２０３に表示された画面等を介したユーザの操作等を受け付け、入力する。表示部２０３及び入力部２０４は、タッチパネルディスプレイ等、一体として構成されてもよい。通信部２０５は、マーケットシミュレーションシステム１２０をネットワークに接続し、ネットワークを介した外部装置との通信処理を行う。メモリ２０２は、記憶媒体の一例である。
他の例としては、マーケットシミュレーションシステム１２０の機能や処理の少なくとも一部は、複数のＣＰＵ、メモリを協働させることにより実現してもよい。また、他の例としては、マーケットシミュレーションシステム１２０の機能や処理の少なくとも一部は、ハードウェア回路を用いて実現してもよい。また、他の例としては、マーケットシミュレーションシステム１２０の機能及び処理は、複数の装置が協働して実現してもよい。
ユーザ端末１１０もマーケットシミュレーションシステム１２０と同様のハードウェア構成を有し、ユーザ端末１１０のＣＰＵがユーザ端末１１０のメモリに記憶されているプログラムに基づき処理を実行することによって、ユーザ端末１１０の機能を実現させる。
【００１１】
図３は、マーケットシミュレーションシステム１２０の機能構成等の一例を示す図である。
マーケットシミュレーションシステム１２０は、機能構成として、取引所シミュレータ３０１、注文シミュレータ３０２、板生成ニューラルネットワーク（以下、板生成ＮＮという）３０３を少なくとも有する。過去板情報３０４は、実際の市場における過去の板情報を記憶する記憶部（ＤＢ、メモリ等）である。過去注文情報３０５は、実際の市場における過去の注文情報を記憶する記憶部（ＤＢ、メモリ等）である。板生成ＮＮ３０３は、マーケットインパクト（こういう注文が入ったら市場はこう動く）を学習した（過去データに基づきパラメータ調整した）、学習済みモデルである。後述するように、板生成ＮＮ３０３は、ＲＮＮ（Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）により学習した学習済みモデルであってもよいし、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）により学習した学習済みモデルであってもよい。また、後述するように、板生成ＮＮ３０３は、ＲＮＮ、又はＣＮＮにより学習した学習済みモデルに基づいて転移学習された学習済みモデルであってもよい。板生成ＮＮ３０３の学習及び転移学習については、後述する図７−図９を用いて説明する。
取引所シミュレータ３０１は、板情報をユーザ端末１１０に送信することで、板情報を提示する。板情報の例は、後述する図６Ａ及び図６Ｂに示す。ユーザ端末１１０は、送信された板情報を受信し、ユーザ端末１１０の表示部に表示する。過去注文情報３０５は、過去板情報３０４より生成される。過去板情報３０４には、過日の現実の板情報が時系列で記憶されている。注文シミュレータ３０２は、それらの板情報から過去の注文情報を生成することができる。即ち、注文シミュレータ３０２は、ある時刻における過去板情報と、その次の時刻における過去板情報との差分から、そのときに発生した注文情報を生成する。この処理は、シミュレーションの開始前に行って、すべての過去注文情報を事前に生成し、過去注文情報３０５に記憶させておいてもよいし、マーケットシミュレーションシステム１２０でカウントされるシミュレーション上の時刻（シミュレーション時刻）に従って生成されてもよい。
注文シミュレータ３０２は、シミュレーション時刻に応じて過去注文情報３０５から過去の注文情報を取得し、取引所シミュレータ３０１に過去の注文情報を入力する。即ち、注文シミュレータ３０２は、シミュレーションを行うユーザ等によるユーザ端末１１０からの注文が入力される前は、過日に取引所で実際に発生した注文を同じタイミングで再生することになる。取引所シミュレータ３０１は、過去の注文情報が入力されると、入力された注文情報に応じた約定シミュレーションを実行し、約定情報をユーザ端末１１０に送信することで、約定情報を提示する。
この様に過去の市場の動きを再現しているときに、ユーザ端末１１０から注文情報が入力されると、取引所シミュレータ３０１は、入力された注文情報に基づき、注文情報が入力された際の板情報を更新する。ユーザ端末１１０から入力される注文情報は、第１の注文情報の一例である。取引所シミュレータ３０１は、更新した板情報をユーザ端末１１０に提示する。また、取引所シミュレータ３０１は、更新した板情報を現在板情報として注文シミュレータ３０２に入力する。
【００１２】
注文シミュレータ３０２は、現在板情報が入力されると、現在板情報とユーザ端末１１０から取引所シミュレータ３０１に注文情報が入力されたときより過去の所定の期間の板情報とを現在までの板情報として板生成ＮＮ３０３に入力する。
このとき注文シミュレータ３０２に入力される過去の所定の期間の板情報は、過去板情報又は図示しないシミュレーション板履歴情報記憶部から読み出されキャッシュ的な情報として記憶したものを利用してもよい。なお、シミュレーション履歴板情報記憶部は、取引所シミュレータ３０１におけるシミュレーションによって生成される板の履歴情報を例えばキャッシュ的に記憶する。
例えば、ユーザ端末１１０から取引所シミュレータ３０１に注文情報が入力されたときが８月６日１０時００分だった場合、現在板情報は８月６日１０時００分の板情報となる。また、ユーザ端末１１０から取引所シミュレータ３０１に注文情報が入力されたときより過去の所定の期間の板情報として、注文シミュレータ３０２は、過去板情報３０４又は図示しないシミュレーション履歴板情報記憶部より、８月６日９時５５分の板情報を取得する。この例の場合、注文シミュレータ３０２は、８月６日１０時００分の板情報と８月６日９時５５分の板情報とを板生成ＮＮ３０３に入力する。
なお、ここでは、ユーザ端末１１０から取引所シミュレータ３０１に注文情報が入力されたときより過去の所定の期間の板情報として、５分前の板情報を１つだけ取得したが、これに限定されるものではない。５分前の板情報、１０分前の板情報の２つを取得するようにしてもよいし、２つ以上を取得するようにしてもよい。同様に、５分前ではなく、１分前の板情報を取得するようにしてもよい。間隔及び数は後述する板生成ＮＮ３０３の学習に依存する。なお、過去板情報としては、実際の連続した時系列データ（実際に板が発生した時間間隔変動）でもよいし、データ間を平均化したものでもよい。即ち、板は均等に５分間隔等で発生するわけではないが、例えば、３分、７分、３分、７分の時間間隔で板が発生していた場合、それらを５分間隔に平均し、３分と７分のタイミングの価格で５分のタイミングの価格を補完し、５分間隔の板情報として用意しておいてもよい。
なお、履歴情報を用いて制約条件を課したほうが、予測精度を向上させることができるが、要求される精度に応じて現在板情報のみから次板情報を予測するような構成としてもよい。
【００１３】
注文シミュレータ３０２は、板生成ＮＮ３０３より、取引所シミュレータ３０１に注文情報が入力されたときより未来の板情報として次板情報を受け取る。即ち、板生成ＮＮ３０３は、現在板情報及び過去の所定期間の板情報から次板情報を生成する。板生成ＮＮ３０３は、後述するようにして、現在板情報及び過去の所定期間の板情報から次板情報を生成するように学習（パラメータが調整）されたニューラルネットワークである。
上述した例では、ユーザ端末１１０から取引所シミュレータ３０１に注文情報が入力されたときが８月６日１０時００分だった場合、次板情報は、８月６日１０時０５分の板情報となる。注文シミュレータ３０２は、現在板情報と次板情報とに基づき、ユーザ端末１１０から入力された入力情報に応じた注文情報を生成する。
ときに、一般的な取引シミュレータでは、次板情報は、注文シミュレータ３０２により生成された注文情報と、現在板情報とに基づいて、生成されるものである。しかし、本実施形態のマーケットシミュレーションシステム１２０では、板生成ＮＮ３０３により現在板情報及び過去の所定期間の板情報から次板情報を予測し、注文シミュレータ３０２は、そこから逆算する形で注文情報を生成する。
一般的な取引シミュレータでは、注文シミュレータにおいて数式等の係数を用いてマーケットインパクトを考慮した注文を生成するが、どうしても人工的な動きとなってしまい、不自然な注文となることが多い。これに対して、上述のように、実際のマーケットにおける板の動きを学習させたニューラルネットワークを用いることで、マーケットインパクトを考慮した注文が違和感のない形で再現される。
生成された注文情報は、第２の注文情報の一例である。そして、注文シミュレータ３０２は、生成した注文情報を取引所シミュレータ３０１に入力する。
取引所シミュレータ３０１は、注文シミュレータ３０２から入力された注文情報に基づき、注文情報が入力された際の板情報を更新する。
なお、更新された板情報は、基本的には板生成ＮＮ３０３で生成された次板情報と同じになる場合もあるため、そのような場合には、取引所シミュレータ３０１は、板生成ＮＮ３０３で生成された次板情報で板情報を更新してもよい。但し、特別気配の場合や板寄せが行われる場合等のデータについては例えば除外する等の例外的な処理が必要になるため、基本的には、注文シミュレータ３０２において現在板情報及び／又は過去板情報と次板情報とから注文情報を生成し、取引所シミュレータ３０１において改めて板情報を更新する必要がある。
取引所シミュレータ３０１は、更新した板情報をユーザ端末１１０に提示する。また、取引所シミュレータ３０１は、ユーザ端末１１０から入力された注文情報と注文シミュレータ３０２とから入力された注文情報とに基づき約定シミュレーションを実行し、約定情報をユーザ端末１１０に送信することで、約定情報を提示する。
【００１４】
図４は、マーケットシミュレーションシステム１２０における、注文情報が入力された際の情報処理の一例を示すフローチャートである。
Ｓ４０１において、取引所シミュレータ３０１は、ユーザ端末１１０から注文情報が入力されたか否かを判定する。取引所シミュレータ３０１は、ユーザ端末１１０から注文情報が入力されたと判定した場合、Ｓ４０２に処理を進め、ユーザ端末１１０から注文情報が入力されていないと判定した場合、Ｓ４０１の処理を繰り返す。
Ｓ４０２において、取引所シミュレータ３０１は、入力された注文情報に基づき、注文情報が入力された際の板情報を更新する。この処理は、第１の更新処理の一例である。
取引所シミュレータ３０１は、更新した板情報をユーザ端末１１０に提示する。また、取引所シミュレータ３０１は、更新した板情報を現在板情報として注文シミュレータ３０２に入力する。
取引所シミュレータ３０１より現在板情報が入力されると、Ｓ４０３において、注文シミュレータ３０２は、注文情報生成処理を実行する。注文情報生成処理の詳細は、後述する図５を用いて説明する。注文情報を生成すると、注文シミュレータ３０２は、注文情報を、取引所シミュレータ３０１に入力する。
なお、注文シミュレータ３０２は、上述のとおり過去板情報３０４の板情報に基づく過去注文情報３０５の再現も行う。したがって、注文シミュレータ３０２は、過去板情報３０４及び過去注文情報３０５に基づく再現注文と、ユーザ端末１１０から注文が入力された場合における板生成ＮＮ３０３により生成される板情報に基づくマーケットインパクト注文とをシームレスな切り替え理論により行う。即ち、注文シミュレータ３０２は、通常は再現注文を生成しつつ、ユーザ端末１１０からの注文入力が発生した場合にはマーケットインパクト注文の生成にスイッチするような制御を行う。
Ｓ４０３で生成された注文情報が入力されると、Ｓ４０４において、取引所シミュレータ３０１は、注文情報が入力された際の板情報を更新する。この処理は、第２の更新処理の一例である。取引所シミュレータ３０１は、更新した板情報をユーザ端末１１０に提示する。この処理は、提示処理の一例である。
Ｓ４０５において、取引所シミュレータ３０１は、ユーザ端末１１０から入力された注文情報と注文シミュレータ３０２とから入力された注文情報（又はそれにより更新された板情報）とに基づき約定シミュレーションを実行する。
【００１５】
図５は、Ｓ４０３の処理の詳細の一例を示すフローチャートである。
Ｓ５０１において、注文シミュレータ３０２は、ユーザ端末１１０から取引所シミュレータ３０１に注文情報が入力されたときより過去の所定の期間の板情報（以下、単に過去板情報という）を過去板情報３０４又は図示しないシミュレーション履歴板情報記憶部から取得する。
Ｓ５０２において、注文シミュレータ３０２は、取引所シミュレータ３０１より入力された現在板情報とＳ５０１で取得した過去板情報とを板生成ＮＮ３０３に入力する。板生成ＮＮ３０３は、現在板情報及び過去板情報から、取引所シミュレータ３０１に注文情報が入力されたときより未来の板情報として（現在板情報の次のタイミングの板情報として）次板情報を生成する。予測される情報としては、例えば売気配や買気配の価格とそれらの数量の板情報のほか、その更新時刻等の情報も含まれる。売気配や買気配は最良気配とその他気配ごとに価格や数量の板情報とその更新時刻等が予測されるものであってもよいし、所定の数の売気配、買気配のそれぞれについて価格と数量と更新時刻等が予測されるものであってもよく、特に限定はされない。
Ｓ５０３において、注文シミュレータ３０２は、板生成ＮＮ３０３より、取引所シミュレータ３０１に注文情報が入力されたときより未来の板情報として次板情報を受け取る。
Ｓ５０２及びＳ５０３の処理は、予測処理の一例である。
Ｓ５０４において、注文シミュレータ３０２は、現在板情報と次板情報とに基づき、ユーザ端末１１０から入力された入力情報に応じた注文情報を生成する。即ち、注文シミュレータ３０２は、現在板情報と、板生成ＮＮ３０３により現在板情報及び過去板情報から予測されたマーケットインパクトが加味された次板情報とから、逆算する形で注文情報を生成する。
Ｓ５０４の処理は、生成処理の一例である。
【００１６】
ここで、図６Ａ及び図６Ｂは、板情報の例を示す図である。
図６Ａは、ある日の９時３０分の板情報を示している。図６Ｂは、同じ日の９時３５分の板情報を示している。
図６Ｃは、価格と時刻との時系列データ（板情報の価格を時系列の推移のグラフとして表したもの）の一例を示す図である。図６Ｃは、株の売り、買いの「価格」と「時刻」との時系列データのみを示しているが、同様に、株の売り、買いの「数量」と「時刻」との時系列データも過去板情報３０４としてマーケットシミュレーションシステム１２０は有している。また、図６Ｃでは、気配Ｘ１，２…、気配Ｙ１，２…のすべての時系列データが均等な幅（所定間隔で略平行）になっているが、あくまで説明のため簡略化した形で表しているものにすぎず、実際には気配Ｘ１，２…、気配Ｙ１，２…の各時系列データはバラバラな動きをする。更には、時間間隔も一定になっているが、あくまで説明のため簡略化したものであって、リアルなデータをそのまま用いる場合には等間隔とは限らないし、そのような等間隔ではないリアルなデータを補間して図６Ｃに示すように等間隔にしたものであってもよい。
なお、売気配や買気配は最良気配とその他気配ごとに価格・数量と時刻等が予測されるものであれば、売気配・買気配ごとの最良気配・その他気配の価格・数量と時刻の時系列データとして表される。
【００１７】
以下、学習について説明する。学習を行う主体は、マーケットシミュレーションシステム１２０のＣＰＵ２０１として説明を行うが、他の情報処理装置（又はコンピュータ）が学習を担当するようにしてもよい。この場合、他の情報処理装置（又はコンピュータ）のＣＰＵが処理の主体となる。
図７は、ＬＳＴＭ（Ｌｏｎｇ  Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ）を用いた場合の、板生成ＮＮ３０３の学習の一例を示す図である。
図７に示されるように、ＣＰＵ２０１は、ｔ１（例えば、１０時００分）とｔ２（例えば、１０時０５分）との板情報を学習データとし、ｔ３（例えば、１０時１０分）の板情報を教師データとして、板生成ＮＮ３０３を学習させる。同様に、ＣＰＵ２０１は、ｔ２（例えば、１０時０５分）とｔ３（例えば、１０時１０分）との板情報を学習データとし、ｔ４（例えば、１０時１５分）の板情報を教師データとして、板生成ＮＮ３０３を学習させる。このように学習させることで、板生成ＮＮ３０３は、直前の連続する過去の２つの板情報を入力すると、次の板情報を出力（予測）することができるように、ＬＳＴＭニューラルネットワーク（学習モデル）のパラメータが調整される。
なお、ここでは説明を簡単にするため、あくまで一例として、現在板を含む直前の連続する過去の２つの板情報から次の板情報を予測するための学習モデルを例に説明したが、過去の３つ以上の板情報から次の板を予測する学習モデルであってもよいし、連続しない過去の複数の板情報から次の板情報を予測するような学習モデルであってもよいし、又は直前の１つの板情報（現在板情報）から次の板情報（気配値や数量）を予測するような学習モデルであってもよいし、更には、複数の過去板情報からその間の時刻における価格を線形補間等した値と対応する時刻を用いて次の板情報（気配値や数量）を予測するような学習モデルとして構成してもよく、特に限定はされない。  ここで、ＬＳＴＭは、ＲＮＮの拡張として登場した時系列データに対するモデルの一つである。ＬＳＴＭは、一例であって、他のＲＮＮを用いてもよい。
【００１８】
図８Ａ及び図８Ｂは、ＣＮＮを用いた場合の、板生成ＮＮ３０３の学習の一例を示す図である。
図８Ａは、図６Ａで示される板情報を画像で表現したものである。また、図８Ｂは、図Ｂで示される板情報を画像で表現したものである。
ＣＰＵ２０１は、ｔ１（例えば、１０時００分）とｔ２（例えば、１０時０５分）との板情報の画像を学習データとし、ｔ３（例えば、１０時１０分）の価格や数量の板情報（又は、何秒後に、変化なし／変化あり（即ち「上昇する」や「下降する」）といった情報）を教師データとして、板生成ＮＮ３０３を学習させるようにしてもよい。これにより、板生成ＮＮ３０３をＣＮＮ学習モデルとして構成することができるようになる。なお、ＣＮＮの一例として３Ｄ−ＣＮＮを用いてもよい。
ときに、ＣＮＮ、ＲＮＮ、ＬＳＴＭについて簡単に補足すれば以下のとおりである。近年、人工知能技術としてディープラーニング（深層学習）の利用が盛んになっている。ディープラーニングは、機械学習技術の一つであるニューラルネットワークの階層を深めたアルゴリズムである。ニューラルネットワークは、生物の脳神経（ニューロン）をモデルとしたアルゴリズムである。ニューラルネットワークは、入力層、隠れ層、出力層の各層をもつ。各層にはノードがあり、ノード間がエッジで結合される構造となっている。隠れ層には複数の層をもつことができる。この隠れ層が深いニューラルネットワークを用いた機械学習がディープラーニングと呼ばれる。換言すれば、ディープラーニングとは、機械学習のうち、ニューラルネットワークを用いて入力データの特徴をコンピュータが自動的に抽出するものである。ディープラーニングは教師あり学習にも教師なし学習にも適用可能であるが、実用化されているものとしては教師あり学習のほうが多い。
ニューラルネットワークの各層は活性化関数と呼ばれる関数をもち、エッジは重みをもつことができる。各ノードの値は、１つ前の層のノードの値から計算される。即ち、各ノードの値は、前の層のノード値、エッジの重みの値、そして活性化関数から計算される。この計算方法には種々のものがあるが、詳細については説明を省略する。
ＣＮＮは、画像認識の分野で実績がある。ＣＮＮでは、隠れ層は、畳み込み層とプーリング層とから構成される。畳み込み層では前の層の近くのノードに対してフィルタ処理を行う。行列で表されるフィルタを元の入力画像に対してスライドさせていくイメージである。これにより、特徴マップを得ることができる。
プーリング層は、畳み込み層から出力された特徴マップを縮小して新たな特徴マップを生成する。この特徴マップの生成処理により、画像のずれが吸収できるようになる。そして、プーリング層は、局所的な特徴をまとめあげる処理をする。
畢竟、畳み込み層及びプーリング層は、入力画像の特徴を維持しながら画像を縮小処理することを意味する。単なる画像圧縮との違いは、画像の特徴を維持しながら画像を縮小するものであり、換言すれば抽象化する処理であるといえる。
ＣＮＮでは、各層は次の層へと意味のあるデータを順に渡していく。層が進むにつれてネットワークはより高レベルな特徴を学習することができる。例えば、最初の層では例えばエッジなどの局所的な特徴を検出し、次の層でそれらを組み合わせてテクスチャを検出するなどし、更にその次の層ではより抽象的な耳などの部位の特徴を検出する。ＣＮＮでは、このような特徴を抽出するためのパラメータを自動で学習していく。このようにして、ＣＮＮでは、ネットワークに記憶された抽象化された画像イメージを用いて、入力される画像を認識ないしは分類をすることができるようになる。
ＣＮＮで扱われるのが主に画像データ（二次元の矩形データ）であったのに対し、ＲＮＮが扱うのは、音声データ等の可変長の時系列データである。ＲＮＮでは、可変長データをニューラルネットワークで扱うために、隠れ層の値を再び隠れ層に入力するネットワークの構造にしたものである。しかしながら、ＲＮＮは、長時間前のデータを利用すると誤差が消滅したり、演算量が膨大になったりするなどの問題がある。そのため、短時間のデータしか処理できなかった。そこで登場したのがＬＳＴＭである。ＬＳＴＭは、ＲＮＮの欠点を解消し、長期の時系列データを学習することができる学習モデルである。
【００１９】
図９は、ＣＮＮにより学習した学習済みモデルに基づいて転移学習する一例を示す図である。上述のとおり、ＣＮＮでは、様々な特徴を捉える特徴抽出器（又は識別器）ができあがっている状態といえる。転移学習では、ＣＮＮにおいてすでにできあがっている特徴抽出器の部分（ニューラルネットワークのうち入力側に近い層）を再利用し、分類器の部分（ニューラルネットワークのうち出力側に近い層）についてのみ再度学習するものである。これにより、普通に学習させるよりも少ないデータで追加学習させることができる。例えば画像認識においては、犬猫を認識するニューラルネットワークが学習済みの場合、入力側に近いプリミティブな要素や特徴を識別する層を再利用し、出力側に近いより抽象的な要素や特徴を識別する層や対象を分類する層のみを再学習させることで、猿やチンパンジーなどの他の動物をも認識することができるように学習させることができる。これを株取引における板情報の予測へ適用する場合には、出力側に近い層の部分を特定の日時のデータで再学習させるような転移学習を行うことでデータ量を補うことになる。
図９に示されるように、ＣＰＵ２０１は、例えば、２０１８年より前の過去板情報に基づき、学習済みの板生成ＮＮを生成しておく。そして、ＣＰＵ２０１は、ベースとなる学習モデルに対して、更に２０１８年１月のデータを学習させ、２０１８年１月用の学習済み板生成ＮＮを生成するようにしてもよい。また、ＣＰＵ２０１は、ベースとなる学習モデルに対して、更に２０１８年３月１周目のデータを学習させ、２０１８年２月１周目用の学習済み板生成ＮＮを生成するようにしてもよい。また、ＣＰＵ２０１は、ベースとなる学習モデルに対して、更に２０１８年３月〇日のデータを学習させ、２０１８年３月〇日用の学習済み板生成ＮＮを生成するようにしてもよい。
図９では、ＣＮＮにより学習した学習済みモデルを例に説明を行ったが、ＬＳＴＭにより学習した学習済みモデルに対して転移学習するようにしてもよい。また、ＬＳＴＭの学習において、ＣＮＮで獲得した特徴量を利用して再学習させることができる。即ち、ＬＳＴＭとＣＮＮとを組み合わせて転移学習を行うことができる。
【００２０】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００２１】
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
【００２２】
以上、上述した各実施形態の処理によれば、より少ないリソース、及びより短い時間で、より現実に近い市場の動きを再現することができる。
【符号の説明】
【００２３】
１２０  マーケットシミュレーションシステム
２０１  ＣＰＵ
３０３  板生成ＮＮ
【図１】
2020061027.tif 000003
【図２】
2020061027.tif 000004
【図３】
2020061027.tif 000005
【図４】
2020061027.tif 000006
【図５】
2020061027.tif 000007
【図６Ａ】
2020061027.tif 000008
【図６Ｂ】
2020061027.tif 000009
【図６Ｃ】
2020061027.tif 000010
【図７】
2020061027.tif 000011
【図８Ａ】
2020061027.tif 000012
【図８Ｂ】
2020061027.tif 000013
【図９】
2020061027.tif 000014