【無料】ディープラーニングを用いた市場ポートフォリオの最適化
論文解説:Deep Portfolio Optimization via Distributional Prediction of Residual Factors
筆者和訳:分布の残差因子の予測生かした、ディープラーニングを用いた市場ポートフォリオの最適化
論文: Deep Portfolio Optimization via Distributional Prediction of Residual Factors
著者:Kentaro Imajo, Kentaro Minami, Katsuya Ito, Kei Nakagawa
日本からアクセプト金融時系列予測に関する論文を解説します。こちらはPreferred Networks(PFN)と野村アセットマネジメント株式会社の共同研究です。
1. 論文の概要
本研究では、投資やトレードの戦略を立てやすくするために、金融時系列の予測モデルの開発を行っています。金融分野で培われてきたドメイン知識を考慮しながら、金融時系列の諸性質をニューラルネットワークに導入しています。重要なポイントとしては、「残差項」と呼ばれる各銘柄に特有の変動を抽出することで、市場全体の変動と効率的に分離でき、ポートフォリオの最適化を図ることです。
米国と日本のそれぞれの株市場の実データを用いて検証をしたところ、取引成績の向上など、本研究の成果を確認することができました。今後は、多様なファイナンシャル課題に本研究の成果を応用することが期待されています。
2. 金融分野の予測タスクは難しい!
一般に、金融の時系列データを用いた予測は非常に難しいと認識されています。そもそも市場は「予測できないように」動いていることが金融分野の一種の共通認識です。仮に容易に予測できたとすれば誰もが簡単に儲かるはずです。また、市場全体の変動が素早いため、それに引きずられる形で、個別の銘柄に対する取引戦略は長期にわたって効果を維持されにくくなります。
もう1つ難しい点としては、金融時系列の場合、機械学習モデルの学習に使える訓練データが多くないことが多いです。わずか数百件しかないこともあります。市場が複雑であるにもかかわらず、少量の学習データから市場の動きを推定し収益の機会を発見しようとすると、「過学習」が起きやすくなります。
(補足)過学習が起きやすい条件
機械学習を活用する上では、過学習(「オーバーフィッティング」や「過剰適合」)について理解し、それを避けるための最大の努力をすることが必要です。
過学習とは「学習データを過剰に学習すること」、つまりモデルを学習データに合わせすぎてしまい、その結果として未知のデータに対する汎用性が失われてしまっている状況をいいます。学習済みモデルに関して望ましい状況は答えが未知な新しいデータに対しても予測性能を出せることです。逆に、過学習とは、訓練データに対してのみ予測精度がよく、未知データに対しては予測の誤差が大きい状態です。過学習されたモデルは、本番環境で「全然使い物にならない」代物になってしまいます。
■過学習の代表的な原因
- データ数が少ないのに、特徴量(説明変数)の数が多すぎる
- 相関が強い特徴量が多く存在する
- モデルが複雑すぎる(形が複雑な高次元の関数)
- パラメータ(線形回帰の係数に相当)が大きすぎる
■過学習への対策
- 学習データの数を増やす
- ハイパーパラメーターを調整して、モデルの複雑さを抑える
- 正則化を実施する
■ディープラーニングでも難しい?
ニューラルネットワーク(ディープラーニング)には画像、音声などの非構造化データの場合であっても、複雑な特徴やパターンを見つけ出し、圧倒的な予測能力を発揮できることが知られています。株価の変動など金融分野の予測にもニューラルネットワークを活用しようとする動きが見られます。
一方で、ニューラルネットワークは実は苦手とするパターンがあります。その1つは、繰り返し構造がある非定常なパターンを観データです。これはまさに金融の時系列データの特徴そのものです。仮定を立てることや予測対象を定義することが困難です。
本研究では、市場全体にそれなりに変動が続いても、ニューラルネットワークを現在の環境に合わせやすい、適応しやすい工夫を取り入れています。後ほど詳細に解説する「残差項」や「帰納バイアス」(financial inductive bias)が積極的に反映されている性質です。
実際、同じようなことが画像認識に用いられるCNNや長い時系列(文章など)の分析に用いられるRNNの一種であるLSTMでも行われています。CNNはデータが満たしている性質を「制約」という形でモデルに与えることで、効率よくモデルの訓練を行なっています。この制約が本研究の「帰納バイアス」に相当します。
3. 本研究の重要なテクニック
改めて、本研究では、金融時系列特有の性質について考察し、それらを取り込んだニューラルネットワークモデルを提案することによって、予測の性能を高めています。
主に2つの重要なテクニックがあります。
1:残差項を効率的に算出するための手法を開発しました。
2:帰納バイアス(市場変動の振幅や時間スケールなど)を取り込めるニューラルネットワークモデルを開発しました。
これらはいずれも、金融分野で蓄積されてきたドメイン知識を機械学習モデルに取り組む工夫といえます。一部は既存の時系列予測アルゴリズムの数々とスムーズに組み合わせることができます。
上と関連して、提案されたシステムは主に以下の3つの構成部分から成り立ちます。詳しくは図1にシステムの構成が示されています。
- 残差項(個別銘柄特有の変動)を効率的に抽出する部分
- 分布を予測する部分(金融時系列の振幅不変性・時間スケール不変性を考慮したネットワーク・アーキテクチャ)
- 分布予測に基づいて、ポートフォリオ構築の最適化を行う部分
図1 本研究で提案されるシステムの構成。主に3つの部分から構成されます。
(i)残差項を抽出するレイヤー: extraction of spectral residuals
(ii)分布を予測するニューラルネットワーク: distribution predictor
(iii) ポートフォリオの最適化を行う部分: Portfolio transformer
先述の通り、上記のシステムを米国と日本の株市場のデータを用いて検証をしました。その結果は詳しくは6、7節で説明します。その中で、「アブレーション実験」(ablation experiments)も行われ、それによって、上記の2つのテクニックのどちらも取引戦略の最適化に貢献できることが示されていました。
※「アブレーション実験」は、特定のコンポーネントを削除してAIシステムのパフォーマンスを調査し、システム全体に対するコンポーネントの寄与を理解するために行うものです。
後続の節では、システムの各部分の工夫をより詳細に解説します。
4. 残差項の効率的な抽出
本研究の1つ目のポイントは、市場全体の変動に対する過学習やバイアスを回避するために、残差項(各銘柄の特有の変動)を効率的に抽出する手法を提案したことです。
取引戦略の中で、どの銘柄を取引すべきかの意思決定を行いたいです。各銘柄の価格変動は、市場全体の変動(例:日経平均株価の変動)をはじめとする複数の銘柄に共通な因子から影響を重く受けています。したがって、各銘柄の価格変動を「そのままの形」でモデルに入力した場合、モデルの学習は市場全体の動きに引きつられて、過学習をしてしまうリスクがあります。これに対して、各銘柄の「固有の動き」を機械学習に学習させることが望ましいです。この固有の動きは、先述の共通因子を取り除いた残りの変動として現れると考えられます。これが「残差項」と呼ばれるものです。
■残差項が抽出できた場合、それをどのように予測や取引戦略に活かせるのでしょうか
図2 重ね線グラフは、残差項の抽出による取引戦略の改善を示しています。ここでは、以下の2つのを比べています。
- 【青線】米国株の代表的な銘柄の「生リターン」(raw returns)データ
- 【緑線・橙色線】残差項に相当する因子(FA residuals, PCA residuals) を抽出したものに対して、簡単な取引戦略(リバーサル戦略)を適用したときの累積リターン
図2から、残差項は予測可能であること、そして、それによって取引成績が向上していることがわかります。特に、過去に何回か起きた大きな金融危機の影響も、残差項を考慮した戦略では緩和できることがシミュレーションで示されています。
以上から言えるのは、
- 一般的に、リターンが市場因子と強い相関を持つ場合、市場全体から及ぼされるリスクが大きくなります。
- ロバストな取引戦略を設計するためには、残差項を取り出せることが重要です。
- 本研究において、残差項は、市場全体の変動と切り離した形、各銘柄の固有の変動を十分の代表できています。
図2:残差項を考慮した取引戦略の累積リターン(緑線・橙色線)と生リターン(青線)を比較。残差項を取り入れた戦略は市場の大きな変動に対しても頑丈であることが示されます。
最後に、数学的な話を少しします。共通項や残差項といった概念は、線形因子モデルを仮定して定義されます。
… 式1
式1は時刻tにおける株のリターンを表しています。K個の因子に1つの残差項を付け加えた形式として線形モデルが表現されています。ここで、fは複数の銘柄に共通な因子、εが残差項であり、時刻tと銘柄iに固有のものです。
実用に耐えられる計算時間で線形因子モデルを分解し共通項を除去します。処理に時間がかかる因子分析の代わりに、より単純かつ高速な主成分分析 (PCA) を、データの前処理に利用しています。
5. 振幅不変性・時間スケール不変性
本研究の2つ目のポイントは、金融時系列におけるスケール不変性を考慮したネットワークの構造です。
金融時系列データは振幅や時間に関してある種の「スケール不変性」をもっていると言われています。振幅不変性は” volatility clustering”(volatility = 振幅)と呼ばれ、時間に対する不変性は” fractal structure”と呼ばれます。
実は、画像のためのCNNでも空間不変性に着目しており、プーリング操作を通じて、被写体のわずかな移動に対してロバストになるようにしています。これはシフト不変性(shift-invariance)と呼ばれます。
振幅や時間スケールを伸縮させたデータは同一の情報とみなすことで学習効率が改善するメリットも期待できます。そこで本研究では、金融時系列特有のスケール不変性を考慮するようにニューラルネットワークを設計しました。具体的には以下です。
- 振幅不変性のために、入出力を入力の振幅のスケールで割ることにより正規化する構造を導入しました。これにより縦軸のスケールだけが異なる入出力データを、ニューラルネットワークが同一のものとして扱うようになりました。
- 時間スケール不変性のために畳み込みのような構造を導入しました。これによって、金融時系列予測のために捉えたい特徴が訓練データに様々な時間スケールで現れていたとしても、効率的に捉えられるようになりました。
性能試験においても、上記の構造を利用することで、実世界の株価データの取引性能が改善されることが確認されました。
6. 分布予測によるポートフォリオ構築
本研究における3つ目のポイントは、リターンの分布を予測することによるポートフォリオの最適化です。
株価予測の最終的な目的は安定的な取引戦略の構築です。「高いリターンを期待できるのと同時に、リスクが小さくとどまるような戦略」がよい戦略と評価されます。単純にリターン自体を予測するだけでなく、リターンがどの程度大きく「ぶれる」可能性があるか、つまりリスクの情報も必要です。
そのため、本研究では期待値だけではなく、将来のリターンの「分布」を予測することにも着目しています。具体的に、リターンの残差項の分布を予測するネットワークを構築し、予測された分布の情報に基づいてポートフォリオを設計する手法を提案しました。
正確な分布の情報を抽出するのに一工夫が必要です。株式のリターンの分布は、左右非対称である(歪度が大きい)こと、外れ値が高い頻度で出ることが経験的に知られています。そこで、本研究では正規分布のような左右対称かつ裾が小さい分布をフィットするのではなく、分位点回帰 (quantile regression)に基づく予測手法を採用しました。そのほうが正確な分布の情報を抽出できるからです。
【背景知識】
いくつかの代表的な取引戦略のうち、” momentum phenomenon”は現在のマーケット・トレンドの予測を対象にし、” mean reversion”は株価が現在の方向と反対方向に遷移することを仮定します。しかし、両者は互いに負の相関を持っており、特定の銘柄の予測にどちらの方がよく効くかが明らかになっていません。
これらに対して、” modern portfolio theory” は資産額の分布から抽出した量(一般的にリターンの平均と分散)を用いてポートフォリオを構築するためのフレームワークです。リターンとリスクの間のトレードオフ(バランス)が最適化されていることが特徴です。したがって、分布予測によるポートフォリオ構築は、市場の動向に自動的に適応できるような取引戦略の設計に有利と思われます。
7. 性能評価
この節では、本研究のシステムを DPO (Deep Portfolio Optimization)と略記します。
実の米国市場データに対するテスト結果は表1に示されています。横軸の指標は論文のSection4.1で描写されている指標です。ここで各指標の数学的な解説を割愛します。
表1左の上の段は残差項の抽出手法をいくつかの既存の予測アルゴリズムと組み合わせて使用した時の結果を示されています。例外的にMarketという予測手法だけは残差項の抽出を行っていません。ARは従来からよく使われる時系列分析モデル、Linearは一般的な線形回帰、MLPは、バッチ正規化やドロップアウトなどの工夫を取り入れたニューラルネットワーク、SFMはRNNに基づく最先端の株予測アルゴリズムです。
表1の下段では“ablation model” において、DPO with No Quantile Prediction (DPO-NQ)とは、分布を反映しないDPOです。DPO with No Fractal Network (DPO-NF)とは、帰納バイアスを取り入れていないシンプルなニューラルネットワークを使用した場合です。一番下の行にあるDPO(Proposed)が本論文の全ての構成部分を取り入れた完全なシステムです。
表1の右側は残差項の抽出を行っていない場合の結果です。
図3の左は、実の米国の市場データに対するCumulative Wealth (CW)というトレード戦略から来る累積リターンを表す指標について、表1と同じ対象物を示しています。図3_右はその残差項の抽出がないバージョンです。
表1から以下のことがわかります。
- 残差項の抽出と関与しないMarketよりも、従来の分析手法を残差項の抽出手法と組み合わせたシステムの方が、一部の指標についてより良い結果を示します。
- Ablation実験の結果によると、本論文で提案された工夫を全て含んだDPO(Proposed)は6つの指標のうち4つは改善をもたらしています。
- 表4.1の左と右を比べると、残差項の抽出は性能に貢献するといえます。
表1:実の米国市場データに対するテスト結果及びablation実験の結果。詳細は本文をご参照ください(左)残差項の抽出手法をいくつかの既存の予測アルゴリズムと組み合わせて使用した時の結果(右)残差項の抽出を行っていない場合の結果
図3 Cumulative Wealth (CW)というトレード戦略から来る累積リターン
8. 本論文の貢献のまとめ
AAAI 2021 に採択された本論文では、金融時系列に対する予測性能を高めるための最先端の手法を、3つのアイデアをコアとした提案です。1つ目は効率的に残差項を抽出することで銘柄特有の変動を市場全体の変動から切り離すことができることです。この計算法は多くの時系列分析のアルゴリズムと容易に組み合わせることが可能です。2つ目は振幅不変性と時間不変性を取り入れたニューラルネットワークを用いた株価の予測です。3つ目はリターンの分布を予測することによって、最新の最適化されたポートフォリオ理論の条件を満たすことができます。
実際の市場データ(日本株と米国株の過去の時系列)を用いて、提案した手法により予測可能性が高まることを示しました。また、ablation実験でそれぞれの技術部品を取り除いたablationモデルとの性能を比較することで、いずれの技術も取引性能に貢献することが確かめました。
※論文の付録には、本論文で行われた計算の詳細、理論的解析、補足実験について記述されています。