楼主: tushare01
998 1

[学习分享] 使用R语言 SDK调取tushare股票数据 [推广有奖]

  • 0关注
  • 1粉丝

小学生

50%

还不是VIP/贵宾

-

威望
0
论坛币
40 个
通用积分
3.0076
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
80 点
帖子
3
精华
0
在线时间
5 小时
注册时间
2019-9-27
最后登录
2019-11-4

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
安装Tushare

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

  1. > install.packages('Tushare')
复制代码

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

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


载入Tushare

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

  1. > library('Tushare')
复制代码

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

  1. > help('Tushare')
复制代码

33.png





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




34.png

使用Tushare

获得api接口对象

  1. > api <- Tushare::pro_api(token = 'YOUR TOKEN HERE')
复制代码

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

在api中,必须传递的是Tushare Pro提供的接口名(详细请见官方网站)

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


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

  1. > api(api_name = 'stock_basic')
复制代码

35.png




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

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

  1. > api(api_name = 'daily', ts_code = "000001.SZ", start_date = "20181001", end_date = "20181010")
复制代码

36.png




pro_bar接口的使用

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

  1. > bar <- Tushare::pro_bar(token = 'YOUR TOKEN HERE')> bar(ts_code = "000001.SZ", start_date = "20181001", end_date = "20181010")
复制代码

37.png




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

  1. > bar(ts_code = "000001.SZ", start_date = "20181001", adj = "hfq", ma = c(5,10))
复制代码

38.png




一个样例

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

  1. 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})[align=left][img=838,401]//upload-images.jianshu.io/upload_images/19690002-95aa93645f706173.png[/img][/align][/indent][align=center][color=rgb(64, 64, 64)][font=-apple-system, BlinkMacSystemFont, &quot;][size=0px]
  2. [/size][/font][/color][/align][b] 39.png

  3. tushare积分怎么获得[/b][align=left][color=rgb(64, 64, 64)][font=宋体][size=16px]    本人是做量化投资的,团队转型,换了交易策略,[/size][/font][/color][/align][align=left][color=rgb(64, 64, 64)][font=宋体][size=16px]    手头有多个离职同事的闲置转让.[/size][/font][/color][/align][align=left][color=rgb(64, 64, 64)][font=宋体][size=16px]    600分:原价50元,仅需39元[/size][/font][/color][/align][align=left][color=rgb(64, 64, 64)][font=宋体][size=16px]    1500分:原价140元,仅需109元(售罄)[/size][/font][/color][/align][align=left][color=rgb(64, 64, 64)][font=宋体][size=16px]    2000分:原价190元,仅需149元[/size][/font][/color][/align][align=left][color=rgb(64, 64, 64)][font=宋体][size=16px]    5000分:原价490元,仅需388元(售罄).[/size][/font][/color][/align][align=left][color=rgb(64, 64, 64)][font=宋体][size=16px]    数量不多,需要请连系VX: a56746435 (备注tushare)[/size][/font][/color][/align], '\\1-\\2-\\3', trade_date))) %>%        mutate_at(vars(3:dim(.)[2]), as.numeric)df$id = dim(df)[1]:1df$candleLower = pmin(df$open, df$close)df$candleUpper = pmax(df$open, df$close)df$candleMiddle = (df$candleLower+df$candleUpper)/2theme_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语言 tushare 股票数据

已有 1 人评分论坛币 收起 理由
cheetahfly + 20 奖励积极上传好的资料

总评分: 论坛币 + 20   查看全部评分

沙发
cheetahfly 在职认证  发表于 2019-10-30 08:47:49 |只看作者 |坛友微信交流群
感谢分享

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 08:38