mk-mode BLOG

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

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

株価 - 売買サインチェック(HLバンド版)!

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

こんばんは。

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

これまで、色々な指数を利用して売買サインを検証してきました。 今回は、「HLバンド」というものを利用して同様の検証を行いました。

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

HLバンド(= ハイローバント)とは、株価チャートに

  • 直近n日(前日から遡ってn日)の高値( H[igh]バンド )
  • 直近n日(前日から遡ってn日)の安値( L[ow]バンド )
  • 直近n日(前日から遡ってn日)の高値と安値の中心( M[iddle]バンド )

の3本のラインを引いて、現在のトレンドの方向・抵抗価格・支持価格を確認するテクニカル指標です。 Hバンドを抵抗線、Lバンドを支持線と考えます。 上記の

  • 高値は、前日から遡ってn日間で最も高値となった時の株価(高値のMAX)
  • 安値は、前日から遡ってn日間で最も安値となった時の株価(安値のMIN)

です。 ※nは任意の日数。10, 20 が一般的。

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

1.前提条件

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

1.定義

何を以って、買いサイン・売りサインと見なすかですが、

  • DEF-1 ( 順張り戦略-1 ) 買いサイン : 前日終値と比べて、高値がHバンドを上抜けた時 売りサイン : 前日終値と比べて、安値がLバンドを下抜けた時

  • DEF-2 ( 順張り戦略-2 ) 買いサイン : 前日終値と比べて、高値がMバンドを上抜けた時 売りサイン : 前日終値と比べて、安値がMバンドを下抜けた時

  • DEF-3 ( 逆張り戦略-1 ) 買いサイン : 前日終値と比べて、安値がLバンドを下抜けた時       (株価がLバンドに接触した時) 売りサイン : 前日終値と比べて、高値がHバンドを上抜けた時       (株価がHバンドに接触した時)

  • DEF-4 ( 逆張り戦略-2 ) 買いサイン : 前日終値と比べて、安値がMバンドを下抜けた時       (株価がMバンドに接触した時) 売りサイン : 前日終値と比べて、高値がMバンドを上抜けた時       (株価がMバンドに接触した時)

と定義しました。 Hバンド、Lバンドを計算する日数は [ 10, 20 ] の2種類としました。 そして検証の際、10日(20日)で計算する場合は10日後(20日後)までの検証としています。 また、調整後終値(株式分割があった場合の調整値)を考慮していません。

2.検証銘柄と検証期間

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

2.検証結果

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[ DEF-1 ]
[DAYS]   [ Long  ]  [ Short ]
[ 10 ]     576,690    636,740
[ 20 ]     384,750    432,809

[ DEF-2 ]
[DAYS]   [ Long  ]  [ Short ]
[ 10 ]   1,026,284  1,032,393
[ 20 ]     724,018    735,694

[ DEF-3 ]
[DAYS]   [ Long  ]  [ Short ]
[ 10 ]     634,459    578,971
[ 20 ]     432,375    385,184

[ DEF-4 ]
[DAYS]   [ Long  ]  [ Short ]
[ 10 ]   1,032,393  1,026,284
[ 20 ]     735,694    724,018

2.各サイン発生○日後に上昇・変動なし・下降した件数

以下は、DEF-1 を10日で検証した結果です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[SIGN][DAYS]  [UP   ] (     %) [EVEN ] (     %) [DOWN ] (     %)
Long  (  1 )  258,194 (44.80%)  48,161 ( 8.36%) 269,959 (46.84%)
Long  (  2 )  262,538 (45.57%)  29,818 ( 5.18%) 283,767 (49.25%)
Long  (  3 )  261,720 (45.44%)  23,406 ( 4.06%) 290,811 (50.49%)
Long  (  4 )  261,655 (45.44%)  20,213 ( 3.51%) 293,947 (51.05%)
Long  (  5 )  261,563 (45.44%)  17,831 ( 3.10%) 296,188 (51.46%)
Long  (  6 )  261,778 (45.50%)  16,303 ( 2.83%) 297,283 (51.67%)
Long  (  7 )  262,116 (45.57%)  15,066 ( 2.62%) 297,976 (51.81%)
Long  (  8 )  262,499 (45.65%)  14,015 ( 2.44%) 298,479 (51.91%)
Long  (  9 )  263,580 (45.85%)  13,118 ( 2.28%) 298,133 (51.86%)
Long  ( 10 )  264,775 (46.08%)  12,556 ( 2.19%) 297,293 (51.74%)
Short (  1 )  279,997 (43.98%)  56,317 ( 8.85%) 300,320 (47.17%)
Short (  2 )  291,606 (45.83%)  35,591 ( 5.59%) 309,106 (48.58%)
Short (  3 )  296,215 (46.58%)  27,945 ( 4.39%) 311,817 (49.03%)
Short (  4 )  298,671 (46.99%)  24,078 ( 3.79%) 312,886 (49.22%)
Short (  5 )  301,107 (47.39%)  21,089 ( 3.32%) 313,193 (49.29%)
Short (  6 )  301,945 (47.54%)  19,341 ( 3.05%) 313,795 (49.41%)
Short (  7 )  302,652 (47.67%)  17,797 ( 2.80%) 314,488 (49.53%)
Short (  8 )  302,814 (47.71%)  17,073 ( 2.69%) 314,849 (49.60%)
Short (  9 )  301,270 (47.51%)  15,989 ( 2.52%) 316,825 (49.97%)
Short ( 10 )  300,116 (47.35%)  15,150 ( 2.39%) 318,499 (50.26%)

