一江山水的随笔

当前位置:首页 - 技术 - 正文

Enjoy life!

先说效果:AI智能体自动盯盘,触发条件就提醒,我炒股再也不用刷手机了

作为一个老股民,我每天最烦的就是得时不时刷手机看股价,生怕错过买卖点。最近,我折腾出了一个零成本的解决方案:用Python脚本+AI生成代码,搞了个自动监控股价的AI智能体。它定时抓取股价数据,一旦触发我设定的条件(比如跌破某个价位),就自动发微信或邮件提醒我。现在,我该干嘛干嘛,再也不用被股价绑架了。

这玩意儿成本为零,因为用的都是免费工具和API。下面,我就手把手教你搭建,代码都贴出来,照着改就行。

第一步:准备工具和环境,全是免费的

你需要的东西不多,大部分都能白嫖:

  • Python 3.7+:编程语言,官网免费下载。
  • requests库:用来抓取股价数据,安装命令:pip install requests
  • yfinance库:一个免费的股票数据接口,比某些付费API还好用,安装:pip install yfinance
  • schedule库:定时任务调度,安装:pip install schedule
  • 微信推送:我用的是Server酱(免费版),注册后拿个SCKEY就行,能发微信消息到手机。
  • 邮件推送:用Python的smtplib库,配合QQ邮箱或Gmail的SMTP服务(免费)。
  • AI助手:比如ChatGPT或Claude,用来生成和调试代码,省时省力。

我一开始想用付费的股票API,但发现yfinance完全够用,数据更新快,还免费。AI助手帮我快速写了核心代码,不然自己琢磨得半天。

第二步:写Python脚本,核心是抓数据和判断条件

脚本主要做三件事:定时抓股价、判断触发条件、发送提醒。我用AI生成了基础代码,然后微调了一下。

1. 抓取股价数据

用yfinance库,几行代码就能搞定。比如监控腾讯控股(港股代码:0700.HK):

import yfinance as yf

def get_stock_price(symbol):
    stock = yf.Ticker(symbol)
    # 获取最新股价,这里用历史数据模拟实时(延迟约15分钟)
    hist = stock.history(period="1d", interval="1m")
    if not hist.empty:
        latest_price = hist['Close'].iloc[-1]
        return latest_price
    else:
        return None

# 测试一下
price = get_stock_price("0700.HK")
print(f"当前股价: {price}")

注意:yfinance的数据有延迟(通常15分钟左右),对于非高频交易够用了。如果你要实时数据,得用付费API,但我觉得没必要,炒股又不是炒币。

2. 判断触发条件

我设了个简单条件:当股价低于某个阈值时提醒。你可以扩展,比如涨跌幅超过5%、突破均线等。

def check_condition(price, threshold):
    if price is not None:
        if price < threshold:  # 跌破阈值
            return True, f"股价已跌破 {threshold},当前价: {price}"
    return False, ""

# 设置阈值,比如腾讯低于300港币时提醒
threshold = 300.0
is_triggered, message = check_condition(price, threshold)
if is_triggered:
    print(message)

3. 发送提醒

我两种方式都做了:微信推送快,邮件更正式。先看微信,用Server酱(免费版每天最多发5条,够用了):

import requests

def send_wechat_message(sckey, title, content):
    url = f"https://sctapi.ftqq.com/{sckey}.send"
    data = {
        "title": title,
        "desp": content
    }
    response = requests.post(url, data=data)
    if response.status_code == 200:
        print("微信消息发送成功")
    else:
        print(f"发送失败: {response.text}")

# 替换成你的SCKEY
sckey = "你的SCKEY"
send_wechat_message(sckey, "股价提醒", message)

邮件推送用QQ邮箱的SMTP(记得在QQ邮箱设置里开启SMTP服务,拿授权码):

import smtplib
from email.mime.text import MIMEText
from email.header import Header

