内容梗概
本研究では、金融取引戦略を獲得する強化学習モデルにおける、特徴抽出層の提案を行った。強化学習における特徴抽出層は、モデル自体の学習に大きく関わる要素の1つである。この特徴抽出層において、適切な形で入力値を処理することによって、より安定した金融取引を行うことが可能になると期待できる。そのため、本研究では、はじめに既存の特徴抽出層を用いて、平均累積利益率の評価を行い、その評価を基に新しい特徴抽出層の提案を行った。
提案手法の評価は、東証株価指数(TOPIX)の、(1) 上昇傾向にあるデータ、(2) 下落傾向にあるデータ、(3) 明確な傾向のない直近300日のデータに対して行った。その結果、提案手法ではテストデータの傾向に関わらず、従来手法より安定した累積利益率を達成することを示した。さらに、直近300日間のテストデータにおいて一番良い結果を残し、大きな下落により平均累積利益率が一時的に1を下回った場合においても、時間の経過とともに平均累積利益率が上昇し、最終的には1を超える結果となることを示した。
はじめに
株価予測は人の手によって予測されてきた。投資家たちはテクニカル分析やファンダメンタル分析といった手法で株式相場の分析を行い、株価の動向を予測していた。これらは古くから利用されているものであり、現在でも数多くの指標が活用されている。だが、これらの分析を個人の手で行うには多大な時間や労力を要する作業であり、専門的な知識が必要である。また、個人の主観や解釈が大きく影響されるため、精度は個人の解釈に依存する傾向にあった。
近年では、機械学習の発達に伴って、様々な場面で機械学習が使用されている。株価予測や金融取引といった場面でも使用されるようになり、手作業で行われていた分析が機械学習によって効率化され、一貫性のある分析を行うことが可能となった。
また、投資家たちは当日のみの市場状況だけでなく、過去の株価データや指標を考慮し、取引を行っている。これは過去の株価データや指標が、当日の市場状況に影響しているからである。そのため、機械学習における株価予測や金融取引では、株価データといった時系列データの扱い方はモデルの精度に大きく影響していると考えられる。
そこで、本研究ではこの考えを基に、従来の時系列を考慮した金融取引戦略を獲得する強化学習モデルにおける特徴抽出層に着目した。まず、証株価指数(TOPIX)のデータを用いて従来手法の評価を行った。その後、特徴抽出部分に改良を加え、利益率の向上を図った。
評価では、東証株価指数(TOPIX)の、(1) 上昇傾向にあるデータ、(2) 下落傾向にあるデータ、(3) 明確な傾向のない直近300日のデータに対して行った。その結果、上昇傾向のテストデータではLSTMを、下落傾向のテストデータではCNNを、上回る平均累積利益率を得ることができなかった。しかし、直近300日のテストデータにおいては、一番良い累積利益率を得ることができた。また、どのテストデータに対しても、最終的には平均累積利益率が1を下回ることはなく、時間の経過とともに安定した結果を得る事ができた。
関連研究
関連研究として、金融データに対する取引戦略獲得する深層強化学習モデルの構築を行う研究や、テクニカル指標から株価予測モデルの構築を行った研究等、機械学習と金融が関連している研究について挙げていく。それぞれの研究概要の説明を行った後、本研究との異なる点について述べる。
時系列を考慮した複利型深層強化学習を用いた金融取引戦略獲得[1]は、金融取引戦略を獲得する強化学習モデルの構築を行い、そのモデル内に含まれる特徴抽出層に、1次元畳み込みやLSTMといった層を追加し、実験を行っていた。この実験では3つのモデルを提案手法とし、評価を行っており、結果としては、市場傾向によって適切なモデルが異なるというものであった。この結果より、作成されたモデルを実際に用いるのは難しく、どのような傾向のときも適切に動作するモデルが必要であると考えた。本研究では、この考えの基、市場の傾向に関わらず、安定した利益が得られるようなモデルの作成を目指す。
テクニカル指標を基にしたLightGBMによる株価予測とその評価[2]は、機械学習フレームワークを用いた株価予測モデルの構築を行い、使用するテクニカル指標によって変化する株価予測を評価し、予測精度と入力データの関連性を考察している。本研究でもテクニカル指標にを入力値として扱い、実験を行っているが、株価予測モデルの構築ではなく、金融取引モデルの構築に対して使用している。
機械学習を用いたアナリストレポート分析と投資判断レーディング予想[3]では、アナリストレポートを用いて文章情報から景況感を評価し、その情報を基に、レーティングを予測するモデルを作成している。本研究においても、機械学習を用いて、投資や金融に関連したことについて学習を行っているが、[3]の研究とは全く異なった手法で取り組んでいる。
投資戦略の最適化の不安定性による金融市場の不安定性-人工市場を用いた分析-[4]は、テクニカルエージェントを追加した人工市場モデルを用いて、金融市場の不安定性について調査している。シミュレーションを通じて、最適な投資パラメータを探索し、異なる戦略を取ることによって市場価格に与えられる影響を分析している。本研究においては、人工市場ではなく実際の株価指数を使用し、モデル構築を行っている。
ARIMA-GA-SVRによる株価予測モデル[5]は、株価予測のための新しいモデルとして、ARIMAモデルとSVRモデルを組み合わせ、GAを用いてSVRのパラメータを最適化している。実際のデータに対する実験では、予測精度が高く、計算速度も早いことが示され、モデルの有効性を示していた。本研究においては[5]と同じく異なるモデル同士を組み合わせる手法を提案しているが、株価予測モデルの作成は行っていない。
金融取引戦略を獲得する強化学習モデルの構築
状態変数の算出
強化学習のモデルにおいて、環境の状態として用いるデータの説明を行う。状態変数は、TOPIXの始値、高値、安値、終値からなる四本値から算出可能なものである。今回は、状態変数として、株価四本値と表 1に記載されているテクニカル指標計10種を用意した。
表 1の状態変数を算出するにあたって特定の期間のデータや、標準偏差の倍率が必要となるテクニカル指標が含まれている。相対終値以外のテクニカル指標を算出する際に、ウィンドウサイズを5日とした。また、上側及び下側のボリンジャーバンドの標準偏差倍率は2倍とした。なお、ここで使用している日数は、暦上での日数ではなく株価指数が取引された記録が欠損なく残っている日数で計上されている。したがって、取引が行われなかった日や、データの一部に欠損があった日は、この日数に計上されない。
移動平均 |
移動標準偏差 |
相対終値 |
移動標準偏差の移動平均 |
移動標準偏差の標準偏差 |
相対移動標準偏差 |
ボリンジャーバンドの上側 |
ボリンジャーバンドの下側 |
ROC |
モメンタム |
データの前処理では、強化学習モデルが各状態変数の特徴量を均一に処理できるよう、それぞれの状態変数の値を0から1の範囲にスケーリングを行った。また、ウィンドウサイズに基づくテクニカル指標を計算する際に、最初のウィンドウサイズ期間は、それ以前のデータがないため、欠損値として出力される。これらの欠損値はデータの傾向を保持するために、欠損しているテクニカル指標の平均値によって補完した。
行動設定と評価設定
強化学習モデルを作成するにあたって、使用した行動の種類は、購入と売却の2種類とした。行動が購入の場合、当日の始値で購入し、終値で売却した。行動が売却の場合、当日の始値で信用売りし、終値で買い戻した。また、強化学習において使用される、行動に対しての評価基準となる報酬は、利益率を使用した。
使用データと強化学習モデルの構築
これまでに作成した状態変数を使用し、金融取引戦略を獲得する強化学習モデルを構築する。学習を行うために使用するデータは、J-Quants APIを利用して取得したものである。モデルの訓練データとしてTOPIXの期間400日分を使用しており、図 1は縦軸がTOPIXの始値であり、横軸が日数を示している。この図から分かるように、訓練データは上昇傾向にあるものを使用した。
エージェント側のモデル構築では、深層強化学習ライブラリであるStableBaselines3のPPOを複利型に拡張したものを利用した。環境側のモデル構築では、エージェントは前日から一定期間前までのデータを状態変数として使用し、それを基に行動を決定するよう設定している。

