相信很搞金融数据分析的人,都知道Tushare,一个免费、开源的python财经数据接口包。可以非常简单爬取股票、宏观经济数据、新闻时事、银行间同业拆放利率、甚至电影票房数据都可以爬取,比起国外的雅虎财经,爬取的数据那是非常快,另外一个优点就是返回的绝大部分的数据格式都是pandas DataFrame类型,可以直接用 pandas直接进行处理。
今天就不介绍股票数据查询,直接用6位数字代码就行,网上也是一大堆资料。主要和大家分享一下,用tushare爬取股票指数数据,比如上证指数、上证50、沪深300这些,主要最近看到一篇文章,误把平安银行的股票数据当做上证指数,结果进行一通分析。看看这数据,咱大A也不至于才十几个点。
幸亏这位只是涨跌幅、收益率的简单分析,并不是股票投资分析。首先来看看平安银行和上证综合指数,代码是挺像,唯一区别是后缀不一样。那位作者误把股票代码和指数代码搞混。
今天来说说怎么用正确爬取指数数据,根据tushare官网资料(http://tushare.org/)目前仅支持下面这些指数查询,也不支持国外指数(BDI指数除外)数据。
指数名称 | TS指数代码 |
---|---|
上证指数 | sh |
深圳成指 | sz |
沪深300指数 | hs300 |
上证50 | sz50 |
中小板 | zxb |
创业板 | cyb |
这里就以上证指数为例:
import tushare as ts
ZZZS = ts.get_hist_data('sh',start='2020-01-01',end='2020-7-17')
ZZZS
获取的部分数据如下图所示,这才是中证指数的真实数据。
open | high | close | low | volume | price_change | p_change | ma5 | ma10 | ma20 | v_ma5 | v_ma10 | v_ma20 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
date | |||||||||||||
2020-07-17 | 3214.40 | 3252.78 | 3214.13 | 3181.27 | 3596524.25 | 4.03 | 0.13 | 3328.688 | 3355.901 | 3179.848 | 4887028.95 | 5508437.03 | 4148277.03 |
2020-07-16 | 3356.36 | 3373.53 | 3210.10 | 3209.73 | 4906131.00 | -151.20 | -4.50 | 3362.526 | 3349.769 | 3165.935 | 5279964.10 | 5607578.45 | 4085778.01 |
2020-07-15 | 3422.08 | 3432.45 | 3361.30 | 3345.75 | 4920305.50 | -53.32 | -1.56 | 3410.624 | 3337.816 | 3152.017 | 5538741.50 | 5508093.35 | 3952128.00 |
2020-07-14 | 3435.02 | 3451.22 | 3414.62 | 3366.08 | 5432115.00 | -28.67 | -0.83 | 3419.052 | 3304.284 | 3128.454 | 5728843.80 | 5289375.95 | 3827715.25 |
2020-07-13 | 3379.39 | 3458.79 | 3443.29 | 3369.04 | 5580069.00 | 59.97 | 1.77 | 3405.196 | 3261.289 | 3103.710 | 5958101.10 | 4961121.68 | 3674113.83 |
… | … | … | … | … | … | … | … | … | … | … | … | … | … |
2020-01-08 | 3094.24 | 3094.24 | 3066.89 | 3059.13 | 2978725.50 | -37.91 | -1.22 | 3084.818 | 3050.850 | 3015.380 | 2881996.75 | 2511691.15 | 2291201.28 |
2020-01-07 | 3085.49 | 3105.45 | 3104.80 | 3084.33 | 2765831.00 | 21.39 | 0.69 | 3081.464 | 3042.429 | 3007.901 | 2721109.70 | 2376848.85 | 2227327.01 |
2020-01-06 | 3070.91 | 3107.20 | 3083.41 | 3065.31 | 3125758.50 | -0.38 | -0.01 | 3068.508 | 3028.224 | 2998.385 | 2664076.55 | 2305982.36 | 2169433.72 |
2020-01-03 | 3089.02 | 3093.82 | 3083.79 | 3074.52 | 2614966.75 | -1.41 | -0.05 | 3052.834 | 3020.377 | 2989.815 | 2533130.40 | 2208482.26 | 2080210.23 |
2020-01-02 | 3066.34 | 3098.10 | 3085.20 | 3066.34 | 2924702.00 | 35.08 | 1.15 | 3037.546 | 3013.705 | 2980.599 | 2375017.90 | 2155609.85 | 2021043.44 |
如果你准备获取中证500或者国外指数,可以使用tushare pro。目前pro版本国外已经支持如下指数数据(数据来源:https://tushare.pro/):
TS指数代码 | 指数名称 |
---|---|
XIN9 | 富时中国A50指数 (富时A50) |
HSI | 恒生指数 |
DJI | 道琼斯工业指数 |
SPX | 标普500指数 |
IXIC | 纳斯达克指数 |
FTSE | 富时100指数 |
FCHI | 法国CAC40指数 |
GDAXI | 德国DAX指数 |
N225 | 日经225指数 |
KS11 | 韩国综合指数 |
AS51 | 澳大利亚标普200指数 |
SENSEX | 印度孟买SENSEX指数 |
IBOVESPA | 巴西IBOVESPA指数 |
RTS | 俄罗斯RTS指数 |
TWII | 台湾加权指数 |
CKLSE | 马来西亚指数 |
SPTSX | 加拿大S&P/TSX指数 |
CSX5P | STOXX欧洲50指数 |
以纳斯达克指数为例:
pro = ts.pro_api(token='*****************token**************')
pro.index_global(ts_code='IXIC')
部分数据如下:
ts_code | trade_date | open | close | high | low | pre_close | change | pct_chg | swing | vol | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | IXIC | 20200717 | 10500.52 | 10503.19 | 10532.62 | 10421.20 | 10473.83 | 29.36 | 0.28 | 1.06 | None |
1 | IXIC | 20200716 | 10443.87 | 10473.83 | 10499.79 | 10364.40 | 10550.49 | -76.66 | -0.73 | 1.28 | None |
2 | IXIC | 20200715 | 10576.72 | 10550.49 | 10604.67 | 10420.54 | 10488.58 | 61.91 | 0.59 | 1.76 | None |
3 | IXIC | 20200714 | 10310.25 | 10488.58 | 10497.84 | 10182.46 | 10390.84 | 97.74 | 0.94 | 3.04 | None |
4 | IXIC | 20200713 | 10729.92 | 10390.84 | 10824.79 | 10368.04 | 10617.44 | -226.60 | -2.13 | 4.30 | None |
如果你需要爬取国外指数、基金、期权、宏观经济等数据,可以试着用一下tushare pro,点击原文链接,就可以注册,使用TOKEN就可以获取这些数据,不过很多pro版的很多接口都对积分数量有限制,看个人需要了。
注册链接:https://tushare.pro/register?reg=381196
转载请注明:
微信公众号:数据志
简书:数据志
博客园:https://www.cnblogs.com/wheng/
CSDN:https://blog.csdn.net/wzgl__wh
来源:oschina
链接:https://my.oschina.net/u/4316091/blog/4449139