tushare财经模块
安装
- 安装tushare命令
pip install tushare
- 安装这个包还需要依赖
bs4
安装命令pip install bs4
- 升级命令
pip install tushare --upgrade
使用
获取历史数据
import datetime
import tushare as ts
ts.get_hist_data('600848')
ts.get_hist_data('600848', ktype='W')
ts.get_hist_data('600848', ktype='M')
ts.get_hist_data('600848', ktype='5')
ts.get_hist_data('600848', ktype='15')
ts.get_hist_data('600848', ktype='30')
ts.get_hist_data('600848', ktype='60')
ts.get_hist_data('sh')
ts.get_hist_data('sz')
ts.get_hist_data('hs300')
ts.get_hist_data('sz50')
ts.get_hist_data('zxb')
ts.get_hist_data('cyb')
更多内容可参考这里
code:股票代码,即6位数字代码,或者指数代码(sh=上证指数 sz=深圳成指 hs300=沪深300指数 sz50=上证50 zxb=中小板 cyb=创业板)
start:开始日期,格式YYYY-MM-DD
end:结束日期,格式YYYY-MM-DD
ktype:数据类型,D=日k线 W=周 M=月 5=5分钟 15=15分钟 30=30分钟 60=60分钟,默认为D
retry_count:当网络异常后重试次数,默认为3
pause:重试时停顿秒数,默认为0
date:日期
open:开盘价
high:最高价
close:收盘价
low:最低价
volume:成交量
price_change:价格变动
p_change:涨跌幅
ma5:5日均价
ma10:10日均价
ma20:20日均价
v_ma5:5日均量
v_ma10:10日均量
v_ma20:20日均量
turnover:换手率[注:指数无此项]
获取实时数据
import tushare as ts
df = ts.get_realtime_quotes('000581')
df[['code','name','price','bid','ask','volume','amount','time']]
0:name,股票名字
1:open,今日开盘价
2:pre_close,昨日收盘价
3:price,当前价格
4:high,今日最高价
5:low,今日最低价
6:bid,竞买价,即“买一”报价
7:ask,竞卖价,即“卖一”报价
8:volume,成交量 maybe you need do volume/100
9:amount,成交金额(元 CNY)
10:b1_v,委买一(笔数 bid volume)
11:b1_p,委买一(价格 bid price)
12:b2_v,“买二”
13:b2_p,“买二”
14:b3_v,“买三”
15:b3_p,“买三”
16:b4_v,“买四”
17:b4_p,“买四”
18:b5_v,“买五”
19:b5_p,“买五”
20:a1_v,委卖一(笔数 ask volume)
21:a1_p,委卖一(价格 ask price)
...
30:date,日期;
31:time,时间;
详情请参考这里
请求多个股票方法(一次最好不要超过30个):
ts.get_realtime_quotes(['600848','000980','000981'])
ts.get_realtime_quotes(df['code'].tail(10))
获取实时指数:
ts.get_realtime_quotes('sh')
ts.get_realtime_quotes(['sh','sz','hs300','sz50','zxb','cyb'])
ts.get_realtime_quotes(['sh','600848'])
大盘指数行情列表
- 获取大盘指数实时行情列表,以表格的形式展示大盘指数实时行情。
- 调用方法:
import tushare as ts
df = ts.get_index()
提取数据
- tushare返回的是DataFrame类型数据,大神们一般使用
pandas/NumPy/Matplotlib
进行数据分析和可视化
- 但是对于我们小白来讲,我们只需要简单的提取一些数据即可
- 这里给大家分享一个DataFrame类型数据提取方法表格,仅供参考
import numpy as np
from pandas import DataFrame
import pandas as pd
df=DataFrame(np.arange(12).reshape((3,4)),index=['one','two','thr'],columns=list('abcd'))
df['a']
df[['a','b']]
df.ix[0]
df.ix[0:1]
df.ix['one':'two']
df.ix[0:2,0]
df.ix[0:1,'a']
df.ix[0:2,'a':'c']
df.ix['one':'two','a':'c']
df.ix[0:2,0:1]
df.ix[0:2,0:2]
df.loc['one','a']
df.loc['one':'two','a']
df.loc['one':'two','a':'c']
df.loc['one':'two',['a','c']]
df.iloc[0:2]
df.iloc[0]
df.iloc[0:2,0:2]
df.iloc[[0,2],[1,2,3]]
df.iat[1,1]
df.at['one','a']
用的最多的一个方法
- 其中用的最多的就是
iat
方法 使用方法: df.iat[行号,列号]
都是从0开始算
- 这个方法获取的数据类型大部分是 字符串类型 便以操作