1,连接WindR
- setwd("D:/MyDriversRoad/R_files12")
- library(WindR)
- w.start()
2,是否连接
- w.isconnected()
3,【基于WindR获取沪深300指数成分股股价并导入至csv文件/table文件】
源码:
本帖隐藏的内容
- # 首先创建两个新的文件夹
- dir.create('HS300ConstituteCsv')
- dir.create('HS300ConstituteRData')
- # 获取当前的文件夹
- startdate<-'2008-01-01'
- enddate<-'2015-7-16'
- ## 获取沪深300所有成分股的股价
- fields<-c('open','high','low','close','volume')
- CurrentForder<-getwd()
- ## 获取沪深300证指数的成分股
- HS300Index<-w.wset("IndexConstituent",
- "date=20130608;windcode=000300.SH;field=wind_code")
- HS300ConstituentIndex.Data<-HS300Index$Data
- HS300ConstituentCode<-HS300ConstituentIndex.Data[,2]
- CSVfile<-paste(CurrentForder,'/HS300ConstituteCsv',sep='')
- RDatafile<-paste(CurrentForder,'/HS300ConstituteRData',sep='')
- for (i in HS300ConstituentCode)
- {
- CurrentData<-w.wsd(i,fields,startdate,
- enddate,'Fill=Previous;Priceadj=F')$Data
- CurrentDataFile<-paste(RDatafile,'/',strsplit(i,'\\.')[[1]][1],
- 'Constitute.','RData',sep='')
- CurrentCSVFile<-paste(CSVfile,'/',strsplit(i,'\\.')[[1]][1],
- 'Constitute.','csv',sep='')
- write.csv(CurrentData,CurrentCSVFile)
- save(CurrentData,file=CurrentDataFile)
- }
- # 查看时间
- proc.time();
- # 将所有的数据存储在一个文件内
- HS300ConstituentData<-list()
- for (i in HS300ConstituentCode)
- {
- CurrentData<-w.wsd(i,fields,startdate,
- enddate,'Fill=Previous;Priceadj=F')$Data
- HS300ConstituentData<-c(HS300ConstituentData,list(CurrentData))
- }
- Names<-NULL
- HS300Code<-strsplit(HS300ConstituentCode,'\\.')
- for (i in c(1:300))
- {
- Names<-c(Names,HS300Code[[i]][1])
- }
- names(HS300ConstituentData)<-Names
- save(HS300ConstituentData,file='HS300ConstituentData.RData')
- proc.time();
- ## 【类似于Matlab的Struct的数据】
4,【批量获取上证50高频数据】
本帖隐藏的内容
- ## Fantuanxiaot
- rm(list=ls())
- SH50Code<-w.wset('IndexConstituent',
- 'date=20150122;windcode=000016.SH;field=wind_code')
- SH50Code<-SH50Code$Data
- SH50Code<-SH50Code['wind_code']
- SH50Code<-SH50Code[[1]]
- # 选择日期
- startdate<-'2015-01-01 09:30:01'
- enddate<-'2015-7-16 14:30:01'
- fields<-c('open','high','low','close','volume')
- for (i in SH50Code)
- {
- Name<-strsplit(i,'\\.')[[1]][1]
- CurrentData<-w.wsi(i, fields, startdate, enddate,
- 'Fill=Previous;BarSize=15;Priceadj=F')$Data
- Currentfile<-paste(Name,'HighFreq.csv',sep='')
- write.csv(CurrentData,Currentfile)
- }
- # 计算时间
- proc.time();
- # 【这样获取了上证50成分股的所有高频数据】