使用R语言 SDK调取tushare数据

Posted tushare

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用R语言 SDK调取tushare数据相关的知识,希望对你有一定的参考价值。

技术图片

安装Tushare

打开RStudio,在控制台输入命令:

> install.packages(‘Tushare‘)

Tushare的R包需要依赖httr、tidyverse、forecast和data.table这四个包。

由于Tushare包中申明了依赖关系,因此这四个依赖包也会自动下载下来。如果下载过程卡住了,导致下载失败,可以重试几次,毕竟CRAN的服务器不在大陆,后面将介绍如何使用CRAN的国内镜像。

载入Tushare

如同安装过程,在载入Tushare的同时,R也会自动载入其依赖的包。

> library(‘Tushare‘)

也可以通过help查看Tushare的相关信息

> help(‘Tushare‘)

 
技术图片

在R官网也可以看到Tushare的索引信息:

 
技术图片

使用Tushare

获得api接口对象

> api <- Tushare::pro_api(token = ‘YOUR TOKEN HERE‘)

如同在Python包中使用Tushare Pro的pro.query,向api(只要调用Tushare::pro_api获得了接口,你可以使用任意的名字命名)传递想要调用的接口名以及相应的参数就可以调用相应的数据。

在api中,必须传递的是Tushare Pro提供的接口名(详细请见官方网站https://tushare.pro/),其他参数视相应的接口传入相应的参数。

Tips:Tushare的0.1.1版本的R包暂时不支持fields字段。

示例1:只传入接口名而不传入其他参数调用api接口

> api(api_name = ‘stock_basic‘)

 
技术图片

接下来使用pro_bar文档中的一个示例来演示传入接口名和其他参数调用api接口。

示例2:传入接口名和其他参数调用api接口

> api(api_name = ‘daily‘, ts_code = "000001.SZ", start_date = "20181001", end_date = "20181010")

 
技术图片

pro_bar接口的使用

获得pro_bar接口,并命名为bar。和Tushare Pro的python包一样,为了统一使用行情接口,Tushare的R包也提供了pro_bar。

> bar <- Tushare::pro_bar(token = ‘YOUR TOKEN HERE‘)

> bar(ts_code = "000001.SZ", start_date = "20181001", end_date = "20181010")

 
技术图片

bar接口可以传递adj来同时调取行情以及复权因子,并将计算后的结果返回出来。其他接口参数请参考Tushare Pro网站的详细说明。

> bar(ts_code = "000001.SZ", start_date = "20181001", adj = "hfq", ma = c(5,10))

 
技术图片

一个样例

最后,我们来执行一段程序,获取平安银行的后复权数据并完成可视化展示。

df = bar(ts_code="000001.SZ", start_date="20180101", adj="hfq", ma=c(5,10,20)) %>%

        mutate(trade_date = as.Date(gsub(‘^(\\d{4})(\\d{2})(\\d{2})$‘, ‘\\1-\\2-\\3‘, trade_date))) %>%

        mutate_at(vars(3:dim(.)[2]), as.numeric)

df$id = dim(df)[1]:1

df$candleLower = pmin(df$open, df$close)

df$candleUpper = pmax(df$open, df$close)

df$candleMiddle = (df$candleLower+df$candleUpper)/2

theme_set(theme_bw())

p = ggplot(df, aes(x=id))+

    geom_boxplot(aes(lower= candleLower,

                                    middle = candleLower,

                                    upper = candleUpper,

                                    ymin = low,

                                    ymax = high,

                                    color= ifelse(open>close,"green","red"),

                                    width= 0.5),

                            stat = ‘identity‘,

                            size = .5)+

    scale_color_manual(values = c("green","red"))+

    theme(

        panel.grid.major = element_blank(),

        panel.grid.minor = element_blank(),

        panel.background = element_blank(),

        axis.title = element_blank(),

        axis.text.x = element_text(angle = 65, hjust = 1),

        legend.position="none"

    )

p + geom_line(aes(x=id, y=ma5), color="orange", size=.5)+

        geom_line(aes(x=id, y=ma10), color="purple", size=.5)+

geom_line(aes(x=id, y=ma20), color="blue", size=.5)

 
技术图片


tushare积分怎么获得

    本人是做量化投资的,团队转型,换了交易策略,

    手头有多个离职同事的闲置转让.

    600分:原价50元,仅需39元

    1500分:原价140元,仅需109元(售罄)

    2000分:原价190元,仅需149元

    5000分:原价490元,仅需388元(售罄).

    数量不多,需要请连系VX: a56746435 (备注tushare) 

 
技术图片

以上是关于使用R语言 SDK调取tushare数据的主要内容,如果未能解决你的问题,请参考以下文章

通过Python SDK 获取tushare数据

如何从tushare中调取十大股东数据?

python调用tushare的pro_bar通用行情接口

python调用tushare获取股票日线实时行情数据

tushare+matplotlib 简单财务分析

python调用tushare获取沪深A股票资金流向数据