library(xts) library(gdata) library(quantmod) #wtiのデータダウンロード d1<-read.xls("http://www.eia.gov/dnav/pet/hist_xls/RCLC1d.xls",sheet=2,skip=3,header=F) wti<-d1 #ここで日付けの書式を確認 head(wti) names(wti)<-c("date","wti") # Sys.setlocale("LC_TIME", "C") #windowsとlinuxとでは日付けの書式が微妙に違うことあり #以下はlinuxの場合 #wti$date<-strptime(wti$date,format ="%b %d, %Y") #以下はwindowsの場合 wti$date<-strptime(wti$date,format ="%b %d %Y") head(wti) #brent のデータダウンロード d1<-read.xls("http://www.eia.gov/dnav/pet/hist_xls/RBRTEd.xls",sheet=2,skip=3,header=F) brent<-d1 head(brent) names(brent)<-c("date","brent") Sys.setlocale("LC_TIME", "C") #以下はlinuxの場合 #brent$date<-strptime(brent$date,format ="%b %d, %Y") #以下はwindowsの場合 brent$date<-strptime(brent$date,format ="%b %d %Y") head(brent) #rm(d1) #OPECバスケット価格のデータダウンロード doc <- readLines("http://www.opec.org/basket/basketDayArchives.xml") doc <- subset(doc, grepl("BasketList data=",doc)) d<-gsub("\"","",gsub("<BasketList data=","",gsub("val=","",gsub(" />","",doc)))) opec<-data.frame(date=substring(d,1,10),opec=as.numeric(substring(d,11))) #mergeするall=Tをつけること oil <- merge(merge(wti,brent, all=T),opec,all=T) # #みずほ銀行 ヒストリカルデータ(為替) #2002-04-01 d<-read.csv("http://www.mizuhobank.co.jp/rate/market/csv/quote.csv",skip=2) # #Nikkei225 getSymbols('^N225',from ="2002-04-01") attributes(N225)$tzone #[1] "UTC" #原油(oil)ドル円(d)をN225とマージするときこのままだと9時間ずれる UTC to JST(UTC+9) # xtsオブジェクトにするとき +9*60*60 してずれをなくす d.xts<-as.xts(zoo(d[,2]), as.POSIXct(d[,1])+9*60*60) names(d.xts)<-"USD" # oil.xts <- as.xts(zoo(oil[,-1]), as.POSIXct(oil[,1])+9*60*60) # #原油のデータとUSD/JPYのデータをマージする #data.xts<-na.locf(merge(oil.xts["2002-04-01::",],d.xts["2002-04-01::",],N225["2002-04-01::",4])) data.xts<-merge(oil.xts["2002-04-01::",],d.xts["2002-04-01::",],N225["2002-04-01::",4]) # #png("data201601.png",width=1000,height=800) par(mfcol=c(3,2),mar = c(3, 5, 2, 2)) plot.zoo(data.xts[,c("wti","brent","opec")],col = c("blue","red","green"), lwd=0.8,las=1,plot.type = "single" , xlab="Year", ylab="USD",main="Crude Oil Prices(2002-04-01~)") legend("topleft", colnames(data.xts[,1:3]), lty = 1, col = c("blue", "red","green")) abline(h=30,lty=3,lwd=0.5,col="red") plot.zoo(data.xts[,"N225.Close"], xlab="Year", ylab="YEN",main="Nikkei225(2002-04-01~)") plot.zoo(data.xts[,"USD"], xlab="Year", ylab="YEN",las=1,main="USD/JPY(2002-04-01~)") plot.zoo(data.xts["2012::","wti"]*data.xts["2012::","USD"], xlab="Year", ylab="YEN",main="WTI原油価格(円換算)2012~") abline(h=4000,lty=3,lwd=0.5,col="red") plot.zoo(data.xts["2012::","N225.Close"], xlab="Year", ylab="YEN",main="Nikkei225 2012~") abline(h=14000,lty=3,lwd=0.5,col="red") plot.zoo(data.xts["2012::","N225.Close"]/data.xts["2012::","USD"], xlab="Year", ylab="USD",main="Nikkei225(USドル換算)2012~") abline(h=140,lty=3,lwd=0.5,col="red") par(mfrow=c(1,1)) #dev.off()
|