【システムトレード】バックテストの見方

システムトレード

EAの販売サイトなどでよく見る『バックテスト』ですが、「数字がいっぱい並んでて意味がよく分からない」という方も多いと思います。

ここではバックテストデータの見方とポイントとなるデータについて解説していきます。

そもそもバックテストするのは何故?

このレポートは実際のバックテストのレポート(Strategy Tester Report)です。

バックテストとよく言われますが、なぜバックテストを行うのでしょうか?

FXでトレードをする時に「根拠が必要」とよく言われます。
そのエントリーの根拠は?  決済の根拠は?
根拠なくトレードをしていて勝ち続けられるほど相場は甘くありません。

EA内部にはトレードの根拠となるロジックがプログラムされています。
テクニカルがこうなったらエントリー・・・とか
エントリーしたときより何pips逆に動いたら損切する・・・とか

そのロジック(EAのトレード根拠)が相場に優位性があるのかどうかを検証するためにバックテストを行います。

「バックテストは過去の相場の検証だから意味がない」と言う意見もありますが
私の私見としては、長期の過去相場で優位性のないロジックは将来にも通用する可能性は低いと考えています。
ましてや、意味がないからと検証すらしていないのはお話にもならないと思います。

EA選びはバックテストへの投資だとも言えるでしょう。
正しく実施されたバックテストを活用して真っ当なEA選びが出来るようになりましょう。

バックテストのデータの見方

バックテストが大事なんは分かったけど・・・

じゃぁポイントを解説していこか

通貨ペア・期間・モデル・パラメーター

クリックで拡大できます
項目内容
通貨ペアバックテストで使用した通貨ペア
期間バックテストした時間足と期間
モデルバックテストの方法
パラメータEAで使用されている変更可能なパラメータ

ここでのポイントは3つです

どれくらいの期間でバックテストされているか? 

10年以上が望ましいですが、あまりにも短い期間のものは注意が必要です。
ちなみに・・・
先に表示されている期間はこのEAのトレード履歴の期間、
( )の中の期間はテスト時に指定された期間で必ずしも一致しません。

どんな方法でバックテストされているか? 

バックテストには3つの方法があります。
 ・全ティック
 ・コントロールポイント
 ・始値のみ
一番信頼性の高い方法は全ティックです。これ以外は避けた方がいいかもしれません。

運用ロット数はいくらか? 

パラメータの中にロットのパラメータがあります。
純益を大きく見せるために大きなロット数でテストしているかもしれませんので注意。
またロットの表示が無い場合は使用者が変更できない固定ロットなので注意。

テストバー数・モデリング品質・不整合チャートエラー

クリックで拡大できます
項目内容
テストバー数バックテストで使用されたローソク足(バー)の本数
モデルティック数使用されたデータの疑似ティック数
モデリング品質バックテストの信憑性(1分足25%、それ以外90%が最大値)
不整合チャートエラー使用されたデータにエラーがあった場合のエラー数

これらの項目ではバックテストで使用されたデータの信憑性が分かります。
なのでポイントはただ1つ。

不整合チャートエラーが「0」でモデリング品質が「最大値」になっているか?

1分足でのテストなら25%、それ以外の時間足なら90%になっているか?
最大値になっていない場合はバックテストで使用されたデータにエラーがある可能性があり信頼性に欠けます。

初期証拠金・スプレッド・純益・プロフィットファクタ・期待利得

クリックで拡大できます
項目内容
初期証拠金バックテスト開始時の証拠金額
スプレッドバックテスト時に設定されたスプレッド
純益獲得した純利益(総利益 - 総損失)
総利益勝ちトレードの合計金額
総損失負けトレードの合計金額
プロフィットファクタ総利益 ÷ 総損失
期待利得トレード1回あたりの利益

投資をするからには得られる利益は大事ですよね。
ここでは純益に目が行きがちになると思いまが、純益はロット数を変えるだけで大きくなります。
ロット数が「自己資金で運用可能なロット数なのか?」の確認は必要です。

純益だけを見て判断するのは危険です!

ここでは以下のポイントに注意しましょう。

スプレッドは適正な数値になっているか?

