R语言-股票数据库(3)-股票日K线信息-前复权-Wind

xiaoxiao2021-02-28  69

前文股票历史交易数据是未复权的,在此使用WIND数据库获取复权后价格 安装Rstudio: https://www.rstudio.com/products/rstudio/download/ 安装WIND客户端: WAPI.PE.exe 用户名:略  密码:略 WindR 读取数据通过下面7 个函数实现的。 w.wsd 读取历史序列数据,包括日间的行情数据,基本面数据以及技术数据指标。 w.wss 读取股票、债券、商品等的基本面静态数据。 w.wst 盘口买卖十档快照数据和分时成交数据。 w.wsi 读取分钟级别历史及当天行情数据。 w.wsq 读取证券实时行情数据及技术指标。 w.wset 读取板块成份、指数成份权重等数据。 w.wpf 获取资产管理、组合管理相关信息。 w.tdays 返回区间内的日期序列 w.tdaysoffset 返回某个偏移值对应的日期 w.tdayscount 返回某个区间内日期数量 ############################################################################################ ######################     历史交易数据        ############################################# ############################################################################################ create table stock_info_wind_sz (stock_id varchar(10)    -- 股票代码 ,DATETIME date  -- 日期 ,PRE_CLOSE decimal(8,2)  -- 前收盘价 ,OPEN decimal(8,2)  -- 开盘价 ,HIGH decimal(8,2)  -- 最高价 ,LOW decimal(8,2)  -- 最低价 ,CLOSE decimal(8,2) -- 收盘价 ,VOLUME decimal(18,2) -- 成交量 ,AMT decimal(18,2)      -- 成交额 ,DEALNUM decimal(18,2)  -- 成交笔数 ,CHG decimal(8,2) -- 涨跌 ,SWING decimal(8,2) -- 振幅 ,TURN decimal(8,2) -- 换手率 ,REL_IPO_PCT_CHG  decimal(8,2)  -- 相对发行价涨跌幅 ,CLOSE_SZ decimal(8,2) -- 深市收盘指数 ,RELATE_VAL decimal(8,2) -- 深市收盘指数 ,RPS decimal(8,4) -- 欧奈尔股价相对强度RPS=股价/大盘指数×1000 ) ALTER TABLE stock_info_wind_sz ADD INDEX stock_info_wind_sz_idx (DATETIME); ###############  单次加载交易数据  ################## library(RMySQL) # 建立数据库连接 conn <- dbConnect(MySQL(),dbname = "gushi",username = "root") # 启动非严格模式 dbSendQuery(conn, "SET @@sql_mode=ANSI;")                    # win7环境下如果汉字乱码,就运行这条命令 dbSendQuery(conn, "SET NAMES GBK")                           # 将文件中的数据导入数据库可以使用下面的R命令: w_wsd_data<-w.wsd("002558.SZ","pre_close,open,high,low,close,volume,amt,dealnum,chg,swing,turn,rel_ipo_pct_chg","ED-3M","2011-04-28","Fill=Previous;PriceAdj=F") data_df1<-cbind(w_wsd_data$Code,w_wsd_data$Data) names(data_df1)[1]='stock_id'  dbWriteTable(conn,"stock_info_wind_sz",data_df1,append=T,row.names=F)  #dbSendQuery(conn, sql) dbDisconnect(conn) ###############  循环加载交易数据  ################## library(RCurl) library(RMySQL)  # 载入RMySQL包 library(WindR) w.start() end <- "2017-03-08" table_name <- "stock_info_wind_sz" flag <- ".SZ" security <- readLines("E:/.../数据源/深市股票上市日.txt") code <- vector(length = length(security)) listingdate <- vector(length = length(security)) security.tab <- data.frame(code, listingdate, stringsAsFactors=FALSE) for (i in 1 : length(security)) { security.tab[i,] = do.call(cbind,(strsplit(security[i],"\t")))    } for (i in 1 : length(security)) {   code <- paste(security.tab$code[i],flag,sep="")   start <- security.tab$listingdate[i]   if (nchar(start)!=8){         cat(i,"\t---",code,"\t--- cannot find this stock!","\n")           }        else { start <- paste(substr(start,1,4),substr(start,5,6),substr(start,7,8),sep="-")              cat(i,"\t---",code,"\t---",start,"\n")              conn <- dbConnect(MySQL(),dbname = "gushi",username = "root")  #建立数据库连接              dbSendQuery(conn, "SET @@sql_mode=ANSI;")      # 启动非严格模式              dbSendQuery(conn, "SET NAMES GBK")             # win7环境下如果汉字乱码,就运行这条命令              w_wsd_data<-w.wsd(code,"pre_close,open,high,low,close,volume,amt,dealnum,chg,swing,turn,rel_ipo_pct_chg",start,end,"Fill=Previous;PriceAdj=F")              data_df1<-cbind(w_wsd_data$Code,w_wsd_data$Data)              names(data_df1)[1]='stock_id'               dbWriteTable(conn,table_name,data_df1,append=T,row.names=F)              dbDisconnect(conn)           } }
转载请注明原文地址: https://www.6miu.com/read-55960.html

最新回复(0)