2016年4月2日土曜日

4月1日大荒れ

今、xに三菱UFJの直近250日分のxtsデータが入っている。
> head(x)
Open High Low Close Volume B
2015-03-26 777.0 777.7 761.0 765.1 76876300 59066990800
2015-03-27 756.0 775.4 747.0 752.2 79314300 60202202570
2015-03-30 749.5 761.0 738.6 756.5 56267600 42334099610
2015-03-31 769.0 771.9 743.7 743.7 63092000 47765287060
2015-04-01 742.6 758.1 735.6 748.7 75510400 56313185200
2015-04-02 748.7 781.7 747.8 773.0 100087400 77006686960
>
このようなデータを東証1部の各銘柄について、用意し、codeで参照できるようにした。
例えば、
> head(xt[["8306-T"]])
Open High Low Close Volume B
2015-03-13 781.0 795.4 778.0 789.5 134578900 105896527510
2015-03-16 797.1 809.5 790.0 797.0 92907600 74319257560
2015-03-17 807.0 811.0 792.5 793.2 72521700 58100512040
2015-03-18 792.1 808.9 787.0 806.6 75154500 59901916890
2015-03-19 803.0 805.6 781.2 785.0 101420600 80007293730
2015-03-20 783.7 790.0 777.0 790.0 59188500 46364901100
>
上記xと違うのは、xtはしばらく前にダウンロードしたデータをもとに作ったので、開始日が早い。その後、日々のデータを追加している。
xtはxtsデータからなるリストである。これを用いて、4月1日の株価下落の様子を調べてみよう。
前日の終値と比べて、本日(4月1日)の終値が下がっているか上がっているかを調べる。

yを見てみると

Close
2016-03-31 258
2016-04-01 252

この銘柄は6円下がっている。差をとるには、numericに変換しないといけないようだ。


[1] -6
これを全銘柄に適用する。

> head(v)
1301-T 1332-T 1333-T 1352-T 1377-T 1379-T
-6  -8   -70  -1  -57  -45
>
先頭の6銘柄についての様子である。ちなみに

> length(v)
[1] 1956

下落した銘柄数、上昇した銘柄数を調べてみる。

> table(sign(v))
-1  0  1
1862  17 73

なんてこった。(一応説明すると下落1862銘柄、上昇73銘柄、変わらず17銘柄)
業種別にどうなっているか知りたくなった。
業種については

で取得したデータ
> head(d)
コード 市場 銘柄名 業種 始値 高値 安値 終値 出来高 売買代金
1 1301-T 東証1部 極洋 水産・農林業 258 259 251 252 408000 103496000
2 1305-T 東証 ダイワ上場投信-トピックス その他 1411 1411 1362 1364 625380 861540000
3 1306-T 東証 TOPIX連動型上場投資信託 その他 1390 1392 1344 1346 11197880 15220495740
4 1308-T 東証 上場インデックスファンドTOPIX その他 1378 1378 1331 1334 2757600 3700777800
5 1309-T 東証 上海株式指数・上証50連動型上場投資信託 その他 26750 26750 26200 26280 385 10206250
6 1310-T 東証 ダイワ上場投信-トピックス・コア30 その他 635 635 616 619 2330 1445340
>
に業種があるのでこれを使う。項目名をaからjに付け替え、更に、コードで参照できるようにする。

コードがa、業種がdである。例えば
> d["1301-T","c"]
[1] 極洋
> d["1301-T","d"]
[1] 水産・農林業
なお、それぞれの下にLevels表示がされたがカットした。

出力をこのまま乗せると形が崩れるので、データフレームの形にして乗せることにする。このようにやるようだ。
> as.data.frame.matrix(tt)





0 件のコメント:

コメントを投稿