特徴抽出層の構築
特徴抽出層は強化学習において、提供された状態から、特徴やパターンを自動的に学習し、抽出する役割を担っている。これを使用することにより、エージェントの学習がより効果的に行われる。
従来手法
[1]では、時系列データの特性を捉えるために、全結合を基に、3つの異なるモデルを構築している。1つ目のモデルは、特徴抽出層をLSTMに置き換えており、これにより時系列データ特有の特徴やパターンを捉えながら学習することを期待している。2つ目のモデルでは、特徴抽出層は1次元畳み込みを使用しており、これにより時系列データから局所的な特徴を捉えながら学習することを期待している。3つ目のモデルでは、特徴抽出層に1次元畳み込みにプーリング層を加えたものを使用しており、これにより2つ目のモデルよりも計算負荷を低減させるとともに、データの特徴を効果的に捉え、学習を行うことを期待している。本研究では、全結合に加えたこれら3つのモデル従来手法とよぶ。
従来手法の評価
強化学習モデルのテストデータとして、異なる傾向にある2つのTOPIXの期間300日分を使用した。具体的には、始値が上昇傾向にある2020年6月4日から2021年8月24日 の期間の図 2および下落傾向にある2018年2月2日から2019年4月23日までの図 3の期間のデータを利用した。どちらの図も縦軸がTOPIX、横軸が日数を示している。このテストデータを使って異なる市場状況下での実験評価対象である平均累積利益率の変動を分析した。


