mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

株価 - 売買サインチェック(アンチ)!

[ プログラミング, 株式 ] [ MySQL, Ruby ]

こんばんは。

Ruby + MySQL で自作した株価取得のシステム。 全市場(東京・大阪・名古屋・札幌・福岡)の全銘柄の1983年からの全取引データを取得しています。

前回は「3本足の高値安値」という手法で売買サインの発生状況を検証してみましたが、今回は「アンチ」という手法で検証してみました。

※個人的な記録ですので、興味が無ければ読み飛ばしてください。 ※全体的にどんな傾向があるのかを把握するのと、Ruby の学習が目的です。 ※検証結果を取り纏めたものなので、掲載している結果自体ではあまり有効性は感じません。 ※ただ、個別に調べてみるとおもしろいものとなります。

「アンチ」という手法は、

  • まずストキャスティクスの Slow%D(7:4:10) が2日間連続で上昇する。 そしてさらに3日間連続でで Slow$D(7:4:10) が上昇するとともに Fast%D(7:4) が下降した場合、 前日の高値よりも上げたところで買う。
  • まずストキャスティクスの Slow%D(7:4:10) が2日間連続で下降する。 そしてさらに3日間連続でで Slow%D(7:4:10) が下降するとともに Fast%D(7:4) が上昇した場合、 前日の安値よりも下げたところで売る。

という手法です。 Fast%K, Fast%D, Slow%D については、過去記事「株価 - 売買サインチェック(ストキャスティクス版)!」を参照のこと。

以下に、前提条件・検証結果を掲載します。

1.前提条件

以降に出てくる Long は買いサイン、Short は売りサインを表しています。

1.定義

何を以って、買いサイン・売りサインと見なすかですが、本来の手法に準じて

  • 6日前から2日間連続で Slow%D(7:4:10) が上昇し、 さらに4日前から3日間連続で Slow%D(7:4:10) が上昇するとともに Fast%D(7:4) が下降した場合、 前日の高値よりも上げた時、買いサイン
  • 6日前から2日間連続で Slow%D(7:4:10) が下降し、 さらに4日前から3日間連続で Slow%D(7:4:10) が下降するとともに Fast%D(7:4) が上昇した場合、 前日の安値よりも下げた時、売りサイン

と定義しました。 Fast%K, Fast%D, Slow%D を計算する日数はアンチ手法では一般的(?)な 7, 4, 10 としています。 また、調整後終値(株式分割があった場合の調整値)を考慮していません。

2.検証銘柄と検証期間

2012年4月13日現在上場している全市場の3,582銘柄を対象に、2000年1月1日から2011年12月31日の株価データを使用して検証しました。 また、複数の市場に上場している銘柄については、優先市場のみで検証しました。 ※全取引件数は 7,898,726 件

2.検証結果

1.サインが発生した件数

