期待値はストラテジーをバックテストして求める
それではシステムトレードにおける期待値とはどのようにして求めたらよいのでしょうか。
ことMT4のEAにおいては、期待値を求める方法はバックテストにほかなりません。
具体的には以下の手順になります。
- ストラテジーを定める
- 固定ロットでバックテストを行う
- 取引結果の平均損益を求める
- 平均損益から期待値を計算する
1. ストラテジーを定める
まずは、基本となるストラテジー(戦略)を定めます。これがEAの核となる部分なので、慎重に定めてもよいですが、あまり凝ったものにすると出現頻度が下がってしまう傾向があります。
最初は、移動平均線のゴールデンクロスとデッドクロスなどのシンプルなもので十分だと思います。
2. 固定ロットでバックテストを行う
次にそのストラテジーでEAを作成します。具体的なプログラミング方法は他のサイトや書籍を見てもらうとして、
- ゴールデンクロスが発生したら買い
- デッドクロスが発生したら売り
のようなシンプルなロジックを作成し、それぞれTP(利益確定)、SL(損切り)の値を予め固定値にして発注するようにします。
ここで重要なのは、最初の段階では、発注するロット数、TP、SLの値をそれぞれ、ほぼ一定の金額になるようにしておくということです。そうしないと、発注金額が多いときの結果が、トータルの運用成績に大きく影響してしまい、後の工程で正しい分析ができなくなってしまいます。
そのため、あまりに変動幅が大きい通貨ペアを選択すると、ロット数、TP、SLが同じであっても金額としたら大きな差が出てしまいます。そこを換算しようとして一定の金額にしようとすると、この段階でロジックが複雑になってしまいます。また、そういった通貨はそもそも値動きに規則性がなく、このサイトで提案しているEAの作り方には向きません。
私が最も推奨する通貨ペアであるEURUSDですと、この20年で最も安いときと最も高いときの差が2倍程度です。こういった場合は、ロット数、TP、SLを固定値としてもよいと思います。USDJPYでも、20年での最大の値幅は1.5倍程度なので、同じくロット数、TP、SLを固定値としてもよいでしょう。
この段階で試行錯誤して、なんとか右肩あがりになるようなストラテジーを探し出してください。
3. 取引結果の平均値を求める
MT4でEAのバックテストを行ったあとは、取引結果の平均値を求めます。
この際に、
- 1回の取引当たりの平均損益
をそれぞれ求めておきます。どちらもとても簡単です。
1回の取引当たりの平均損益の算出方法
1回の取引あたりの平均損益の算出方法は以下です。
総利益 ÷ 総取引回数 = 1回の取引当たりの平均利益
全体の利益がプラスであれば、1回の取引当たりの平均利益もプラスになるはずです。
システムトレードの成績と言うものは総利益のことであり、上記の式を変形すると
1回の取引当たりの平均利益 × 総取引回数 = 総利益
ということになります。つまり、
システムトレードの成績を上げるためには、
A. 1回の取引当たりの平均利益を上げる
B. 総取引回数を多くする
のどちらか、または両方を目指す。ということになります。
4. 期待値の算出方法
期待値は、1回の取引当たりの平均利益と、投入したロット数に相当する金額との比になります。
1回の取引当たりの平均利益 | : | 1回の取引のロット数 × 1ロットの金額 |
上記を変形すると
期待値 | = | 1回あたりの平均利益 ÷ (1回の取引のロット数 × 1ロットの金額) |
ということになります
具体的な例を挙げると、
- 1回の取引当たりの平均利益 : 1,000円
- 1回の取引のロット数 = 0.01
- 1ロットの金額 = 1,000万円
だった場合は、
期待値 = 1,000円 ÷ (0.01 × 1,000万円) = 1,000円 ÷ 10万円 = 0.01倍 = 1%
となります 。1回の取引につき、0.01倍つまり1%の利益が見込めるということになります。
コメント