テストデータが上昇傾向にあった場合の累積利益率の結果を図 4、下落傾向にあった場合の平均累積利益率の結果を図 5に示す。どちらの図も縦軸が平均累積利益率であり、横軸が日数を示している。

平均累積利益率の推移

平均累積利益率の推移
実験結果としては、訓練データとテストデータが共に上昇傾向にある実験ではLSTMが最も高い平均累積利益率を獲得し、訓練データとテストデータが異なった傾向にある実験では1次元畳みが最も高い平均累積利益率と獲得することがわかった。
LSTMは長期的な情報を保持しながら学習するのが可能であり、それにより、訓練データと同じ傾向を持つテストデータを使用した実験では、一番良い結果を残したのであると考えられる。また、下落傾向にあるテストデータを使用した実験では、上昇傾向のデータを元に学習していたため、平均累積利益率が1を下回ったと考えられる。
全結合では長期に渡って情報を保持、学習をする訳では無いが、入力された全情報を全て使用する。そのため、訓練データとして与えられた市場の一般的な傾向を捉えることが出来、一方、異なる傾向をもつテストデータを使用した実験では平均累積利益率が1を下回ったと考えられる。
1次元畳み込みでは、局所的な特徴を捉えることを得意とするため、短期間ではあるが、データの重要な情報を捉えることが可能である。また、訓練データが上昇傾向であったのにも関わらず、テストデータが上昇傾向の時よりも下落傾向にあった方が、平均累積利益率が良い結果となった。これは、下落傾向のデータでは、短期間における急激な変動があったため、モデルがそれらを特徴として捉える事ができ、上昇傾向よりも良い結果が残せたと考えられる。
1次元畳み込みとプーリング層を組み合わせたものでは、最も大きな特徴を捉える。そのため、市場の些細な変化に対応する能力が低下し、どちらのテストデータに対しても良い結果を残すことが出来なかったのではないかと考えられる。
提案手法
従来手法の評価を基に、本研究では1次元畳み込みとLSTMを組み合わせた特徴抽出モデルの提案を行う。LSTMにおける、長期的な情報保持能力と、1次元畳み込みにおける局所的な特徴抽出能力を融合することにより、長期的な傾向を学習しつつ、短期間における重要な特徴を捉えることが可能であると考えた。また、このモデルによりデータの傾向に関わらず、安定した平均累積利益率を得ることを期待する。
作成した特徴抽出層のネットワーク図を図 6に示す。はじめに、2つの1次元畳み込み層を使用して、特徴を抽出した。次に、1次元畳み込み層で抽出された特徴を、LSTM層が処理可能なように、データの次元を調整するために permuteを行う。最後にLSTM層では再形成されたデータを処理し、時系列データにおける特徴をモデル化し、最後のステップを出力する。出力層では、LSTM層からの最後のステップにおける隠れ状態を使用した。

性能評価
使用するテストデータ
性能評価を行うにあたって、3種類のテストデータを使用した。図 5.1図 5.2で示した、異なる傾向を持つテストデータ2種と、傾向を考慮せず取得した直近300日(2022年9月8日から2023年11月29日)のテストデータ図 7を使用した。なお、訓練データの変更は行っていない。