1
2
[ Long  ]    225,973
[ Short ]    227,211

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
39
40
41
42
43
[SIGN][DAYS]  [UP   ] (     %) [EVEN ] (     %) [DOWN ] (     %)
Long  (  1 )  129,142 (57.17%)  17,168 ( 7.60%)  79,588 (35.23%)
Long  (  2 )  122,765 (54.35%)  12,080 ( 5.35%)  91,014 (40.30%)
Long  (  3 )  120,456 (53.34%)  10,127 ( 4.48%)  95,245 (42.18%)
Long  (  4 )  119,478 (52.91%)   8,793 ( 3.89%)  97,532 (43.19%)
Long  (  5 )  117,994 (52.27%)   7,584 ( 3.36%) 100,177 (44.37%)
Long  (  6 )  117,308 (51.97%)   7,043 ( 3.12%) 101,354 (44.91%)
Long  (  7 )  116,602 (51.68%)   6,575 ( 2.91%) 102,434 (45.40%)
Long  (  8 )  116,139 (51.49%)   6,033 ( 2.67%) 103,363 (45.83%)
Long  (  9 )  115,944 (51.43%)   5,667 ( 2.51%) 103,850 (46.06%)
Long  ( 10 )  115,838 (51.40%)   5,442 ( 2.41%) 104,073 (46.18%)
Long  ( 11 )  115,471 (51.26%)   5,187 ( 2.30%) 104,625 (46.44%)
Long  ( 12 )  114,755 (50.97%)   4,819 ( 2.14%) 105,559 (46.89%)
Long  ( 13 )  114,611 (50.94%)   4,633 ( 2.06%) 105,739 (47.00%)
Long  ( 14 )  114,497 (51.04%)   4,394 ( 1.96%) 105,456 (47.01%)
Long  ( 15 )  114,309 (51.00%)   4,274 ( 1.91%) 105,561 (47.10%)
Long  ( 16 )  113,847 (50.84%)   3,919 ( 1.75%) 106,159 (47.41%)
Long  ( 17 )  113,770 (50.84%)   3,927 ( 1.75%) 106,103 (47.41%)
Long  ( 18 )  113,327 (50.65%)   3,809 ( 1.70%) 106,600 (47.65%)
Long  ( 19 )  113,228 (50.62%)   3,657 ( 1.63%) 106,797 (47.75%)
Long  ( 20 )  113,193 (50.61%)   3,625 ( 1.62%) 106,821 (47.76%)
Long  ( 21 )  112,884 (50.49%)   3,480 ( 1.56%) 107,206 (47.95%)
Short (  1 )   73,821 (32.50%)  17,787 ( 7.83%) 135,545 (59.67%)
Short (  2 )   83,343 (36.73%)  12,550 ( 5.53%) 131,036 (57.74%)
Short (  3 )   88,233 (38.93%)  10,173 ( 4.49%) 128,262 (56.59%)
Short (  4 )   91,457 (40.43%)   8,627 ( 3.81%) 126,135 (55.76%)
Short (  5 )   94,316 (41.72%)   7,593 ( 3.36%) 124,134 (54.92%)
Short (  6 )   96,037 (42.51%)   6,847 ( 3.03%) 123,033 (54.46%)
Short (  7 )   97,162 (43.01%)   6,481 ( 2.87%) 122,246 (54.12%)
Short (  8 )   97,316 (43.09%)   6,034 ( 2.67%) 122,503 (54.24%)
Short (  9 )   97,598 (43.22%)   5,697 ( 2.52%) 122,511 (54.25%)
Short ( 10 )   97,190 (43.06%)   5,432 ( 2.41%) 123,106 (54.54%)
Short ( 11 )   97,390 (43.16%)   5,131 ( 2.27%) 123,130 (54.57%)
Short ( 12 )   97,576 (43.25%)   4,925 ( 2.18%) 123,116 (54.57%)
Short ( 13 )   97,810 (43.36%)   4,521 ( 2.00%) 123,252 (54.64%)
Short ( 14 )   97,788 (43.35%)   4,531 ( 2.01%) 123,250 (54.64%)
Short ( 15 )   98,051 (43.48%)   4,338 ( 1.92%) 123,138 (54.60%)
Short ( 16 )   98,374 (43.63%)   4,141 ( 1.84%) 122,975 (54.54%)
Short ( 17 )   98,544 (43.71%)   4,131 ( 1.83%) 122,767 (54.46%)
Short ( 18 )   98,511 (43.71%)   3,881 ( 1.72%) 122,981 (54.57%)
Short ( 19 )   98,339 (43.64%)   3,828 ( 1.70%) 123,161 (54.66%)
Short ( 20 )   98,479 (43.72%)   3,712 ( 1.65%) 123,053 (54.63%)
Short ( 21 )   98,477 (43.73%)   3,638 ( 1.62%) 123,078 (54.65%)

特に大きな特徴はないように思える。

3.何日後に最も上昇(買い)/下降(売り)したか

買いサイン発生後、何日後に最も上昇したか、 売りサイン発生後、何日後に最も下降したか、を検証。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[DAYS]  [Long ]  [Short]
[  1 ]   35,254   31,275
[  2 ]   20,267   19,560
[  3 ]   15,657   15,193
[  4 ]   13,312   12,604
[  5 ]   11,664   10,809
[  6 ]   10,838   10,058
[  7 ]   10,000    9,710
[  8 ]    9,358    9,901
[  9 ]    9,280    9,599
[ 10 ]    9,036    9,520
[ 11 ]    8,635    9,765
[ 12 ]    8,420    9,415
[ 13 ]    8,506    9,499
[ 14 ]    8,739    9,714
[ 15 ]    8,860    9,656
[ 16 ]    9,146    9,788
[ 17 ]    9,744   10,768
[ 18 ]   10,922   11,751
[ 19 ]   12,387   13,528
[ 20 ]   15,163   16,298
[ 21 ]   25,690   27,746

買い(売り)サインが発生した翌日と21日後に大きく上昇(下降)している。

4.買いサイン発生から売りサイン発生までの間隔と差が + か 0 か − を集計

1
2
3
4
5
6
7
8
9
10
11
12
[DAYS]     [+]     [0]     [-]
[  1 ]       0       0       0
[  2 ]       0       0       0
[  3 ]       0       0       0
[  4 ]       0       0       0
[  5 ]   3,227     218   1,904
[  6 ]   3,307     208   2,629
[  7 ]   2,460     171   3,172
[  8 ]   1,724     193   4,391
[  9 ]   1,015     119   4,058
[ 10 ]     622      69   3,413
   :        :       :       :

全体的に7日後から下降する割合の方が高くなるという結果となった。


今回は全銘柄を集計したものであるが、個別の銘柄について見てみると銘柄により異なる結果となるのでおもしろいです。 Ruby 学習の延長で検証作業を行ってみましたが、こうして実際に実用的な何かを作成してみることで知識も深まっていきます。

以上。

Comments