mk-mode BLOG

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

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

株価 - 売買サインチェック(ADXギャッパー)!

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

こんばんは。

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

前回は「アンチ」という手法で売買サインの発生状況を検証してみましたが、今回は「ADXギャッパー」という手法で検証してみました。

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

「ADXギャッパー」という手法は、

  • 前日の安値よりも安く寄り付き、その安値まで上げた時点で買い。
  • 前日の高値よりも高く寄り付き、その高値まで下げた時点で売り。

という「ウップスのルール」に ADX をフィルターとして重ねる。すなわち、

  • 前日の引け時点で、 12日で計算した ADX が 30 以上、 28日で計算した +DI が -DI よりも大きく、 前日安値よりも当日寄付きが低く、 当日高値が前日安値より大きい時、買い。
  • 前日の引け時点で、 12日で計算した ADX が 30 以上、 28日で計算した -DI が +DI よりも大きく、 前日高値よりも当日寄付きが高く、 当日安値が前日高値より小さい時、売り。

という手法です。 DI, ADX については、過去記事「株価 - 売買サインチェック(DMI/ADX版)その1!」を参照のこと。

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

1.前提条件

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

1.定義

何を以って、買いサイン・売りサインと見なすかですが、本来の手法通りとしました。 DI, ADX を計算する日数はアンチ手法では一般的(?)な 28, 12 としています。 また、調整後終値(株式分割があった場合の調整値)を考慮していません。

2.検証銘柄と検証期間

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

2.検証結果

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

