対キーエンス株ロジック 原石となるロジックを見つける

キーエンス株(6861)で事例紹介

今回はシンプルな売買ロジックで右肩上がりの損益グラフとなる具体的な解析例をひとつご紹介します。対象の銘柄はキーエンス株(6861)です。大企業ならどの銘柄を例にしてもよかったので、筆者が特に好きな会社を選びました。執筆時時点のキーエンスの現在の株価は64950円で、日本最大の超値ガサ株です。1単元・100株を売買するだけで649万円もの預入金が必要になる大人向けの銘柄です。執筆時時点の発行済み株式数は121,603,842株なので、これに株価をかけて算出される時価総額はなんと7兆8981億円。事業内容は電子応用機器の製造・販売で、センサーを扱っている日本有数の大企業です。2019年3月期の売上高5871億円に対し、経常利益は3199億円。経常利益率はまさかの54%!そのうえ有利子負債はゼロという、きわめて優秀なな財務状況です。

こちらはリーマンショック前年からのキーエンスの日足終値のグラフです。ご覧の通り、株価はほとんど右肩上がりで約6倍になっています。今回の記事ではこの株価を解析します。

筆者はある日、このキーエンスの日足チャートを眺めていて、ごく単純な騰落パターンがありそうなことに気づきました。そこで、エクセルを使って検証してみました。

過去12年間ほとんど一貫していたシンプルな売買ルール

最初にご紹介するロジックは4本値のうち始値だけで売買判断をする極めてシンプルなルールです。

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

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

変化なしなら見送り

要するに、当日の始値が前日の始値より高ければ寄りで売り、低ければ寄りで売る。

手じまいは引成。

始値→始値を指標として、それに対する始値→終値の逆張りをより引けで売買するだけのものです。

こんな単純なルールですが、もしも12年半売買を続けていたらどうなったでしょうか。

損益グラフ

先に結論からお伝えすると、損益グラフは次のようになりました。

横軸は日付で、縦軸は日々の損益率(%)を足していったものです。青線は買いで入った場合の損益の合計値、赤線は売りで入った場合の損益の合計値です。緑はそれらを足した合計値です。レバレッジ1の場合、それぞれ70.6%、145.2%、215.8%です(厳密には%を足したものなので%ではなくポイントという表現のほうが正しいですが、ややこしいので%という表現にしておきます)。

売りから入る空売りもしていますが、レバレッジはかけていません。レバレッジが3倍なら当然ですが利益率もこの3倍になります。参考までに、レバレッジをかけた場合の損益グラフはこうなります。先ほどのグラフを3倍しただけのものですが。

また、収益再投資はしておらず、取引量は最低単元に固定です。手数料・スプレッドは考慮前です。

12年間、ノーレバレッジで+216%、レバレッジ3倍なら+645%です。裁量でもAIでも、例え理論値でもこんなパフォーマンスを出すのはそう簡単なことではありません。しかし、一方で、こんな単純なロジックでこんなパフォーマンスが出てしまうことも個別銘柄ではしばしばあるのです。まだまだ未知の単純ロジックが眠っているかもしれません

 特筆すべき点は、この期間中ほぼずっと右肩上がりだったキーエンスにあって、売りのトレードでも利益が出続けていることです。単に買いトレンドに乗っただけに過ぎないロジックであれば、買いトレードは当然好調ですが、一方で売りトレードでは損失に偏ります。あるロジックが長期的に通じるかどうかを評価する際の重要な判断基準の一つとして、売りでも買いでも利益が出ているかどうかは注目すべき要素です。こんな単純なロジックで、買いトレンドに対して売りでも買いでもプラスになっています。

日計りでただ買い(売り)続けていた場合と比較

もし毎日寄り引けで買い(または売り)続けていたらどうなったでしょう。

・全期間ひたすら毎日始値買い→終値売りを繰り返した場合の損益%の合計値は-89.8%

・全期間ひたすら毎日始値売り→終値買いを繰り返した場合の損益%の合計値は+89.8%

です。

つまり毎日買いを繰り返していた場合は-89.8%になっていたものが+70.6%になり、

毎日売りを繰り返していた場合は+89.8%だったものが+145.2%になったということです。

売りと買いのパフォーマンスがともに上がっていることがわかります。特に買いについてはマイナスになっていたはずのものがプラスに転じています。

このことから、このロジックは「買ってはいけない日」と「売ってはいけない日」をそれなりにうまく分別でき、同時に「買ったほうがいい日」と「売ったほうがいい日」をうまく分別できていたといえるでしょう。

また、サブプライムローンも代があった2007年や大暴落があった2008年のリーマンショック時にも買いで大きな利益が出ていることも特徴といえるだろうと思います。ただし、一番暴落が深刻だった2008年10月はまでは好調ですが、そこから半年くらいは一度ずるずる下げてしまいます。その後行ったり来たりした後、再び持ち直していきます。

Δ始値=【当日始値】-【前日始値】は隠れ指標

最初に書いた通り、この売買判断基準は前回始値から当日始値の増減です。堅い表現をするとΔ始値(デルタはじめね=始値の変動量)とも言えます。たとえば6500円とか6800円というのは単なる量(スカラー)ですが、このΔ始値は+100円とか-300円という増減、方向(ベクトル)、変動量を評価しています。筆者のシストレ方針はベクトルの評価に徹しています。

