記事「ニュース取引が簡単に(第4回):パフォーマンス向上」についてのディスカッション

 

新しい記事「ニュース取引が簡単に(第4回):パフォーマンス向上」はパブリッシュされました:

この記事では、ストラテジーテスターでエキスパートアドバイザー(EA)のランタイムを改善する方法について掘り下げていきます。これらのニュースイベントの時間は、指定された時間内にアクセスされます。これにより、EAはボラティリティの高い環境でも低い環境でも、イベントドリブン取引を効率的に管理できます。

前回の記事では、ニュースの影響に基づいて取引を実行するプロセスについて説明しました。このミッションは成功しましたが、記事で使用したコードには重要な欠点がありました。それは、バックテストの速度が比較的遅いことです。この原因は主に、戦略のバックテスト中にメモリ内のデータベースへ頻繁にアクセスしていたことにあります。この問題を解決するため、バックテスト中のデータベースアクセス回数を減らします。必要な情報をその日の分だけメモリ内に取得し、理想的には1日に1回だけデータベースにアクセスするようにします。

さらにパフォーマンスを向上させるために、ニュースイベントを発生時間に基づいてクラスタ化する方法を採用します。具体的には、1日の各時間帯ごとにイベント情報を格納する配列を用意し、それぞれの時間帯専用の情報を保存します。現在の時間帯に関連するイベント情報が必要な場合、switch文を使って該当する配列にアクセスします。この方法により、特定の日や時間帯に多数のニュースイベントが発生する場合でも、EAの実行時間を大幅に短縮できます。この記事では、1つの記事が長くなりすぎないように、これらの解決策を実装するための基盤をコーディングします。


作者: Kabelo Frans Mampa