楼主: interconnectyu
2089 3

[程序分享] quantmod之金融数据分析——沪市、深市数据下载 [推广有奖]

  • 0关注
  • 0粉丝

高中生

32%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0.4500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
454 点
帖子
10
精华
0
在线时间
36 小时
注册时间
2007-11-13
最后登录
2025-12-29

楼主
interconnectyu 发表于 2017-1-19 20:24:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
####  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]
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:library

沙发
LW丶loli仔 发表于 2017-1-22 12:17:49
我想问一下这个包里的chartSeries函数能不能同时画两条k线图?

藤椅
ryoeng 在职认证  发表于 2017-1-24 17:26:17
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

板凳
interconnectyu 发表于 2017-2-3 11:46:38
LW丶loli仔 发表于 2017-1-22 12:17
我想问一下这个包里的chartSeries函数能不能同时画两条k线图?
你是指叠加K线图吗?这个应该不可以的。一般情况下叠加后图形不太好看,你可以试试用TTR包的EMA()获得原始数据,用plot()+lines()函数叠加2条K线图看看;或者用grid包输出2个相同尺度的图比较着来看。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 05:28