バックテストの重要性は10年前から分かっていましたが、最近読んで再認識させられた本が「ローソク足パターンの傾向分析」です。
この本では、36種類程度のローソク足のチャートの通説を過去27年間のデータを元に解析しています。
さらに27年間を次の6種類に分類することで、中長期のトレンドを明らかにしようと試みています。
1983年~1989年 | バブル期間 |
1990年~1992年 | 崩壊期間 |
1993年~1999年 | もみあい期間 |
2000年~2002年 | 暴落期間 |
2003年~2006年 | 暴騰期間 |
2007年~2009年 | 金融危機期間 |
筆者の伊本晃暉氏は「第一回スーパーカブロボ・コンテンスト大会」で優勝しており、確率理論研究所所長を務めtoto、ロト6、ミニロト、競馬、totoGOALの確率UPに注力しています。
統計解析・分析は重要です。
私のやりたい事と非常に近いです、私の方が稚拙ですが・・・。
なお、この書籍に書かれていて全期間で効果が見られた手法が下記の6種類です。
【売りサイン】
- 上放れ並び赤(当日終値、1日後、2日後)
- 切り込み線
- 首吊り線
- 株価が5%上昇(の翌日)
【買いサイン】
- はらみ線(陰・陽)(1日後~2日後の始値)
- 三兵三羽崩れ
その中から、今回は「三兵三羽崩れ」のバックテストをしてみます(protraの空売り方法は未調査なので)。
三兵三羽崩れとは?
上放れ陽線(上がった線)が3本並んだ後、陰線(下がった線)が3本の陽線を包む形で上げ止まり、下放れ陰線がさらに2本並んだ形をいいます。
通説では「三兵三羽崩れで天井を表す」と言われています。つまり売りサインなので逆説となります。
【買いルール】
次を満たす場合に翌日の寄り付きで購入します。
- 1) 3本の陽線の本体の長さは始値の0.5%よりも長い
- 2) 3本の陰線の本体の長さは始値の0.5%よりも長い
- 3) 5日前の終値 <= 4日前の始値
- 4) 4日前の終値 <= 3日前の始値
- 5) 3日前の終値 <= 2日前の始値
- 6) 3日前の始値 >= 2日前の終値
- 7) 2日前の終値 >= 1日前の始値
- 8) 1日前の終値 >= 本日の始値
【手仕舞いルール】
次を満たす場合に翌日の寄り付きで手仕舞いします。
- 利益10%以上
- 損失15%以上
- 10日以上保有していた
ソースコード
Nehori.ptはProtraの使い方応用編に記載しています。
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 |
# loop-type: date-only // 三兵三羽崩れ require "TIlib" require "Nehori" // グローバル変数を初期化 if !$__INIT__ $MHP = 10 // 最大保有日 $BUDGET = 1000000 // 投資総額 $ISCOMPO = 0 // 単利or複利 1:複利 $__INIT__ = 1 end // TIlibのオブジェクトを生成 def CreateObject(i) end // 指標の計算を一日進める def NextObject(i) end // 買い条件を定義 def BuyCond(i) if ! (Close && Open && {-1}Close && {-1}Open && {-2}Close && {-2}Open && {-3}Open && {-3}Close && {-4}Open && {-4}Close && {-5}Open && {-5}Close) return end // 5日前の終値 <= 4日前の始値 // 4日前の終値 <= 3日前の始値 // 3日前の終値 <= 2日前の始値 // 3日前の始値 >= 2日前の終値 // 2日前の終値 >= 1日前の始値 // 1日前の終値 >= 本日の始値 if ! ({-5}Close <= {-4}Open && {-4}Close <= {-3}Open && {-3}Close <= {-2}Open && {-3}Open >= {-2}Open && {-2}Close >= {-1}Open && {-1}Close >= Open) return end // 3本の陽線の本体の長さは始値の0.5%よりも長い // 3本の陰線の本体の長さは始値の0.5%よりも長い // if ! (({-5}Open * 1.005 < {-5}Close) && ({-4}Open * 1.005 < {-4}Close) && ({-3}Open * 1.005 < {-3}Close) && ({-2}Open * 0.995 > {-2}Close) && ({-1}Open * 0.995 > {-1}Close) && (Open * 0.995 > Close)) // return // end return 1 end // 売り条件を定義 def SellCond(i) if ! Close return end return Close >= 1.10*$buy || Close <= 0.85*$buy end Main2() |
「3日前の陽線の本体の長さが始値の0.5%よりも長い」銘柄が一つも存在しなかった&1)2)のルールを入れると精度が落ちたのでコメントアウトしています。
同日のエントリーする銘柄選択は、単に最初に見つかった銘柄にしています。
バックテスト結果
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 |
銘柄リスト: 日経225採用銘柄 10/01/05~29/05/26における成績です。 ---------------------------------------- 全トレード数 259 勝ちトレード数(勝率) 138(53.28%) 負けトレード数(負率) 121(46.72%) 全トレード平均利率 1.15% 勝ちトレード平均利率 7.61% 負けトレード平均損率 -6.21% 勝ちトレード最大利率 70.37% 負けトレード最大損率 -20.82% 全トレード平均期間 17.95 勝ちトレード平均期間 17.33 負けトレード平均期間 18.67 ---------------------------------------- 必要資金 \924,000 最大ポジション(簿価) \1,000,000 最大ポジション(時価) \1,610,000 純利益 \2,724,600 勝ちトレード総利益 \9,617,000 負けトレード総損失 -\6,892,400 全トレード平均利益 \10,520 勝ちトレード平均利益 \69,688 負けトレード平均損失 -\56,962 勝ちトレード最大利益 \665,000 負けトレード最大損失 -\203,300 プロフィットファクター 1.40 最大ドローダウン(簿価) -\647,500 最大ドローダウン(時価) -\672,500 ---------------------------------------- 現在進行中のトレード数 1 |
100万円の投資で19年後には単利で272万円の利益です。年間40万円の平均利益となります。
利率も5割を超えており、理想的な結果になりました。
利益曲線は次のとおりです。
結構、落ち込みが激しいですね・・・。
年間-60万円の年もあるので、精神的に絶えれるか心配です。
まとめ
今回は実売買に利用する目的ではなく、伊本晃暉氏の検証結果を調査することが目的でした。
その点では目的は果たせました。
ローソク足に関わる通説も大量に存在するので、徐々に調査項目を増やしていきたいです。