株のルールは単純なゲームです。
株が上がるのは、誰かが売りよりたくさん買ったからでしかなく、買いよりたくさん売れば下がるだけです。
テクニカル分析は単なるオカルトに過ぎず、チャートを分析したところで将来の株価を完璧に予測することは不可能です。
そんなチャート分析の中でも、シンプルな手法でありながら絶大な効果があると大人気な手法があります。
それが「グランビルの法則」です。
おさらい・・・グランビルの法則とは?
アメリカの金融ライターであり、投資セミナー講釈家のジョセフのジョセフ・E・グランビル(Joseph E. Granville)が考案しました。
新聞社ハットン・デイリー・マーケット・ワイヤー通信社の金融記者で、地元では弱気のニュースレター屋として有名です。
海外のサイトで出てくる情報は次のようなものぐらいです。
投資セミナーでは棺桶から飛び出したり、顧客に会う際にはプールの水面を歩くように見せかけたりとショーマンとして有名。
by Wikipedia
また、グランビル氏はハルバード金融ダイジェストのパフォーマンスでは、1年あたり20パーセント以上の損失を出し、最下位(25年に渡りほぼ最下位)でした。
そんな彼が、1962年に、チャート分析本「A Strategy of Daily Stock Market Timing for Maximum Profit」を発表し、日本では「グランビルの投資法則―株価変動を最大に活用する戦略」という名前で出版しました。
本に関して、本人は次のように語っています。
ニューヨーク証券取引所のトイレで壁の模様が株価に見えた。
その壁の模様のシワが移動平均線に見えた。
株価が移動平均線を突き抜けているように見えたのを本にしたら売れるのではないかと考えた。
グランビルの法則は世界的には無名です。
日本人のみに浸透したオカルト法則・・・というのが真実です。
グランビルの8つの法則は何か?
- 移動平均線が下落から横ばいに転じた後、株価がその移動平均線を上抜いたら買い。
- 上昇中の移動平均線を株価が下回った後、反発したら買い。
- 株価が移動平均線より上にあり、上昇中の移動平均線を割り込むことなく反発したら買い。
- 下降中の移動平均線より株価が大きく下へと乖離したら買い
売りは上記の買いポイントを逆にしたもので、合計8つの法則が出来上がります。
この「グランビルの法則」はどういうわけだか、とりわけ日本では権威あるテクニカル分析として認識されています。
グランビルの法則のシステムトレード化
「法則」と名前がついていますが、これを実装するのは容易ではありません。
そこで、グランビルもどきのシステムトレードが幾つか存在します。
グランビルもどきの法則(Hiroさん版)
【買いルール】
- 1. 株価(終値)が3日間、連続して、前日より下がっている
- 2. 25日移動平均と75日平均が、上昇中である
- 3. 5日移動平均>25日移動平均>75日移動平均である
- 4. 終値は、25日移動平均より上にある
【手仕舞いルール】
- 1. 高値が買値+2%を越えた時、翌日の寄付きで売る
- 2. 実働10日(≒カレンダーで14日経過)で売る
こちらはバックテストを実施した事があります。
【参考】グランビルもどきの法則の有効性検証(protraシストレ)
グランビルもどきの法則(じんぱちさん版)
じんぱちのシステムトレード実践日記に書かれている「グランビルの法則のシステム化」を参考にします。
2年前に実装してみたかった手法です。
【買いルール】
- 移動平均100日 上向き
- 出来高移動平均50日 上向き
- *************が****より大きい
- 移動平均3日が期間安値3日移動平均10日より小さい
【手仕舞いルール】
- 1. 高値が買値+2%を越えた時、翌日の寄付きで売る
- 2. 実働10日(≒カレンダーで14日経過)で売る
こちらイザナミというツールを使って実装しており「期間安値移動平均(期間3日、移動平均10日)」をサポートラインとして使っています。
これにより、勝率70.12% PF2.69を実現しているとの事です。
じんぱち氏風グランビルの法則の有効性の検証
実現するには2つの問題点があります。
まず、「期間安値移動平均」というものがProtraには存在しません。
また、「*************が****より大きい」という伏せ字が分かりません。
期間安値移動平均を何にするか?
「TIlib.pt」を修正して作ってみるか・・・・と思っていたら、近いテクニカル指標があることが分かりました。
それが「HL(高値・安値)バンド」です。
「HL(高値・安値)バンド」とは、リチャード・ドンチャン氏が提唱したもので「過去n日間における高値・安値同士を線で結びんだグラフ」です。
高値同士を結んだ線を「ハイ(High)の線(Hバンド)」、安値同士を結んだ線を「ローの線(Lバンド)」と呼びます。
このHL Band(期間3日)のローの線をサポートラインとして使えば、多少近い形になるのでは?と考えました。
「**が**より大きい」を何にするか?
昔イザナミの公式サイトに掲載されていたというグランビルの法則を実装した結果です。
これを見ると、「25日移動平均線が終値より大きい」というのが一つの追加すべき指標に感じます。
*************(13文字)が****(4文字)より大きい
25にちいどうへいきんせん(13文字)おわりね(4文字)より大きい
と、文字数も伏せ数と一致してます。
採用したルールとソースコード
まとめると、次のようになります。
【買いルール】
- 移動平均100日が上向き
- 出来高移動平均50日が上向き
- 25日移動平均線が終値より大きい
- 移動平均3日がHL Band(3日)のLバンドより小さい
【手仕舞いルール】
- 利食い:終値と移動平均(5日)との乖離率が0%以上
- 利食い:含み益が10%を上回った
- 損切り:実働10日(≒カレンダーで14日)経過
手仕舞いルールは記載がありません。
「終値と移動平均(5日)との乖離率が0%以上」は、結果のドローダウンが大きかったので追加しました。
ソースコード
Utility.ptは、「過去の日記」を参照してください。
TrendCheck.pt も、次のようなゴクウさんのソースコードを拝借して使っています。
売買ロジック部分のコードは次のようになります。
バックテスト結果
利益曲線は次の通り。
勝率61.82%、PFは1.6です。
まとめ
ある程度の単調増加を実現できました。
しかし、イザナミで実現している「勝率70.12% PF2.69」には及ばない結果です。
近年は利益の幅が減っています。これらが勝率、PFを下げた可能性がありますが、「期間安値移動平均」をProtra上で実現する必要がありそうです。
なお、今回「終値と移動平均(5日)との乖離率が0%以上」のルール追加により、勝率がアップしています。