株価 - 売買サインチェック(3本足の高値安値版)!
Updated:
Ruby + MySQL で自作した株価取得のシステム。 全市場(東京・大阪・名古屋・札幌・福岡)の全銘柄の1983年からの全取引データを取得しています。
最近の株価の検証ではバックテストを行っていましたが、今回はまた、少し前にも検証していた売買サインの発生チェックを行ってみました。 今回の手法は、「3本足の高値安値」という手法です。
※個人的な記録ですので、興味が無ければ読み飛ばしてください。 ※全体的にどんな傾向があるのかを把握するのと、Ruby の学習が目的です。 ※検証結果を取り纏めたものなので、掲載している結果自体ではあまり有効性は感じません。 ※ただ、個別に調べてみるとおもしろいものとなります。
「3本足の高値安値」という手法は、
- 上昇トレンド時、 安値の3期間移動平均以下で買いを仕掛け、 高値の3期間移動で手仕舞う。
- 下降トレンド時、 高値の3期間移動平均以上で売りを仕掛け、 安値の3期間移動で手仕舞う。
という手法です。 上昇・下降トレンドは、以下のようにして機械的に判断します。
- 上昇トレンド 21期間で計算した RSI が前日時点で 50% 以上
- 下降トレンド 21期間で計算した RSI が前日時点で 50% 以下
RSI については、過去記事「株価 - 売買サインチェック(RSI版)!」を参照のこと。
以下に、前提条件・検証結果を掲載します。
1.前提条件
以降に出てくる Long は買いサイン、Short は売りサインを表しています。
1.定義
何を以って、買いサイン・売りサインと見なすかですが、本来の手法に準じて
-
上昇トレンド ( RSI > RSI_HI ) 時、 安値が3期間移動平均を下抜けたら、買いサイン
-
下降トレンド ( RSI < RSI_LO ) 時、 高値が3期間移動平均を上抜けたら、売りサイン
と定義しました。 今回は、RSI を計算する日数は 21 日、上昇トレンド・下降トレンド判断に使用する RSI_HI, RSI_LO はともに 50% としました。 また、調整後終値(株式分割があった場合の調整値)を考慮していません。
2.検証銘柄と検証期間
2012年4月13日現在上場している全市場の3,582銘柄を対象に、2000年1月1日から2011年12月31日の株価データを使用して検証しました。 また、複数の市場に上場している銘柄については、優先市場のみで検証しました。 ※全取引件数は 7,898,726 件
2.検証結果
1.サインが発生した件数
[ Long ] 575,845
[ Short ] 626,224
2.各サイン発生○日後に上昇・変動なし・下降した件数
[SIGN][DAYS] [UP ] ( %) [EVEN ] ( %) [DOWN ] ( %)
Long ( 1 ) 195,910 (34.03%) 46,468 ( 8.07%) 333,275 (57.90%)
Long ( 2 ) 219,745 (38.19%) 33,012 ( 5.74%) 322,606 (56.07%)
Long ( 3 ) 229,655 (39.94%) 26,643 ( 4.63%) 318,719 (55.43%)
Long ( 4 ) 234,568 (40.83%) 23,099 ( 4.02%) 316,809 (55.15%)
Long ( 5 ) 239,698 (41.75%) 20,574 ( 3.58%) 313,794 (54.66%)
Long ( 6 ) 242,709 (42.32%) 18,713 ( 3.26%) 312,109 (54.42%)
Long ( 7 ) 245,776 (42.87%) 17,117 ( 2.99%) 310,456 (54.15%)
Long ( 8 ) 247,752 (43.23%) 15,938 ( 2.78%) 309,461 (53.99%)
Long ( 9 ) 249,748 (43.60%) 14,874 ( 2.60%) 308,225 (53.81%)
Long ( 10 ) 250,157 (43.69%) 14,043 ( 2.45%) 308,340 (53.85%)
Long ( 11 ) 250,928 (43.86%) 13,393 ( 2.34%) 307,753 (53.80%)
Long ( 12 ) 252,213 (44.12%) 12,435 ( 2.18%) 307,022 (53.71%)
Long ( 13 ) 252,474 (44.21%) 12,114 ( 2.12%) 306,521 (53.67%)
Long ( 14 ) 252,763 (44.27%) 11,530 ( 2.02%) 306,666 (53.71%)
Long ( 15 ) 252,682 (44.28%) 11,078 ( 1.94%) 306,845 (53.78%)
Long ( 16 ) 252,635 (44.29%) 10,616 ( 1.86%) 307,164 (53.85%)
Long ( 17 ) 252,730 (44.32%) 10,203 ( 1.79%) 307,249 (53.89%)
Long ( 18 ) 252,445 (44.30%) 10,007 ( 1.76%) 307,384 (53.94%)
Long ( 19 ) 252,142 (44.26%) 9,500 ( 1.67%) 307,987 (54.07%)
Long ( 20 ) 251,759 (44.21%) 9,207 ( 1.62%) 308,499 (54.17%)
Long ( 21 ) 251,330 (44.14%) 8,831 ( 1.55%) 309,171 (54.30%)
Short ( 1 ) 339,554 (54.26%) 52,106 ( 8.33%) 234,117 (37.41%)
Short ( 2 ) 329,745 (52.71%) 36,884 ( 5.90%) 258,897 (41.39%)
Short ( 3 ) 324,432 (51.88%) 30,319 ( 4.85%) 270,616 (43.27%)
Short ( 4 ) 321,376 (51.40%) 26,393 ( 4.22%) 277,490 (44.38%)
Short ( 5 ) 318,783 (51.00%) 23,412 ( 3.75%) 282,923 (45.26%)
Short ( 6 ) 315,556 (50.49%) 21,531 ( 3.45%) 287,886 (46.06%)
Short ( 7 ) 313,171 (50.14%) 20,279 ( 3.25%) 291,175 (46.62%)
Short ( 8 ) 312,865 (50.11%) 18,847 ( 3.02%) 292,677 (46.87%)
Short ( 9 ) 311,246 (49.86%) 17,863 ( 2.86%) 295,152 (47.28%)
Short ( 10 ) 310,693 (49.78%) 16,956 ( 2.72%) 296,452 (47.50%)
Short ( 11 ) 310,854 (49.82%) 15,859 ( 2.54%) 297,255 (47.64%)
Short ( 12 ) 308,861 (49.51%) 15,277 ( 2.45%) 299,691 (48.04%)
Short ( 13 ) 307,888 (49.36%) 14,791 ( 2.37%) 301,031 (48.26%)
Short ( 14 ) 307,367 (49.31%) 14,046 ( 2.25%) 301,925 (48.44%)
Short ( 15 ) 307,414 (49.33%) 13,447 ( 2.16%) 302,255 (48.51%)
Short ( 16 ) 306,486 (49.21%) 13,143 ( 2.11%) 303,234 (48.68%)
Short ( 17 ) 305,327 (49.04%) 12,775 ( 2.05%) 304,527 (48.91%)
Short ( 18 ) 305,557 (49.09%) 12,200 ( 1.96%) 304,644 (48.95%)
Short ( 19 ) 305,190 (49.06%) 11,984 ( 1.93%) 304,940 (49.02%)
Short ( 20 ) 304,617 (48.98%) 11,591 ( 1.86%) 305,728 (49.16%)
Short ( 21 ) 304,343 (48.97%) 11,110 ( 1.79%) 306,047 (49.24%)
特に大きな特徴はないように思える。
3.何日後に最も上昇(買い)/下降(売り)したか
買いサイン発生後、何日後に最も上昇したか、 売りサイン発生後、何日後に最も下降したか、を検証。
[DAYS] [Long ] [Short]
[ 1 ] 85,450 83,992
[ 2 ] 52,820 50,278
[ 3 ] 41,080 40,343
[ 4 ] 34,489 35,662
[ 5 ] 30,970 32,866
[ 6 ] 28,661 31,141
[ 7 ] 27,291 29,488
[ 8 ] 25,622 28,411
[ 9 ] 24,887 27,821
[ 10 ] 23,585 27,456
[ 11 ] 23,205 25,924
[ 12 ] 23,364 26,890
[ 13 ] 23,147 26,584
[ 14 ] 23,457 27,449
[ 15 ] 23,389 27,589
[ 16 ] 24,323 29,411
[ 17 ] 25,512 30,311
[ 18 ] 27,406 33,353
[ 19 ] 30,475 38,508
[ 20 ] 36,427 47,912
[ 21 ] 62,059 81,976
買い(売り)サインが発生した翌日と21日後に大きく上昇(下降)している。
4.買いサイン発生から売りサイン発生までの間隔と差が + か 0 か − を集計
[DAYS] [+] [0] [-]
[ 1 ] 3,209 339 895
[ 2 ] 4,778 928 4,370
[ 3 ] 2,844 691 10,384
[ 4 ] 2,339 543 12,778
[ 5 ] 2,113 416 13,969
[ 6 ] 1,719 334 13,066
[ 7 ] 1,381 227 11,414
[ 8 ] 1,201 186 10,324
[ 9 ] 911 140 8,690
[ 10 ] 667 132 7,521
: : : :
全体的に3日後から下降する割合の方が高くなるという結果となった。
今回は全銘柄を集計したものであるが、個別の銘柄について見てみると銘柄により異なる結果となるのでおもしろいです。 Ruby 学習の延長で検証作業を行ってみましたが、こうして実際に実用的な何かを作成してみることで知識も深まっていきます。
以上。
Comments