影刀RPA 股票行情自动监控与提醒:价格突破立即通知

影刀RPA 股票行情自动监控与提醒:价格突破立即通知
影刀RPA 股票行情自动监控与提醒价格突破立即通知作者林焱实时盯盘是很多人的刚需但不可能24小时盯着屏幕。用影刀免费股票API可以做一个行情监控机器人定时查询目标股票价格突破阈值自动推送通知。获取股票数据推荐用新浪财经的免费接口无需注册importrequestsimportredefget_stock_price(code):获取A股实时行情 code: sh600000(上证) 或 sz000001(深证) urlfhttps://hq.sinajs.cn/list{code}headers{Referer:https://finance.sina.com.cn}resprequests.get(url,headersheaders)resp.encodinggbk# 返回格式var hq_str_sh600000浦发银行,12.350,12.300,12.400,...dataresp.text.split()[1].split(,)return{[video(video-to45O0S6-1784738204337)(type-csdn)(url-https://live.csdn.net/v/embed/525000)(image-https://v-blog.csdnimg.cn/asset/23da3fe1f67a47106d725406cfde9a97/cover/Cover0.jpg)(title-拼多多店群自动化上架方案)]name:data[0],open:float(data[1]),prev_close:float(data[2]),price:float(data[3]),high:float(data[4]),low:float(data[5]),volume:int(data[8]),change:round((float(data[3])-float(data[2]))/float(data[2])*100,2)}# 查询贵州茅台infoget_stock_price(sh600519)print(f{info[name]}:{info[price]}({info[change]:.2f}%))监控逻辑importtimeimportrequests# 监控列表watch_list[{code:sh600519,name:贵州茅台,upper:1800,lower:1600},{code:sz000858,name:五粮液,upper:160,lower:140},]webhook_urlhttps://qyapi.weixin.qq.com/cgi-bin/webhook/send?keyxxxalert_sent{}# 记录已发送的告警避免重复推送defcheck_and_alert():forstockinwatch_list:infoget_stock_price(stock[code])# 向上突破ifinfo[price]stock[upper]:![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/de71f93a5edd4f13928dc0e8b5e446dd.png#pic_center)keyf{stock[code]}_upifkeynotinalert_sent:msgf{stock[name]}突破{stock[upper]}元当前{info[price]}涨幅{info[change]:.2f}%requests.post(webhook_url,json{msgtype:text,text:{content:msg}})alert_sent[key]True# 向下突破ifinfo[price]stock[lower]:keyf{stock[code]}_downifkeynotinalert_sent:msgf{stock[name]}跌破{stock[lower]}元当前{info[price]}跌幅{info[change]:.2f}%requests.post(webhook_url,json{msgtype:text,text:{content:msg}})alert_sent[key]True# 影刀每5分钟调用一次这个函数check_and_alert()完整影刀流程架构影刀定时触发器交易时间每5分钟 ↓ Python代码块查询所有监控股票的最新价 ↓ 条件判断是否突破阈值 ↓ 是 记录已告警 → 推送企微/钉钉 ↓ 否 写入日志本次查询时间价格扩展日K线数据分析defget_daily_kline(code,days30):获取日K线数据urlfhttps://money.finance.sina.com.cn/quotes_service/api/json_v2.php/CN_MarketData.getKLineData?symbol{code}scale240manodatalen{days}resprequests.get(url)dataresp.json()closes[float(d[close])fordindata]return{![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/8bab9f65ac0748fab31f2af7d213624b.png#pic_center)latest_close:closes[-1],avg_5d:sum(closes[-5:])/5,avg_10d:sum(closes[-10:])/10,avg_20d:sum(closes[-20:])/20,high_30d:max(float(d[high])fordindata),low_30d:min(float(d[low])fordindata),}踩坑实录坑1交易时间外数据不更新非交易时间新浪接口返回的是收盘价不是实时价。影刀的监控在9:30-15:00之间才有意义9:15-9:25是集合竞价。加个时间判断fromdatetimeimportdatetime nowdatetime.now()ifnow.weekday()5:# 周末不查return![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/aec055a0e3d742deafca2d2018194606.png#pic_center)ifnow.hour9or(now.hour9andnow.minute30)ornow.hour15:return# 非交易时间坑2请求频率限制新浪财经接口对同一IP有频率限制。监控多只股票时每只之间加0.5秒延时。不要一口气发几十个请求。TEMU店群如何管理运营坑3编码问题新浪接口返回的是GBK编码。如果不用resp.encoding gbk股票名称中的中文会乱码。坑4股票代码格式上交所代码前加sh深交所加sz浦发银行sh600000、平安银行sz000001。别搞反否则返回空数据。另外上交所6开头、深交所0和3开头。写在最后股票监控是最适合RPA的场景之一——规则清晰、定时执行、需要实时响应。影刀新浪接口企微推送零成本搭建个人盯盘系统。但记住本文是技术教程不是投资建议。