python股票接口_在Python中使用股票接口

之前已经分享了一些货币基金的接口,而近期分享1个股票的接口。

关于股票的接口主要分为2种类型:

实时的

历史的

下面我们分别来说明。

实时的

对于实时的股票,我们可以使用 http://hq.sinajs.cn/list=sh601988 ,在这里sh601988是股票的代码。当然还支持多个股票的实时信息,只需要在list参数中的代码使用逗号分隔即可,以上内容搜索来自网络,也是拿来就用。

历史的

对于历史的股票,我们可以使用 http://money.finance.sina.com.cn/corp/go.php/vMS_MarketHistory/stockid/XXXX.phtml?year=2017&jidu=1 ,在这里XXXXX表示股票的代码,不过我们需要剔除一些非数字的部分,比如上述的接口应该为:

http://money.finance.sina.com.cn/corp/go.php/vMS_MarketHistory/stockid/601988.phtml?year=2017&jidu=1

然后使用lxml等工具解析页面即可得到对应的数据了。

使用tushare包

另外,在Python中有1个tushare的工具包可以很好的实现上述的操作,我们可以使用pip进行安装:

pip install tushare

然后对应的文档地址是 http://tushare.waditu.com/ 。

可能在实际中遇到的比较多的问题是,比如我查询的日期那天没有数据,比如星期六日:

>>> import tushare as ts

>>> df = ts.get_tick_data('601988',date='2017-08-27')

>>> df

time price change volume amount type

0 alert("当天没有数据"); NaN NaN NaN NaN NaN

1 window.close(); NaN NaN NaN NaN NaN

2 NaN NaN NaN NaN NaN

可以发现这一天没有数据。实际上从这个结果也可以发现,tushare实际也是调用了某个接口从页面爬取数据的这么1个过程。

对于这种情况,那么我们更多的是想获取停牌前1天交易日的数据,对于这种情况,我们可以这样来操作:

import tushare as ts

df = ts.get_hist_data('601988')

df.values[0].tolist()

这样我们就得到了停牌前1天 2017-08-25 日的交易数据:

[4.06,4.22,4.21,4.06,3654764.0,0.15,3.69,4.064, 4.032,4.017, 1957732.3,1918619.68,2317328.87,0.17]

其分别对应:

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,换手率

更多说明可以参考官方文档。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值