tushare 金融數據獲取(R語言版)


在上次 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://tushare.pro/register?reg=381196

 

轉載請注明:

微信公眾號:數據志

簡書:數據志

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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM