相信很搞金融数据分析的人,都知道Tushare,一个免费、开源的python财经数据接口包。可以非常简单爬取股票、宏观经济数据、新闻时事、银行间同业拆放利率、甚至电影票房数据都可以爬取,比起国外的雅虎财经,爬取的数据那是非常快,另外一个优点就是返回的绝大部分的数据格式都是pandas DataFrame类型,可以直接用 pandas直接进行处理。
今天就不介绍股票数据查询,直接用6位数字代码就行,网上也是一大堆资料。主要和大家分享一下,用tushare爬取股票指数数据,比如上证指数、上证50、沪深300这些,主要最近看到一篇文章,误把平安银行的股票数据当做上证指数,结果进行一通分析。看看这数据,咱大A也不至于才十几个点。
幸亏这位只是涨跌幅、收益率的简单分析,并不是股票投资分析。首先来看看平安银行和上证综合指数,代码是挺像,唯一区别是后缀不一样。那位作者误把股票代码和指数代码搞混。
今天来说说怎么用正确爬取指数数据,根据tushare官网资料(/)目前仅支持下面这些指数查询,也不支持国外指数(BDI指数除外)数据。
指数名称TS指数代码
上证指数
sh
深圳成指
sz
沪深300指数
hs300
上证50
sz50
中小板
zxb
创业板
cyb
这里就以上证指数为例:
import tushare as ts
ZZZS = ts.get_hist_data('sh',start='-01-01',end='-7-17')
ZZZS
获取的部分数据如下图所示,这才是中证指数的真实数据。
openhighcloselowvolumeprice_changep_changema5ma10ma20v_ma5v_ma10v_ma20
date
-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
-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
-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
-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
-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
…
…
…
…
…
…
…
…
…
…
…
…
…
…
-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
-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
-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
-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
-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
043.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_codetrade_dateopenclosehighlowpre_closechangepct_chgswingvol
0
IXIC
10500.52
10503.19
10532.62
10421.20
10473.83
29.36
0.28
1.06
None
1
IXIC
10443.87
10473.83
10499.79
10364.40
10550.49
-76.66
-0.73
1.28
None
2
IXIC
10576.72
10550.49
10604.67
10420.54
10488.58
61.91
0.59
1.76
None
3
IXIC
10310.25
10488.58
10497.84
10182.46
10390.84
97.74
0.94
3.04
None
4
IXIC
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
转载请注明:
微信公众号:数据志
简书:数据志