最近全球股市开始回暖,之前清仓的股民现在又陆续开始建仓。股市交易时间,一般也是上班时间,频繁的查看股票软件不仅会影响工作效率,也容易被老板以为工作不饱和。所以,我们就借助python的强大功能,把提前设置好的股票信息推送到「钉钉」上,毕竟钉钉是一个办公软件,老板看见了还会以为你在认真工作。

1、通过接口获取股市实时信息

我们使用的是新浪股市提供的接口,这个接口是这样的:

http://hq.sinajs.cn/list=sz300287

等于号后面的就是我们想要监控的股票代码,如果是上海交易所的股票就是「sh+股票代码」,如果是深圳交易所的股票就是「sz+股票代码」,通过python的requests模块可以获取信息:

import requests

r = requests.get('http://hq.sinajs.cn/list=sz300287')

res = r.text

print(res)

得到的结果是这样的:

var hq_str_sz300287="飞利信,4.320,4.320,4.430,4.470,4.320,4.420,4.430,50815817,

224559304.490,1717400,4.420,374700,4.410,537700,4.400,110400,4.390,258800,

4.380,176600,4.430,364100,4.440,344900,4.450,198600,

4.460,360547,4.470,2020-04-30,15:00:03,00";

上面这个字符串由许多数据拼接在一起,不同含义的数据用逗号隔开了,我们按照顺序号从0开始,看一下各个字符串的意义:

0:”飞利信”,股票名字;

1:”4.320″,今日开盘价;

2:”4.320″,昨日收盘价;

3:”4.430″,当前价格;

4:”4.470″,今日最高价;

5:”4.320″,今日最低价;

6:”4.420″,竞买价,即“买一”报价;

7:”4.430″,竞卖价,即“卖一”报价;

8:”22114263″,成交的股票数,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百;

9:”589824680″,成交金额,单位为“元”,为了一目了然,通常以“万元”为成交金额的单位,所以通常把该值除以一万;

10:”4695″,“买一”申请4695股,即47手;

11:”26.91″,“买一”报价;

12:”57590″,“买二”

13:”26.90″,“买二”

14:”14700″,“买三”

15:”26.89″,“买三”

16:”14300″,“买四”

17:”26.88″,“买四”

18:”15100″,“买五”

19:”26.87″,“买五”

20:”3100″,“卖一”申报3100股,即31手;

21:”26.92″,“卖一”报价

(22, 23), (24, 25), (26,27), (28, 29)分别为“卖二”至“卖四的情况”

30:”2020-04-30″,日期;

31:”15:05:32″,时间;

这样我们就拿到了所需股票的实时信息。

2、计算股票涨跌幅,并判断是否需要报警

我们假设,当股票涨幅或者跌幅超过 3% 的时候才触发报警,毕竟对于价值投资者来说,微小的波动不足以引起重视。那么我们首先要算一下,今天的涨跌幅,如果超过了设定值,就引发报警:

r = requests.get('http://hq.sinajs.cn/list=sz300287')

res = r.text

result = res.split('=')[1] # 截取等号之后的数据部分

name = result.split(',')[0].replace('"', '') # 股票名称

start_price = float(result.split(',')[2]) # 昨日收盘价

now_price = float(result.split(',')[3]) # 当前价格

rate = (now_price-start_price)/start_price * 100 # 涨跌幅度

if abs(rate) > 0.02:

content = "股票报警:当前股票「{0}」, 涨幅「{1:.2f}%」, 请注意!".format(name, rate)

print(content)

看一下打印的结果:

现在结果已经出来了,下一步就要发送到钉钉了。

3、配置钉钉接口,发送报警信息

首先,给钉钉群添加机器人,报警信息就是由机器人发送:

设置机器人名称和报警内容关键词:

获得机器人接口,之后我们把上一步获得的报警信息,通过这个接口发送出去:

if abs(rate) > 0.02:

content = "股票报警:当前股票「{0}」, 涨幅「{1:.2f}%」, 请注意!".format(name, rate)

print(content)

json_data = {

"msgtype": "text",

"text": {

"content": content, # 发送内容

},

"at": {

"atMobiles": [

],

"isAtAll": False # 是否要@某位用户

}

}

ding_url = 'https://oapi.dingtalk.com/robot/send?access_token=' \

'dfb241394310aeb3a94d32f1b359b7382429f4b435f9f0eb605979f50b21e857'

requests.post(url=ding_url, json=json_data)

print('报警信息发送成功。')

最终发送完成:

以上就是使用python发送报警信息的流程,代码还有很多可以定制的地方,比如说:多久监控一次、涨幅超过多少会报警、报警是否要”@“ 某位用户等等。之后我会把代码放到服务器上,有需要的朋友可以在评论区说一下你想监控哪只股票。

欢迎关注「趣谈数据分析」微信公号号,学习更多数据分析内容。

