ここ一年のTOPIX30の株価(終値)の推移
ここ一年のTOPIX30の株価(終値)を可視化してみた。
便利なパッケージがあるらしいが、うまく機能しなかった。 yahooではスクレイピングを禁止しているらしい、 また、させないように仕様を頻繁に?変更しているらしいので、 そのほかでできそうな記事を参考にやってみた。
これだけで各株のトレンドが一目瞭然なので便利そう。
library(tidyverse) library(lubridate) options(stringsAsFactors = F)
# 証券コードと名前の変換用 code_list <- rio::import("http://www.jpx.co.jp/markets/statistics-equities/misc/tvdivq0000001vg2-att/data_j.xls") topix30 <- code_list %>% filter(規模区分 == "TOPIX Core30") code <- topix30$コード stock <- NULL for (i in seq_len(length(code))){ url <- paste("http://k-db.com/stocks/", code[i], "-T?1d/2017?&download=csv", sep = "") stock[[i]] <- read.table(url, sep = ",", skip = 2) colnames(stock[[i]]) <- c("date", "start_price", "max_price", "min_price", "end_price","volume","trading_value") # dateをでdate要素に変更 stock[[i]] <- stock[[i]] %>% mutate_at(.vars = "date", ymd) Sys.sleep(5) } names(stock) <- code data_list <- NULL for (i in seq_len(length(stock))){ data_list <- rbind(data_list, stock[[i]] %>% mutate(code = as.character(code[i]))) } p <- data_list %>% mutate(code = plyr::mapvalues(x = code, from = topix30$コード, to = topix30$銘柄名)) %>% ggplot() + geom_line(aes(x = date, y = end_price)) + facet_wrap(~code, scales = "free_y") p
点は月曜日である。 JR系の株価がうなぎのぼり。
データの取得に関してはほとんどこのサイト のパクリです。