《主な通貨ペアのスプレッドの例》
 USDJPY:1.5pips 
 EURUSD:1.5pips 
 EURJPY:2.0pips
 GBPUSD:2.0pips 
 GBPJPY:3.0pips

またバックテストレポートのスプレッドは「1=0.1pips」で表示されています。
USDJPYの場合「15」と表示されていれば適正な数値と言えるでしょう。

絶対ドローダウン・最大ドローダウン・相対ドローダウン・取引数

クリックで拡大できます
項目内容
絶対ドローダウン初期証拠金からの下落金額
最大ドローダウン期間中の最大下落金額(%)
相対ドローダウン証拠金に対する最大の下落率(金額)
総取引数総トレード回数
売りポジション(勝率%)売りトレードのみの回数(売りトレードのみの勝率)
買いポジション(勝率%)買いトレードのみの回数(買いトレードのみの勝率)

ドローダウンには3種類ありますがよく分かりませんよね(笑)
私も最初の頃はよく分かってませんでした(^^;)

絶対ドローダウンと最大ドローダウンはイメージしやすいと思います。
よく分からないのが相対ドローダウンだと思います。
上の例ではパーセントが一番大きい②の位置が相対ドローダウンとなります。

この3つの中で重要なのは最大ドローダウンです。
絶対ドローダウンはバックテストの開始時期によって数値が変わります。
また相対ドローダウンも初期証拠金を多くしたりすることで数値が変わってしまいます。

ドローダウンは最大ドローダウンをチェック

最大ドローダウンの金額をチェックします。
この記事のサンプルEAであれば0.1Lot運用で約60万円の最大ドローダウンが発生しています。
これは将来においても発生する可能性がある、と言う事を考えなければなりません。
稀に初期証拠金よりも最大ドローダウン金額の方が大きいバックテストがあったりします。
こんなEAは例え損益グラフが右肩上がりでも、運用開始時期によっては破綻してしまいます。

総取引回

バックテストでは取引回数は意外に重要です。
取引回数 = ロジックの検証回数 と言えますので、検証回数が少ないと言うことは信頼性が低いとも言えるでしょう。
目安は10年で1000回以上あればいいのではないでしょうか。

勝率~

項目内容
勝率(%)全トレード中の勝ちトレード数(%)
負率(%)全トレード中の負けトレード数(%)
最大 勝ちトレード 敗トレード全トレード中の勝ち(負け)トレードの最大金額
平均 勝ちトレード 敗トレード勝ち(負け)トレードの平均金額
最大 連勝(金額) 連敗(金額)テスト中に記録した最大連勝(連敗)数(その時の金額)
最大 連勝(トレード数) 連敗(トレード数)テスト中に記録した連勝(連敗)時の金額(その時の連勝敗数)
平均 連勝 連敗連勝(連敗)数の平均回数

勝率は高いに越したことはない!!
かもしれませんが、そうとは言い切れません。
勝率が高くても利小損大(いわゆるコツコツドカン)のEAなら1回の負けで今まで積み上げてきた利益を失うこともあります。
逆に勝率が低くても損小利大のEAなら1回の勝ちで大きく利益を伸ばすこともあります。

要は最終的に利益がでるのかどうかが重要になります。

とは言えEAにおいて勝率を確認する重要性もあります。

それは、ロジックを把握するためです。
勝率を確認することでおおまかにEAのロジックを把握することが可能になります。

勝率でロジックを把握する

90% ・・・ 超最適化系
70% ・・・ 押し目買い・戻り売り系、逆張り系
55% ・・・ 逆張り要素を含んだ順張り系
40% ・・・ トレンドフォロー系、逆張りスイング系

と、あくまで目安ですがEAの戦略を把握することが出来ます。

まとめ

今までバックテストのデータは色々あり過ぎて見るのも面倒臭いと思っていた方も多いと思います。
実際はじめの頃は私もそうでした。
バックテストのデータを見ることで100%勝てるEAを見つけることは難しいでしょう。
ですが、最低でも粗悪な物を排除することはできます。
それだけでもEA運用の勝率を上げることが出来ると感じています。

是非、面倒臭さがらずバックテストデータを確認して欲しいと思います。

コメント

タイトルとURLをコピーしました