1年で口座残高が8倍に増えるEAをつくりたい③-戦略構成-
1. パラメータ
・平均日利1%を達成するための不等式⑥
$$N\leq nR(pr+p-1) -⑥$$
・退場確率が1%を超えない条件式⑫(及び⑬)
$$Q=α^u\leq0.01 -⑫, ⑬$$
[ただし$u=\frac{100(N-D)}{R}$ 、$α$ は $px^{r+1}-x+(1-p)=0$ の $1$ でない実数解]
勝率やPORを見ながら、これらの式を満たすように初期資金や許容リスク幅を設定しにいくわけですが、まずこの時点でパラメータの個数がそれなりに多くなってしまっています。
ここで表にして整理しておきます。トレード戦略や資金&リスク調整、あるいは取引通貨次第で変動するパラメータは以下の6つ。ユニット数uと特性方程式の実数解αは表内のパラメータを決定すると自動的に定まります。
1日あたりの平均トレード数 | n | [回] |
負けトレード1回あたりの損失幅 | R | [pips] |
1ロットあたりの口座残高(入金額) | N | [万円] |
1ロットあたりの必要証拠金 | D | [万円] |
トレード勝率 | p | (確率) |
勝ちトレード時の利益幅/負け時の損失幅 (POR) | r | (比率) |
上段2つ。1日あたり平均トレード数nと負け1回あたりの損失幅Rはリスクの許容度なので、2回/日程度以上の回数さえ保てればあとは後述の勝率とペイオフレシオを見ながらどこまでなら安全か考えて設定すればOKです。
中段2つ。1ロットあたりの口座残高Nは可変なので最後に設定すればよく、1ロットあたりの必要証拠金Dは取引通貨でほぼ決定するので実際のところ可変性は低いです。
下段2つ。勝率pとペイオフレシオrについてはトレード戦略で決まります。どのような戦略をEAに持ち込むか次第です。
以上より、下段2つから考えていくことになります。
手法としてはいくつかの仮戦略を考え、過去データを用いて試してみてその結果を見て暫定的に決めていくという形式で進めていこうかと。
なお仮戦略を試す際、1つ1つアルゴリズムをコードに落とし込んで記述しているととても時間がかかってしまう(というか終わる気がしない※11)ので、一旦手動で行います。
(※11 そもそも手動でやることをコードに落とし込むってところが一番難しいのでもしこれが最初からできるなら楽勝なんですよね……。)
2. 仮戦略
仮戦略として【プライスアクショントレード入門】を参考(※12)にしながらエントリー(新規売買)戦略15パターンと決済戦略13パターンを考えて2021年11月の5分足データに基づいて手動でテストしてみました。
1ヵ月分のデータを時系列順に追っていき、以下のエントリー戦略15パターンのいずれかに該当する状況になったらエントリーし、エントリーしてポジション保有中に決済戦略13パターンのいずれかに該当する状況がきたら決済です。
このテストの都合上、エントリーについてはパターンごとに状況が異なるのでいいとして、決済については必ずしも最良のものが選ばれるとは限りません。そこで、今回は主にエントリー戦略について考察し、エントリー戦略実装後に決済戦略について改めてテストすることとしました※13。
(※12 実際の内容を詳しく知りたい方はぜひ買って読んでみてください。Kindle版もありますが、ページをまたいで図と文を往復しながら読む部分が多いため紙の方が読みやすいと思います。)
(※13 実装の都合的にも、エントリー側の戦略が実装できるなら決済の実装はその変形・応用でいけるのでとりあえずエントリー戦略についてなんとかしたいというのがあります。)
◎◎◎ エントリー戦略リスト(試したけど一度も成立しなかったものは省略) ◎◎◎
A. ローソク足パターン系 エントリーはパターン及びその後の動き次第
1. ii, iii -- いわゆるはらみ足の連続。2連でii、3連でiii。成立後抜けた方向に追従エントリー
2. TeaseBreak -- レンジにおいて少しだけブレイクして戻してきた形。戻した方向に追従。
3. BreakOutPullBack -- レンジ端で停滞orレンジブレイクして戻しかけてから戻さず、そのままブレイクする形。ブレイク方向に追従。

4. WTop, Wbottom -- 直近の流れから反転する形状として有名な形。こんなの↓。Topなら右下がり、Bottomなら右上がりならなおよし。反転方向に追従。

