対キーエンス株ロジック③ 複数指標で確度を上げる

「Δ始値」と「見えないローソク」を重ね合わせる

さて、今回は複数ロジックを組み合わせるなどしてさらにエッジを磨いていく方法をご紹介します。
第1回でご紹介した「Δ始値」と第2回でご紹介した「見えないローソク」という2つの指標を重ね合わせてみるとどうなるでしょうか。つまり、Δ始値と見えないローソクがいずれもマイナスなら買い、いずれもプラスなら売り、それ以外は見送りというロジックです。

2つのルールを重ね合わせたロジック

「Δ始値」=【前日始値】-【当日始値】
「見えないローソク」=【前日終値】-【当日始値】

今回はこの2つのロジックを両方適用します。すなわち

【前日始値】-【当日始値】がプラスで、さらに【前日の終値】-【当日の始値】もプラスなら始値(寄り)で売って終値(引け)で買い

【前日始値】-【当日始値】がマイナスで、さらに【前日の終値】-【当日の始値】もマイナスなら始値(寄り)で買って終値(引け)で売り

それ以外は見送り

というロジックです。
もしもこのロジックでキーエンス株を12年半売買を続けていたら損益はどうなったでしょうか。
分析結果はこのようになりました。

損益グラフ


これまでのグラフと同様、横軸は日付で、縦軸は日々の損益率(%)を足していったものです。売りから入る空売り・信用取引もしていますが、取引は最小単元とし、レバレッジや再投資は行っていません。青線は買いで入った場合の損益の合計値、赤線は売りで入った場合の損益の合計値です。緑はこれらを足した合計値です。レバレッジ1の場合で、それぞれ124.14%、132.95%、256.73%です。「見えないローソク」ロジック単体の場合に比べて買いの利益合計は上回っていますが、売りの利益合計は減りました。合計値も「見えないローソク」ロジック単体の273%を下回っています。しかし、こちらのロジックのほうが優れている面があります。それはどこでしょう。

(ちなみに、レバレッジ3倍のグラフは下記のようになります)


トレード1回あたりの平均履歴を評価する

こちらは「Δ始値」ロジック、「見えないローソク」ロジックそして「これらの重ね合わせ」ロジックという3パターンについて、それぞれのトレード回数、利益合計、およびトレード1回あたりの平均利益の表です。利益の合計は「見えないローソク」が一番大きいですが、平均利益は「買い」「売り」「売買合計」のすべてにおいて「重ね合わせ」のほうが上回っています。
「重ね合わせ」の平均利益は見えないローソクに比べて1.29倍、Δ始値単体に比べて1.67倍にもなっています。
また、「重ね合わせ」のロジックでは単体のロジックに比べて取引回数が大きく減っていることがわかります。優位なロジックを2つ組み合わせることで、無駄なトレードを減らすことに成功し、その結果トレード1回あたりの平均利益が増えたと考えられます。

レバレッジトレードでは合計利益よりも平均利益のほうが重要になることがある

平均利益が向上すると利益再投資のトレードでは有利になりやすいです。次のグラフは前回の記事でご紹介した「見えないローソク」ロジック単体でレバレッジ3倍・利益再投資をしていた場合の資産推移です。紫色の線が資産推移(円)です。100万円スタート、手数料&スプレッドは考慮前です。

一方、同様の条件での「重ね合わせ」ロジックの損益曲線はこちらです。

収益再投資をする場合、「見えないローソク」単体の場合に比べて「重ね合わせロジック」の損益推移は次の優位性がありした。

・ピークの資産額が増えている 4.7億円→5.7億円
・最大ドローダウンが減少 -130%→-100%
・毎回のドローダウンが小さい
・最終利益が増加 2億2100万円→2億7800万円

このように、有望なロジックを重ね合わせることで平均利益が上がると、レバレッジをかけた利益再投資をより有利な条件にできることがあります。
ご参考までに、同じ資産推移で対数目盛にしたグラフも掲載します。

こちらが「見えないローソク」ロジック単体のグラフです。

そして次が「重ね合わせロジック」の資産推移です。

