【网络教程】python使用tushare财经数据接口实现股票预警功能


tushare财经模块

安装

  • 安装tushare命令pip install tushare
  • 安装这个包还需要依赖bs4安装命令pip install bs4
  • 升级命令pip install tushare --upgrade

使用

获取历史数据

  • 调用方法
import datetime
import tushare as ts
ts.get_hist_data('600848') #一次性获取全部日k线数据
ts.get_hist_data('600848', ktype='W') #获取周k线数据
ts.get_hist_data('600848', ktype='M') #获取月k线数据
ts.get_hist_data('600848', ktype='5') #获取5分钟k线数据
ts.get_hist_data('600848', ktype='15') #获取15分钟k线数据
ts.get_hist_data('600848', ktype='30') #获取30分钟k线数据
ts.get_hist_data('600848', ktype='60') #获取60分钟k线数据
ts.get_hist_data('sh'#获取上证指数k线数据,其它参数与个股一致,下同
ts.get_hist_data('sz'#获取深圳成指k线数据
ts.get_hist_data('hs300'#获取沪深300指数k线数据
ts.get_hist_data('sz50'#获取上证50指数k线数据
ts.get_hist_data('zxb'#获取中小板指数k线数据
ts.get_hist_data('cyb'#获取创业板指数k线数据

更多内容可参考这里

  • 参数说明
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') #Single stock symbol
df[['code','name','price','bid','ask','volume','amount','time']]
  • 返回值说明
0:name,股票名字
1open,今日开盘价
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个):

#symbols from a list
ts.get_realtime_quotes(['600848','000980','000981'])
#from a Series
ts.get_realtime_quotes(df['code'].tail(10))  #一次获取10个股票的实时分笔数据

获取实时指数:

#上证指数
ts.get_realtime_quotes('sh')
#上证指数 深圳成指 沪深300指数 上证50 中小板 创业板
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']#取a列
df[['a','b']]#取a、b列

#ix可以用数字索引,也可以用index和column索引
df.ix[0]#取第0行
df.ix[0:1]#取第0行
df.ix['one':'two']#取one、two行
df.ix[0:2,0]#取第0、1行,第0列
df.ix[0:1,'a']#取第0行,a列
df.ix[0:2,'a':'c']#取第0、1行,abc列
df.ix['one':'two','a':'c']#取one、two行,abc列
df.ix[0:2,0:1]#取第0、1行,第0列
df.ix[0:2,0:2]#取第0、1行,第0、1列

#loc只能通过index和columns来取,不能用数字
df.loc['one','a']#one行,a列
df.loc['one':'two','a']#one到two行,a列
df.loc['one':'two','a':'c']#one到two行,a到c列
df.loc['one':'two',['a','c']]#one到two行,ac列

#iloc只能用数字索引,不能用索引名
df.iloc[0:2]#前2行
df.iloc[0]#第0行
df.iloc[0:2,0:2]#0、1行,0、1列
df.iloc[[0,2],[1,2,3]]#第0、2行,1、2、3列

#iat取某个单值,只能数字索引
df.iat[1,1]#第1行,1列
#at取某个单值,只能index和columns索引
df.at['one','a']#one行,a列

用的最多的一个方法

  • 其中用的最多的就是 iat方法 使用方法df.iat[行号,列号] 都是从0开始算
  • 这个方法获取的数据类型大部分是 字符串类型 便以操作
发布了47 篇原创文章 · 获赞 1 · 访问量 1175

猜你喜欢

转载自blog.csdn.net/xiaoqiangclub/article/details/104500297