「AI開発2024年を振り返る」(12/30)投資AI開発奮闘記
今年も残りわずかとなりましたので、AI開発の2024年を振り返ってみたいと思います。
先日始まって、いやまだ始まってもいない奮闘記ですが、総集編となることをご了承ください😅
EAと生成AI連携
今年のはじめ、OpenAIのAPIを使用して経済指標を分析してトレードするEAを作成しました。
画期的なEAの側面、いくつかの課題がありました
①API経由のハードル
APIの利用には手続きやクレジット購入が必要で、特に初心者にとってはハードルが高かったと思います🤔
1回で使用するクレジットは、GPT4でその当時で5円程度だったと思います。モデルのグレードを3.5にすると1円程度だったと思います。
バックテストすると非常に大きなコストとなるため優位性を確認するのにはリアルフォワードしかありませんでした
②生成AIの再現性
同じプロンプトを送ってもその時々で異なるレスポンスだったり再現性に問題がありました。
そのため稀にポジションの撮り方が違う場合がありました。
生成AIの再現性については今後モデルの進化とともによくなると期待してます😉
③モデルの選定
生成AIは文章と画像分析はOpenAI、Web検索はPerprexityAIを使うようにしました
機械学習、初挑戦
2月頃からバックテストの課題もありEA内で学習と予測を完結させるように検討し始めました!
まず初めに作成した機械学習EA第一号は、過去チャートを定期的に学習しながら予測モデルを更新しトレードをしていくEAでしたが、
バックテスト開始前の過去チャートのデータは1000本程度しか参照できないため、学習データが不足し十分な検証が行えませんでした。
こちらはランダムフォレストで、モデルの保存と読み込みもできるように作成できました。
このスタイルでの機械学習はバックテスト開始時の履歴の数の制限により壁に当たりました。
現在のスタイルの確立
4月に入り、MQL5の標準関数のOnnx関数の具体的な使用方法について勉強し始めました。
Onnx関数という名前については以前から「なんだこれ?」程度にしか思っておりませんでしたが、まさかここで使用し始めるなんて思ってもみませんでした🤣
このOnnxというのはPythonで機械学習したAIモデルをEAで読み込むためのファイル形式のことです。
このOnnx関数を研究していくうちにPythonを使用するためGPUを使用出来たり、生成AIが得意としているPythonのため複雑なモデルを作成することができるようになりました。
このことから、Onnxファイルに出力したMQLに落とし込むスタイルを確立していきました。
デメリットとしては前項の過去チャートで学習しながらトレードするEAのようなオンライン学習ではないところくらいでしょうか🤔
情報収集の旅
Onnxの使い方やAIモデルについてある程度わかってきたのが6月。
ここからさらに研究を深めようと、GPUや書籍や教材を買いあさり、AI関係の投資額は100万円近くになりました🫠
様々な情報を得ていくうちに、モデルはシンプルな方がいい、勾配ブースティングモデルがいいという点は投資AI界隈における認識だということが見えてきましたが、
投資AIについての情報の少なさを痛感しました。
過学習の沼
一通り学習も終わり、あとはトレードに応用するだけだと意気込んでいました。
しかし、AI作っても、モデル工夫しても、特徴量変えてもバリデーション(訓練データ外の検証データ)がよくならない
完全に過学習の沼にはまってしまいました🥲
モデルはシンプルな勾配ブースティングで決まってしまうと、あと改善できる変数は特徴量しか残っていません。
この頃、特徴量が重要なんだと完全に思って、本格的なEAのロジックのように、特徴量を工夫していました。
(それなら人力でEA作ったほうがよほど効率いいのです)
救いの神降臨
10月のそんな時、シストレ開発をされている方ならご存じであろう、藍崎さんとZOOMでお話させていただくお誘いをいただくことができ、
ファイナンス分野の機械学習について重要な最新情報やアイディアを得ることができました😍
具体的な情報については多すぎて書ききれないのと、藍崎さんのSNSやブログ、書籍で詳しく解説されておりますのでここでは割愛します
過学習のその先へ
11月には、これまで単なる過学習で終わっていた問題を脱却できるようになってきました。
トレーニングデータではなく、バリデーション、テストデータの評価値が明らかに高くなったのでした。
壁を超えることで、より一層機械学習について興味がわいてきました。
次のステージ
決定木、および深層学習についてはこの1年間、毎日朝起きてから、日が変わるまで勉強してきました。
複雑な計算式とかは全然わかりませんが、細かいプロセスまでたくさん学習することができ概ね理解できたと思います。
あとは実際にEA化してみたいなというところまで来ました。
しかし、まだ未開発分野があります。それは強化学習です。
現在Q学習、DQN学習について、一通りのアプローチを実行するところまではできています。
人外なAIトレードを実現させるためには強化学習は必須だと考えています。
深層学習のような教師あり学習ははあくまでも予測トレードです。
たしかにエントリーは上がる、または下がる確率が高いところでエントリーを行えばいいのです。
しかしクローズは、その反対シグナルが出たところとは限りません。
このクローズを上手にさせるのが強化学習になると考えています。
来年の抱負
来年は、これまで学習し研究してきた教師あり学習のほかに強化学習を本格的に研究していきます。
目指すは、FX界のAlphaZeroです😁
最後に
今年も残りわずかとなりましたが、本年も大変お世話になりました。
PEACEをはじめ、MQLCAMP、EA作成代行など多くの方々に利用していただき誠に感謝しております。
来年も変わらぬお付き合いのほどよろしくお願いいたします。
良いお年をお迎えください🥰
よろしいですか?