Python结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现

291 篇文章 0 订阅

最近全球股市开始回暖,之前清仓的股民现在又陆续开始建仓。股市交易时间,一般也是上班时间,频繁的查看股票软件不仅会影响工作效率,也容易被老板以为工作不饱和。所以,我们就借助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 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、Python必备开发工具

在这里插入图片描述

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

五、Python练习题

检查学习结果。
在这里插入图片描述

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述
上述这份完整版的Python全套学习资料已经上传CSDN官方,如果需要可以微信扫描下方CSDN官方认证二维码 即可领取

👉[[CSDN大礼包:《python安装包&全套学习资料》免费分享]]安全链接,放心点击

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值