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

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

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

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

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

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

import requestsr = requests.get('http://hq.sinajs.cn/list=sz300287')res = r.textprint(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.textresult = 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)

看一下打印的结果:

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

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

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

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

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

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

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

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

Python结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现_第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结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现_第4张图片

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

欢迎关注「趣谈数据分析」公众号,查看更多内容。
Python结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现_第5张图片

你可能感兴趣的:(python练习)