Table of Contents
為替/FXトレードのエッジは非常に薄い。
例えばドル円では、未来の勝率は50%からわずかに偏る程度で、多くても52〜54%程度の世界だと考えている。
モデルの予測は、
prediction = noise + signal
であり、
- noise:過去にしか存在しない偶然(大半)
- signal:未来でも何度も再現されるパターン(極小)
である。
金融予測モデルで最も重要なのは、noiseを忘れ、signalだけを学習することだ。
一回しか現れないパターンに価値はない
過去には、
- 特定の相場
- 特定の期間
- 特定の特徴量の組み合わせ
で、(たまたま)勝ったパターンが存在する。そして、勝ちとしてカウントされる。
しかし、それが未来で二度と現れなければ意味はない。
私たちが知りたいのは、
未来でも100回中52〜54回程度の確率で繰り返し現れるパターン
だけである。
Transformerモデルは自由度が高すぎる
Transformerは、設計思想として、
「できるだけ多くの関係を表現できるようにする」
ことを目指したモデルだ。
すべての特徴量同士の関係を学習でき、非常に表現力が高い。
画像や自然言語では大きな武器になるが、金融時系列では自由度が高すぎることが多い。
自由度が高いほど、
- 一回しか現れないパターン
- 偶然の特徴量の組み合わせ
まで覚えてしまいやすい。
バックテスト(Train/Val)では良く見えても、未来(Forward/Live)では再現されない。
パラメータ数も重要
私の実験では、パラメータ数を数千〜1万程度に抑えたモデルのほうが、未来データに対して汎化しやすい結果であった。
一方、Transformerは数十万〜数百万パラメータになることも珍しくない。
これだけの表現力があると、学習データを細かく記憶できてしまい、未来では再現しない一回限りのパターンまで学習しやすくなる。
その結果、学習データでは高い精度を示しても、未来データへの汎化性能は低下しやすい。
実験結果では
これまで私が行ってきた実験では、Transformerが小さなMLPを上回ることは一度もなかった。
もちろん、データセットや特徴量、モデル設計によって結果は変わる可能性がある。
現時点では、ドル円の期待値推測においては、Transformerほどの表現力は必要なく、適切に自由度を抑えた小さなMLPのほうが汎化性能が高い、パフォーマンスも十分というのが結論である。
一方で、Attentionやマルチヘッドという仕組み自体には依然として興味がある。そのため、層数や埋め込み次元を極力小さく抑えた最小構成のTransformerについては、今後も検証してみたいと考えている。
適切な自由度を選ぶ
↑ 自由度が低い
線形回帰↓浅いLightGBM↓小さなMLP(2,3層のニューラルネットワーク)↓深いLightGBM↓Transformer↓大規模Transformer
↓ 自由度が高い自由度が高いほど学習データにはよく適合する。
しかし、FXで重要なのは学習データを 説明すること ではない。
未来でも同じパターンが再現されることである。
まとめ
Transformerは、高い表現力によって複雑な特徴量同士の関係まで学習できる。
一方、ドル円の期待値推測で求めているのは、未来でも何度も再現される代表的で一般的なパターンだけである。
だからこそ、少なくとも現時点の私の実験では、小さなMLPのほうが適しているという結論になっている。
金融時系列では、「より複雑なモデル」が必ずしも「より良いモデル」とは限らない。
重要なのは、複雑なパターンを見つけることではなく、未来でも何度も再現される代表的なパターンだけを学習することである。