提案手法の評価
上昇傾向に対する平均累積利益率を図 8上昇傾向、下落傾向に対する平均累積利益を図 9、そして、直近300日に対する平均累積利益率を図 10に示す。図は縦軸が平均累積利益率であり、横軸が開始日からの日数を示している。



図 8上昇傾向、従来手法であるLSTMほどの良い結果は得られなかったものの、その他の従来手法に比べ平均累積利益率は良いものであった。また、提案手法における平均累積利益率も安定していることが分かる。これは、上昇傾向のテストデータにおいて、1次元畳み込みにおいて大きな特徴を捉えることが難しい状況であっても、LSTMより訓練データで得た長期的なデータによって、LSTMの次に良い結果を得られたのではないかと考察する。
また、図 9下落傾向時の平均累積利益率 、提案手法は、1次元畳み込みよりも平均累積利益率は良くないことがわかる。提案手法は40日あたりの急な下落に対しては対応できなかったものの、徐々に平均累積利益率を安定した状態で伸ばしており、120日以降には平均累積利益が1を上回った。これは初めの下落に対して1次元畳み込みが特徴を捉えたが、LSTM層が入ることにより、長期的なデータより判断するようになり、1次元畳み込みのみ使用したモデルより、対応するのに時間がかかったため、後々累積利益率をあげることが出来たと考えられる。
図 10で得られた結果としては、従来手法である1次元畳み込みとLSTMの累積利益率は130日から220日において似たような値を取得しており、その前後の期間ではLSTMの累積利益率が不安定であった。また、全結合と1次元畳み込みにプーリング層を用いたものは、他の手法と比較して良い結果を得ることができなかった。さらに、提案手法では、他の手法と比べ、安定した状態を維持したまま、平均累積利益率を伸ばした。提案手法が一番良い結果を残すことが出来た要因は、2番目に良い結果として1次元畳み込みとLSTMが同じような結果であったことから、データにおける特徴と長期的な学習が実現できたためだと考えられる。また直近300日のデータには急な上昇が多く含まれていたのも要因の一つと考えられる。
まとめと今後の課題
本研究では、金融取引を行う強化学習モデルを作成し、従来では1次元畳み込みや全結合といった、単種類のみを使用していた特徴抽出層手法に拡張を加え、1次元畳み込みと、LSTMを組みあわせたものを提案した。また、実験により提案手法の有効性を示すため、TOPIX から振る舞いの異なる3種類のテストデータを用意し、評価した。
評価の結果、提案手法はほとんどの従来手法に比べ、平均累積利益率を安定した状態で増加させていた。また、提案手法はデータの急激な変化に早急に対応することは難しい状況にあり、適応するには少々の時間を要することがわかった。
今後の課題としては、連続したデータに対する金融取引において、より安定した状態で利益を増やすような強化学習モデルを作成することである。具体的な課題点としては2点ある。1点目は訓練データテストデータの取得期間を年単位に広げ、より長期間のデータでの評価を行うことで、より信頼性のあるモデルであることを実証する。2点目は行動選択を購入・売却の2種類から購入・売却・保有の3種類に設定し、モデルの拡張を行うことで、実際の取引に近い状態で、モデルがより適切に戦略を獲得することが可能であると考える。
参考文献
[1] | 近藤巧麻 松井藤五郎,時系列を考慮した複利型深層強化学習を用いた金融取引戦略獲得,第28回金融情報学研究会,2022 | ||
[2] | 鳥嶋稜,テクニカル指標を基にしたLightGBMによる株価予測とその評価,大阪電気通信大学総合情報学部情報学科2021年度卒業論文,2021 | ||
[3] | 鈴木章悟ほか,機械学習を用いたアナリストレポート分析と投資判断レーティング予測,第28回金融情報学会研究会,2022 | ||
[4] | 水田孝信,投資戦略の最適化の不安定性による金融市場の不安定性-人工市場を用いた分析-,第29回金融情報学研究会,2022 | ||
[5] | 卓越,森本孝之,ARIMA-GA-SVRによる株価予想モデル,第29回金融情報学研究会,2022 |
コメント