こんにちは。
先日のこちらの記事の続編になります。
AIでトレード戦略バックテスト用のスクリプトを作成し比較しようというものです。
前回、Perplexity AI、ClaudeおよびCopilotの助けを借りて、トレード戦略のバックテスト、最適化のスクリプトを作成しました。
スクリプトの生成まで行い、その段階での評価を比較しました。
この記事では、生成されたスクリプトを実行した上で、評価・比較したいと思います。
なお、Copilotが生成したコードは、必要な機能・処理が含まれていないため今回の比較からは除外しました。
FXトレード戦略の実行結果・比較
実際にコードを実行した結果の比較・評価は以下のとおりでした。
まず、最終的に望ましいものができたかという点、最終的なコード品質、つまり総合評価については、Claudeが最良でした。
コードの初歩的エラーの有無
【Perplexity】2件
関数のパラメータ指定に関するエラー 1件
クラスで指定するパラメータ初期値のエラー 1件
【Claude】2件
並列処理でのオブジェクト共有のエラー 1件
日付データの型変換のエラー 1件
どちらも2件程度のエラーで解消後、実行までできるようになりました。
いずれのエラーも事前にチェックできるレベル、コードレビューで防げるレベルのような気がしますが、AIでも事前にチェックは難しいのでしょうか?
デバッグのし易さ・分かり易さ
【Perplexity】説明は分かり易い。コード修正も問題なし。
【Claude】説明は分かり易い。コード修正も問題なし。
ここまでは、PerplexityとClaudeに大きな差異はありませんでした。
最終的なコード品質
ここでの評価は最終的に満足できるものができたかという観点です。
当然、スクリプトが実行できて、バックテスト・最適化が行える状態であることが前提です。
PerplexityとClaudeともに最終的な動くものはきちんとできました。
最終品質については、Claudeが最良でした。
【Perplexity】
最終品質の評価として減点になったのは以下の2点です。
-
エラー対処によりプログラムの大幅な変更
デバックのし易さで挙げた2つ目の対応で、使用するライブラリの変更、つまりプログラムの構成を根本的に変更する提案がありました。
もともと、提案・実装されたコードでしたが、エラーがあったためにあっさりとその実装を変えるということになりました。
Perplexityは、正直ちょっといい加減なところがあります。
ハルシネーション(Hallucination)というものなのでしょうか。 -
最終実行結果が意味ないもので終わった
下の画像のとおり、Best win rate : 0と意味不明な結果で終わりました。
1点目については、当初以下のとおり説明していたが、エラーがあったためあっさりと別の実装に切り換えたということです。
あまり当てにならないですね。
これが人間相手であれば、信頼しなくなります。
こちらが実行結果の画面ですが、肝心のWin Rateが0で使えなさそうです。
また、Parametersの記載もユーザーフレンドリーでなく、分かりにくいですね。
【Claude】
以下の画像のとおり、しっかりとした結果が出てきました。
数値の正確性など詳細は確認する必要がありますが、今後の調査のベースとしては十分使い物になりそうです。
ただ、最適化結果で Win Rate 100%で、最適パラメータでの再実行結果のWin Rateが87.29%と異なっているのがなぜなのでしょうか? 要調査です。
なお、上記の最適化結果では、指値30 pips、逆指値 671 pipsで100%の勝率です。
これが本当だとするとトレード戦略の検討という意味ではおもしろそうです。
なお、分析に利用したデータは クリック証券 EURUSD 1分足 2013~ 2024年のデータです。
トレード戦略の検討については、また別の記事で調査結果をご紹介したいと思います。
最後に
この記事はお気に入りいただけましたでしょうか?
内容お役にたちましたらうれしく思います。
また、サポートなど応援いただけましたら幸いです