株価 - 売買サインチェック(RCI・ゴールデンクロス/デッドクロス版)!
Updated:
Ruby + MySQL で自作した株価取得のシステム。 全市場(東京・大阪・名古屋・札幌・福岡)の全銘柄の2000年からの全取引データを取得しています。
前回は、「RCI」というものを利用して同様の検証を行いました。
今回は、複数の異なる日数で計算した RCI のクロスを売買サインとする方法です。
※個人的な記録ですので、興味が無ければ読み飛ばしてください。 ※全体的にどんな傾向があるのかを把握するのと、Ruby の学習が目的です。 ※検証結果を取り纏めたものなので、掲載している結果自体ではあまり有効性は感じません。 ※ただ、個別に調べてみるとおもしろいものとなります。
RCI の計算方法については、「株価 - 売買サインチェック(RCI版)!」を参照してください。
以下に、前提条件・検証結果を掲載します。
1.前提条件
以降に出てくる Long は買いサイン、Short は売りサインを表しています。
1.定義
何を以って、買いサイン・売りサインと見なすかですが、
- 買いサイン : 短期 RCI が 長期 RCI を -80% 以下の位置で下から上抜けた時 (ゴールデンクロス発生)
- 売りサイン : 短期 RCI が 長期 RCI を 80% 以上の位置で上から下抜けた時 (デッドクロス発生)
と定義しました。 ※短期・長期 RCI の計算に使用する日数は、9, 26, 52 の組み合わせが一般的。
また、調整後終値(株式分割があった場合の調整値)を考慮していません。
2.検証銘柄と検証期間
2012年2月24日現在上場している全市場の3,598銘柄を対象に、2000年1月1日から2011年12月31日の株価データを使用して検証しました。 また、複数の市場に上場している銘柄については、優先市場のみで検証しました。 ※全取引件数は 7,956,074 件
2.検証結果
1.サインが発生した件数
[ DAYS ] [Long ] [Short]
[ 9, 26 ] 38,642 32,493
[ 9, 52 ] 22,320 17,603
[ 26, 52 ] 28,086 23,589
2.各サイン発生○日後に上昇・変動なし・下降した件数
以下は、[ 9日, 26日 ] で検証した結果です。
[SIGN][DAYS] [UP ] ( %) [EVEN ] ( %) [DOWN ] ( %)
Long ( 1 ) 17,822 (46.13%) 3,596 ( 9.31%) 17,218 (44.56%)
Long ( 2 ) 18,438 (47.73%) 2,233 ( 5.78%) 17,961 (46.49%)
Long ( 3 ) 19,002 (49.19%) 1,687 ( 4.37%) 17,939 (46.44%)
Long ( 4 ) 19,447 (50.35%) 1,394 ( 3.61%) 17,786 (46.05%)
Long ( 5 ) 19,771 (51.19%) 1,215 ( 3.15%) 17,636 (45.66%)
Long ( 6 ) 19,752 (51.15%) 1,185 ( 3.07%) 17,681 (45.78%)
Long ( 7 ) 19,895 (51.53%) 1,040 ( 2.69%) 17,672 (45.77%)
Long ( 8 ) 20,006 (51.83%) 937 ( 2.43%) 17,655 (45.74%)
Long ( 9 ) 19,888 (51.53%) 966 ( 2.50%) 17,742 (45.97%)
Long ( 10 ) 19,927 (51.63%) 887 ( 2.30%) 17,781 (46.07%)
Long ( 11 ) 19,915 (51.61%) 866 ( 2.24%) 17,810 (46.15%)
Long ( 12 ) 19,938 (51.67%) 815 ( 2.11%) 17,835 (46.22%)
Long ( 13 ) 19,759 (51.21%) 799 ( 2.07%) 18,027 (46.72%)
Long ( 14 ) 19,802 (51.33%) 767 ( 1.99%) 18,011 (46.68%)
Long ( 15 ) 19,803 (51.33%) 769 ( 1.99%) 18,008 (46.68%)
Long ( 16 ) 19,847 (51.45%) 719 ( 1.86%) 18,011 (46.69%)
Long ( 17 ) 19,798 (51.33%) 659 ( 1.71%) 18,116 (46.97%)
Long ( 18 ) 19,873 (51.53%) 663 ( 1.72%) 18,033 (46.76%)
Long ( 19 ) 19,842 (51.45%) 625 ( 1.62%) 18,097 (46.93%)
Long ( 20 ) 19,664 (51.00%) 598 ( 1.55%) 18,298 (47.45%)
Long ( 21 ) 19,528 (50.65%) 671 ( 1.74%) 18,355 (47.61%)
Long ( 22 ) 19,344 (50.21%) 633 ( 1.64%) 18,551 (48.15%)
Long ( 23 ) 19,300 (50.16%) 591 ( 1.54%) 18,585 (48.30%)
Long ( 24 ) 19,131 (49.82%) 572 ( 1.49%) 18,695 (48.69%)
Long ( 25 ) 19,026 (49.61%) 554 ( 1.44%) 18,768 (48.94%)
Long ( 26 ) 18,884 (49.27%) 546 ( 1.42%) 18,901 (49.31%)
Long ( 27 ) 18,804 (49.13%) 538 ( 1.41%) 18,930 (49.46%)
Long ( 28 ) 18,840 (49.26%) 500 ( 1.31%) 18,904 (49.43%)
Long ( 29 ) 18,777 (49.16%) 477 ( 1.25%) 18,944 (49.59%)
Long ( 30 ) 18,710 (49.03%) 464 ( 1.22%) 18,989 (49.76%)
Long ( 31 ) 18,654 (48.91%) 482 ( 1.26%) 19,003 (49.83%)
Long ( 32 ) 18,638 (48.91%) 478 ( 1.25%) 18,987 (49.83%)
Long ( 33 ) 18,588 (48.82%) 439 ( 1.15%) 19,049 (50.03%)
Long ( 34 ) 18,560 (48.77%) 412 ( 1.08%) 19,088 (50.15%)
Long ( 35 ) 18,399 (48.34%) 433 ( 1.14%) 19,226 (50.52%)
Short ( 1 ) 13,749 (42.32%) 3,288 (10.12%) 15,450 (47.56%)
Short ( 2 ) 14,371 (44.26%) 2,022 ( 6.23%) 16,078 (49.51%)
Short ( 3 ) 14,534 (44.77%) 1,661 ( 5.12%) 16,270 (50.12%)
Short ( 4 ) 14,776 (45.53%) 1,355 ( 4.18%) 16,322 (50.29%)
Short ( 5 ) 14,806 (45.64%) 1,208 ( 3.72%) 16,426 (50.64%)
Short ( 6 ) 15,040 (46.38%) 1,059 ( 3.27%) 16,330 (50.36%)
Short ( 7 ) 15,295 (47.18%) 1,004 ( 3.10%) 16,119 (49.72%)
Short ( 8 ) 15,567 (48.04%) 883 ( 2.72%) 15,957 (49.24%)
Short ( 9 ) 15,693 (48.45%) 877 ( 2.71%) 15,820 (48.84%)
Short ( 10 ) 15,754 (48.66%) 786 ( 2.43%) 15,837 (48.91%)
Short ( 11 ) 15,772 (48.74%) 771 ( 2.38%) 15,819 (48.88%)
Short ( 12 ) 15,795 (48.83%) 683 ( 2.11%) 15,867 (49.06%)
Short ( 13 ) 15,761 (48.75%) 625 ( 1.93%) 15,942 (49.31%)
Short ( 14 ) 15,701 (48.57%) 603 ( 1.87%) 16,023 (49.57%)
Short ( 15 ) 15,748 (48.73%) 601 ( 1.86%) 15,968 (49.41%)
Short ( 16 ) 15,695 (48.58%) 548 ( 1.70%) 16,064 (49.72%)
Short ( 17 ) 15,752 (48.77%) 494 ( 1.53%) 16,050 (49.70%)
Short ( 18 ) 15,660 (48.50%) 526 ( 1.63%) 16,102 (49.87%)
Short ( 19 ) 15,680 (48.56%) 465 ( 1.44%) 16,142 (50.00%)
Short ( 20 ) 15,613 (48.36%) 480 ( 1.49%) 16,192 (50.15%)
Short ( 21 ) 15,443 (47.84%) 463 ( 1.43%) 16,376 (50.73%)
Short ( 22 ) 15,398 (47.71%) 428 ( 1.33%) 16,451 (50.97%)
Short ( 23 ) 15,326 (47.49%) 452 ( 1.40%) 16,496 (51.11%)
Short ( 24 ) 15,238 (47.23%) 414 ( 1.28%) 16,614 (51.49%)
Short ( 25 ) 15,200 (47.12%) 395 ( 1.22%) 16,664 (51.66%)
Short ( 26 ) 15,173 (47.05%) 385 ( 1.19%) 16,694 (51.76%)
Short ( 27 ) 15,166 (47.03%) 384 ( 1.19%) 16,695 (51.78%)
Short ( 28 ) 15,161 (47.02%) 360 ( 1.12%) 16,720 (51.86%)
Short ( 29 ) 15,140 (46.96%) 354 ( 1.10%) 16,745 (51.94%)
Short ( 30 ) 15,098 (46.83%) 397 ( 1.23%) 16,743 (51.94%)
Short ( 31 ) 15,021 (46.60%) 387 ( 1.20%) 16,826 (52.20%)
Short ( 32 ) 15,032 (46.64%) 408 ( 1.27%) 16,791 (52.10%)
Short ( 33 ) 15,058 (46.73%) 362 ( 1.12%) 16,806 (52.15%)
Short ( 34 ) 15,071 (46.77%) 332 ( 1.03%) 16,821 (52.20%)
Short ( 35 ) 14,990 (46.53%) 354 ( 1.10%) 16,873 (52.37%)
特に大きな特徴はないように思える。 [ 9日, 52日 ], [ 26日, 52日 ] で検証した結果は掲載していないが、同様の結果となった。 ※[ 9日, 26日 ] では 9 + 26 = 35(日), [ 9日, 52日 ] では 9 + 52 = 61(日), [ 26日, 52日 ] では 26 + 52 = 78(日) 後までしか検証していない。
3.何日後に最も上昇(買い)/下降(売り)したか
買いサイン発生後、何日後に最も上昇したか、 売りサイン発生後、何日後に最も下降したか、を検証。 以下は、[ 9日, 26日 ] で検証した結果です。
[DAYS] [Long ] [Short]
[ 1 ] 4,336 3,505
[ 2 ] 2,501 2,117
[ 3 ] 2,004 1,644
[ 4 ] 1,740 1,458
[ 5 ] 1,661 1,347
[ 6 ] 1,487 1,100
[ 7 ] 1,391 1,009
[ 8 ] 1,293 909
[ 9 ] 1,281 860
[ 10 ] 1,189 814
[ 11 ] 1,085 782
[ 12 ] 1,102 783
[ 13 ] 1,047 783
[ 14 ] 984 815
[ 15 ] 1,101 825
[ 16 ] 1,084 788
[ 17 ] 1,010 830
[ 18 ] 1,035 795
[ 19 ] 929 845
[ 20 ] 935 816
[ 21 ] 929 810
[ 22 ] 878 908
[ 23 ] 854 802
[ 24 ] 886 874
[ 25 ] 866 874
[ 26 ] 910 928
[ 27 ] 949 957
[ 28 ] 962 894
[ 29 ] 1,074 964
[ 30 ] 1,075 1,074
[ 31 ] 1,180 1,172
[ 32 ] 1,322 1,252
[ 33 ] 1,442 1,475
[ 34 ] 1,734 1,684
[ 35 ] 2,944 2,933
買い(売り)サインが発生した翌日と35日後に大きく上昇(下降)している。 [ 9日, 52日 ], [ 26日, 52日 ] で検証した結果は掲載していないが、こちらも [ 9日, 52日 ] では翌日と61日後が、[ 26日, 52日 ] では翌日と78日後が大きく上昇(下降)する結果となった。 ※[ 9日, 26日 ] では 9 + 26 = 35(日), [ 9日, 52日 ] では 9 + 52 = 61(日), [ 26日, 52日 ] では 26 + 52 = 78(日) 後までしか検証していない。
4.買いサイン発生から売りサイン発生までの間隔と差が + か 0 か − を集計
以下は、[ 9日, 26日 ] で検証した結果です。
[DAYS] [+] [0] [-]
[ 14 ] 1 0 0
[ 15 ] 2 0 0
[ 16 ] 8 0 0
[ 17 ] 44 0 0
[ 18 ] 96 0 0
[ 19 ] 124 0 0
[ 20 ] 166 0 0
[ 21 ] 199 0 0
[ 22 ] 161 0 0
[ 23 ] 166 0 0
: : : :
[ 41 ] 107 0 5
[ 42 ] 108 0 4
[ 43 ] 90 0 2
[ 44 ] 102 0 4
[ 45 ] 90 1 2
[ 46 ] 77 0 3
[ 47 ] 90 1 4
[ 48 ] 91 0 6
[ 49 ] 81 2 4
[ 50 ] 94 0 7
: : : :
買いサインが発生して13日後までは売りサインが発生することはなく、14日後以降売りサイン発生時には買いサイン発生時の終値より高くなる傾向があることがわかります。 また、[ 9日, 52日 ], [ 26日, 52日 ] で検証した結果は掲載していないが、 [ 9日, 52日 ] では、29日後までは売りサインが発生することはなく、30日後以降売りサイン発生時には買いサイン発生時の終値より高くなる傾向があり、 [ 26日, 52日 ] では、28日後までは売りサインが発生することはなく、29日後以降売りサイン発生時には買いサイン発生時の終値より高くなる傾向があることが分かった。
上記の4番目の検証はかなり有効ではないでしょうか? Ruby 学習の延長で検証作業を行ってみましたが、こうして実際に実用的な何かを作成してみることで知識も深まっていきます。
以上。
Comments