この手法は大学時代に後輩から教えてもらいました。
そこから、株のシミュレーションサイト(K-ZONE)にアカウントを作って株を始めた経緯があります。
私の中では、最初に有効性を知りたい手法の一つです。
3点チャージ法とは?
「逆張りの王様」と言われる手法のようです。
「最強3点チャージ投資法(徳間書店、著者・明地文男)」によれば、指標は次の3つ。
- 移動平均線乖離率
- VR(ボリュームレシオ)
- RSI(相対力指数)
これらを使用して、「売られすぎ」銘柄を選定する手法です。
売買ルール
次の3つの売買シグナルが重なった時点で売買しようというものです。
【買いルール】
- 移動平均線の乖離率(26日)の乖離率が-15%以下
- VR(25日)が70%以下
- RSI(14日)が25%以下
【手仕舞いルール】
- 10%利益で確定売り
- -15%損失で損切り
ソースコード
「SD 誌の 2003 年 5 月号の p.143 – p.145 を参考にして 3 点チャージ投資法のシステムプログラムを書いた」方が惜しみもなくコード公開してました。
このままでは、API仕様で動かなかったので多少修正して、いざバックテスト!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
#include <TIlib> if ! $Diff $Diff = DiffMA_new(26) else DiffMA_next($Diff) end if ! $VR $VR = VR_new(25, 0) else VR_next($VR) end if ! $RSI $RSI = RSI_new(14, 0) else RSI_next($RSI) end def BuyCond if ! Close return end diff = DiffMA_value($Diff) vr = VR_value($VR) rsi = RSI_value($RSI) if ! (diff && vr && rsi) return end return diff <= -15 && vr <= 70 && rsi <= 25 end def SellCond if ! Close return end diff = DiffMA_value($Diff) vr = VR_value($VR) rsi = RSI_value($RSI) if ! (diff && vr && rsi) return end return Close >= 1.10*$buy || Close <= 0.85*$buy // 利食い // 損切り end def Num(price) num = 1000000/price // 軍資金 100 万円で何株? if num >= 1000 num = (num/1000)*1000 elsif num >= 100 num = (num/100)*100 elsif num == 0 num = 1 end return num end if ! $hold && BuyCond $hold = Num(Close) $buy = Close Buy(Close, $hold) elsif $hold && SellCond Sell(Close, $hold) $hold = 0 end |
検証結果
少し、このデータの見方が分かったのでコメントも入れておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
株価データ: 日足 銘柄リスト: 日経平均構成銘柄 →東証1部メインに変更したい・・・ 2000/01/04~2017/04/28における成績です。 ---------------------------------------- 全トレード数 2166 勝ちトレード数(勝率) 1479(68.28%) 負けトレード数(負率) 687(31.72%) →勝率7割は悪くない 全トレード平均利率 3.17% 勝ちトレード平均利率 12.82% 負けトレード平均損率 -17.60% →負けも含めて3%近くの利率。低いです。 勝ちトレード最大利率 175.24% 負けトレード最大損率 -39.71% →負けの最大で4割近く失う事になります。 全トレード平均期間 29.11 勝ちトレード平均期間 25.99 負けトレード平均期間 35.82 →効率は普通。営業日30日ですから一ヶ月強。 ---------------------------------------- 必要資金 \98,905,040 最大ポジション(簿価) \118,094,900 最大ポジション(時価) \131,045,700 純利益 \58,425,150 勝ちトレード総利益 \160,203,000 負けトレード総損失 -\101,777,800 →どう見るかは人それぞれ。 全トレード平均利益 \26,974 勝ちトレード平均利益 \108,318 負けトレード平均損失 -\148,148 →一トレード100万円なので、平均で2.7%近く。普通? 勝ちトレード最大利益 \1,161,000 負けトレード最大損失 -\378,000 プロフィットファクター 1.57 →高いほどよい。及第点かな。 最大ドローダウン(簿価) -\12,519,100 最大ドローダウン(時価) -\17,532,500 ---------------------------------------- 現在進行中のトレード数 1 |
平均保有期間:29.11日
勝率:68.28%
平均利益:12.82%
平均損失:17.60%
期待値:1.57
因みに「プロフィット・ファクター = ◯◯日で得られた全ての利益 ÷ ◯◯日で得られた全ての損失」です。
利益曲線は次のとおりです。
3点チャージ投資法は、非常に期待値が高いようです。
ただし、過信は禁物で、2008年のリーマンショックでは右肩下がりになっています。
まとめ
勝率7割は悪くないですが、3%の利率は低い。
負けの最大で4割近く失う事になります。これは許容できないと思う。
プロフィットファクターは1.57で、及第点かな。
拡張ルール
更に拡張された手法が掲載されてました。
【仕掛けルール】
- 当日:[RSI(14)]が[25]より[小さい]
- 当日:[移動平均乖離率(15)]が[-18]より[小さい]
- 当日:[VR1(25)]が[70]より[小さい]
- [当日引け]で[買い]を仕掛ける
25日移動平均線が15日移動平均線になっています。
また、乖離率は-18%以下とさらに厳しい条件になっています。
【手仕舞いルール】
- 当日:[RSI(14)]が[40]より[大きい]
- 当日:[移動平均乖離率(15)]が[-6]より[大きい]
- [当日引け]で[買い]を仕掛ける
RSI(14日)が40%より大きい or 移動平均乖離率(15日)が-6%より大きければ手仕舞いというルールのようです。
15日移動平均乖離率は、より深い所でエントリーした方が期待値は高いという実績によるものです。
その他
ソースコードの可読性を上げるために、crayon-syntax-highlighterを入れました。
修正箇所は以下。
1 2 3 |
crayon-syntax-highlighter/crayon_formatter.class.php + // $code = CrayonUtil::htmlspecialchars($code); |
加えて、以下もコメントアウト。
1 2 3 4 |
/wp-content/plugins/crayon-syntax-highlighter/langs/default/operator.txt # &= # & |