今回は機械学習技術を使って為替の値動きを予測できるか?
についていろいろお話してみたいと思います。
ちなみに業者ではなく個人的取引を行う場合についてお話します。
(つまり使えるデータがチャート等のみ)
結論から言うとほとんど不可能に近いが可能性はあるというのが私の現在の結論です。
曖昧で申し訳ありません(笑)また時間がたつにつれて結論は変わりそうです
機械学習で予測するとしたらどんな方法が考えられるか?
まずは機械学習を使って為替の予想する方法としてはどのようなものが考えられるかをお話します。
正直様々な方法が考えられますが、FX の素人目で考えられるのが、
過去のチャートのデータを使って、
- 次の時間の終値を予測して、それに応じて取引をする
- 今ポジションを持ったら損切り、利確ラインのどちらにいくかを予測し、それに応じて取引を行う
1.次の時間の終値の予測
まずは一番シンプルな方法は次の時間の終値を予測してそれに応じて取引をすることです。
イメージはシンプルで以下のような感じです。
これはシンプルですね。
入力としては現在までのローソク足、出力は次の時間の終値といった形です。
なので機械学習的には回帰問題にしてしまう方法です。
もしくは次の時間の終値が現在の終値に比べて高いか安いかの2値分類する方法です。
2.今ポジションを持ったら損切り、利確ラインのどちらにいくかを予測し、それに応じて取引を行う
2 つめは、現在ポジションを持ったら、このポジションが将来的に損切りライン、利確ラインのどちらかに先に着くかを予測することです。
これもシンプルですね。
入力としては現在までのローソク足、出力は損切りラインにいくか、利確ラインにいくかの二択になります。
機械学習的に言えば、分類問題として扱うということです。
まぁ極端に言えばこんな感じ方法があると思います。
で、実際予測できそうなの?
最初に話したようにかなり難しいです現状私もまったくうまくいっていません(笑)
予測が難しい理由
現在は過去チャートだけでいろいろしているのが良くないのですが、
- 各プレーヤーはチャートの値動きだけで判断していない
- 過去のチャートにファンダメンタル的な影響で変化したデータもたくさんまざっている
- 過去のチャートだけではその時の「状態」を把握しきれない
等の問題があります。
つまり過去のチャートだけでは予測は非常に難しいことがわかります。
では、どうしていくべきか
シンプルな対策としてはチャートからテクニカル分析で説明できない変化を取り除くことなどです。
例えば、ファンダメンタル的に急激に変化した場合などはチャートからなんとなく読み取ることができます。
チャートが急激に変化し、重要な指標の発表時間が小さいが近いなどの時は学習データに含めない等の対応が可能です。
もちろん完璧にノイズを取り除くのは不可能ですが、いろいろ対策はできそうです。
もしくは、そもそも過去の指標の日程やニュース等調べて、その時のチャートの変化は無視するなどの方法もあります。
過去のニュースをうまく機械的に処理できるかどうかが鍵になりそうです。
終わりに
今回は簡単に機械学習を使って為替の値動きの予測が可能か?そしてなぜ難しいのかについてお話しました。
正直私もまだ機械学習を使って FX の予測を試し始めたばかりなので確実な意見ではありません。
恐らく取引を進めるにつれてまた新しい気付きがあり、結論も変わるかもしれません。
まぁとりあえず現在までの考えとして書かせていただきました。
質問等があれば、Twitter などでいただければと思います。
では、