任せるトレードAI-マイメイト|MAiMATE
マイメイトは、インヴァスト証券が無料で提供する「世界に1つだけ、あなただけのAI」を使ってトレードができる、強化学習型AIトレードサービスです。
https://www.mai-mate.com/
「デリバティブとテクノロジーで資産運用の未来をつくる」をミッションに掲げるインヴァスト証券。ユニークな2つのサービス、FX・ETFの自動売買サービス『トライオート』、AI自動売買サービス『マイメイト』を展開中だ。独自のサービスが生まれる背景には、「金融=レガシー」というイメージを覆す開発環境がある。当社の開発チームに話を聞いた。
当社のプロダクトはマイクロサービスで開発し、それをコンテナ環境(AWS EKS)にデプロイして運用しています。恐らく金融系の会社では珍しいと思います。
マイクロサービスの利点は、サービスごとにデータベーススキーマを持ち、それぞれが独立していること。スピーディーに開発ができ、何かあったときに影響が出る部分も限られます。例えば、入金機能を更新するとき、その部分だけを小さい単位で開発できます。インターフェースを変更しない限りは、そのように必要な個所だけを次々と開発していく形で、機能をどんどん向上させていくことが可能です。何か問題が生じたときも同様です。マイクロサービスであれば、問題部分に限って調べ、対応すればいいのです。
当社の主力サービスの一つで、2022年1月に製品版をリリースした『マイメイト』は、開発当初からマイクロサービスを採用しています。『マイメイト』は今後、取り扱う資産の種類を増やしていきますし、機能面でも常にブラッシュアップが必要です。将来を見越し、スピーディーで小回りの利く開発を可能とするために、アーキテクチャにマイクロサービスとコンテナ技術を取り入れました。
一方で、100%マイクロサービスにしているわけではありません。従来の手法とは開発、運用の方法がかなり異なるので、リソースが限られるなかで、マイクロサービス化することで逆に手が回らない部分も出てきてしまうからです。そこは適宜判断しながら、「できる限りマイクロサービスの概念を適用している」とイメージしてもらえるといいでしょう。
マイクロサービスで開発したものを、コンテナ上にデプロイし、運用するために使っているのがコンテナオーケストレーションシステムのkubernetesです。kubernetesの利点は、一つは、サーバー部分をいじる必要がないこと。もう一つは、コストです。コンテナの数が増えてもコストはほとんど変わりません。さらに、負荷に応じて自動で調整するので、高速でコンテナを起動させることができます。
マイクロサービスとkubernetesを使ったコンテナ環境は、金融業界では珍しいと思います。Webサービスやアプリなどのベンチャー企業では多く使われていますが、コンプライアンスが厳しい金融業界は、導入に慎重な企業が多いのではないでしょうか。他社では研究はしていると思いますが、本番で運用しているという話はあまり聞きません。
また、kubernetesもそうですが、開発、運用、監視は、AWS以外はほぼオープンソースのサービス・技術を使っています。AWSをベースに、オープンソースと、あればサードパーティのサービスを利用し、必要な機能に対して最適なサービス・技術をフラットな視点で幅広く検討し、導入しています。
開発言語は、プロダクトの部分ごとに異なります。『マイメイト』は、AIを使った自動売買サービスですが、API開発のチームは主にJava、AIチームとデータサイエンスチームはPython、フロントチームはReact.js/Reduxを使っています。取引の処理を行うバックエンドの部分には、『MT5』という市販のプロダクトを使っており、そことのデータのやり取りは、.NETを経由しています。各部分で適した言語があるので、見極めながら使っている形です。
技術の選定は、チームのみんなで行います。誰かが「こんなのがあるよ」と持ってくると、言い出した人が実際に使ってみて、よければみんなに共有します。このようにして、どんどん新しい技術やサービスが提案され、みんなで知識を共有しながら、一人ひとりのナレッジを高めていける環境だと思います。
こんな感じで、開発チームには日頃から活発に話をする空気があります。というのもチームは多国籍で、考え方や文化も多様。だからこそコミュニケーションをきちんととろうという意識があるかもしれません。お互いの持っている知識、技術に触れることで、お互いに成長できると思います。チーム内の雰囲気は良好で、性格は人それぞれですが、プロダクトをよくしようという気持ちは一致しています。
今は、次々と新しい技術が出てきます。社歴や年齢、担当などに関わらず、誰からの提案も大歓迎です。みんな、よく勉強しています。会社全体としても、新しい技術を取り入れることに積極的で、よい技術であれば、うまく適用できるようにみんなでサポートします。金融業界では、このようなアグレッシブな会社は少ないのではないでしょうか。金融商品を取り扱ううえで、安定性は何よりも重要です。慎重に見極めますが、新しい技術に触れる機会自体はとても多いと思います。
提案した技術がプロダクトに実装され、ユーザーの皆さんに喜んで使ってもらうことは、技術者としてとても嬉しい経験でしょう。ぜひ、技術的にもチャレンジしたい意欲ある方に、仲間になってほしいと思います。
当社のIT部メンバーのインタビューもぜひご覧ください!