このΔ始値はローソクやチャートにはなかなか反映されにくい部分です。株のトレードツールなどで現在値とともにいつも表示されている情報は前日終値と現在値の差であるため、株トレーダーは前日終値との差を重視しがちになります。しかし時間が等間隔ではない終値と現在値の差よりも、同じタイミングで切り取られたΔ始値やΔ終値のほうがより重要な指標であると筆者は考えています。その点、仮想通貨=暗号資産のトレードツールで24時間前からの変動価格が表示されるのはとても秀逸かつ合理的だと思います。

始値の増減をチャート上で表示させて判断するには期間1で始値設定をした移動平均を使えば可能です。しかし日本のチャートソフトはほとんど終値のみにしか対応していないため、Δ始値を視覚的に判断できるようにするのは困難です。算出タイミングを始値基準に変更したい場合は、GMOクリック証券のスーパーはっちゅう君かTradingViewが便利でしょう。

また、このようにローソクやバーチャートに反映されず判断しにくい指標を評価する際には急がば回れでエクセルを使って分析したほうが手っ取り早くて簡単です。

実際に使ったエクセルの計算式

下記は計算に使ったエクセルのスクリーンショットです。

次に、各列の計算式をお伝えします。

【計算式】

A-E列はHyperSBIからダウンロードしたヒストリカルデータです。

F列が上記で説明したロジックの指標、すなわち【前日の始値】-【当日の始値】です。

騰落は差額表示ではなく%表示にしています。

F3=(B3-B2)/B2 以下、一番下の行までコピー

です。

※F2は前営業日の前年末12/29の株価から計算しています。

Gは後ほど説明します。

Hは始値で買って終値で売った場合の騰落率です。

H2は前営業日の前年末12/29の株価から計算

H3=(E3-B3)/B3 以下、一番下の行までコピー

※IはHの反対売買です。

I2は前営業日の前年末12/29の株価から計算

I3=-(E3-B3)/B3 以下、一番下の行までコピー

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

後述の売買判断をしながら片方の取引を消していく作業をする際におおもとのデータを消すと復帰が面倒なので、おおもとのデータは残しておき、コピペしたデータを消していきます。

これで準備が整いました。

次に、売買判断としてFの値を見ながらKまたはLを消していきます。

Fが正ならKを消す(=買い)

Fが負ならLを消す(=売り)

という作業です。これは手作業でもできますが、こんなのを3000回も繰り返すのは面倒ですし時間の無駄です。マクロを使いましょう。

【VBAスクリプト】

上記の表の場合

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

 

以上がVBAのスクリプトです。筆者はプログラマーでもなんでもなく、プログラムが死ぬほど苦手なのでもっといいやり方はいくらでもあるように思います。もしそのような方法がありましたら是非そちらを使ってください。

ともかく、これで2行目から4000行までの売買判断をPCが自動でやってくれます。4000本もありませんが、マクロが最終行まで動作しないと二度手間になるし、本数を調べて入力するのも手間なので、雑に多めの量を設定しておくのが快適いいでしょう。

手作業で売買判断をやると最悪1時間くらいかかるかもしれませんが、マクロなら数秒で済みます。

但し、M列、N列、O列に式が入っている状態やグラフを表示している状態では、1行売買判断されるたびに総額やグラフが再計算されてしまうため、マクロの動作が非常に遅くなってしまいます。マクロが遅い場合は余計な再計算が絡んでいないか確認しましょう。

 

最後に、買いと売りの騰落率%をそれぞれそのまま足したものがM列、N列です。

M列とN列を足したものO列です。

M2=K2         M3=M2+K3 以下、一番下の行までコピー

N2=L2           N3=N2+L3 以下、一番下の行までコピー

O2=M2+K2 以下、一番下の行までコピー

 

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

これをグラフにしたものが先ほどのものです。

原石として磨く価値のあるロジック

今回検証したΔ始値の逆張りは単純なロジックですが、損益グラフを見た感じではキーエンス日足に対してそれなりのパフォーマンスが見込めそうです。しかし、これではまだ原石に過ぎません。まず、ドローダウンが気になります。3倍レバレッジをかけた場合では、合計利益が300%から200%まで低下している箇所があります。信用取引で3倍の取引をしていた場合、マイナス100%を経験しているということです。グラフ全体としては右肩上がりですが、どこかでこんなドローダウンを食らうということは、レバレッジ全開では始めるタイミングが悪ければ、最大ドローダウンをそのまま食らって全投資額を失っていたことになります。このように、損益グラフの形だけでなく最大ドローダウンの評価も非常に重要です。

また、取引総回数3006回に対する利益率の合計が216%です。取引1回あたりの平均利益はたった0.07%で、このままでは手数料負けしてしまいます。実際に使って利益を上げるためには取引1回あたりの平均利益をもっと上げる必要があります。平均利益を上げるには取引回数を減らす、1回あたりの利益を増やす、1回あたりの負けを減らす、勝率を上げるなどのロジックが必要になります。

このような理由から、このロジックはまだこのままでは使えません。しかし原石としての見込みはあります。原石として磨く価値があるかどうかは、損益グラフ右肩上がりになっているかどうかとか、売りでも買いでも利益が出ているかなどを見るとある程度は判断できます。

ということで、原石を見つけたら次はそれを磨き上げなければいけません。本当に様々な方法が考えられますが、ためしに複数指標を使ってみましょう。別のロジックと重ね合わせるのです。次回はこのロジックと併用する、もう一つのロジックをご紹介します。