1
2
[ Long  ]    99,889
[ Short ]    50,220

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
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
74
75
76
77
78
79
80
81
[SIGN][DAYS]  [UP   ] (     %) [EVEN ] (     %) [DOWN ] (     %)
Long  (  1 )   68,398 (68.49%)   4,787 ( 4.79%)  26,682 (26.72%)
Long  (  2 )   63,868 (63.98%)   3,488 ( 3.49%)  32,473 (32.53%)
Long  (  3 )   62,146 (62.27%)   2,954 ( 2.96%)  34,697 (34.77%)
Long  (  4 )   60,191 (60.35%)   2,701 ( 2.71%)  36,848 (36.94%)
Long  (  5 )   59,306 (59.47%)   2,404 ( 2.41%)  38,015 (38.12%)
Long  (  6 )   58,619 (58.79%)   2,218 ( 2.22%)  38,869 (38.98%)
Long  (  7 )   58,271 (58.45%)   2,167 ( 2.17%)  39,261 (39.38%)
Long  (  8 )   57,721 (57.91%)   1,878 ( 1.88%)  40,077 (40.21%)
Long  (  9 )   57,165 (57.37%)   1,848 ( 1.85%)  40,632 (40.78%)
Long  ( 10 )   56,314 (56.53%)   1,768 ( 1.77%)  41,539 (41.70%)
Long  ( 11 )   55,622 (55.85%)   1,654 ( 1.66%)  42,315 (42.49%)
Long  ( 12 )   55,265 (55.50%)   1,577 ( 1.58%)  42,733 (42.92%)
Long  ( 13 )   54,644 (54.90%)   1,506 ( 1.51%)  43,391 (43.59%)
Long  ( 14 )   54,247 (54.50%)   1,450 ( 1.46%)  43,834 (44.04%)
Long  ( 15 )   53,867 (54.14%)   1,382 ( 1.39%)  44,238 (44.47%)
Long  ( 16 )   53,488 (53.77%)   1,323 ( 1.33%)  44,667 (44.90%)
Long  ( 17 )   53,256 (53.54%)   1,348 ( 1.36%)  44,865 (45.10%)
Long  ( 18 )   53,023 (53.31%)   1,299 ( 1.31%)  45,139 (45.38%)
Long  ( 19 )   52,639 (52.93%)   1,242 ( 1.25%)  45,574 (45.82%)
Long  ( 20 )   51,988 (52.28%)   1,236 ( 1.24%)  46,217 (46.48%)
Long  ( 21 )   51,927 (52.22%)   1,186 ( 1.19%)  46,319 (46.58%)
Long  ( 22 )   51,550 (51.85%)   1,142 ( 1.15%)  46,733 (47.00%)
Long  ( 23 )   51,571 (51.87%)   1,199 ( 1.21%)  46,654 (46.92%)
Long  ( 24 )   51,583 (51.89%)   1,117 ( 1.12%)  46,705 (46.98%)
Long  ( 25 )   51,328 (51.65%)   1,105 ( 1.11%)  46,952 (47.24%)
Long  ( 26 )   51,271 (51.60%)   1,113 ( 1.12%)  46,986 (47.28%)
Long  ( 27 )   51,289 (51.64%)   1,095 ( 1.10%)  46,933 (47.26%)
Long  ( 28 )   50,884 (51.24%)   1,089 ( 1.10%)  47,328 (47.66%)
Long  ( 29 )   50,789 (51.15%)   1,034 ( 1.04%)  47,467 (47.81%)
Long  ( 30 )   50,535 (50.92%)   1,002 ( 1.01%)  47,707 (48.07%)
Long  ( 31 )   50,144 (50.53%)   1,030 ( 1.04%)  48,054 (48.43%)
Long  ( 32 )   50,322 (50.72%)     963 ( 0.97%)  47,928 (48.31%)
Long  ( 33 )   50,137 (50.54%)     972 ( 0.98%)  48,098 (48.48%)
Long  ( 34 )   50,346 (50.76%)     971 ( 0.98%)  47,874 (48.26%)
Long  ( 35 )   50,257 (50.69%)     916 ( 0.92%)  47,974 (48.39%)
Long  ( 36 )   50,234 (50.68%)     928 ( 0.94%)  47,965 (48.39%)
Long  ( 37 )   50,169 (50.62%)     914 ( 0.92%)  48,027 (48.46%)
Long  ( 38 )   49,911 (50.37%)     951 ( 0.96%)  48,236 (48.68%)
Long  ( 39 )   49,840 (50.30%)     932 ( 0.94%)  48,319 (48.76%)
Long  ( 40 )   49,774 (50.25%)     861 ( 0.87%)  48,421 (48.88%)
Short (  1 )   12,862 (25.61%)   2,581 ( 5.14%)  34,770 (69.25%)
Short (  2 )   15,712 (31.29%)   1,917 ( 3.82%)  32,578 (64.89%)
Short (  3 )   17,020 (33.90%)   1,524 ( 3.04%)  31,659 (63.06%)
Short (  4 )   17,825 (35.51%)   1,297 ( 2.58%)  31,077 (61.91%)
Short (  5 )   18,392 (36.65%)   1,224 ( 2.44%)  30,573 (60.92%)
Short (  6 )   18,843 (37.56%)   1,127 ( 2.25%)  30,204 (60.20%)
Short (  7 )   19,048 (37.98%)   1,047 ( 2.09%)  30,052 (59.93%)
Short (  8 )   19,370 (38.63%)     995 ( 1.98%)  29,772 (59.38%)
Short (  9 )   19,443 (38.79%)     915 ( 1.83%)  29,769 (59.39%)
Short ( 10 )   19,756 (39.42%)     896 ( 1.79%)  29,462 (58.79%)
Short ( 11 )   19,870 (39.65%)     886 ( 1.77%)  29,353 (58.58%)
Short ( 12 )   19,862 (39.65%)     827 ( 1.65%)  29,409 (58.70%)
Short ( 13 )   20,070 (40.07%)     794 ( 1.59%)  29,223 (58.34%)
Short ( 14 )   20,154 (40.27%)     822 ( 1.64%)  29,077 (58.09%)
Short ( 15 )   20,097 (40.17%)     716 ( 1.43%)  29,222 (58.40%)
Short ( 16 )   20,117 (40.22%)     657 ( 1.31%)  29,240 (58.46%)
Short ( 17 )   20,213 (40.43%)     635 ( 1.27%)  29,151 (58.30%)
Short ( 18 )   20,104 (40.26%)     644 ( 1.29%)  29,193 (58.45%)
Short ( 19 )   20,277 (40.64%)     618 ( 1.24%)  28,999 (58.12%)
Short ( 20 )   20,288 (40.68%)     645 ( 1.29%)  28,941 (58.03%)
Short ( 21 )   20,218 (40.62%)     605 ( 1.22%)  28,948 (58.16%)
Short ( 22 )   20,125 (40.46%)     599 ( 1.20%)  29,012 (58.33%)
Short ( 23 )   20,095 (40.44%)     591 ( 1.19%)  29,003 (58.37%)
Short ( 24 )   20,098 (40.48%)     565 ( 1.14%)  28,981 (58.38%)
Short ( 25 )   20,044 (40.40%)     546 ( 1.10%)  29,027 (58.50%)
Short ( 26 )   20,047 (40.41%)     527 ( 1.06%)  29,033 (58.53%)
Short ( 27 )   19,960 (40.24%)     518 ( 1.04%)  29,121 (58.71%)
Short ( 28 )   19,912 (40.15%)     523 ( 1.05%)  29,154 (58.79%)
Short ( 29 )   19,934 (40.21%)     550 ( 1.11%)  29,095 (58.68%)
Short ( 30 )   19,942 (40.23%)     463 ( 0.93%)  29,170 (58.84%)
Short ( 31 )   19,811 (39.97%)     499 ( 1.01%)  29,258 (59.03%)
Short ( 32 )   19,823 (40.00%)     503 ( 1.01%)  29,233 (58.99%)
Short ( 33 )   19,839 (40.05%)     502 ( 1.01%)  29,194 (58.94%)
Short ( 34 )   19,698 (39.78%)     461 ( 0.93%)  29,364 (59.29%)
Short ( 35 )   19,768 (39.92%)     425 ( 0.86%)  29,323 (59.22%)
Short ( 36 )   19,662 (39.71%)     432 ( 0.87%)  29,415 (59.41%)
Short ( 37 )   19,691 (39.78%)     480 ( 0.97%)  29,327 (59.25%)
Short ( 38 )   19,707 (39.83%)     496 ( 1.00%)  29,279 (59.17%)
Short ( 39 )   19,783 (39.99%)     462 ( 0.93%)  29,222 (59.07%)
Short ( 40 )   19,890 (40.22%)     432 ( 0.87%)  29,134 (58.91%)

