安装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数据的更多相关文章

  1. R语言中的横向数据合并merge及纵向数据合并rbind的使用

    R语言中的横向数据合并merge及纵向数据合并rbind的使用 我们经常会遇到两个数据框拥有相同的时间或观测值,但这些列却不尽相同.处理的办法就是使用merge(x, y ,by.x = ,by.y ...

  2. R语言系列:生成数据

    R语言系列:生成数据 (2014-05-04 17:41:57) 转载▼ 标签: r语言 教育 分类: 生物信息 生成规则数据1.使用“:“,如x=1:10,注意该方法既可以递增也可以递减,如y=10 ...

  3. 通过Python SDK 获取tushare数据

    导入tushare import tushare as ts 这里注意, tushare版本需大于1.2.10 设置token ts.set_token('your token here') 以上方法 ...

  4. R语言︱噪声数据处理、数据分组——分箱法(离散化、等级化)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 分箱法在实际案例操作过程中较为常见,能够将一些 ...

  5. R语言数据集合并、数据增减、不等长合并

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 数据选取与简单操作: which 返回一个向量 ...

  6. 用R语言实现对不平衡数据的四种处理方法

    https://www.weixin765.com/doc/gmlxlfqf.html 在对不平衡的分类数据集进行建模时,机器学**算法可能并不稳定,其预测结果甚至可能是有偏的,而预测精度此时也变得带 ...

  7. R语言读取matlab中数据

    1. 在matlab中将数据保存到*.mat 文件夹 save("data.mat","data","label")#将data和label ...

  8. R语言:导入导出数据

    主要学习如何把几种常用的数据格式导入到R中进行处理,并简单介绍如何把R中的数据保存为R数据格式和csv文件. 1.保存和加载R的数据(与R.data的交互:save()函数和load()函数) a & ...

  9. DT包 -- R语言中自定义表格数据

    DT 包提供了 JavaScript 库 DataTables 的一个R接口,它使得R对象(矩阵或数据框)可以在HTML页面上显示为表格. 该包的DataTables函数生成的表格提供了数据的筛选.分 ...

随机推荐

  1. php开发面试题---Linux常用命令大全

    php开发面试题---Linux常用命令大全 一.总结 一句话总结: ls 查看目录中的文件 cd .. 返回上一级目录 cat 查看文件内容 touch 新建文件或修改时间 1.linux 系统信息 ...

  2. 【Java基础知识】JNI入门

    1.问题:javah or  javac -h 在配置好java的环境变量后,java和javac都是可以用的,但是用javah就会出现问题. 会报错误 Unable to locate an exe ...

  3. MakeDown渲染出错

    MakeDown渲染出错 makedown作为程序员不可或缺的编辑工具,平时的使用技巧也是非常多的. 今天给新电脑装了一个,发现出现了错误(win10环境下),如图: 错误的表现形式即:不能实时预览M ...

  4. JAVA中HashMap相关知识的总结(一)

    Java中HashMap在jdk1.7和jdk1.8中的区别点: 在jdk1.7中是用数组+链表形式存储,1.8采用数组+链表/红黑树形式 Jdk1.8中由链表转为红黑树是长度大于8,由红黑树转为链表 ...

  5. 由Resin引发的java.lang.IllegalArgumentException: object is not an instance of declaring class(反射中使用)思考

    文章目录 背景 原因 解决办法 背景 在java agent中抓取Resin的 某些方法,在invoke的时候出现错误 java.lang.IllegalArgumentException: obje ...

  6. 【Java多线程系列二】Thread类的方法

    Thread实现Runnable接口并实现了大量实用的方法. /* * 此方法释放CPU,但并不释放已获得的锁,其它就绪的线程将可能得到执行机会,它自己也有可能再次得到执行机会 */ public s ...

  7. 剑指offer——65和为S的连续正数序列

    题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他 ...

  8. JUC源码分析-集合篇(十)LinkedTransferQueue

    JUC源码分析-集合篇(十)LinkedTransferQueue LinkedTransferQueue(LTQ) 相比 BlockingQueue 更进一步,生产者会一直阻塞直到所添加到队列的元素 ...

  9. vmvare下centos7配置静态ip

    首先,将网络适配设置成为桥接模式 查看本机IP地址,ipconfig,记住ipv4地址和默认网关地址,等会配置的时候要用 启动Centos,进入终端模式,设置IP地址, 切换到这个目录下,cd /et ...

  10. pycharm的第一次使用(其实并不是第一次)

    file --> settings --> editor -->general --> change font size file --> settings --> ...