AIによるFX分析にチャレンジしています。
本日は、今流行りのディープラーニングではなく、遺伝的アルゴリズムによるFX分析について記事にします。
1.遺伝的アルゴリズムはFX勝率ほぼ100%?
遺伝的アルゴリズムによるFX運用の検証論文
https://www.google.com/url?sa=t&source=web&rct=j&url=https://sigfin.org/%3Fplugin%3Dattach%26refer%3DSIG-FIN-002-07%26openfile%3DSIG-FIN-002-007.pdf&ved=2ahUKEwjMjdeuzfDjAhVKyIsBHdC3B6MQFjAAegQIARAB&usg=AOvVaw1PhVh8RQLZ0s4j2zWyQm7I&cshid=1565176321913
遺伝的アルゴリズムはFX勝率ほぼ100%
上記の論文の検証結果では、ディープラーニング、単純な売買(買いポジションの維持)、遺伝的アルゴリズムでドル円、ユーロ円を運用した場合の運用成績を検証しています。
その結果、ディープラーニングと単純な売買(買いポジションの維持)も利回りがマイナスになるのに対して、遺伝的アルゴリズムを用いた場合、20%近い運用利回りとなるという、驚愕の成果となっています。マイナスとなったのはリーマンショックというイレギュラー時のみで、それ以外の場合は常に利益を上げています。
2.遺伝的アルゴリズムとは何か?
遺伝的アルゴリズムって言葉は聞いたことはありますが、全然仕組みを知らないので調べて見ました。
遺伝的アルゴリズムの概要
(出展:wikipedia)
遺伝的アルゴリズムはデータ(解の候補)を遺伝子で表現した「個体」を複数用意し、適応度の高い個体を優先的に選択して交叉・突然変異などの操作を繰り返しながら解を探索する。適応度は適応度関数によって与えられる。
遺伝的アルゴリズムの仕組み
(出展:wikipedia)
遺伝的アルゴリズムは一般に以下の流れで実装される。なお、下記では個体数を N, 最大世代数を G と置く。
1.あらかじめ N 個の個体が入る集合を二つ用意する。以下、この二つの集合を「現世代」、「次世代」と呼ぶことにする。
2.現世代に N 個の個体をランダムに生成する。
3.評価関数により、現世代の各個体の適応度をそれぞれ計算する。
4.ある確率で次の3つの動作のどれかを行い、その結果を次世代に保存する。
- 個体を二つ選択(選択方法は後述)して交叉(後述)を行う。
- 個体を一つ選択して突然変異(後述)を行う。
- 個体を一つ選択してそのままコピーする。
5.次世代の個体数が N 個になるまで上記の動作を繰り返す。
6.次世代の個体数が N 個になったら次世代の内容を全て現世代に移す。
7.3. 以降の動作を最大世代数 G 回まで繰り返し、最終的に「現世代」の中で最も適応度の高い個体を「解」として出力する。
ディープラーニングと遺伝的アルゴリズムの違い
素人感ですが、ディープラーニングと遺伝的アルゴリズムの違いは、脳を模したモデルを使うか、遺伝子を模したモデルを使うかで、実現したいことと学習方法に大差は無いように感じたので、どういう違いがあるかを調べてみましたところ、Yahoo知恵袋に成る程、という答えが合ったので掲載します。
https://www.google.com/url?sa=t&source=web&rct=j&url=https://m.chiebukuro.yahoo.co.jp/detail/q11104474766&ved=2ahUKEwiX7fWc1PDjAhWFyIsBHco2DdoQjjgwA3oECAoQAQ&usg=AOvVaw3O_0iumEyCfHnL2U_FV3Kz
「正しい答えと間違った答えは分かるが、その判断基準がよく分からない(ファジーである)」場合にはNNが向く。
「判断基準ははっきりしているが、具体的にどうすればいいか分からない」場合はGAが向く。
人の判断を模した判断をさせるにはNNが向いている。人に思いつかないような解を探索する場合はGAがいい。
3.調べてみた感想
な、なるほどー
ディープラーニングと遺伝的アルゴリズムの特性の違いを聞くと、FX予想の論文の結果にも信憑性がありそーだなと思いました。
が、遺伝的アルゴリズムが難しくて分からん(^-^;
遺伝的アルゴリズムの実装方法
とりあえず、簡単な実装方法を掲載します。
https://qiita.com/KeisukeToyota/items/0f527a72270430017d8d
こらから、遺伝的アルゴリズムも勉強していきたいと思います。
これからも応援宜しくお願いします。
![]() |
価格:2,376円 |