R语言金融分析作业(一)
生活随笔
收集整理的這篇文章主要介紹了
R语言金融分析作业(一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、從WDI分別下載所有國家2016年和2017年GDP數據
1)計算經濟增長
2)變成寬數據
library(WDI) library(reshape) #在線獲取數據 DF <- WDI(country="all",indicator="NY.GDP.PCAP.KD",start=2016, end=2017) head(DF,6) #整理數據 j<-1 country<-c() iso2c<-c() GDP2017<-c() GDP2016<-c() for(i in 1:(length(DF[,1])/2)){iso2c<-append(iso2c,DF[j,1])country<-append(country,DF[j,2])GDP2017<-append(GDP2017,DF[j,3])GDP2016<-append(GDP2016,DF[j+1,3])j<-j+2 } country_GDP<-data.frame(iso2c,country,GDP2016,GDP2017) head(country_GDP,6) #1)計算經濟增長 eco_strenth<-country_GDP$GDP2017/country_GDP$GDP2016-1 head(eco_strenth,6) #2)變成寬數據 DFw<-reshape(DF,timevar="year",idvar="country",direction="wide") head(DFw,6)2、用quantmod程序包下載中國平安,工商銀行,上證指數,新和成四家公司2016年后行情數據
1)求出中國平安公司在2019.1-2019.10的股票總成交量
2)找出這些股票暴漲暴跌的時間點(例如開盤價或收盤價比前一天漲跌幅度超過3%),通過搜索引擎尋找是什么原因導致這些暴漲暴跌,觀察(或用程序分析)數據,看就暴漲暴跌事件是否有可以利用的買賣規律
3)上證指數數據集中產生一個新的變量level:漲幅超過5%標為“暴漲”;漲幅在(0,0.05)標為“略漲”;漲幅為0標為“零”;跌幅為(-0.05,0)為“略跌”;跌幅超過5%標為“暴跌”。
4)提取各股票股指收盤價,合并到一個數據集closed,計算各家公司的收盤收益率;將closed數據集保存為.Rdata數據。
5)將closed數據變為窄數據
6)將Rstudio中的編程代碼保存為PDF文件
library(zoo) library(xts) library(TTR) library(quantmod) library(reshape) #中國平安 setSymbolLookup(ZGPA=list(name='601318.ss',src='yahoo')) getSymbols("ZGPA",from='2016-01-01',to='2020-03-20') #工商銀行 setSymbolLookup(GSYH=list(name='601398.ss',src='yahoo')) getSymbols("GSYH",src="yahoo",from='2016-01-01',to='2020-03-20') #上證指數 getSymbols("^SSEC",src="yahoo",from='2016-01-01',to='2020-03-20') #新和成 setSymbolLookup(XHC=list(name='002001.sz',src='yahoo')) getSymbols("XHC",src="yahoo",from='2016-01-01',to='2020-03-20') head(XHC,3)#1)求出中國平安公司在2019.1-2019.10的股票總成交量 apply(ZGPA["2019-01-01/2019-10-31"][,5],2,sum,na.rm=T)#2)找出這些股票暴漲暴跌的時間點(例如開盤價或收盤價比前一天漲跌幅度超過3%) SSEC$rate<-diff(log(c(SSEC[,1]))) head(SSEC) SSEC[which(abs(SSEC$rate)>0.03)] #3)上證指數數據集中產生一個新的變量level:漲幅超過5%標為“暴漲”;漲幅在(0,0.05)標為“略漲”;漲幅為0標為“零”;跌幅為(-0.05,0)為“略跌”;跌幅超過5%標為“暴跌”。 SSEC$level<-NA SSEC$level[SSEC$rate>=0.05]<-"暴漲" SSEC$level[SSEC$rate<0.05 & SSEC$rate>0]<-"略漲" SSEC$level[SSEC$rate==0]<-"零" SSEC$level[SSEC$rate<0 & SSEC$rate>-0.05]<-"略跌" SSEC$level[SSEC$rate<=-0.05]<-"暴跌" head(SSEC) #4)提取各股票股指收盤價,合并到一個數據集closed,計算各家公司的收盤收益率;將closed數據集保存為.Rdata數據。 closed<-cbind(c(ZGPA[,4]),c(GSYH[,4]),c(XHC[,4]),c(SSEC[,4])) colnames(closed)<-c("ZGPA","GSYH","XHC","SSEC") close<-data.frame(closed) head(close,3) rate_close<-cbind(diff(log(closed[,1])),diff(log(closed[,2])),diff(log(closed[,3]))) colnames(rate_close)<-c("ZGPA_clorate","GSYH_clorate","XHC_clorate") head(rate_close,3) save(closed,file="C:/Users/Desktop/closed.Rdata") #5)將closed數據變為窄數據 closedL<-stack(as.data.frame(closed)) head(closedL)#6)將Rstudio中的編程代碼保存為PDF文件 pdf(file="C:/Users/Desktop/第二講數據獲取與處理 作業.pdf") while (!is.null(dev.list())) dev.off()總結
以上是生活随笔為你收集整理的R语言金融分析作业(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬虫爬当当网_爬虫实战一:爬
- 下一篇: Study13(从小白到大佬)