10日で検証した場合、特に大きな特徴はないように思える。(DEF-2, 3, 4 も同様) 20日で検証した結果は掲載していないが、同様の結果となった。(DEF-1, 2, 3, 4 全て)

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

買いサイン発生後、何日後に最も上昇したか、 売りサイン発生後、何日後に最も下降したか、を検証。 以下は、DEF-1 を10日で検証した結果です。

1
2
3
4
5
6
7
8
9
10
11
[DAYS]  [Long ]  [Short]
[  1 ]  139,308  132,059
[  2 ]   79,532   81,356
[  3 ]   60,793   66,412
[  4 ]   53,083   58,384
[  5 ]   49,637   56,431
[  6 ]   47,669   55,953
[  7 ]   47,836   55,994
[  8 ]   51,126   61,078
[  9 ]   59,997   73,370
[ 10 ]   99,378  127,673

10日で検証した場合、買い(売り)サインが発生した翌日と10日後に大きく上昇(下降)している。(DEF-2, 3, 4 も同様) 20日で検証した結果は掲載していないが、こちらもサインが発生した翌日と20日後に大きく上昇(下降)する結果となった。(DEF-1, 2, 3, 4 全て)

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

以下は、10日で検証した結果です。

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
[ DEF-1 ]                         [ DEF-2 ]
[DAYS]     [+]     [0]     [-]    [DAYS]     [+]     [0]     [-]
[  1 ]     255     106   6,288    [  1 ]  42,050  18,030 216,756
[  2 ]     225      94  10,951    [  2 ]  15,100   4,732  69,595
[  3 ]     190      83  14,420    [  3 ]  11,571   2,674  37,289
[  4 ]     199      71  16,698    [  4 ]  10,426   1,906  23,756
[  5 ]     187      93  18,055    [  5 ]   9,460   1,393  16,338
[  6 ]     182      70  17,836    [  6 ]   8,455   1,073  11,211
[  7 ]     204      74  17,374    [  7 ]   7,963     880   8,086
[  8 ]     192      82  16,024    [  8 ]   7,339     744   5,991
[  9 ]     192      81  14,946    [  9 ]   7,606     645   4,697
[ 10 ]     341     112  14,472    [ 10 ]  10,952     752   4,178
   :        :       :       :        :        :       :       :

[ DEF-3 ]                         [ DEF-4 ]
[DAYS]     [+]     [0]     [-]    [DAYS]     [+]     [0]     [-]
[  1 ]   6,918     132     337    [  1 ] 199,550  17,838  45,690
[  2 ]  12,088      99     235    [  2 ]  64,230   4,596  14,989
[  3 ]  15,737      90     233    [  3 ]  36,143   2,568  10,963
[  4 ]  17,481      92     200    [  4 ]  24,151   1,857   8,941
[  5 ]  18,646      77     186    [  5 ]  17,435   1,500   8,672
[  6 ]  18,405      84     176    [  6 ]  12,281   1,229   7,896
[  7 ]  17,017      79     204    [  7 ]   9,297     987   7,338
[  8 ]  15,903      94     223    [  8 ]   6,804     823   7,177
[  9 ]  13,946      97     248    [  9 ]   5,302     717   7,482
[ 10 ]  13,197     120     379    [ 10 ]   5,747   1,155  12,935
   :        :       :       :        :        :       :       :

10日で検証した場合、 ・DEF-1 は全体的に下降する割合の方が高くなる。 ・DEF-2 は買いサイン発生直後は下降する傾向があるものの8日後からは上昇する傾向に転じる。 ・DEF-3 は全体的に上昇する割合の方が高くなる。 ・DEF-4 は買いサイン発生直後は上昇する傾向があるものの8日後からは下降する傾向に転じる。 という結果となった。 20日で検証した結果は掲載していないが、 ・DEF-1 は全体的に下降する割合の方が高くなる。 ・DEF-2 は買いサイン発生直後は下降する傾向があるものの12日後からは上昇する傾向に転じる。 ・DEF-3 は全体的に上昇する割合の方が高くなる。 ・DEF-4 は買いサイン発生直後は上昇する傾向があるものの13日後からは下降する傾向に転じる。 という結果になった。 DEF-1, 2 と DEF-3, 4 は順張りか逆張りかの違いなので、結果として相反するものとなった。


上記の4番目の検証はかなり有効ではないでしょうか? 順張り、逆張りで挙動が違うので、工夫次第で有効性が高くなるのではないでしょうか? Ruby 学習の延長で検証作業を行ってみましたが、こうして実際に実用的な何かを作成してみることで知識も深まっていきます。

以上。

Comments