Pythonで相場師朗先生の「半分の法則(下半身)」を検出させるプログラムを作る[3]損益を自動で計算する
最終更新日:カテゴリ:プログラミング
キーワード:半分の法則(下半身)・逆半分の法則(逆下半身), Python, 神戸物産[3038], 半分の法則(下半身)・逆半分の法則(逆下半身)検出プログラム
プログラムを制作して「半分の法則(下半身)」を検出
[1]半分の法則(下半身)を数式で表してみる[2]プログラムを制作して半分の法則を検出する
上記で、半分の法則(下半身)を検出できるようになりました。
次は、損益を自動で計算するプログラムを作ります。
検出した半分の法則(下半身)でエントリーしたら、どのくらいの損益になるか検証する
プログラムで半分の法則(下半身)を検出しただけではダメで、半分の法則(下半身)を検出した後にエントリーして、手仕舞った時の損益がどのくらいになっているかを確認し、そのエントリーポイントが正しいかを検証する必要があります。私が実際にトレードする際は、寄付きの成行でエントリーしています。
そのため、今回の検証も、半分の法則(下半身)を検出した翌日の寄付き成行でエントリーします。
手仕舞いポイントはいくつか考えることができますが、今回は下記1の移動平均線がクロスした時で検証してみます。手仕舞いは、移動平均線がクロスした翌日の寄付き成行で行います。
1.移動平均線がクロスした時(3日線が5日線を割り込む)
2.陰線が出た時
3.ロスカット(株価のパーセンテージで決める)
損益を自動計算するプログラム制作する

損益を自動的に計算するプログラム制作します。
「半分の法則」を検出した翌日の始値がエントリーポイントになります。手仕舞いは、3日線が5日線を割り込んだことを検出した翌日の始値が手仕舞いポイントになります。
エントリー時の始値と、手仕舞い時の始値の差が損益になります。
手仕舞い時の始値 - エントリー時の始値 > 0
今回は、半分の法則(下半身)なので、上記のようになれば、利益となります。
手仕舞い時の始値 - エントリー時の始値 < 0
逆にマイナスとなれば、損失となります。
正しく損益計算できているか確認する
実際に正しく損益計算できているか確認してみます。検証は、神戸物産[3038]の2018/8/15~2018/12/28で行います。
2018/8/15~2018/12/28で、半分の法則(下半身)の検出は4回あります。

チャートで表示されている赤丸が半分の法則(下半身)を検出した日で、緑丸が移動平均線のクロス(3日線が5日線を割り込む)を検出した日です。

プログラムで計算した結果が下記になります。
1.2018-08-27(半分の法則検出日)
エントリー(2018-8-28):始値 2625.0
手仕舞い(2018-09-11):始値 2725.0
損益:100.0
2.2018-09-20 (半分の法則検出日)
エントリー(2018-09-21):始値 2920.0
手仕舞い(2018-10-04):始値 3145.0
損益:225.0
3.2018-11-06(半分の法則検出日)
エントリー(2018-11-07):始値 2910.0
手仕舞い(2018-11-16):始値 3090.0
損益:180.0
4.2018-11-16(半分の法則検出日)
エントリー(2018-11-19):始値 3125.0
手仕舞い(2018-12-06):始値 3205.0
損益:80.0

次に、チャートギャラリーで調べたものが下記になります。
1.2018-08-27(半分の法則検出日)
エントリー(2018-8-28):始値 2625
手仕舞い(2018-09-11):始値 2725
損益:100
2.2018-09-20 (半分の法則検出日)
エントリー(2018-09-21):始値 2920
手仕舞い(2018-10-04):始値 3145
損益:225
3.2018-11-06(半分の法則検出日)
エントリー(2018-11-07):始値 2910
手仕舞い(2018-11-16):始値 3090
損益:180
4.2018-11-16(半分の法則検出日)
エントリー(2018-11-19):始値 3125
手仕舞い(2018-12-06):始値 3205
損益:80
プログラムで自動計算したものと、チャートギャラリーの値が一致していますので、正しくプログラムが動作しています。