紫色の資産推移グラフの上昇が大きく、下降が小さくなっていることがわかります。平均利益が上がることで「コツコツドカン」から遠ざかる方向に明確に改善されていますね。

重ね合わせは有効な手段の一つ

このように、複数ロジックの重ね合わせが有効な方法の一つであることをご紹介しました。さらに平均利益を上げるためにロジックをもう一つ増やすことも考えられます。もう一つの方向性はパラメータの調整です。

パラメータの調整

騰落を円単位ではなく%単位に換算していた理由は2つあります。ひとつは利益再投資の計算がしやすくなることです。もう一つはパラメータ調整をしやすくするためです。システムトレードは無理にロジックの数を増やさなくてもパラメータを最適化することでさらに利益を増やせる場合が多々あります。今回ご紹介した3通りのロジックにはパラメータが一つしかありません。それは騰落率%です。ご紹介した3通りのロジックはどれもパラメータの閾(しきい)を0%で固定していました。ここを調整することでさらに利益を研ぎ澄ませられる可能性があります。次回はパラメータ調整についてご紹介します。

今回の記事の内容を実際にエクセルで試してみたい方のために

最後に、今回の記事と同じことをエクセルで試してみたい方のための付録です。

【参考画像】

こちらが実際に使ったエクセルです。

【計算式】

A-E列:HyperSBIからダウンロードしたヒストリカルデータです。これがないとどうにもならないのでエクセルでクオンツしたい方はぜひSBI証券の口座を作ってください。

F列:「Δ始値」=【前日の始値】-【当日の始値】です。
騰落は差額表示ではなく%表示にしています。
F3=(B3-B2)/B2 以下、一番下の行までコピー
です。
※F2は前営業日の前年末12/29の株価から計算しています。

G列:「見えないローソク」=【前日の終値】-【当日の始値】です。
騰落は差額表示ではなく%表示にしています。

G3=(B3-E2)/E2 以下、一番下の行までコピー
※G2は前営業日の前年末12/29の株価から計算しています。

H列:始値で買って終値で売った場合の騰落率です。
H2は前営業日の前年末12/29の株価から計算
H3=(E3-B3)/B3 以下、一番下の行までコピー

I列:H列の反対売買に相当するものです。
I2は前営業日の前年末12/29の株価から計算
I3=-(E3-B3)/B3 以下、一番下の行までコピー

K、LはHとIを「値として貼り付け」を使ってコピペで付けたものです。

G3=(B3-E2)/E2 以下、一番下の行までコピー
※G2は前営業日の前年末12/29の株価から計算しています。

買いと売りの騰落率%をそれぞれそのまま足したものがM列、N列で、M列とN列を足したものがO列です。
M2=K2   M3=M2+K3 以下、一番下の行までコピー
N2=L2 N3=N2+L3 以下、一番下の行までコピー
O2=M2+K2 以下、一番下の行までコピー

これで買いと売りそれぞれの損益率%を合計した値が出ます。

ただし、最初からM、N、O列がある状態でマクロを動かすと1ループごとに再計算を繰り返すので非常に動作が重くなってしまいます。この列を作るのは先にマクロを動かし終わってからにしましょう。

売買判断では
・FとGが正ならKを消す(=買い)
・FとGが負ならLを消す(=売り)
・正負が一致しなかったりどちらかに0があれば見見送り(KもLも消す)
という作業を行います。
これを手作業でやるのは大変なのでマクロを使いましょう。
VBAは次の通りです。

【VBAスクリプト】

Sub buysell()
For カウンタ変数 = 2 To 4000
If Range(“F” & カウンタ変数).Value > 0 And Range(“G” & カウンタ変数).Value > 0 Then
Range(“K” & カウンタ変数).Clear
ElseIf Range(“F” & カウンタ変数).Value < 0 And Range(“G” & カウンタ変数).Value < 0 Then
Range(“L” & カウンタ変数).Clear
Else
Range(“K” & カウンタ変数).Clear
Range(“L” & カウンタ変数).Clear
End If
Next
End Sub

以上が今回のVBAスクリプトです。

最後までお読みいただきありがとうございました。
次回の記事も引き続きお楽しみいただければ幸いです。