vlambda博客
学习文章列表

牛爆了!用python撸一个股票监控机器人

来源:https://zhuanlan.zhihu.com/p/457971334


大家好,我是虎哥。


炒股的时候经常需要盯盘,为了方便监控股票价格,这里将基于飞书的实现一个简单的股票监控机器人。


实现思路


通过定时获取实时价格,将实时价格与预警价格比较,到达预警要求就推送特定的消息到飞书。


开发步骤


1. 新建一个群机器人


随便新建一个飞书群,在设置中点击群机器人 菜单。



点击“添加”,在弹出对话框中选择新建一个自定义机器人。

牛爆了!用python撸一个股票监控机器人


牛爆了!用python撸一个股票监控机器人


def send_to_feishu(content): url = "https://open.feishu.cn/open-apis/bot/v2/hook/3c6d60b8-xxx" # 这里是实际的webhook地址 msg = {"msg_type": "text", "content": {"text": content}} # 这里发送文本内容即可 res = requests.post(url, json=msg) print(res.json()) # 打印结果,方便调试

2. 开发股票监控


将需要监控放到一个列表中,每个监控的股票包括其代码、监控最小值和最大值信息,然后循环列表根据股票代码从新浪股票接口获取实时价格,若股票实时价格小于最低价或高于最高价就发送飞书通知。主要代码如下:

# 获取股票实时价格def get_price(code):  url = f'http://ifzq.gtimg.cn/appstock/app/kline/mkline?param={code},m1,,10' print(url) stock_name = "" resp = requests.get(url).json() if resp['code'] != 0: return stock_name, [] stock_name = resp['data'][code]['qt'][code][1] latest_prices = resp['data'][code]["m1"][-1] return stock_name, latest_prices

# 循环监控def monitor(): stocks = [ { "code": "sh688068", "min": 230, "max": 239 }, { "code": "sh000001", "min": 3530, "max": 3550 }] for c in stocks: print(f'check => {c["code"]}') # 获取股票最新价格, 返回列表依次为'day', 'open', 'high', 'low', 'close', 'volume'        stock_name, prices = get_price(c["code"])
print(prices) if not prices:            continue
if float(prices[3]) < c["min"]: content = f'{stock_name}({c["code"]})当前价格:{prices[3]}<最低价({c["min"]})' send_to_feishu(content) if float(prices[2]) > c['max']: content = f'{stock_name}({c["code"]})当前价格:{prices[2]}>监控价({c["max"]})' send_to_feishu(content)


3. 实现定时任务


这里基于Python的第三方库schedule进行开发,每隔5分钟执行一次,主要代码如下:

schedule.every(5).minutes.do(monitor)while True: schedule.run_pending() time.sleep(1)


效果如下:


牛爆了!用python撸一个股票监控机器人




 
   
   
 
牛爆了!用python撸一个股票监控机器人程序员技术交流群牛爆了!用python撸一个股票监控机器人
随着读者越来越多,虎哥我也建了几个技术交流群,九分聊技术,一分聊风雪,欢迎 有兴趣的同学加入我们。
可以长按识别下方二维码,一定要注意: 城市+昵称+技术方向 ,根据格式,可以更快捷地通过选择内容进入群。

牛爆了!用python撸一个股票监控机器人

▲长按扫描


牛爆了!用python撸一个股票监控机器人 阅读更多




牛爆了!用python撸一个股票监控机器人

人生苦短,我用python


神秘礼包获取方式】

识别文末二维码,回复:1024