EAのバックテストのレポートの見方

MetaQuotes | 1 10月, 2015

序論

各EAは過去データに基づいてバックテストをすることが可能です。EAのバックテストの後、[レポート] タブに総括的な結果が表示されます。EAのバックテストのレポートのおかげで様々なエキスパートアドバイザーをならべ比べることができます。この記事はそのようなレポートについて説明しています。


EAのバックテストのレポートの例

例として、以下のEAのバックテストのレポートを見てみましょう。


  • Bars in test、バックテストを行ったバーの数を意味します。

  • Ticks modelled、バックテストで使用したティックの数を意味します。順序の記録はバーOHLCVの状態を表示しています。バーの数は、時間枠やバーモデルや最小時間軸の過去データによります。

  • Modelling qualityは、バックテストで利用したティックの割合となり、以下の計算式で求められます。

    ModellingQuality = ((0.25*(StartGen-StartBar) + 
                         0.5 *(StartGenM1-StartGen) + 
                         0.9 *(HistoryTotal-StartGenM1)) / (HistoryTotal-StartBar))*100%;

    ここでは:

    • HistoryTotal、ヒストリーの総数を表示しています。

    • StartBar、 テストで使った最初のバーということです。モデル化が最低で101つ目のバーから開始されます。

    • StartGen、使用時間軸のバーの数字を意味します。

    • StartGenM1 - M1の最初のバーの数字を意味します。

    この時:

    • データベースのモデル化の開始から最も近い時間軸に基づいたモデル化の開始までの重み係数は0.25となります。

    • 最も近い時間軸に基づいたモデル化の開始からM1の最初のバーモデルの開始までの重み係数は0.5となります。

    • M1の最初のバーモデルの開始から過去データの終わりまでの重み係数は0.9となります。

  • Gross profitは、純利益を表します。

  • Gross lossは、純損失を表します。

  • Total net profitとは、総利益から総損失を差し引いた額のことです。

     

    TotalNetProfit = GrossProfit - GrossLoss

     

  • Profit factorは、純利益を純損失で割った数値が表示されます。

     

    ProfitFactor = GrossProfit / GrossLoss

     

  • Expected payoffは、総純損益を総トレード回数で割った値が表示されます。

    Expected Payoff = (ProfitTrades / TotalTrades) * (GrossProfit / ProfitTrades) - 
                      (LossTrades / TotalTrades) * (GrossLoss / LossTrades)

    ここでは:

    • TotalTrades - 総トレード回数;

    • ProfitTrades - トレードを行った回数;

    • LossTrades - 負けたトレードの回数;

    • GrossProfit - 純利益;

    • GrossLoss - 純損失

  • Absolute drawdown、初期投資額からのドローダウン、つまり資産の減り具合を表します。

    AbsoluteDrawDown = InitialDeposit - MinimalBalance
  • Maximal drawdown、最大ドローダウン、つまり最も資産が減った場合の数値を表します。

    MaximalDrawDown = Max of (Maximal Peak - next Minimal Peak)

    バックテスト中の最大ドローダウンの変更が以下のチャートに表示されます。最後の最大ドローダウンは矢印で指示されました。



    最大ドローダウンのパーセンテージは、最大ドローダウンの値をピーク最大値で割ったものです。

    MaxDrawDown % = MaxDrawDown / its MaxPeak * 100%

他のレポートの項目は、とっても簡単な計算式を使います。

  • Total tradesというのは、トレードを行った回数のことです。

  • Short positions (won %)、売りから入ったトレードの回数と勝率を表示しています。

  • Long positions (won %) 、買いから入ったトレードの回数と勝率を表示しています。

  • Profit trades (% of total)は、 勝ったトレードの回数と勝率を表します。

  • Loss trades (% of total) は、負けたトレードの回数と負率を表します。

  • Largest profit tradeとは1トレードあたりにおける最大利益のことで、

  • Largest loss tradeとは1トレードあたりにおける最大損失のことです。

  • Average profit trade、勝ったトレードで獲得した平均利益を表示しています。

  • Average loss trade、負けたトレードで失った平均損失を表示しています。

  • Maximum consecutive wins (profit in money)、連続で勝った最大トレード回数と利益額を表しています。

  • Maximum consecutive losses (loss in money)、連続で負けた最大トレード回数と損失額を表しています。

  • Maximal consecutive profit (count of wins)とは、勝ったトレードにおける最大連続利益額のことです。

  • Maximal consecutive loss (count of losses) とは、負けたトレードにおける最大連続損失額のことです。

  • Average consecutive wins、連続して勝った平均トレード回数を表示しています。

  • Average consecutive lossesは、連続して負けた平均トレード回数を表示しています。


モデリング品質管理図の色指定

このチャートで以下の色が使用されます。

  • 黄緑色は、M1の最初のバーモデルで、「7」と指示されました。

  • 深緑色は、M5-H4までの時間軸においてのモデルを表示しています。

  • ピンク色は、最小時間軸の過去データを計算せずフラクタルモデルを提示したもので、「2」と指示されました。

  • 灰色は、日付書式モデルで、「1」と指示されました。


チャートに表示する値は以下になります。

  • Bars in test = 4190;

  • StartBar = 2371;

  • StartGen (H4) = 3042 (3で指示された);

  • Start H1 = 3355 (4で指示された);

  • Start M30 = 3841 (5で指示された);

  • Start M15 = 3891 (6で指示された);

  • Start M5 = 0;

  • Start M1 = 3917.

数値データをモデリング品質計算式に代入するとこのようになります。

((0.25*(3042-2371) + 0.5*(3917-3042) + 0.9*(4190-3917)) / (4190-2371))*100% =
((0.25*671 + 0.5*875 + 0.9*273) / 1819)*100%                                = 46.78%