今までの検証とは異なり、売買サイン発生直後が上昇・下降する割合が高いです。

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

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

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
[DAYS]  [Long ]  [Short]
[  1 ]   10,766    4,407
[  2 ]    6,363    2,587
[  3 ]    5,004    1,991
[  4 ]    4,229    1,836
[  5 ]    3,856    1,678
[  6 ]    3,374    1,484
[  7 ]    3,310    1,391
[  8 ]    2,987    1,226
[  9 ]    2,731    1,260
[ 10 ]    2,546    1,175
[ 11 ]    2,601    1,124
[ 12 ]    2,446    1,110
[ 13 ]    2,265    1,140
[ 14 ]    2,198    1,058
[ 15 ]    2,059    1,147
[ 16 ]    2,018    1,109
[ 17 ]    2,033    1,007
[ 18 ]    1,878    1,080
[ 19 ]    1,950      997
[ 20 ]    1,760    1,007
[ 21 ]    1,815    1,062
[ 22 ]    1,726    1,059
[ 23 ]    1,805    1,086
[ 24 ]    1,727    1,110
[ 25 ]    1,746    1,101
[ 26 ]    1,784    1,091
[ 27 ]    1,702    1,159
[ 28 ]    1,857    1,090
[ 29 ]    1,791    1,265
[ 30 ]    1,801    1,186
[ 31 ]    2,017    1,209
[ 32 ]    2,048    1,290
[ 33 ]    2,097    1,386
[ 34 ]    2,417    1,435
[ 35 ]    2,507    1,399
[ 36 ]    2,748    1,523
[ 37 ]    2,989    1,715
[ 38 ]    3,451    2,027
[ 39 ]    4,286    2,590
[ 40 ]    7,400    4,450

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[DAYS]     [+]     [0]     [-]
[  1 ]      97       0       0
[  2 ]      41       4      18
[  3 ]      27       0      52
[  4 ]      16       2      41
[  5 ]       8       1      53
[  6 ]      10       0      54
[  7 ]       8       0      45
[  8 ]       3       0      40
[  9 ]       3       0      23
[ 10 ]       1       0      32
   :        :       :       :
[ 81 ]      16       2      72
[ 82 ]       5       0      73
[ 83 ]       4       0      73
[ 84 ]       6       0      79
[ 85 ]      10       0      59
[ 86 ]       3       0      73
[ 87 ]       6       0      77
[ 88 ]       7       0      64
[ 89 ]       7       0      72
[ 90 ]       8       0      75
   :        :       :       :

買いサイン発生直後は上昇する割合が高いが、その後は全体的に下降する割合の方が高くなるという結果となった。


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

以上。

Comments