运用R语言、Tushare数据库构建传统动量策略,未完待续

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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值