Weitere ähnliche Inhalte
Ähnlich wie ファクター投資と機械学習 (20)
Mehr von Kei Nakagawa (17)
ファクター投資と機械学習
- 4. 4
方法論
• 時系列予測
• クロスセクション予測
データ
• テクニカル
• ファンダメンタルズ
• オルタナティブ
手法
• パラメトリック
• ノンパラメトリック
効率的市場仮説(EMH)
Weak:テクニカル、Semi Strong:ファンダメンタルズ、Strong:全てのデータ
に基づく分析によって超過収益は獲得できない。Fama (1970)
株価予測手法のサマリー
- 6. “… and the cross-section of expected returns“ Harvey et,al. [2016] Review of Financial Studies
✔ ある基準=ファクターと呼ばれ、2012年までに少なくとも316のファクターが試され、
さらにそれらのファクターの大部分は過去10年のものであることが報告されている。
クロスセクション予測の基準としてのファクター
✔ パラメトリック(回帰分析)の枠組みでの検証が多数。
6
- 7. ファイナンス、会計、経済の専門誌に掲載された 79 の論文からクロスセクショナルな株式リターンを予測する。
97 の予測変数の、次の期間における予測力を比較する。
1. 元となる論文のサンプル期間(In-Sample)
2. 元となる論文のサンプル期間後で、論文出版前の期間(Out of-Sample)
3. 論文出版後の期間(Post-Publication)
“Does academic research destroy stock return predictability?” McLean and Pontiff [2016] J of Finance
97の各予測変数に対して、元の論文で高いリターンであった上位 20%ロングと下位 20%ショートに基づく
ロング/ショートポートフォリオを構築。
その結果、ロング/ショートポートフォリオのリターンは、2.のアウトオブサンプルでは 26%減少し、3.の論文出版後には
58%低下する。
つまり、両者の差の約 32%が出版効果の上限である。そのためリターンの予測可能性は完全に消滅するという仮説は
棄却されるものの、出版後の予測可能性は変わらないという仮説も棄却された。
クロスセクション予測の基準としてのファクター
7
- 13. 「Deep Factor Model」
Kei Nakagawa, Takumi Uchida and Tomohisa Aoshima,
3rd Workshop on MIDAS@ECML-PKDD 2018 ([preprint] arXiv:1810.01278)
✓ Deep Learningを用いたマルチファクターモデルによる相対魅力度の有効性の検証
✓ 80個のファクターを用いて、1カ月先の将来リターンの順位による魅力度を予測
✓ 投資対象ユニバース:TOPIX構成銘柄(2006年-2016年、月次)
✓ 深層学習は線形のファクターモデル、他の機械学習の手法をアウトパフォームした
実証分析 その1
13
- 14. ✓ 実務的によく使う5つのファクターと
その特徴量(ディスクリプター)を16個使用。
✓ 16個の特徴量の四半期ごとの過去5時点、
16 × 5 = 80個の特徴量を使用。
No ディスクリプター(特徴量) ファクター
1 過去60カ月ボラティリティ リスク
2 市場ベータ リスク
3 歪度 リスク
4 ROE クオリティ
5 ROA クオリティ
6 アクルーアルズ クオリティ
7 負債比率 クオリティ
8 過去60カ月リターン モメンタム
9 過去12カ月-直近1カ月リターン モメンタム
10 過去1カ月リターン モメンタム
11 PSR バリュー
12 PER バリュー
13 PBR バリュー
14 PCFR バリュー
15 時価総額 サイズ
16 ILLIQ サイズ
深層学習を用いた株式マルチファクター運用の実証分析
14
- 15. モデル 概要
深層学習 隠れ層が(80-50-10),(80-80-50-50-10-10)の全結合のネットワーク
深層学習 活性化関数はランプ関数(ReLU)、Tensorflowを使用
線形モデル “sklearn.linear_model.LinearRegression”
サポートベクター回帰モデル “sklearn.svm.SVR”
ランダムフォレスト “sklearn.ensemble.RandomForestRegressor”
✓ Tensorflowおよびsklearnを用いて実装。
✓ 深層学習の有効性を検証するため、線形モデル、非線形モデルをベンチマークとし検証。
✓ 各モデルの相対魅力度の5分位 - 1分位ポートフォリオの収益性を評価。
✓ パラメータは言及のないものはデフォルト値を使用
深層学習を用いた株式マルチファクター運用の実証分析
15
- 17. < 平均絶対リターン> ※年率換算
✓ 絶対リターン、R/R(リスクリターン)
・ 他の非線形モデルに対して深層学習の結果は良好。
・ 線形モデルも悪くない。ただし、非線形モデルのパラメータはデフォルト値。
⇒下手な非線形モデルを使うなら線形でも良い。
深層学習を用いた株式マルチファクター運用の実証分析
17
< R/R > ※年率換算
- 19. No. 特徴量 (ディスクリプター) No. 特徴量 (ディスクリプター) No. 特徴量 (ディスクリプター)
1 当日リターン 12 過去20日/過去60日の売買金額 23 CF/P
2 対2日前リターン 13 営業利益予想の変化(対5日前) 24 ROE
3 対3日前リターン 14 営業利益予想の変化(対10日前) 25 ROA
4 対5日前リターン 15 営業利益予想の変化(対20日前) 26 ROIC
5 対10日前リターン 16 目標株価の変化(対5日前) 27 アクルーアルズ
6 対20日前リターン 17 目標株価の変化(対10日前) 28 総資産回転率
7 対40日前リターン 18 目標株価の変化(対20日前) 29 流動比率
8 対60日前リターン 19 B/P 30 自己資本比率
9 過去60日の平均売買金額 20 E/P 31 総資産成長率
10 過去5日/過去60日の売買金額 21 配当利回り 32 CAPEX成長率
11 過去10日/過去60日の売買金額 22 S/P 33 Investment to Asset
✓ 実務でよく使用すると思われる33個のディスクリプターを使用
✓ TOPIX500構成銘柄に対し、各時点(日次系列)で計算し、使用。
※ただし、No.19以降は毎月末に値が変わる月次データ
深層学習を用いた株式マルチファクター運用の実証分析
19
- 20. ・・・ ・・・
・・・ 場中 場中 場中 場中 場中 場中 場中 場中 場中 場中 場中 場中 場中 場中 場中 場中 場中 ・・・
: :
: :
特徴量 教師データ
ポートフォリオの20%保有
ポートフォリオの20%保有
ポートフォリオの20%保有
ポートフォリオの20%保有
ポートフォリオの20%保有
特徴量 教師データ
ポートフォリオの20%保有
(学習あり)
特徴量 教師データ
ポートフォリオの20%保有
(学習あり)
特徴量 教師データ
t+11t+5 t+6 t+7 t+8 t+9 t+10t-1 t t+1 t+2 t+3 t+4
時点
t-7 t-6 t-5 t-4
・・・
訓練データ
1000セット
訓練データ
1000セット
[train1]
:
[train1000]
[train1]
:
リバランス
・
・
・
検証期間:2013年~2017年 ※寄り基準
5本の合成ポートフォリオの日次リターンを計測
✓ 日々、予測スコアを計算 ⇒ 毎営業日ポートフォリオの20%を入れ替えていく戦略
深層学習を用いた株式マルチファクター運用の実証分析
20
- 21. モデル 隠れ層(Dropout) エポック数
DNN_1
500 – 200 – 100 – 50 – 10
(50% – 40% – 30% – 20% – 10%)
20
DNN_2
500 – 200 – 100 – 50 – 10
(50% – 40% – 30% – 20% – 10%)
30
DNN_3
200 – 200 – 100 – 100 – 50
(50% – 50% – 30% –30% – 10%)
20
DNN_4
200 – 200 – 100 – 100 – 50
(50% – 50% – 30% – 30% – 10%)
30
DNN_5
300 – 300 – 150 – 150 – 50
(50% – 50% – 30% – 30% – 10%)
20
DNN_6
300 – 300 – 150 – 150 – 50
(50% – 50% – 30% – 30% – 10%)
30
・ 深層学習の構造
✓ 全結合型のフィードフォワード
✓ 活性化関数:ReLU
深層学習を用いた株式マルチファクター運用の実証分析
21
・ ランダムフォレスト
✓ 「sklearn.ensemble.RandomForestRegressor」
-特徴量の数:max_features
-木の数:n_estimators
-深さ:max depth
モデル 特徴量の数 木の数 深さ
RF_1 11 1000 3
RF_2 11 1000 5
RF_3 11 1000 7
・ リッジ回帰
✓ 「sklearn.linear model.Ridge」
-正則化パラメータ:alpha
モデル 正則化パラメータ
RR_1 0.1
RR_2 1.0
RR_3 10.0
- 22. < 平均絶対リターン> ※年率換算
✓ 絶対リターン、 R/R(リスクリターン)
・ 絶対リターンは、DNNは水準の違いが相対的に大きい。一方、R/Rは総じて、DNNが良い。
⇒ DNNは買い、売りの両方で収益獲得の機会がある
・ エポック数の違い(20 or 30)では、総じて20回が良い
⇒ (本研究でのパターンにおいては、) 30回は過学習。
深層学習を用いた株式マルチファクター運用の実証分析
22
< R/R>
- 24. No. 特徴量 (ファクター) No. 特徴量 (ファクター)
1 株価純資産倍率 11 流動比率
2 株価収益率 12 自己資本比率
3 配当利回り 13 総資産回転率
4 株価売上高倍率 14 CAPEX成長率
5 株価キャッシュフロー倍率 15 EPS リビジョン (対1か月)
6 自己資本利益率 16 EPS リビジョン (対3か月)
7 総資本利益率 17 1か月株価モメンタム
8 投下資本利益率 18 12か月株価モメンタム
9 アクルーアルズ 19 ボラティリティ
10 総資産成長率 20 歪度
※No.1,2,4,5:逆数を使用. No.18:直近1か月除く
深層学習を用いた株式マルチファクター運用の実証分析
✓ グローバルで有効と思われる20個のディスクリプターを使用
✓ 各国のMSCI指数構成銘柄に対し、各時点(月次系列)で計算し、使用。
24
- 25. 予測に用いたモデル
✓ 深層学習(DNN)
タイプ 隠れ層 ドロップアウト
FFNN 150 – 150 – 100 – 100 – 50 – 50 50%
✓ ランダムフォレスト(RF)
特徴量数 木の数 深さ
20 1000 5
✓ リッジ回帰(RR)
正則化係数
1.0
深層学習を用いた株式マルチファクター運用の実証分析
25
- 29. ・ 透明性の原則:
開発者は、AI システムの入出力の検証可能性および判断結果の説明可能性に留意する。
・ アカウンタビリティの原則:
開発者は、利用者を含むステークホルダに対し、アカウンタビリティを果たすよう努める。
✓ 総務省は AI の利用の増進とそのリスクの抑制のために「AI 開発ガイドライン案」を2017年に策定。
ここには以下の原則が盛り込まれている。
✓ EU においても、同様の内容が General Data Protection Regulation(GDPR)として
2018年5月より施行。(特に GDPR-22 が上記のガイドラインに対応)
AIの解釈性、説明責任
29
- 42. 隠れ層 [20, 10, 5]の深層学習で学習。
✓ LRPが本当に出力の根拠を示すのか簡単な非線形問題をもとに検証。
教師データと学習データの間の関係は以下の通り。
入力層 出力層
・
・
・
・
・
・
・
・
・
・
・
・
隠れ層
・
・
・
・
・
・
・
・
・
・
・
・
3,000個
𝑦 = 10𝑥1 + 5𝑥2 − 5𝑥3 𝑥4 𝑥5
教師データ:𝑦 学習データ:𝑥1~𝑥10(𝑥6~𝑥10はノイズ)を[0,1]の一様乱数から3,000個生成。
LRPの回帰問題での妥当性の検証
42
- 43. 変数 X1 X2 X3 X4 X5
LRPの平均 7.47 3.98 -1.78 -1.68 -1.89
寄与度 39.52% 21.06% -9.42% -8.89% -10.00%
変数 X6 X7 X8 X9 X10
LRPの平均 0.06 -0.66 0.71 0.59 0.08
寄与度 0.32% -3.49% 3.76% 3.12% 0.42%
✓ 意味のある変数の寄与が大きい。また𝑥2は𝑥1のおよそ1/2、 𝑥3 + 𝑥4 + 𝑥5はおよそ𝑥2とインパクトも近似。
✓ LRPが本当に出力の根拠を示すのか簡単な非線形問題をもとに検証。
教師データと学習データの間の関係は以下の通り。
𝑦 = 10𝑥1 + 5𝑥2 − 5𝑥3 𝑥4 𝑥5
学習後のネットワークと3,000個の教師データからLRPで入力の平均と寄与度を計算。
教師データ:𝑦 学習データ:𝑥1~𝑥10(𝑥6~𝑥10はノイズ)を[0,1]の一様乱数から3,000個生成。
LRPの回帰問題での妥当性の検証
43
- 45. ✓ 要因分解例(LRP)
Risk Quality Momentum Value Size
Spearman 0.14 0.22 0.24 0.08 0.14
Kendall 0.10 0.15 0.17 0.06 0.10
0%
5%
10%
15%
20%
25%
30%
35%
Risk
Quality
MomentumValue
Size
最も高いリターン 第1分位
✓ 要因分解例(順位相関)
Deep Factor Model
45
- 48. 48
深層学習の発展→幅の連続化
𝐾 𝑙 𝑥, 𝑥′ = 𝜎 𝑏
2
+ 𝜎 𝑤
2 𝐹 𝜙(𝐾 𝑙−1 𝑥, 𝑥 , 𝐾 𝑙−1 𝑥, 𝑥′ , 𝐾 𝑙−1 𝑥′, 𝑥′ )
引数を𝑙 − 1層のカーネルとしたとき、活性化関数𝜙によって異なる関数𝐹 𝜙を用いて表現できる。
𝐾 𝑙 𝑥, 𝑥′ = 𝜎 𝑏
2
+
𝜎 𝑤
2
2
𝐾𝑙−1 𝑥, 𝑥 𝐾𝑙−1 𝑥′, 𝑥′ (sin 𝜃 𝑙−1 + 𝜋 − 𝜃 𝑙−1 cos 𝜃 𝑙−1)
𝜃 𝑙−1 =
𝐾 𝑙−1
𝑥, 𝑥′
𝐾 𝑙−1 𝑥, 𝑥 𝐾 𝑙−1 𝑥′, 𝑥′
𝐹 𝜙は活性化関数がReLUの場合には以下のように解析的に書け、
その他の場合には数値的に計算できる。
中間層に無限個ユニット数を持つ非線形関数(NN)に対応したカーネル関数が存在。
単層の場合; Neal [1994]
多層の場合; Cho and Saul [2009]
- 49. 深層学習のベイズ推論化
✔ 隠れ層が多層の場合のニューラルネットワーク(深層学習)に対応するカーネル関数の導出
(Cho and Saul [2009])
✔ 深層学習カーネルを用いた深層ガウス過程回帰モデルの提案(Lee et, al.[2018])
・点推定である(信頼区間などの確率情報がない)
・ハイパーパラメータが多く、過学習しやすい
・収束の確認が難しく、モデル比較ができない
深層学習は様々な分野/タスクで非常に高い性能を挙げているが、下記をはじめ問題点も多くある。
深層学習のベイズ推論化、ガウス過程で表現するアプローチが注目されている。
✔ 隠れ層が単層の場合のニューラルネットワークに対応するカーネル関数の導出(Neal [1994])
・学習に大量のデータが必要
49
- 52. ガウス過程回帰モデル
𝑦𝑖 = 𝑓𝐺𝑃 𝒙𝑖 + 𝜀𝑖 𝑓𝐺𝑃~𝑁(𝝁(𝑿), 𝑲(𝑥, 𝑥0))
𝑓𝐺𝑃 + 𝜀𝑖~𝑁(𝝁 𝑿 , 𝑲 𝑥, 𝑥0 + 𝜎2 𝑰)
𝑦
𝑓𝐺𝑃
∗ ~𝑁
𝜇(𝑿)
𝜇(𝒁)
,
𝐾 𝑿, 𝑿 + 𝜎2
𝑰 𝐾 𝒁, 𝑿 𝑇
𝐾 𝒁, 𝑿 𝐾 𝒁, 𝒁
𝑝 𝑓𝐺𝑃
∗ ȁ 𝑦 =
𝑝 𝑓𝐺𝑃
∗
, 𝑦
𝑝 𝑦
~𝑁(ො𝜇, Σ)
ො𝜇 = 𝐾 𝒁, 𝑿 𝑇 𝐾 𝑿, 𝑿 + 𝜎2 𝑰 −1 𝑦 − 𝜇 𝒁 + 𝜇(𝒁)
Σ = 𝐾 𝒁, 𝒁 𝑇 − 𝐾 𝒁, 𝑿 𝑇 𝐾 𝑿, 𝑿 + 𝜎2 𝑰 −1 𝐾 𝒁, 𝑿
𝜀𝑖~𝑁(0, 𝜎2)
ガウス過程を使った回帰モデルを考える。
ガウス分布の畳込みはまたガウス分布であるので、
ここで、新しい観測値 𝒁 = 𝒛1, … , 𝒛 𝑚
𝑇が与えられたとき、その予測値𝑓𝐺𝑃
∗
= 𝑓𝐺𝑃
∗
(𝒛1), … , 𝑓𝐺𝑃
∗
(𝒛 𝑚) 𝑇と
𝒚の同時分布は、𝑿と𝒁のカーネルを考えることで、再びガウス過程となり、
𝒚の下での予測値𝑓𝐺𝑃
∗
の分布は、条件付き分布を計算することで、
分布があるので最尤法で推定可能
,
52
- 54. t過程回帰モデル
𝑦𝑖 = 𝑓𝑇𝑃 𝒙𝑖 + 𝜀𝑖 𝑓𝑇𝑃~𝑇(𝜈, 𝝁(𝑿), 𝑲(𝑥, 𝑥0))
𝑓𝑇𝑃 + 𝜀𝑖 ≈ 𝑇(𝜈, 𝝁 𝑿 , 𝑲 𝑥, 𝑥0 + 𝜎2 𝑰)
𝑦
𝑓𝑇𝑃
∗ ~𝑇 𝜈,
𝜇(𝑿)
𝜇(𝒁)
,
𝐾 𝑿, 𝑿 + 𝜎2 𝑰 𝐾 𝒁, 𝑿 𝑇
𝐾 𝒁, 𝑿 𝐾 𝒁, 𝒁
𝑝 𝑓𝑇𝑃
∗ ȁ 𝑦 =
𝑝 𝑓𝑇𝑃
∗
, 𝑦
𝑝 𝑦
~𝑇( Ƹ𝜈, ො𝜇, Σ)
ො𝜇 = 𝐾 𝒁, 𝑿 𝑇 𝐾 𝑿, 𝑿 + 𝜎2 𝑰 −1 𝒚 − 𝜇 𝒁 + 𝜇(𝒁)
Σ =
𝜈 − 𝛽 − 2
𝜈 − 𝑛 − 2
𝐾 𝒁, 𝒁 𝑇 − 𝐾 𝒁, 𝑿 𝑇 𝐾 𝑿, 𝑿 + 𝜎2 𝑰 −1 𝐾 𝒁, 𝑿
𝜀𝑖~𝑇(𝜈, 0, 𝜎2)
t過程を使った回帰モデルを考える。
t分布の畳込みはまたt分布にならないが、近似的に、
ここで、新しい観測値 𝒁 = 𝒛1, … , 𝒛 𝑚
𝑇が与えられたとき、その予測値𝑓𝑇𝑃
∗
= 𝑓𝑇𝑃
∗
(𝒛1), … , 𝑓𝑇𝑃
∗
(𝒛 𝑚) 𝑇と
𝒚の同時分布は、𝑿と𝒁のカーネルを考えることで、再びt過程となり、
𝒚の下での予測値𝑓𝑇𝑃
∗
の分布は、条件付き分布を計算することで、(論文参照)
Ƹ𝜈 = 𝜈 + 𝑚 𝛽 = 𝒚 − 𝜇 𝑿
𝑇
𝐾 𝑿, 𝑿 −𝟏
𝒚 − 𝜇 𝑿
分布があるので最尤法で推定可能
,
54
- 56. 実証分析
指数
Total GP TP GP TP GP TP
RMSE 0.3511 0.2158 1.0357 0.5076 0.2934 0.1134
MAE 0.2914 0.1622 0.891 0.4282 0.2489 0.0808
予測誤差(大) GP TP GP TP GP TP
RMSE 0.3561 0.2623 1.3646 0.6856 0.3285 0.139
MAE 0.2937 0.2079 1.3431 0.6674 0.2759 0.1014
予測誤差(小) GP TP GP TP GP TP
RMSE 0.3458 0.1524 0.565 0.2343 0.2553 0.08
MAE 0.2892 0.1142 0.4594 0.1999 0.2231 0.0602
TPX SPX DAX
GPはデータの非正規性により、異常値に振らされた予測を行うため、
TPよりも精度が悪いのでは。
精度の分析(1層)
指数 TPX SPX DAX
Total
RMSE 38.5% 51.0% 61.3%
MAE 44.3% 51.9% 67.5%
予測誤差(大)
RMSE 26.3% 49.8% 57.7%
MAE 29.2% 50.3% 63.2%
予測誤差(小)
RMSE 55.9% 58.5% 68.7%
MAE 60.5% 56.5% 73.0%
改善率
改善率
改善率
56
- 58. 実証分析
Total 1層 2層 3層 4層
RMSE 0.3511 0.4114 0.3790 0.3893
MAE 0.2914 0.3558 0.3267 0.3354
予測誤差(大) 1層 2層 3層 4層
RMSE 0.3561 0.4218 0.3559 0.3867
MAE 0.2937 0.3621 0.3008 0.3311
予測誤差(小) 1層 2層 3層 4層
RMSE 0.3458 0.4013 0.3997 0.3918
MAE 0.2892 0.3497 0.3514 0.3396
GP
Total 1層 2層 3層 4層
RMSE 0.2158 0.2222 0.1325 0.1385
MAE 0.1622 0.1651 0.1004 0.1104
予測誤差(大) 1層 2層 3層 4層
RMSE 0.2623 0.1619 0.1162 0.1432
MAE 0.2079 0.1238 0.0940 0.1171
予測誤差(小) 1層 2層 3層 4層
RMSE 0.1524 0.2674 0.1464 0.1340
MAE 0.1142 0.2045 0.1066 0.1041
TP
GPは層が深くなっても精度が改善するとは限らない。 一方で、TPは層が深くなると精度が改善傾向。
精度の分析(多層、TPX)
58