B. トレンド系 大きなトレンドに乗っていく順張りエントリー
5. M2B, M2S -- トレンド中、最高値(最安値)をつけてから一旦20EMA(指数平滑移動平均線)付近まで戻しつつ、再度高値(安値)を目指しに行く2回目の上げ(下げ)。わかりやすい押し目(戻し目)。下図がM2Sの例。赤線はTL(トレンドライン)で、オレンジが20EMA。安値をつけた後(1つ目の黒マル部分)、EMA前後まで戻す→小さい下げ→再度上げてから下げ(2 つ目の黒マルの中)。

6. Trend & TB (TeaseBreak) -- トレンド中の小レンジでのTeaseBreak。
7. Trend & BOPB (BreakOutPullBack) -- トレンド中の小レンジでのBreakOutPullBack。
8. Trend & WT, WB (WTop, WBottom) -- トレンド中、最高値(最安値)をつけてから戻して形成したWBottom(WTop)。
C. カウンター系 トレンド反転を狙う逆張りエントリー
9. WedgeOverShoot -- 先細るような線を形成しながら上昇or下降しているときに進行方向に行き過ぎてから戻した形。戻す方向に追従。
10. ChannelLineOS (OverShoot) -- 平行線を形成しながら上昇or下降しているときに進行方向に行き過ぎてから戻した形。戻す方向に追従。

11. TrendLineBreak &Counter -- トレンドラインをしっかりと割った後、再度極値(トレンドラインを割る前の最高値(最安値))を少しだけ超えたところで反転系のローソク足が登場した形。

3. 試験結果(使用データ期間2021年11月1日-11月末日)
No. | 名称 | 回数 | 勝率 | 総損益 | 平均損益 | 平均リスク | POR |
---|---|---|---|---|---|---|---|
1 | ii, iii | 2 | 100.0 | 39.50 | 19.75 | 7.30 | 2.71 |
2 | TeaseBreak | 7 | 57.1 | 1.50 | 0.21 | 6.23 | 0.93 |
3 | BreakOutPullBack | 8 | 50.0 | 40.10 | 5.01 | 7.25 | 1.87 |
4 | WTop, WBottom | 2 | 100.0 | 59.80 | 29.90 | 6.90 | 4.33 |
5 | M2B, M2S | 24 | 75.0 | 291.0 | 12.12 | 7.26 | 2.45 |
6 | Trend & TB | 4 | 100.0 | 76.50 | 19.12 | 6.88 | 2.78 |
7 | Trend & BOPB | 6 | 66.7 | 18.40 | 3.07 | 8.03 | 0.87 |
8 | Teend & WT, WB | 4 | 75.0 | 66.70 | 16.68 | 6.20 | 3.69 |
9 | WedgeOvershoot | 1 | 0.0 | -0.60 | -0.60 | 5.40 | // |
10 | ChannelLineOS | 5 | 80.0 | 133.70 | 26.74 | 9.64 | 3.49 |
11 | TLBreak & Counter | 13 | 53.8 | 28.70 | 2.21 | 7.74 | 1.40 |
計 | 全体(その他含む) | 79 | 68.4 | 784.0 | 9.93 | 7.23 | 2.34 |
上の表のようになりました。トレンド追従系(5~8番)が明らかに強かったです。
全体としては、やはり一般に言われるようにトレンドをしっかりつかんでそれに乗るというのが一番であるというのが示されてしまったなぁという感じ。ローソク足パターンだけで戦うと効率が悪い……※14。
5番のM2B,M2Sが発動回数も含めて特に優秀で稼ぎ頭になっていました。6,8番のTrend & TeaseBreakとTrend & WTop, WBottomも回数が少ないものの勝率・平均損益・PORいずれも良い値です。これらは5,6,8番に関してはエントリーのトリガーとなるローソク足形状こそ違うものの「トレンド中に発生した押し目/戻し目の動きや調整的なレンジに対して逆張り(トレンド方向に順張り)」という点では共通の状況下で発動するのでこれらをまとめてメイン戦略に据えていこうと思います。
トレンド系の中でも7番のBreakOutPullBackだけはレンジを抜けた上で買い(下で売り)という性質上、利益幅が他に比べて伸びにくくPORが小さめでした。
トレンド系以外だとカウンター系の10番のChannelOverShootが優秀でした。狙える値幅は大きいが勝率が低いとされる逆張り戦略の中でそれなりに信頼できるものと見なせそうなので、これをサブ戦略としていきます。
(※14 4番のWTop, WBottomは強そうではあるのですが2回しか発動していないので一旦保留とします。)