R 対応のある群の比較
ゼミの課題に出ていたこともあり、備忘のため記す。東証時価総額上位18社(データ取得期間中に単位が変わっているKDDIは除く)の終値の変動をみる。
まず、データの取得。無料で取得出来るサイトがある。銘柄の番号を変えればRのfor文で取得出来、自動的に更新もされるので便利。
code <- c(7203,8306,2914,9432,9984,7267,9437,8316,8841,7201, 9433,7751,6902,9983,8802,4502,6954,3382) dat <- NULL comp <- matrix(rep(0,length(code)*6),ncol=6) colnames(comp) <- c("13/7/12","13/5/2","13/2/19","12/11/30","12/9/19","12/7/9") rownames(comp) <- c("Toyota","MUFJ","JT","NTT","Softbank", "Honda","Docomo","MitsuiSumitomoFG","Mizuho","Nissan", "KDDI","Canon","Denso","FR","MitsubishiJisyo", "Takeda","Fanac","Seven&I") for (i in 1:length(code)) { dat[[i]] <- read.csv(paste("http://k-db.com/site/jikeiretsu.aspx?c=",code[i],"-T&hyouji=&download=csv",sep=""), skip=1,header=TRUE) try(comp[i,1] <- dat[[i]][1,5]) try(comp[i,2] <- dat[[i]][50,5]) try(comp[i,3] <- dat[[i]][100,5]) try(comp[i,4] <- dat[[i]][150,5]) try(comp[i,5] <- dat[[i]][200,5]) try(comp[i,6] <- dat[[i]][250,5]) print(paste("i =",i,"done")) }
次に標準化。
#例外(KDDI)を除去 comp <- comp[-11,] #12/7/9との比に調整 for (j in 1:ncol(comp)) { comp[,j] <- comp[,j]/comp[,6] }
最後の図示。順に点表示、線表示、レーダー表示。
#点表示 plot(comp[,4],comp[,1],xlab="12/11/30の株価(終値)", ylab="13/7/12の株価(終値)",main="時価総額上位18社の株価(12/7/9=1)") #線表示 dat <- rbind(comp[,4],comp[,1]) matplot(dat,type="l",axes=FALSE,ylab="株価(12/7/9=1)") axis(1,c(1,2),c("12/11/30","13/7/12")) axis(2,seq(floor(min(dat)/0.05)*0.05, (floor(max(dat)/0.05)+1)*0.05,by=0.05)) #レーダー(日付軸)
source("http://aoki2.si.gunma-u.ac.jp/R/src/radar.R", encoding="euc-jp") dat2 <- cbind(comp[,4],comp[,3],comp[,1]) colnames(dat2) <- c("12/11/30","13/2/19","13/7/12") radar(dat2,max=(floor(max(dat)/0.05)+1)*0.05, min=floor(min(dat)/0.05)*0.05, z.score=FALSE,col=c(1:nrow(comp)) ,lty=1,title="株価(12/7/9=1)")
#レーダー(企業軸)
dat3 <- rbind(comp[,6],comp[,5],comp[,4],comp[,3],comp[,2],comp[,1]) radar(dat3,max=2.25,min=0.75, z.score=FALSE,col=c(1:nrow(comp)) ,lty=1,title="株価(12/7/9=1)") coln <- c("12/7/9","12/9/19","12/11/30","13/2/19","13/5/2","13/7/12") legend("topright",coln,col=c(1:ncol(comp)),lty=c(1))
トヨタ・FastRetailing(ユニクロ)の値上がり率が群を抜いて高いことがわかる。FRは主に中国生産だと思われるので、円安の悪影響を受けそうだがそれでも株価が上がっている(なぜだろうか?)。トヨタは依然国内生産比率が4割であるので、国内生産の恩恵を受けたのだろう。製造業は円安・円高と生産・物流拠点配置との関係を見ても面白いだろう。
【追記】
言わずもがなではあるが、12/11/30と13/7/12の18社の平均値に有意な差があるか、対応のあるt検定を行う。
t.test(comp[,6],comp[,1],paired=TRUE)
結果がこれ。p値が1.162×10^-6であるので、有意水準5%で確かに株価の平均値には有意な差があるとわかる。
Paired t-test data: comp[, 6] and comp[, 1] t = -7.5517, df = 16, p-value = 1.162e-06 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -0.8117973 -0.4559223 sample estimates: mean of the differences -0.6338598