証券市場においては、昔から各種データや数学的手法を駆使した分析が行われてきた。一方で、そのような分析ができるのは、膨大なデータや専門的な知見を持つ金融機関や機関投資家と呼ばれる大手の投資家に限られていたのもまた事実。そんな状況が変わり始めたのは、AI技術の進歩がきっかけだった。 現在では、初心者でも扱えるようなポートフォリオ分析等、ITを活用した投資手法が浸透し、個人投資家にもITやデータを活用した金融市場の分析や取引が拡大し始めている。しかし、そうした流れは日本ではまだまだメインストリームとなるには至っていない。そこで、初学者の方々を対象に金融データへ興味を持ってもらうべく、株式会社日本取引所グループ主催による「J-Quants ※データ分析コンペティション」が開催される運びとなった。 本コンペティションは、与えられた銘柄情報や株価情報、ファンダメンタル情報等を駆使して株価の最高値および最安値の予測を行う「ファンダメンタルズ分析チャレンジ」と、現金100万円を原資として、1週間の収益がより高くなるポートフォリオの予測を行う「ニュース分析チャレンジ」の異なるテーマを扱う2つのチャレンジから構成されている。 2部門のうち、ファンダメンタルズ分析チャレンジで見事優勝を果たしたのが、M.Mochizukiさんだ。データサイエンティストではあるものの、金融領域は専門ではないと語るM.Mochizukiさんはいかにして、1位に輝くことができたのか。解法における工夫やポイントについて、率直にお話しいただいた。 ※J-Quants:投資にまつわるデータ・環境を提供し、個人投資家の皆様によるデータ利活用の可能性を検証する、株式会社日本取引所グループによる期間限定の実証実験プロジェクト。
▼動画はコチラ▼
初参加でいきなりの優勝、コンペティションの面白さを知った。
プログラミング 自体はそれ以前からやっていましたし、就職先もソフトウェア開発会社でしたので、業務でも触れる機会はありました。ただ、AIや機械学習については、あまり学んでこなかったんです。そんな私が、初めてAIと出会ったのは2014年のことでした。 友人から、あるコンペティションが開催されると聞いたのです。医薬品の有用性や新たな機能を発見する、IT創薬コンペティションでした。テーマも学生時代の専攻に近く、AIが流行りはじめていた時期だったので、学ぶにはちょうどいい機会だと思い参加を決めました。 初めてのコンペティション参加ということで、様々な試行錯誤もありましたが、結果としてはいきなり優勝することができました。優勝とはいっても、参加者は10グループ程度とSIGNATEと比べると多くはなかったのですが、それでもやはり嬉しかったですね。「自分でも機械学習を動かすことができた」という手応えも感じられて、AIやコンペティションの面白さを知るきっかけになった出来事でした。
未知の領域は予測しづらい。しかし、それを予測するのがAIの使命。
創薬コンペティションではAIの面白さに気付かせてもらいましたが、それと同時にAIの抱える課題も感じました。機械学習は、訓練データに近い事例しか予測できず、訓練データが用意できない全く未知の領域について予測するのは難しいのです。かといって、簡単に予測できるものなら、わざわざAIを使わなくてもいい。他のコンペティションへの参加を検討する場合でも、本来予測すべき実践的な問題なのかということを重視していたのですが、今回のコンペティションに参加を決めた理由もそこにありました。 SIGNATEのコンペティションには以前にも参加したことがあり、このコンペティションの開催は、会員向けメールで知りました。概要を見てすぐに、これは面白そうだなと思いました。株価予測というテーマだったのですが、これはまさに誰も知らない未来の予測。私が、AIが使われるべき領域だと考えていたものでした。このコンペティションなら、自信をもって価値のある問題に取り組むことができるとの想いもあり、参加してみることにしたのです。
重要なのは細かな出題意図まで読み取り、ミスをしないこと。
このコンペティションでまず初めに思ったのは、ミスをしないようにということ。用意されたデータやチュートリアルに目を通して、いくつか落とし穴に気づきました。まず、データの取り扱い。時系列性のあるデータなので、そこに注意して扱わないと正しく未来の予測ができなくなる可能性があると思ったのです。 あとは、出題者の意図を正しく掴まないといけない。一見、株価の予測を行うコンペティションに思えるのですが、本当に求められているのはそこではありませんでした。順位相関係数をベースにしてスコアが算出されるため、株価そのものや変動率を予測する必要は必ずしもなくて、株価の変動率の順位を予測すれば十分でした。そこを押さえないと問題を本来以上に難しくしてしまうと感じました。そこで、私は回帰ではなくランク学習で解くという選択をして、それが精度向上にも寄与したのですが、その選択ができたのは、出題者の意図をしっかりと掴めたからだと思います。 そして、最後に一番大きなポイントとなったのが、しっかりと自分のモデルを評価できるものさしを作ること。ここに着目したのには理由があって、パブリックリーダーボードとプライベートリーダーボードの算出方法が違ったのです。これを見落とすと、開催中はスコアが良くても最終のスコアが一気に落ちることもあり得る。そうならないように一番注意しましたね。
足元のクロスバリデーションを固めることで、自分の解法に自信が持てた。
最終スコアに紐づいた評価を正しく行いたい。そのものさしを作るために、クロスバリデーションに力を入れました。今回のコンペティションに限った話ではないのですが、機械学習において、検証方法が不適切で実態以上に高い精度が出てしまうということはよくあるミスです。不当に有利な検証方法になっていないかよく注意しながら、丁寧にクロスバリデーションを行いました。手法の差別化につながったランク学習を採用できたのも、クロスバリデーションでその有効性を確信することができたためでした。 コンペを振り返ると、優勝できたのも嬉しかったですが、株式市場についてもある程度未来予測も可能なのだとわかったのが収穫でした。参加前は、市場の予測なんて困難だろうと悲観的な見方をしていましたが、私を含め、ある程度予測が成立するようなモデルがいくつも投稿されていて、この分野へのAIの応用の可能性を感じました。今回に関しては、出題者側が難易度をうまく調整してくれたことも大きいと思うので、その点は非常に感謝しています。今後もいろいろなコンペに参加しながら、AIが行うべき未知の予測をもっと高い精度で、もっと先まで予測できるよう、自分の技術も磨いていければと思います。
今後の目標
今回のコンペで採用した技術は、別の分野でも応用可能なものだと思うので、今後の業務やコンペに活かしていきたいですね。また、課題設定という意味でもこのコンペから学ぶところがあると思うので、ビジネス上の漠然とした課題感をAIで解決可能なタスクに落とし込む際にも参考にしたいです。 <株式会社日本取引所グループ主催「J-Quants データ分析コンペティション」ファンダメンタルズ分析チャレンジの入賞者レポートはこちら>