tushare 金融数据获取(R语言版)

余生颓废 提交于 2020-08-13 07:16:55

在上次 tushare正确爬取 指数数据文章后,看到后台有人留言说是希望能分享一个R语言版,那么好,你们要的R语言版今天来了。

首先,R语言只支持tushare pro,不支持tushare,因此在使用tushare获取数据之前,需要注册后才能使用。

library(Tushare)
pro <- pro_api(token = '********** token *********')

股票数据

以平安银行为例:

> pro(api_name = 'daily', ts_code='000001.SZ', start_date='20200101', end_date='20200723')
 ts_code trade_date  open  high   low close pre_close change pct_chg       vol    amount1  000001.SZ   20200723 14.24 14.29 13.81 14.01     14.41  -0.40 -2.7759 2027525.9 2838535.22  000001.SZ   20200722 14.49 14.65 14.27 14.41     14.49  -0.08 -0.5521 1312951.6 1895447.23  000001.SZ   20200721 14.68 14.68 14.40 14.49     14.73  -0.24 -1.6293 1252865.7 1815570.34  000001.SZ   20200720 14.23 14.77 14.10 14.73     14.14   0.59  4.1726 1979632.0 2872758.1

如果需要爬取指数的数据,需要200积分,这里就不演示了,原因你懂得。

如果需要查看指数说明,可以使用index_basic接口。

> pro(api_name = 'index_basic', ts_code='000001.sh', start_date='20200101', end_date='20200723')
    ts_code     name market publisher category base_date base_point list_date1 000001.SH 上证指数    SSE  中证公司 综合指数  19901219        100  19910715

期货数据

同样,因为积分问题,这里只以期货的交易日历为例,获取上海期货交易所的日历数据。

> pro(api_name = 'trade_cal', ts_code='DCE', start_date='20200101', end_date='20200701')
   exchange cal_date is_open1        SSE 20200101       02        SSE 20200102       13        SSE 20200103       14        SSE 20200104       05        SSE 20200105       06        SSE 20200106       17        SSE 20200107       1

IPO新股列表

tushare提供了一个接口,可以查询新股上市列表数据。

> pro(api_name = 'new_share', start_date='20200701', end_date='20200722')
     ts_code sub_code     name ipo_date issue_date amount market_amount price      pe limit_amount   funds ballot1  688311.SH   787311 盟升电子 20200722              2867          1092 41.58   68.31         0.80   5.850   0.032  002991.SZ   002991 甘源食品 20200722              2330          2097 38.76   22.99         0.90   9.033   0.023  002995.SZ   002995 天地在线 20200722              1617          1617 33.84   22.99         1.60   5.472   0.014  688586.SH   787586 江航装备 20200722             10094          2746 10.27   47.17         1.80   5.945   0.045  605318.SH   707318   法狮龙 20200721              3229          2906 13.09   22.99         1.20   4.227   0.036  605222.SH   707222 起帆电缆 20200721              5000          4500 18.43   22.98         1.50   9.215   0.047  601456.SH   780456 国联证券 20200721             47572         42815  4.25   19.60        14.20   0.000   0.15

电影数据

tushare提供了电影月度、周度、日度票房数据查询,奈何积分问题,这里就分享一个电影剧本备案数据吧。

pro(api_name = 'film_record', start_date='201900131', end_date='20200722')# 数据太多,这里就看一下数据结构> str(pro(api_name = 'film_record', start_date='201900131', end_date='20200722')
+ )'data.frame':    500 obs. of  9 variables:
 $ rec_no       : chr  "影剧备字[2018]第175号" "影剧备字[2018]第2691号" "影剧备字[2018]第3140号" "影剧备字[2018]第3264号" ...
 $ film_name    : chr  "分裂" "远东特快" "春分夜" "一目了然" ...
 $ rec_org      : chr  "北京天工联合影业有限公司" "晶喜影业(北京)有限公司" "北京海润影业股份有限公司" "北京耳东明樾影业制作有限公司" ...
 $ script_writer: chr  "李菁菁" "罗登" "舒浩仑" "吴越刘诣" ...
 $ rec_result   : chr  "修改后同意拍摄" "同意拍摄" "修改后同意拍摄" "同意拍摄" ...
 $ rec_area     : chr  "北京市" "北京市" "北京市" "北京市" ...
 $ classified   : chr  "故事影片" "故事影片" "故事影片" "故事影片" ...
 $ date_range   : chr  "    2019年04月21日-04月30日" "    2019年04月21日-04月30日" "    2019年04月21日-04月30日" "    2019年04月21日-04月30日" ...
 $ ann_date     : chr  "2019-06-18 16:32 " "2019-06-18 16:32 " "2019-06-18 16:32 " "2019-06-18 16:32 " ...

新冠疫情数据

提供了两个接口,ncov_num和ncov_global,分别查询国内和国际的新冠疫情数据,不过根据公告日期,数据并不是每天的都有。

首先来查看国内各个省份的数据

> pro(api_name = 'ncov_num',level=3)
    ann_date        area_name parent_name level confirmed_num suspected_num confirmed_num_now suspected_num_now cured_num dead_num1   20200124           云南省    中国内地     3             5            NA                NA                NA         0        02   20200124     内蒙古自治区    中国内地     3             2            NA                NA                NA         0        03   20200124           北京市    中国内地     3            36            NA                NA                NA         1        0

美国的感染速度可谓是飙升,现在来查一下美国数据。

> pro(api_name = 'ncov_global',country='美国',update_time='20200723')# 由于数据太多,看一下结构> str(pro(api_name = 'ncov_global',country='美国',update_time='20200723'))'data.frame':    277 obs. of  12 variables:
 $ publish_date     : chr  "20200619" "20200618" "20200617" "20200616" ...
 $ country          : chr  "美国" "美国" "美国" "美国" ...
 $ country_enname   : chr  "United States of America" "United States of America" "United States of America" "United States of America" ...
 $ province         : chr  "美国" "美国" "美国" "美国" ...
 $ province_short   : chr  "美国" "美国" "美国" "美国" ...
 $ province_enname  : chr  "United States of America" "United States of America" "United States of America" "United States of America" ...
 $ confirmed_num    : int  2185873 2164071 2137731 2113366 2092850 2075840 2053606 2023347 2000464 1979971 ...
 $ confirmed_num_now: int  1468424 1454152 1437265 1420897 1415313 1403776 1391436 1369235 1354036 1343110 ...
 $ suspected_num    : int  0 0 0 0 0 0 0 0 0 0 ...
 $ cured_num        : int  599115 592191 583503 576334 561816 556606 547386 540292 533504 524855 ...
 $ dead_num         : int  118334 117728 116963 116135 115721 115458 114784 113820 112924 112006 ...
 $ update_time      : chr  "2020-06-19 10:01:28" "2020-06-18 22:33:33" "2020-06-17 15:58:45" "2020-06-16 09:30:34" ...

好了今天就分享到这,希望能帮到你。

另外,我爬取了官方网页,做了一个离线版帮助文档(叫官方文档应该没问题吧),方便大家找接口,可以在后台留言:tushare 即可获取下载链接。

用了几次tushare pro版,总结一下:

两个字:好用,

三个字:真好用,

四个字:积分不够。

如果你也想使用pro版,可以点击阅读原文,用我的注册链接进行注册,顺便帮我也涨涨积分,哈哈哈。

 

转载请注明:

微信公众号:数据志

简书:数据志

博客园:https://www.cnblogs.com/wheng/

CSDN:https://blog.csdn.net/wzgl__wh

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!