#### quantmod之金融数据分析(R) ####
rm(list=ls())
library(quantmod)
#### 获取stock代码 ####
#Company ID of SSE can be dowloaded at: http://english.sse.com.cn/listed/company/
#Company ID of SZSE can be dowloaded at: http://www.szse.cn/main/marketdata/jypz/colist/
#### 获取的stock代码需要进行适当修改,SSE加后缀“.ss”、SZSE加后缀“.sz” ####
#paste0(ID$code,".ss")->ID$code
read.csv("E:/ID.csv",as.is=TRUE,na.strings="NA")->stock
symbols<- stock$code
startDate = as.Date("2014-01-01") ##下载2014年至当前时间所有上市公司历史交易数据
(as.Date(format(Sys.Date(),"%Y-%m-%d"))->endDate)
n <- length(symbols)
pb <- txtProgressBar(min = 0, max = n, style=3) # progress bar
dataset<- xts()
for(i in 1:n)
{
setSymbolLookup(symbol=list(name=symbols[i],src="yahoo"))
tryit <- try(getSymbols("symbol",from = startDate, to = endDate, src="yahoo"))
if(inherits(tryit, "try-error"))
{
i <- i+1
} else {
data <- getSymbols("symbol", from = startDate, to = endDate,src="yahoo")
dataset <- merge(dataset, get("SYMBOL"))
rm(symbol)
}
setTxtProgressBar(pb, i)
}
rm(stock);rm(n);rm(pb);rm(tryit);rm(i);rm(data);rm(SYMBOL);rm(symbols);rm(endDate);rm(startDate)
setwd("E:/stocks")
save.image()
#### 查看某个stock历史数据 ####
dataset[,grep("000001",names(dataset),ignore.case = TRUE)]->data
data["2016-12/2017-01-01"]
#### 作图 ####
chartSeries(data, theme = "white",TA="addVo(); addMACD()",subset="last 30 weeks")
#addADX; addATR; addBBands; addCCI; addCMF; addCMO; addDEMA; addDPO; addEMA; addEnvelope;
#addEVWMA; addExpiry; addMACD; addMomentum; addROC; addRSI; addSAR; addSMA; addSMI; addTRIX;
#addVo; addWMA; addWPR; addZLEMA; addVolatility()
#### modelling ####
#lm, glm, loess, step, ppr, rpart[rpart], tree[tree], randomForest[randomForest],
#mars[mda], polymars[polspline], lars[lars], rq[quantreg], lqs[MASS], rlm[MASS], svm[e1071], nnet[nnet]


雷达卡






。一般情况下叠加后图形不太好看,你可以试试用TTR包的EMA()获得原始数据,用plot()+lines()函数叠加2条K线图看看;或者用grid包输出2个相同尺度的图比较着来看。
京公网安备 11010802022788号







