誰もが一度は考える「株やFXをAIで攻略できないか」問題。
そして実践している人は数多くいるのだが、成功者はあまり多くないようです。
そこでなぜ攻略が難しいのか、自分でDQNやランダムフォレストを実行しながら考えてみました。
そもそも特徴量が間違っている。
大企業のサイエンティストもFXを攻略しようとしている記事はよく見かけますが、
しかしそもそもが間違っているのでうまくいかないだろうな、とは思っています。
だいたいの記事では特徴量として、high,low,open,closeの値を持ってきています。
しかしこれだと例えばドル円の価格が120円の時と140円の時では特徴量に乖離があるため
使えない数値となるでしょう。
1ドル120円の時に学習させた学習データでは、1ドル140円の相場で稼ぐことはできないはずです。もっと言うと、120円の時と121円という1円差程度の時を考えたとしても、データがおかしいのでうまくいかないだろうと思います。
しかしこれは特徴量をpips単位にすればOKです。
high-low= で「1つの足で何pips動いたかがわかる」ので、それを足し合わせていけば120円台だろうが
140円台だろうが同じデータになります。
この要領でhigh low open closeすべてをpips単位に変更し(minmax Scalerを使う)、新たなチャートを完成させればいい。
この新しいチャートと値を使って移動平均やボリンジャーバンドなどを計算しなおすのも有効だろう。
そうして計算された特徴量をランダムフォレストやDQNあたりで処理すれば精度は最初より上がるはず。
精度が上がらない人はぜひ試してください。
私も実験を続けてみます。
価格を予測しようとしてもおそらくムダ。ゲームとして考えたほうが効率的
これもよくある記事ですが「FXの価格をLSTMで予測してみました。」というようなものがありますね。たぶん予測するだけムダだと思います。プライスを後追いするだけの意味のない線が出来上がって終わりでしょう。
そんなできないことをやるよりも、上がるか下がるかそのままかの3択ゲームとして考えたほうが効率がいいと思います。そして「1時間後に利益が取れているかどうか」をデータをもとに「先に答えを作って」おきます。それをDQNなどで学習させればいいですね。
要はゲームを作ってそれに勝てる方法を探ればよいのです。(実際そうそううまくはいかないと思うが、精度は上がってくるはず)
標準偏差から外れている個所がトレンド相場、のはず。
トレンド相場ってなに?と言われたら私は「標準偏差から外れている個所」じゃない?と答えます。普段は相場はランダムウォーク的な動きをしています。ですがニュースなどが出るとそこから外れて大きく動き出します。ボリンジャーバンドウォークする状態ですね。
仮にその付近をトレンド相場と考えると、大きく稼げるエントリーポイントは「レンジ相場の中にある」。つまり標準偏差内に収まる値のどこかに存在する、と考えられます。たぶんね。
これを踏まえると、変なところでエントリーするのを避けられるんじゃないかな?と考えます。特にブレイクアウトなどすでに標準偏差を超えてからエントリーするような戦略だとトータルで一生勝てない気がします。
それでも完全攻略は不可能だと思う。
ここまでやってもうまくいく可能性は低いと思っている。しかしこの記事がみなさんのヒントになればうれしいです。
実際に実験した結果は後日公開します。
まだ実験データが足りないので後日公開したいと思います。