Table of Contents
私たちは日常生活で、
- このサイコロは6が出やすい
- この店は昼に混むことが多い
- この相場は上がりそうだ
といったように、「経験則」を使って未来を予測しています。
この経験則を数学的に扱ったものが確率・統計です。
確率分布とは
統計では、何度も同じような試行を行い、その結果を集計します。
例えば試行の結果を X とすると、
X1X2X3...Xnという大量の結果が得られます。
これらを集計すると、結果は均一ではなく、ある値に集中したり、逆にほとんど現れなかったりします。
この「結果の現れ方」を表したものが確率分布です。
つまり、
確率分布 P ↓個々の結果 X が生成されるというイメージになります。
条件が変わると分布も変わる
重要なのは、結果の分布は常に同じではないということです。
条件が変われば、確率分布も変わります。
例えば、
- 晴れの日
- 雨の日
では人の行動が変わります。
同様に相場でも、
- 上昇トレンド
- レンジ相場
- 高ボラティリティ
- 低ボラティリティ
では値動きの特徴が変わります。
数学ではこれを条件付き確率と呼びます。
状態Aでの分布P(X | A)
状態Bでの分布P(X | B)つまり、
「今どんな状態なのか」
によって、未来の結果の分布そのものが変わるのです。
ドル円予測に当てはめる
では、この考え方をドル円の機械学習に当てはめてみます。
学習フェーズ
過去データには、何万回もの相場の状態が含まれています。
例えば、
状態Aという特徴量の組み合わせが過去に何百回も現れたとします。
そのたびに、
- +15 pips
- +8 pips
- -5 pips
- +12 pips
- …
という結果が得られます。
これらを集計すると、
P(Expected Pips | 状態A)という条件付き確率分布が得られます。
もしこの分布がプラス方向へ偏っているなら、その状態には優位性があります。
期待値とは
分布には平均があります。
これが期待値です。
期待値とは、
同じ条件で何度も取引を繰り返したとき、最終的に平均してどれくらい利益(または損失)が得られるか
を表します。
例えば、
+12+8+10-5+6-4という結果なら、
平均は約 +4.5 pips になります。
1回1回は勝ったり負けたりしますが、
何百回、何千回と繰り返せば、
平均で約4.5 pipsに近づいていきます。
これが期待値の考え方です。
ニューラルネットワークが学習しているもの
ニューラルネットワークは、
未来を魔法のように当てているわけではありません。
過去データから、
「この特徴量なら期待値が高い」
という条件付き確率分布を近似しているだけです。
つまり、
過去データ
↓
状態ごとの条件付き確率分布
↓
期待値が高い状態を学習という流れになります。
推論フェーズ
実際の運用では、
現在の特徴量が入力されます。
例えば、
現在の状態 A'が入力されると、
ニューラルネットワークは
「これは学習した状態Aに近い」
と判断します。
すると、
P(Expected Pips | 状態A)を参考に、
Expected Pips を予測します。
つまり、
現在の状態
↓
過去に似た状態を探す
↓
その状態の期待値を返すという処理を高速に行っています。
最も重要なのは再現性
もちろん、過去の分布が未来でもそのまま成り立つとは限りません。
相場には、
- 金融政策
- 市場参加者
- ボラティリティ
- 為替介入
- 地政学リスク
など様々な要因があり、時間とともに変化します。
つまり、
学習時に存在した確率分布が、未来でも再現されることが機械学習では最も重要です。
レジームをどれだけ学習できるか
そのため、学習データにはできるだけ多くの相場環境(レジーム)を含める必要があります。
例えば、
学習データで
- 上昇相場
- 下落相場
- レンジ
- 高ボラティリティ
- 低ボラティリティ
など、20種類のレジームを学習したとします。
しかし未来では、
30種類のレジームが発生したとします。
未来のレジーム
20種類:学習済み(既知)
10種類:未学習(未知)この場合、学習済みの20種類については、過去の条件付き確率分布を利用して比較的安定した予測が期待できます。
一方で、未知の10種類については、モデルは十分な経験を持っていないため、予測精度が低下する可能性があります。
つまり、機械学習モデルの性能は、
未来の相場が、学習済みのレジームにどれだけ含まれているか
に大きく左右されます。
まとめ
機械学習は未来を直接予言しているわけではありません。
過去の膨大なデータから、
- 状態ごとの条件付き確率分布
- その期待値
- 再現性のあるパターン
を学習し、それを現在の相場に当てはめています。
そのため、モデルの性能を高めるには、
- 多様なレジームを学習データに含めること
- 特徴量によって相場の状態を適切に表現すること
- 将来も再現されやすい確率分布を学習すること
が重要になります。
ドル円予測とは、言い換えれば 「相場の状態ごとの条件付き確率分布を学習し、その期待値を推定する問題」 なのです。