python 股票行情_Python结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现...相关推荐

  1. python 钉钉机器人发送图片_Python结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现...

    最近全球股市开始回暖,之前清仓的股民现在又陆续开始建仓.股市交易时间,一般也是上班时间,频繁的查看股票软件不仅会影响工作效率,也容易被老板以为工作不饱和.所以,我们就借助python的强大功能,把提前 ...

  2. 钉钉机器人关键词应答_Python结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现...

    最近全球股市开始回暖,之前清仓的股民现在又陆续开始建仓.股市交易时间,一般也是上班时间,频繁的查看股票软件不仅会影响工作效率,也容易被老板以为工作不饱和.所以,我们就借助python的强大功能,把提前 ...

  3. python websocket爬虫_Python如何爬取实时变化的WebSocket数据

    一.前言 作为一名爬虫工程师,在工作中常常会遇到爬取实时数据的需求,比如体育赛事实时数据.股市实时数据或币圈实时变化的数据.如下图: Web 领域中,用于实现数据'实时'更新的手段有轮询和 WebSo ...

  4. python灰色预测_python实现灰色预测模型(GM11)——以预测股票收盘价为例

    目录 程序简述 利用灰色预测GM11模型预测股票收盘价,由于灰色预测模型适合短期预测和小样本,所以程序输入数据为5个,输出为1个,进行动态建模 程序输入:原序列.需要往后预测的个数 程序输出:预测值. ...

  5. python爬虫股票上证指数_Python爬虫爬取搜狐证券股票数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于IT信息教室,作者:M先森看世界 数据的爬取 我们以上证50的股票为例,首先需 ...

  6. python显示倒计时_python版春节倒计时实时显示

    昨天写了个计算距离今年春节还有几天的脚本,今天在群里看到可以实时刷新的一个脚本,利用flush()函数清空输出的功能,我把昨天的脚本修改了以下,下面直接上代码:[root@localhost prog ...

  7. python 仪表盘实现_Python实现数据可视化看如何监控你的爬虫状态【推荐】

    今天主要是来说一下怎么可视化来监控你的爬虫的状态. 相信大家在跑爬虫的过程中,也会好奇自己养的爬虫一分钟可以爬多少页面,多大的数据量,当然查询的方式多种多样.今天我来讲一种可视化的方法. 关于爬虫数据 ...

  8. 用python 10min手写一个简易的实时内存监控系统

    http://www.cnblogs.com/shengxinjing/p/python.html 转载于:https://www.cnblogs.com/figofifa/p/5604215.htm ...

  9. 树莓派退出python的代码_Python实现树莓派WiFi断线自动重连的实例代码

    实现 WiFi 断线自动重连.原理是用 Python 监测网络是否断线,如果断线则重启网络服务. 1.Python 代码 autowifi.py,放在 /home/pi 目录下: #!/usr/bin ...

最新文章

  1. 在同一个类中调用另一个方法没有触发 Spring AOP 的问题
  2. php滚动图代码,JS上下、左右滚动代码(支持图片滚动)
  3. Kali Linux Web 渗透测试秘籍 第九章 客户端攻击和社会工程
  4. Unity基础学习笔记(一)
  5. python基础之pip、.pyc、三元运算、进制、一切皆对象、可变与不可变类型
  6. 东方通php支持,应用服务器TongWeb
  7. 手机通过RNDIS共享网络
  8. 谢孟媛老师 初级文法学习笔记
  9. python出现syntaxerror_Python SyntaxError语法错误原因及解决
  10. oracle的mins,分钟的英文缩写,10min还是10mins!
  11. linux命令练习题
  12. 49.现有移动端开源框架及其特点—MACE( Mobile AI Compute Engine)
  13. 【技术向】VOT中的EAO是如何计算的
  14. 【信号与系统学习笔记】——奇异函数家族及其性质
  15. 无人驾驶技术——Radar雷达
  16. HWiNFO32无法加载
  17. 程序员最怕的四个字:通宵发布!
  18. 【Microsoft Azure 的1024种玩法】二十七. Azure Virtual Desktop虚拟桌面之快速创建配置(一)
  19. stata 导出 相关系数表_Stata高效输入:搜狗输入法自定义短语
  20. 104道 CSS 面试题

热门文章

  1. SLAM--VICP(Velocity Updating Iterative Closest Point Algorithm)学习笔记
  2. libjpeg库使用
  3. python 中arange函数_python基础之np.arange函数
  4. 如何加密html文件怎么打开,文件加密巧用IE浏览器
  5. 二.网络布线与进制转换——详解
  6. MySQL数据库引擎简介
  7. 如何修复Word文档XML提示
  8. python mk趋势检验_时序数据常用趋势检测方法
  9. MySQL数据库常见错误与解决方法总结
  10. x86汇编_短路求值-AND / OR运算符_笔记_39