安装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. [ZJOI2011]看电影(组合数学/打表+高精)

    Description 到了难得的假期,小白班上组织大家去看电影.但由于假期里看电影的人太多,很难做到让全班看上同一场电影,最后大家在一个偏僻的小胡同里找到了一家电影院.但这家电影院分配座位的方式很特 ...

  2. JFreeChart架构

    本章介绍给大家介绍 JFreeChart 不同类中如何交互的概念, JFreeChart基本类层次和应用水平的架构在基于Java应用程序如何工作的. 类层次架构 类层次架构解释了如何把不同阶层的相互库 ...

  3. CUDA编程之环境配置

    VS2015+CUDA8.0环境配置 Anyway,在这里记录下正确的配置方式: 1.首先,上官网下载对应vs版本的CUDA toolkit: https://developer.nvidia.com ...

  4. 移动端新建html页面

    这是一些头部设置 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  5. Android网络(3):HttpClient作client,Tomcat Servlet作server的交互演示样例

    前面相继介绍了Android网络编程里的Socket传输图片.HttpURLConnection,今天看HttpClient. 第一部分:JavaEE版的Eclipse配置Tomcat [备注:开发后 ...

  6. Java-向上转型后调用方法和属性的注意事项

    /*多态的注意事项 (1)如果子类重写了父类方法, 意味着子类里定义的方法彻底覆盖了父类里同名的方法, 系统将不可能把父类里的方法转移到子类中 补充对(1)的个人理解: 当s向上转型传给了b, b即使 ...

  7. cmake 支持-lpthread

    set(CMAKE_BUILD_TYPE "Release") if( CMAKE_BUILD_TYPE STREQUAL "Debug" )    set(C ...

  8. 字符串利用%02d将月份前加0

    i = 20190104 a = 2019 b = 1 c = 4 s = "%04d-%02d-%02d" % (a, b, c)

  9. 关于ajax请求status 200 却进入error 回调函数或显示跨域问题的解决方案及原因

    这虽然不是前端的问题吧,但如果遇到那种不靠谱的后台 还是可以拿来打脸的 转:https://segmentfault.com/a/1190000012469713

  10. vscode编程nodejs初始安装

    nodejs官网 http://nodejs.cn/ 1.安装nodejs,记得安装时勾选配置路径 在cmd中输入node,进去node环境即为安装成功. 2.安装vscode,并安装插件node e ...