library(tidyverse)
library(tidyquant)
library(quantmod)
library(timetk)
library(stringr)
library(Tushare)
shcode <- read.csv("D:/Rstudio/B1.csv")
str(shcode)
code <- paste0(shcode[,1],".sz")
shcode[,3] <- as.Date(shcode[,3])
new_shcode <- shcode %>%
filter(!str_detect(name, "ST")) %>%
filter(!str_detect(startdate, "^(2019|2020)"))
location <- 1
skip <- 0
pro<-pro_api(token="*****************************************************************")
for(i in location:length(shcode)){
name=code[i]
from=new_shcode[i,3]
df = pro(api_name="monthly",ts_code=name,start_date=from,end_date="20200101")
m<-(df[,3]-df[,4])/df[,4]
if(i==1){
r<-data.frame(df[,2],m)
}
else{
r<-data.frame(r,m)
}
}
write.csv(r,"D:/Rstudio/month.csv")
r<-read.csv("D:/Rstudio/month.csv")
r<-xts(r[,-1],order.by=as.Date(r[,1]))
NA_row <- vector()
for(i in 1:nrow(r)){
NA_row[i]=sum(is.na(r[i,]))
}
rr <- tk_tbl(r)
rr_mom <- rr %>%
tq_mutate(mutate_fun = rollapply,
width = 3,
FUN = mean,
by.column = TRUE,
col_rename = paste0("history",1:ncol(r))) %>%
tk_xts(silent=T)
R语言小白,暂时只写了一部分,部分代码效率不高,还在修改中,其他部分还在调试中,加油!!!(ID:446541)