株価 - 売買サインチェック(単純移動平均・ゴールデンクロス/デッドクロス版)!
Updated:
Ruby + MySQL で自作した株価取得のシステム。 全市場(東京・大阪・名古屋・札幌・福岡)の全銘柄の2000年からの全取引データを取得しています。
今回は、単純移動平均線(= SMA)のゴールデンクロス・デッドクロスを買いサイン・売りサインとした場合のその後の株価の変動を検証してみました。 ※全体的にどんな傾向があるのかを把握するのと、Ruby の学習が目的です。
個人的な記録ですので、興味が無ければ読み飛ばしてください。
ゴールデンクロス(デッドクロス)とは短期と長期の移動平均線を計算し、短期の値が長期の値を上抜けた(下抜けた)場合のことを言います。 株式用語については、ここでは詳しく説明しません。Web等で調べてください。
以下に、前提条件・検証結果を掲載します。
1.前提条件
1.定義
何を以って、買いサイン・売りサインと見なすかですが、今回は
- その日の短期SMAが長期SMAを上回った場合を「買いサイン」
- その日の短期SMAが長期SMAを下回った場合を「売りサイン」
としました。
検証した短期SMAと長期SMAの日数の組み合わせは、[5, 25], [5, 75], [25, 75] です。 また、調整後終値(株式分割があった場合の調整値)を考慮していません。
2.検証銘柄と検証期間
2012年2月14日現在上場している全市場の3,600銘柄を対象に、2000年1月1日から2011年12月31日の株価データを使用して検証しました。 また、複数の市場に上場している銘柄については、優先市場のみで検証しました。 ※2012/02/19 修正(売買サイン判定基準を微調整) ※全取引件数は 7,963,439 件
2.検証結果
1.サインが発生した件数
SIGN ( 5 ) ( 25 ) ( 75 )
[Long ] 215,427 109,335 57,546
[Short] 217,327 111,352 59,761
5日で計算するよりも25日、25日で計算するよりも75日の方が絞られる。
2.各サイン発生○日後に上昇・変動なし・下降した件数
以下は [ 短期EMA=5日, 長期EMA=25日 ] で計算した場合です。
[SIGN][DAYS] [UP ] ( %) [EVEN ] ( %) [DOWN ] ( %)
Long ( 1 ) 85,389 (39.65%) 25,071 (11.64%) 104,881 (48.70%)
Long ( 2 ) 88,050 (40.90%) 15,488 ( 7.19%) 111,744 (51.91%)
Long ( 3 ) 88,727 (41.23%) 12,148 ( 5.64%) 114,341 (53.13%)
Long ( 4 ) 89,082 (41.41%) 10,360 ( 4.82%) 115,676 (53.77%)
Long ( 5 ) 89,435 (41.59%) 9,172 ( 4.27%) 116,422 (54.14%)
Long ( 6 ) 90,185 (41.96%) 8,383 ( 3.90%) 116,381 (54.14%)
Long ( 7 ) 90,558 (42.14%) 7,602 ( 3.54%) 116,717 (54.32%)
Long ( 8 ) 90,988 (42.36%) 7,109 ( 3.31%) 116,721 (54.33%)
Long ( 9 ) 91,206 (42.47%) 6,557 ( 3.05%) 117,003 (54.48%)
Long ( 10 ) 91,618 (42.67%) 6,264 ( 2.92%) 116,816 (54.41%)
Long ( 11 ) 91,935 (42.84%) 5,836 ( 2.72%) 116,837 (54.44%)
Long ( 12 ) 92,518 (43.13%) 5,615 ( 2.62%) 116,381 (54.25%)
Long ( 13 ) 92,802 (43.30%) 5,349 ( 2.50%) 116,173 (54.20%)
Long ( 14 ) 92,934 (43.38%) 5,124 ( 2.39%) 116,160 (54.23%)
Long ( 15 ) 93,224 (43.55%) 4,902 ( 2.29%) 115,955 (54.16%)
Long ( 16 ) 93,484 (43.70%) 4,709 ( 2.20%) 115,729 (54.10%)
Long ( 17 ) 93,756 (43.88%) 4,538 ( 2.12%) 115,359 (53.99%)
Long ( 18 ) 93,915 (44.00%) 4,430 ( 2.08%) 115,110 (53.93%)
Long ( 19 ) 93,718 (43.99%) 4,336 ( 2.04%) 114,977 (53.97%)
Long ( 20 ) 93,897 (44.14%) 4,199 ( 1.97%) 114,616 (53.88%)
Long ( 21 ) 93,728 (44.11%) 3,998 ( 1.88%) 114,752 (54.01%)
Long ( 22 ) 93,520 (44.04%) 3,929 ( 1.85%) 114,893 (54.11%)
Long ( 23 ) 93,521 (44.07%) 3,837 ( 1.81%) 114,873 (54.13%)
Long ( 24 ) 93,583 (44.11%) 3,691 ( 1.74%) 114,881 (54.15%)
Long ( 25 ) 93,568 (44.11%) 3,664 ( 1.73%) 114,869 (54.16%)
Short ( 1 ) 98,457 (45.33%) 25,913 (11.93%) 92,839 (42.74%)
Short ( 2 ) 102,872 (47.39%) 16,487 ( 7.60%) 97,699 (45.01%)
Short ( 3 ) 104,284 (48.07%) 13,083 ( 6.03%) 99,556 (45.89%)
Short ( 4 ) 104,672 (48.28%) 11,068 ( 5.10%) 101,083 (46.62%)
Short ( 5 ) 104,855 (48.38%) 9,863 ( 4.55%) 102,014 (47.07%)
Short ( 6 ) 104,272 (48.14%) 8,940 ( 4.13%) 103,375 (47.73%)
Short ( 7 ) 104,003 (48.06%) 8,318 ( 3.84%) 104,077 (48.10%)
Short ( 8 ) 103,835 (48.03%) 7,627 ( 3.53%) 104,737 (48.44%)
Short ( 9 ) 103,385 (47.87%) 7,333 ( 3.40%) 105,230 (48.73%)
Short ( 10 ) 102,822 (47.64%) 6,862 ( 3.18%) 106,138 (49.18%)
Short ( 11 ) 102,468 (47.50%) 6,495 ( 3.01%) 106,762 (49.49%)
Short ( 12 ) 102,083 (47.34%) 6,120 ( 2.84%) 107,431 (49.82%)
Short ( 13 ) 101,699 (47.17%) 5,875 ( 2.73%) 108,017 (50.10%)
Short ( 14 ) 101,106 (46.91%) 5,743 ( 2.66%) 108,677 (50.42%)
Short ( 15 ) 100,823 (46.80%) 5,477 ( 2.54%) 109,140 (50.66%)
Short ( 16 ) 100,509 (46.67%) 5,251 ( 2.44%) 109,615 (50.89%)
Short ( 17 ) 100,282 (46.57%) 5,161 ( 2.40%) 109,890 (51.03%)
Short ( 18 ) 99,934 (46.42%) 4,942 ( 2.30%) 110,401 (51.28%)
Short ( 19 ) 99,838 (46.39%) 4,859 ( 2.26%) 110,534 (51.36%)
Short ( 20 ) 99,648 (46.31%) 4,795 ( 2.23%) 110,746 (51.46%)
Short ( 21 ) 99,564 (46.28%) 4,696 ( 2.18%) 110,879 (51.54%)
Short ( 22 ) 99,644 (46.33%) 4,531 ( 2.11%) 110,900 (51.56%)
Short ( 23 ) 99,612 (46.33%) 4,318 ( 2.01%) 111,091 (51.67%)
Short ( 24 ) 99,577 (46.33%) 4,253 ( 1.98%) 111,085 (51.69%)
Short ( 25 ) 99,562 (46.35%) 4,191 ( 1.95%) 111,052 (51.70%)
特に大きな特徴はないように思える。 [ 短期SMA=5日, 長期SMA=75日 ]、[ 短期SMA=25日, 長期SMA=75日 ] で計算して検証した結果は掲載していないが、同じような結果となっていた。
3.何日後に最も上昇(買い)/下降(売り)したか
買いサイン発生後、何日後に最も上昇したか、 売りサイン発生後、何日後に最も下降したか、を検証。 以下は [ 短期SMA=5日, 長期SMA=25日 ] で計算した場合です。
[DAYS] [Long ] [Short]
( 1 ) 35,850 27,941
( 2 ) 20,016 17,285
( 3 ) 15,119 13,461
( 4 ) 12,470 11,711
( 5 ) 11,063 10,695
( 6 ) 10,060 10,028
( 7 ) 9,172 9,571
( 8 ) 8,625 8,992
( 9 ) 8,148 8,564
( 10 ) 7,788 8,400
( 11 ) 7,403 8,263
( 12 ) 7,508 8,408
( 13 ) 7,407 8,427
( 14 ) 7,275 8,254
( 15 ) 7,421 8,227
( 16 ) 7,221 8,235
( 17 ) 7,479 8,442
( 18 ) 7,702 8,680
( 19 ) 7,839 9,129
( 20 ) 7,844 9,676
( 21 ) 8,746 10,062
( 22 ) 9,406 10,942
( 23 ) 10,485 12,615
( 24 ) 13,247 15,359
( 25 ) 22,037 25,271
買い(売り)サインが発生した翌日と25日後に大きく上昇(下降)している。 [ 短期SMA=5日, 長期SMA=75日 ]、[ 短期SMA=25日, 長期SMA=75日 ] で計算して検証した結果は掲載していないが、[ 短期SMA=5日, 長期SMA=75日 ]では翌日と75日後に、[ 短期SMA=25日, 長期SMA=75日 ] でも翌日と75日後に大きく上昇(下降)していた。
4.買いサイン発生から売りサイン発生までの間隔と差が + か 0 か − を集計
以下は [ 短期SMA=5日, 長期SMA=25日 ] で計算した場合です。
[DAYS] [UP ] [EVEN ] [DOWN ]
( 1 ) 1,530 1,256 11,179
( 2 ) 810 456 9,061
( 3 ) 574 294 9,101
( 4 ) 326 169 9,834
( 5 ) 30 44 11,815
: : : :
( 21 ) 1,849 200 2,497
( 22 ) 1,983 167 1,933
( 23 ) 2,069 146 1,497
( 24 ) 1,992 117 1,126
( 25 ) 1,895 98 820
: : : :
買いサインが発生した直後は株価が下降するが22日後頃から上昇する傾向にある。 [ 短期SMA=5日, 長期SMA=75日 ]、[ 短期SMA=25日, 長期SMA=75日 ] で計算して検証した結果は掲載していないが、[ 短期SMA=5日, 長期SMA=75日 ] では54日後頃から、[ 短期SMA=25日, 長期SMA=75日 ] では68日後頃から上昇する傾向にあった。
先日からやっている単純移動平均や指数移動平均の終値の上抜け・下抜け具合から買いサイン・売りサインを判定するよりは、若干ですが有効性はありそうに感じました。
Ruby 学習の延長で検証作業を行ってみましたが、こうして実際に実用的な何かを作成してみることで知識も深まっていきます。
以上。
Comments