マイメイトのAIとエージェントの仕組み
2022年2月1日
本記事ではマイメイトのAI (人工知能) がどんなもので、トレードにどう役立っているのか、基礎的なところから解説いたします。
「マイメイトのAI」の概要
専門的な話をする前に、マイメイトのAIの概要について、簡単に紹介します。
マイメイトのAIは「エージェント」と呼ぶ
マイメイトでは「エージェント」が取引を担当し、「エージェント」ひとつひとつにAIが活用されています。本サイトでは、マイメイトのAIは「エージェント」のことを指し、「エージェント」にはAIが機能していると考えてください。
一般的にAIと聞くと小難しい印象を受ける人もいるかもしれませんが、マイメイトのAIには親しみを持っていもらえるように、「エージェント」をそれぞれキャラクター化しました。
エージェントの概要
エージェントたちは、以下のような取引行動・判断をします。
- エージェントひとつにつき、取引する通貨ペアは1種類
- エージェントが保有するポジションは1つ
- エージェントが出す売買サインは1日最大12回
- エージェントはすべて異なる個性を持つ
- エージェントは強化学習に基づき、月に1回「学習」し、「最適なポジション管理」を目指す
エージェントは結局何がすごい?
上に紹介したエージェントの特徴をまとめると、エージェントの取引対象となる通貨ペアは1種類で、1つのポジションでトレードを行います。そして、1日最大12回の売買注文を出しますが、売買を見送る場合もあるので、必ずしも取引を行うというわけではありません。
最大の特徴が、エージェントは強化学習に基づき、月に1回「学習」を行い、「最適なポジション管理」を目指すという点です(詳細は後述)。
マイメイトのAIエージェントの仕組み
マイメイトのAIであるエージェントがどのような仕組みなのか、紹介します。
エージェントは強化学習型
エージェントはGoogleが2016年に発表をしたA3C(Asynchronous Advantage Actor Critic)という先端の強化学習を応用しています。
強化学習を簡単にイメージするための参考として、Google作成の「AIを活用したブロック崩し」の動画があります。学習しながらブロック崩しのゲームを攻略していくため、賢く学習していることが実感できます。
※スマートフォンでご覧の際は、スマホを横にしてご覧下さい。他社サイト(YouTube)に遷移します
エージェントと「ブロック崩しのAI」を比較
先ほどの「ブロック崩しのAI」とエージェントを簡単に比較してみます。
比較項目 | ブロック崩し | エージェント |
開始前の事前の知識 | 何も無し。今から自分がブロック崩しをやることも知らない。 | 何も無し。今から自分がトレードをすることも知らない。 |
学習の始め方 | どこでボールをリリースするかはランダム。 | 買いから入るか、売りから入るか、何もしないかはランダム。 |
学習の目的 | 点数を高くする。 | 利益を多く出す。 |
進化の最終系 | 両端をこじ開けてボールを上に運べば、カンカンカンと点数を量産できることに気が付き、それを実現する技術を身に付ける。 | テクニカル情報とニュース情報がどのような場合に何をするべきか、AIが勝ちやすいと思うトレーディング手法を見出す。ランキング上位はまさに「ブロック崩しの両端突破」に到達している状況に近いと考えられる。 |
進化が上手に行かない場合 | ゲームには必勝法があるため、時間をかけて学習しさえすれば、必勝法に辿り着くことが期待できる。つまり、進化が上手く行かない場合は想定しづらい。 | トレーディングには必勝法が無いため、なかなか自信が持てる手法に辿り着けない場合がある。その場合は引きこもり型となる。 |
エージェントの学習の仕組み
マイメイトのAIであるエージェントは、学習することが強みです。
エージェントは月に1度(土曜日)、直近のトレードや相場情報から学習をします。固定化されたアルゴリズムではなく、相場状況に応じて自分自身を更新していくことが、エージェントの大きな特徴です。
エージェントがどう学習を行うのか、その仕組みについて見ていきましょう。
目指すのは「ポジションの最適管理」
世にあるトレーディングAIと呼ばれるものは「一定期間後の正確な価格予測」に挑戦していることが非常に多いです。
しかし、マイメイトのエージェントは、答えを見出すのが難しい「将来の価格を予測する」のではなく、「今どのようなポジションを持つべきなのか」に焦点を当てています(なぜ価格予測ではないのかについては、最後の【補完】で解説します)。
エージェントが学習する仕組み
エージェントが学習する、というのはどんな仕組みなのか。以下ではなるべくイメージしやすいかたちで解説をします。
エージェントがトレードの学習を開始する際、まず始めに複数の分身を作成します。
その後、分身達に自由なトレードを行わせ、本体はその結果と知見を集約します。そうすることで本体は、効率良く多くのトレーディングパターン及びその結果を収集することが可能となります。
これを分散学習と言い、強化学習「A3C」の特徴でもあります。
エージェントごとに分身が取る行動は違う
同じ設定のエージェントでも、それぞれの分身たちがとる行動は異なるように設計されています。そのため、エージェントにはそれぞれ異なる個性が生まれるのです。
また、強化学習に利用する過去3年間のデータは毎日更新されるため、学習対象となるデータは随時アップデートされます。作成するタイミングによっても学習内容とトレード結果が変わるため、同じように設定したエージェントでも差が現れ、それがエージェントの個性に繋がります。
トレーディングの正解は必ずしも1つに限りません。先ほどのエージェントが学習する仕組みでも紹介した“分身達”の行動パターンなどを限定してしまうことは、サービス自体の可能性を狭めてしまうと考え、エージェントの分身達には自由な行動を取ってもらうようにデザインしています。
エージェント誕生までの学習方法
それではエージェントが生まれるまでは、どうしているのか。エージェント誕生までの学習は以下の工程を経ています。
- ユーザーの設定に従いエージェントを誕生させ、過去6か月~3年間のデータ上でトレーディングを学習させます。
- その際、過去から現在に向かって順次学習を実施するため、人間の記憶と同様に、「過去に学習した内容は徐々に薄まり、直近の学習内容は濃く記憶されやすい」ということになります。
- 学習が完了したエージェントを3年前に連れていき、継続学習によるトレーディング手法の更新無しにトレードを実施させ、結果を保存する。
ちなみに、一般的な自動売買プログラムを作成する時によく行う「過去の相場に合わせたパラメーターの調整、フィッティング」はやっていません。
継続学習が必要な理由
マイメイトのエージェントの学習について詳しく解説しましたが、はたして継続学習は本当に必要なのでしょうか?
ここでひとつのデータを紹介します。過去、成績上位を記録した9個の エージェントの全期間の成績を比べてみました (2019年9月9日12時時点から過去1年間における実現損益の上位9位を対象)。
上のグラフが示すように、過去1年間の実現損益が素晴らしいエージェントでも、同じアルゴリズムでずっと勝ち続けるのは難しいことがわかります。
これは、「全期間にわたって通用する万能かつ普遍的なトレーディング手法の発見は相当に難しく、適宜トレーディング手法を見直し続ける継続学習が必要」であることを示唆していると考えています。
【補足】なぜ価格予測ではないのか?
ここからは「マイメイトの『エージェント』は、価格予測ではなく、ポジションの最適管理を目指した」経緯を紹介します。
まず、「価格予測」と「ポジション管理」の対比のため、以下のような価格データを想定します。図中の赤いローソクのような線が大きな下落を示していますが、これにどう対処するか……がAIの設計におけるポイントとなります。
まず、価格予測の場合は「どのくらい遠くの将来を予測するか」を検討する必要があるのですが、簡単には決定できません。
マイメイトの開発検討段階で「ディープラーニング技術を用いた価格予測」をテストしました。将来予測期間も適切な設定がわからないため、短いものから長いものまで複数用意し検討しました。その結果、上の図中右のケースに記載した「想定される運用が実際は実現されない可能性がある」問題については、非常に解決が難しかったため、マイメイトでは「価格予測」の採用を見送る判断をしました。
また、価格予測に基づいたトレードでは別途「どのくらい含み益(損)が出たら利益(損失)を確定するか」を決定する必要があり、この設定も容易ではありません。
なお、価格予測の上記課題に対しては様々な工夫の方法があり、あくまで一般論として「価格予測が抱える課題」を説明しています。
最後に
マイメイトのエージェントは従来にはない考え方で設計されています。エージェントが自発的に学習を行うことで、これからの相場にも対応しようと、自動で努力してくれるのです。「マイメイト」でAIを活用した新しいFXを体験してみてはいかがでしょう。
こんな記事も読まれています
マイメイト運営
MAiMATEの公式ブログを運営しています。マイメイトに関するニュースやお知らせなど全般について情報発信をします。