我的半自动化股票交易系统(三)
近期我的半自动化交易系统有了两项功能升级:一是扩展了 Telegram 的功能,可以直接在通知消息中通过标签实现买卖操作;二是集成了 LLM(大语言模型)工具,用于分析持仓和仓位变动。
在 Telegram 中直接执行买卖操作
以往的半自动化模式是:程序检测到股票价格变化后,自动发送通知到 Telegram,我再根据提醒去券商软件下单。
最近我对这一流程进行了优化,现在可以直接在 Telegram 的通知消息上通过打标签来实现买卖操作,大大提升了效率和便捷性。
实现原理
核心逻辑如下:后端会检查消息的发送者是否为管理员,并判断标签(icon)是否符合要求,只有都满足条件才会继续执行买卖操作。下面是部分实现代码:
1 | async def conv_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: |
通过这种方式,用户只需在 Telegram 消息上添加指定标签(如“👏”),系统就会自动完成买卖操作,无需手动切换到券商软件。
利用 LLM 工具分析持仓与仓位调整
我参考了 TauricResearch/TradingAgents 项目。虽然它主要支持 OpenAI 并且是终端交互,但我借鉴了其中的 prompt 设计,并在自己的系统中集成了 LLM 分析工具。现在,自动化代码生成和模型调用都非常高效,能够快速完成分析任务。
TradingAgents 的功能亮点
TradingAgents 利用 OpenAI 的函数调用能力(Function Calling),可以自动获取股票行情、检查新闻,并通过多轮交互生成分析报告。 整个过程类似如下:
这种方式让模型能够主动调用后端函数,自动完成数据抓取和分析,极大提升了智能化水平。
我的实际应用
我没有 OpenAI 的 API,但之前充值了 DeepSeek 的,所以直接用它来做持仓分析。目前项目中的 LLM 交互流程比较简洁: 系统会整理最近的持仓数据,上传给 DeepSeek 进行分析,模型会给出仓位变动建议和操作意见。
目前我每周查看一次模型生成的报告,已经能够满足日常的持仓管理和策略调整需求。