株価 - 売買サインチェック(単純移動平均版)!
Updated:
Ruby + MySQL で自作した株価取得のシステム。 全市場(東京・大阪・名古屋・札幌・福岡)の全銘柄の2000年からの全取引データを取得しています。
今日は、取得している株価データを利用して、買いサイン・売りサインが発生した場合のその後の株価の変動を検証してみました。 全体的にどんな傾向があるのかを把握するのと、Ruby の学習が目的です。
単純移動平均とは、その名のとおり単純に当日を含めた過去数日間の平均(相加平均)で、SMA(Simple Moving Average)と略されます。
以下に、前提条件・検証結果を掲載します。
1.前提条件
1.定義
何を以って、買いサイン・売りサインと見なすかですが、今回は一番単純に、
- その日の株価(終値)が単純移動平均値(SMA)を上回った場合を「買いサイン」
- その日の株価(終値)が単純移動平均値(SMA)を下回った場合を「売りサイン」
としました。
平均値は当日を含めた過去5日分・25日分・75日分の終値で計算しています。 また、調整後終値(株式分割があった場合の調整値)を考慮していません。
2.検証銘柄と検証期間
2012年2月14日現在上場している全市場の3,600銘柄を対象に、2000年1月1日から2011年12月31日の株価データを使用して検証しました。 また、複数の市場に上場している銘柄については、優先市場のみで検証しました。 ※2012/02/17 修正(売買サイン判定基準を微調整) ※全取引件数は 7,963,439 件
2.検証結果
1.サインが発生した件数
[SIGN ] [ 5 ] [ 25 ] [ 75 ]
Long 1,033,977 450,660 247,395
Short 1,035,174 452,357 249,290
5日で計算するよりも25日、25日で計算するよりも75日の方が絞られる。
2.各サイン発生○日後に上昇・変動なし・下降した件数
以下は5日でSMAを計算した場合です。
[SIGN][DAYS] [UP ] ( %) [EVEN ] ( %) [DOWN ] ( %)
Long ( 1 ) 413,496 (40.03%) 116,780 (11.30%) 502,740 (48.67%)
Long ( 2 ) 434,535 (42.09%) 72,241 ( 7.00%) 525,616 (50.91%)
Long ( 3 ) 442,870 (42.92%) 56,893 ( 5.51%) 532,159 (51.57%)
Long ( 4 ) 447,829 (43.41%) 48,870 ( 4.74%) 534,883 (51.85%)
Long ( 5 ) 450,773 (43.72%) 43,079 ( 4.18%) 537,202 (52.10%)
Short ( 1 ) 474,211 (45.82%) 122,281 (11.82%) 438,453 (42.36%)
Short ( 2 ) 488,520 (47.22%) 77,931 ( 7.53%) 468,123 (45.25%)
Short ( 3 ) 491,435 (47.53%) 61,897 ( 5.99%) 480,652 (46.49%)
Short ( 4 ) 492,265 (47.64%) 53,037 ( 5.13%) 488,030 (47.23%)
Short ( 5 ) 494,858 (47.91%) 46,826 ( 4.53%) 491,136 (47.55%)
特に特徴はないように思える。 25日・75日でSMAを計算して検証した結果は掲載していないが、同じような結果となっていた。
3.何日後に最も上昇(買い)/下降(売り)したか
買いサイン発生後、何日後に最も上昇したか、 売りサイン発生後、何日後に最も下降したか、を検証。 以下は5日でSMAを計算した場合です。
[DAYS] [Long ] [Short]
( 1 ) 349,037 311,239
( 2 ) 224,757 216,046
( 3 ) 196,212 200,401
( 4 ) 201,847 216,973
( 5 ) 287,099 322,288
買い(売り)サインが発生した翌日と5日後に大きく上昇(下降)している。 25日・75日でSMAを計算して検証した結果は掲載していないが、25日では翌日と25日後に、75日後では翌日と75日後に大きく上昇(下降)していた。
4.買いサイン発生から売りサイン発生までの間隔と差が + か 0 か − を集計
以下は5日でSMAを計算した場合です。
[DAYS] [UP ] [EVEN ] [DOWN ]
( 1 ) 587 2,981 300,627
( 2 ) 1,915 3,379 163,805
( 3 ) 11,251 7,504 115,507
( 4 ) 46,650 11,526 69,484
( 5 ) 52,434 5,230 21,668
( 6 ) 42,911 2,653 9,397
( 7 ) 33,244 1,278 4,030
( 8 ) 25,062 572 1,728
( 9 ) 18,907 273 763
( 10 ) 13,332 123 430
: : : :
買いサインが発生した直後は株価が下降するが5日後頃から上昇する傾向にある。 25日・75日でSMAを計算して検証した結果は掲載していないが、25日では17日後頃から、75日では37日後頃から上昇する傾向にあった。 要は、この上昇する日に買った株を売れば利益になるということです。
それほど有効性は感じませんが、なんとなく単純移動平均でのサイン発生後の挙動が把握できました。 Ruby 学習の延長で検証作業を行ってみましたが、こうして実際に実用的な何かを作成してみることで知識も深まっていきます。
以上。
Comments