バックテストの分析を効率化する

この投稿文は次の言語で読めます: 日本語

要約

  • MT4/MT5のバックテスト結果をビジュアル化
  • 分析の速度アップや新たな気付きが得られる
  • 改善がはかどる
スポンサーリンク

バックテストのビジュアル化

MT4のストラテジーテスターからバックテストを実行すると、テスト結果の明細やグラフを表示してくれます。
・結果
・グラフ
・レポート
これだけの機能でも、結果が良かったのか、悪かったのか? 程度を見るには十分ですが、
EAの開発中や機能追加をする場合、思ったように成績が出ず、ロジックを改善したい場合に
なぜ悪いのか?どこが悪いのか?どこにどう手を入れればよいのかを分析したいと思った場合、
これらの機能だけでは少々やりきれない感があります。
・この負けてるポイントのレートの動きってどんなんだっけ?
・明らかに無駄な負けポイントはトレードから除外したいが、どんな部分に負けの傾向がある?
・ロジック独自の取引単位での成績や傾向を見たいけど、手段が無い
といった課題が出ると、ビジュアルモードでバックテストを何度も繰り返して、
指定のポイントまでテストを実行したり、スクショを取って情報をまとめたり。。。
としていると、びっくりするほどはかどりません。
皆さん、どうやってテストされているんでしょう?
このご時世、もう少しまともとな分析手段があってもよいのではないかと思い、
Tableauを使用して分析の土台部分を作りましたのでご紹介したいと思います。
スポンサーリンク

使うもの

ツール

必要なデータ

  • バックテスト結果(テキストファイル)
  • レート情報(テキストファイル)

出来上がった分析レポート

データを整備し、集計を自動化してTableau Desktopでレポートを閲覧できるようにしました。
適当なパラメータで実行した結果、利益が右肩下がりです(笑) なんとか改善したいので、問題箇所を見ていきます。
今回の例はナンピン系ロジック(損切り有り)で、何度か損切りに到達し利益をふっ飛ばしています。

 

 

利益推移

画面上部が時系列の利益推移。
ストラテジーテスターと見えているものは同じですが、
範囲選択すると、該当箇所のみの売買実績が、画面下部の各種レポートに表示されます。
ある程度の期間の取引結果をまとめてみたいときに使えます。

ヒートマップ

左下は曜日/時間帯の利益ヒートマップ。
何曜日の何時頃の成績が良いか/悪いかが俯瞰できるだけでなく、クリックしたポイントの内訳がわかります。

エグジットとエントリー時刻が同一になっています。
エントリー後、即座に損切りされたのか、一週間後の同一時刻に決済されたのか?

画面右上の散布図の利益マイナス部分を見ると、期間が0なので、
エントリー後、ほぼ即座に損切りされています、、、 こういうエントリーは避けたいです。

散布図

ポジションの保持期間(エントリー時刻~エグジット時刻)と、利益の相関を表示しています。
ナンピンなので利小損大。 0ラインにあるポジションはそれぞれ僅かな利益を取っていて、
一回の損切りで激しく負けます。。

カーソルをホバーすると、どの取引IDだったかが分かります。

該当日の動き

該当IDの明細をクリックすると、ポジションを保有していた範囲の実際の値動きが分かります。
即座に損切りにあった理由が分かりました。 エントリーのタイミングとして問題がなかったのか評価が必要です。

複数明細を選択するとその前後の動きも含めて判断ができます。

また、選択した日付に紐づく経済指標を連動して表示することもできます。
MT4の時差の関係上、指標表記の日本時間とは乖離がありますが、該当日には
アメリカ・新規失業保険申請件数の発表があったことが分かります。

作成手順

後日、時間に余裕があるときにまとめたいと思います。

まとめ

基本的な集計はどんな手段を使っても良いと思いますが、
いくつかのデータを併せて判断したい場合、直感的な操作性と情報連携の速さの面でTableauは優秀ですね。

 

もしご自身で作成することが難しい場合は、ご依頼頂ければ分析レポート作成を代行することもできますので、
同じようなことを実施してみたい方、自力で対応するのが大変な方はご連絡ください。
閲覧だけならば、無償版のTableau Readerを活用する事が可能です。

関連記事

スポンサーリンク

Twitterでフォローしよう

おすすめの記事