def send_email(subject, body, to_email):
    from_email = "你的QQ邮箱@qq.com"
    password = "你的授权码"  # 不是QQ密码!
    
    msg = MIMEText(body, 'plain', 'utf-8')
    msg['From'] = Header(from_email)
    msg['To'] = Header(to_email)
    msg['Subject'] = Header(subject, 'utf-8')
    
    try:
        server = smtplib.SMTP_SSL("smtp.qq.com", 465)
        server.login(from_email, password)
        server.sendmail(from_email, [to_email], msg.as_string())
        server.quit()
        print("邮件发送成功")
    except Exception as e:
        print(f"邮件发送失败: {e}")

send_email("股价提醒", message, "接收邮箱@example.com")

第三步:整合脚本,加上定时任务

把上面代码拼起来,用schedule库定时运行。我设了每30分钟检查一次,你可以按需调整。

import schedule
import time

def job():
    symbol = "0700.HK"  # 股票代码
    threshold = 300.0   # 阈值
    
    price = get_stock_price(symbol)
    if price:
        print(f"[{time.ctime()}] 检查 {symbol}: 当前价 {price}")
        is_triggered, message = check_condition(price, threshold)
        if is_triggered:
            # 发送提醒
            send_wechat_message("你的SCKEY", "股价提醒", message)
            send_email("股价提醒", message, "接收邮箱@example.com")
    else:
        print(f"[{time.ctime()}] 获取数据失败")

# 每30分钟运行一次
schedule.every(30).minutes.do(job)

print("AI股价监控智能体启动中...")
while True:
    schedule.run_pending()
    time.sleep(1)

保存为stock_monitor.py,在命令行运行:python stock_monitor.py。脚本会一直运行,定时检查并发送提醒。

第四步:部署到服务器或云函数,实现24小时监控

本地运行电脑不能关机,所以最好部署到云端。我推荐两种零成本方式:

  • 云服务器免费试用:比如AWS、Google Cloud或Azure都有免费层,跑个Python脚本绰绰有余。
  • 云函数:像Vercel或Railway,支持Python,有免费额度,设置定时触发就行。

以Vercel为例(需要点前端知识),把脚本改成无服务器函数,用cron触发。具体步骤:

  1. 注册Vercel,安装CLI。
  2. 创建api/stock.py文件,把上面的job()函数放进去,导出为HTTP端点。
  3. 在Vercel项目设置里加cron job,比如*/30 * * * *表示每30分钟执行。

这样,脚本就在云端24小时运行了,完全免费。

注意事项和我的经验

  • 数据延迟:yfinance不是实时的,延迟15分钟左右。如果你做短线,得考虑这点。我用它监控中长期持仓,完全没问题。
  • 免费限制:Server酱免费版每天5条消息,超了得付费。邮件推送也有频率限制,别设太短的间隔。
  • 错误处理:实际运行中,网络可能出错。我加了try-except块,避免脚本崩溃。
  • 扩展功能:你可以用AI助手生成更多功能代码,比如监控多个股票、复杂技术指标(如RSI、MACD),或者集成到Telegram、Discord。
  • 安全:不要把API密钥或邮箱密码硬编码在代码里。用环境变量,比如os.getenv('SCKEY')

我用了两周,成功提醒了我两次加仓机会。这AI智能体虽然简单,但真心省事。代码总共不到100行,大部分是AI生成的,我只改了改参数和逻辑。

总结

用Python+AI,零成本搭建股价监控智能体,其实就这么几步:装工具、写脚本(抓数据、判条件、发提醒)、定时运行、部署到云端。成本为零,效果实实在在——我再也不用整天盯盘了。

如果你也想试试,拿上面的代码去改,用AI助手帮你调试。有问题欢迎来我博客298.name交流。炒股已经够累了,让AI智能体帮你盯盘吧!

本文来源:一江山水的随笔

本文地址:https://www.298.name/post/115.html

主要内容:零成本让AI智能体自动监控股价,触发条件就微信/邮件提醒你

版权声明:如无特别注明,转载请注明本文地址!

想找什么搜索会更快哦!
站点信息
  • 文章总数:109
  • 页面总数:1
  • 分类总数:4
  • 标签总数:75
  • 评论总数:61
  • 浏览总数:1491059
控制面板
您好,欢迎到访网站!
  查看权限
Top