安装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. SDOI2017 树点染色

    \[SDOI2017 树点染色\] 题目描述 Bob 有一棵 $ n $ 个点的有根树,其中 $ 1 $ 号点是根节点.Bob 在每个节点上涂了颜色,并且每个点上的颜色不同. 定义一条路径的权值是,这 ...

  2. 穿过代理服务器取远程用户真实IP地址

    public static string GetIP() { string str = ""; //穿过代理服务器取远程用户真实IP地址: if (System.Web.HttpC ...

  3. 使用ansible远程管理集群

    使用ansible远程执行命令 1.ansible简介 ansible的官方定义:"Ansible is Simple IT Automation"--简单的自动化IT工具.这个工 ...

  4. Unity通过Jar包调用Android

    Unity通过Jar包调用Android 我们会需要面对下面几个问题,我们一个一个来解决: 怎样在Android Studio中打Jar包 怎样打一个Unity使用的Jar包 怎样在Unity工程中使 ...

  5. 剑指offer第二版面试题3:二维数组中的查找(JAVA版)

    题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 1 2 8 9 2 4 ...

  6. 拾遗:关于“尾递归”- tail recursion

    定义[个人理解]: 尾递归,即是将外层得出的常量计算因子,以函数参数的形式逐层向内传递,即内层调用整合外层调用的产出,整个递归的结果最终由最内层的一次函数调用得出:而通常的递归则是外层调用阻塞.等待内 ...

  7. 依赖Anaconda环境安装TensorFlow库,避免采坑

    TensorFlow™ 简介: TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes)在图中表示数学操作,图中的线(edges)则表示 ...

  8. netty源码分析 - Recycler 对象池的设计

    目录 一.为什么需要对象池 二.使用姿势 2.1 同线程创建回收对象 2.2 异线程创建回收对象 三.数据结构 3.1 物理数据结构图 3.2 逻辑数据结构图(重要) 四.源码分析 4.2.同线程获取 ...

  9. mysql高效导入导出load data [infile][outfile]用法

    一.MySQL高效导入数据的方法load data infile load data infile语句从一个文本文件中以很高的速度读入一个表中.使用这个命令之前,mysqld进程(服务)必须已经在运行 ...

  10. 想成为顶尖 Java 程序员?先过了下面这些问题!

    作者:rowkey https://zhuanlan.zhihu.com/p/31552882 一.数据结构与算法基础 说一下几种常见的排序算法和分别的复杂度. 用Java写一个冒泡排序算法 描述一下 ...