利用 AI 定期获取股票分析

32次阅读
没有评论

共计 6826 个字符,预计需要花费 18 分钟才能阅读完成。

这几年做投资,最让我焦虑的不是亏钱,而是那种无时无刻想打开手机看盘的冲动。早上醒来第一件事是看开盘,中午吃饭时要刷一遍持仓,晚上睡前还要复盘。更要命的是,即使看了也不知道该做什么,只是在那里盯着红红绿绿的数字发呆。后来我意识到,这种焦虑很大程度上来自于信息过载和缺乏系统性的分析框架。我需要的不是时刻盯盘,而是一个能帮我筛选关键信息、提供决策参考的助手。

前段时间在 GitHub 上发现了一个叫 [[Daily Stock Analysis]] 的开源项目,作者的初衷和我的需求不谋而合。他起初只是想给自己做一个工具,用来分析自选股和大盘,减少盯盘、盯股票分析的精力。后来本着开源精神把代码公开了,现在任何人都可以用这套方案来搭建自己的股票分析助手。最吸引我的是,整套方案用的都是免费服务,GitHub Action 的免费额度配合 [[Gemini]] API、Serpapi 和 TAVILY 的免费检索功能,完全足够日常使用。

为什么我们需要这样的工具

在聊具体功能之前,我想先说说为什么我觉得这个工具很有价值。很多人炒股的方式是凭感觉,看到某个股票涨了就追,跌了就恐慌性抛售。这种情绪化的操作往往是亏钱的主要原因。理性的投资者都知道应该做好功课,研究公司基本面,关注行业新闻,分析技术走势。但问题是,这些工作太耗时间了。

以新闻收集为例,一只股票可能每天都有几十条相关新闻,有些是公司公告,有些是行业动态,还有些是分析师点评。你要把这些信息都看一遍,再从中筛选出真正有价值的,至少要花一两个小时。如果你的自选股有十几只,这个工作量就更大了。而且即使你看完了,也不一定能准确判断这些新闻对股价的影响,因为市场情绪是复杂的,同样的消息在不同的市场环境下可能导致完全相反的反应。

大盘复盘也是一样的道理。每天收盘后,各种媒体都会发布复盘文章,但这些文章往往千篇一律,要么是简单罗列数据,要么是事后诸葛亮式的分析。真正有价值的复盘应该是结合当天的资金流向、板块轮动、市场情绪等多维度信息,给出一个系统性的判断,并且能够指导第二天的操作策略。但这种高质量的分析通常需要专业的研究团队,对普通投资者来说门槛太高。

[[Daily Stock Analysis]] 这个项目试图用 [[AI]] 来解决这些问题。它不是代替你做决策,而是帮你做信息的收集、筛选和初步分析,让你能够在更短的时间内掌握关键信息,然后基于这些信息做出自己的判断。这种"人机协作"的方式,我觉得是目前 AI 在投资领域最靠谱的应用方向。

核心功能和技术方案

这个项目的核心功能可以分为三个部分:AI 决策仪表盘、智能新闻聚合和大盘复盘报告。每个功能都针对投资者的具体需求做了设计。

AI 决策仪表盘是整个系统的中枢。它会整合你的自选股信息,结合最新的新闻和市场数据,生成一个综合性的分析报告。这个报告不是简单地告诉你涨了多少跌了多少,而是会给出一些更有深度的见解。比如它会分析某只股票最近的新闻舆情,判断是正面还是负面,是短期炒作还是长期利好。它还会结合大盘走势,告诉你这只股票是跟随大盘波动还是有独立行情。这些信息对于判断是否应该持有、加仓或减仓都很有参考价值。

智能新闻聚合功能解决了我前面提到的信息过载问题。系统会自动搜索你的自选股相关的新闻,然后用 AI 来解读这些新闻的舆情风险。这里的关键是"解读"两个字。它不是简单地把新闻标题列出来,而是会分析新闻的内容,判断这个消息对股价可能产生什么影响。比如某家公司发布了财报,AI 会告诉你这份财报的核心数据是超预期还是低于预期,市场可能会怎么反应。这种信息的提炼和解读,确实能节省大量的阅读和分析时间。

大盘复盘报告是每天收盘后自动生成的。它会分析当天的市场走势,包括主要指数的表现、涨跌分布、成交量变化、板块轮动等等。更重要的是,它会给出一些前瞻性的判断,比如当前市场处于什么阶段,短期可能的走势方向,需要注意哪些风险点。这种复盘报告对于建立系统化的投资思维很有帮助,因为它强迫你每天都去回顾和反思市场的变化,而不是盲目地追涨杀跌。

技术实现上,这个项目用的都是免费或者有免费额度的服务。[[GitHub Actions]] 负责定时执行任务,[[Gemini API]] 提供 AI 分析能力,[[Serpapi]] 和 [[TAVILY]] 负责新闻检索。整个系统的运行成本几乎为零,这对于个人投资者来说是个很大的优势。你不需要租服务器,不需要付费订阅各种数据服务,只要有个 GitHub 账号就能跑起来。

分析完成后,系统会直接把报告推送到你的微信上。这个推送功能用的是[[企业微信]]的接口,配置起来也很简单。每天早上起来,你就能在微信上看到前一天的复盘和当天的分析,不需要主动去查看,这种被动接收信息的方式确实能减少很多焦虑。

使用体验和局限性

我自己试用了一段时间,整体感觉还是挺实用的。首先是确实节省了时间,以前我每天要花半小时到一小时去看新闻、看复盘,现在只需要花十分钟扫一遍 AI 生成的报告就够了。而且 AI 的分析角度有时候还挺有意思,它会注意到一些我容易忽略的细节,比如某个行业政策的变化可能对某只股票的影响。

不过也有一些局限性需要说明。首先,AI 的分析只能作为参考,不能完全依赖。它的判断是基于历史数据和新闻文本的,但股市是由人的情绪驱动的,很多时候会出现非理性的走势。我见过几次 AI 判断某个消息是利好,但实际上股价反而跌了,因为市场已经提前反应了,或者说利好出尽就是利空。所以你还是要结合自己的判断和市场的实际反应来做决策。

其次,目前这个项目支持 [[ETF]] 分析,但还不支持场外基金。如果你主要投资的是场外基金,可能就用不上了。不过作者在 GitHub 上也说了,后续会考虑加入这个功能,毕竟很多投资者是通过基金定投的方式参与市场的。

还有就是数据源的问题。免费的 API 服务在数据及时性和准确性上可能不如付费服务,尤其是新闻检索这块,有时候会漏掉一些重要消息,或者检索到的新闻不够全面。如果你对数据质量要求特别高,可能需要考虑替换成付费的数据源。但对于大多数个人投资者来说,免费版的数据质量已经足够了。

投资工具与投资哲学

在开始使用这个工具之前,我想先聊聊投资工具和投资哲学的关系。很多人误以为有了一个好工具,就能在市场上赚钱。但实际上,工具只是帮你更高效地执行你的投资策略,它无法替代你对投资本质的理解。

正如[[如何建立一套个人的投资系统]]中提到的,一个完整的投资系统需要包含三个核心要素:个人认知以及投资哲学、投资策略、纠错机制。这套 AI 系统主要解决的是第二个层面的问题,即投资策略的执行。它可以帮你更有效地筛选标的、把握买卖时机,但它并不能替代第一个层面,也就是投资哲学的建立。

投资哲学决定了你要寻找什么样的机会。如果你的投资哲学是[[价值投资]],关注企业的长期价值,那么这套系统可以帮你筛选出那些被低估的优质公司。如果你的投资哲学是趋势跟踪,那么系统可以帮你识别技术形态和动量信号。

从[[价值投资的三个知识点]]的框架来看,这套系统在三个层面上可以发挥作用。在判断公司价值层面,系统可以帮助收集和整理公司的基本面信息,但深层的行业理解和商业模式分析,仍然需要你自己完成。在判断股价便宜层面,系统可以比较有效地计算各种估值指标,帮助你在多个标的之间做横向比较。在预估价格回归价值的时点层面,系统可以监测一些可预见的催化剂事件,比如财报发布、股东大会等。

因此,这套系统的合理定位应该是:一个高效的信息助手和初筛工具。它可以把3000只股票快速筛选到30只,但最终的决策,仍然需要你基于自己的投资哲学来完成。

技术实现细节

项目使用 [[Python]] 作为主要开发语言,技术栈简洁实用。AI 分析依赖 Google [[Gemini]] 模型,这是 Google 推出的大语言模型,提供免费的 API 额度。作为备选方案,你也可以接入其他兼容 [[OpenAI]] API 的服务,比如 [[DeepSeek]]、通义千问、Moonshot 等。

数据来源方面,项目整合了多个金融数据源。[[AkShare]] 提供 A 股行情数据,[[Tushare]] 和 [[Baostock]] 作为备选数据源,[[YFinance]] 则可以获取海外市场数据。新闻搜索功能依赖 [[Tavily]] 或 [[SerpAPI]],帮助你追踪市场热点。

项目架构采用模块化设计,主要包含以下几个模块:

  • analyzer.py 负责调用 Gemini AI 进行分析
  • market_analyzer.py 处理大盘复盘
  • search_service.py 提供新闻搜索
  • notification.py 管理消息推送
  • scheduler.py 实现定时任务调度

这种清晰的职责划分使得代码易于维护和扩展,你可以根据自己的需求修改或添加新的模块。

部署方式选择

项目提供了三种部署方式,适合不同的使用场景。

最推荐的是使用 [[GitHub Actions]] 部署。你只需要 Fork 项目仓库,在 GitHub 的 Settings 中配置必要的 Secrets,然后启用 Actions 即可。系统会在每个工作日的指定时间自动运行分析任务,完全无需人工干预。这种方式的优点是零成本、零维护,非常适合普通投资者。

如果你想在本地运行,可以克隆项目到本地,安装 [[Python]] 依赖,配置环境变量文件,然后直接执行脚本。这种方式方便调试和定制,适合有一定技术基础的用户。

对于追求稳定运行的用户,可以选择 [[Docker]] 部署。项目提供了 docker-compose 配置文件,配置好环境变量后一键启动即可。这种方式适合有服务器资源的用户,可以保证服务的持续运行。

配置和使用建议

如果你想自己搭建这套系统,我有几个建议。首先是 API 额度的管理。虽然这些服务都有免费额度,但如果你的自选股特别多,或者分析频率很高,可能会超出免费额度。建议一开始先用少量的自选股测试,看看实际的消耗情况,然后再决定是否需要扩大规模。

其次是微信推送的配置。企业微信的应用创建和 API 调用有一定的门槛,如果你之前没接触过,可能需要花点时间研究一下文档。不过好在作者在 README 里写得很详细,基本上按照步骤操作就能配置成功。如果你嫌麻烦,也可以考虑用其他的推送方式,比如[[邮件]]或者 [[Telegram]]。

还有就是自选股的选择。这个系统最适合用来跟踪那些你已经深入研究过、有一定了解的股票。如果你把一堆陌生的股票加进去,AI 给的分析你也判断不了对错,反而会增加困扰。建议先建立自己的股票池,然后用这个工具来辅助跟踪和分析,而不是指望 AI 帮你选股。

需要特别强调的是,这个项目仅供学习研究使用,不构成投资建议。AI 分析结果仅供参考,不能作为投资决策的唯一依据。股市有风险,投资需谨慎,你需要结合自己的判断和风险承受能力做出决策。

最后

[[Daily Stock Analysis]] 这个项目给我最大的启发是,AI 在投资领域的价值不是预测股价涨跌,而是帮我们提升信息处理的效率。股市里有太多信息了,如果没有工具辅助,人的精力根本应付不过来。这个项目用 AI 来做信息的收集、筛选和初步分析,把我们从重复性的劳动中解放出来,让我们能够把更多时间花在真正的思考和决策上。

从技术角度来说,这个项目的架构设计也很值得学习。它充分利用了各种免费服务,用最小的成本实现了完整的功能。这种"穷人版"的解决方案反而更有普适性,因为大多数个人投资者都不愿意在工具上花太多钱。作为开源项目,代码也可以根据自己的需求进行定制,比如增加新的数据源,调整分析的维度,或者改变推送的格式。

不过我还是要强调一点,工具再好也只是辅助,投资的成败最终还是取决于你自己的判断和纪律。不要指望有个 AI 工具就能躺着赚钱,市场没有那么简单。这个工具的价值在于帮你节省时间,提供更多的信息视角,让你能够在更好的信息基础上做决策。但决策本身,以及执行决策的纪律,这些都是工具无法替代的。

如果你也被盯盘焦虑困扰,或者想建立一套系统化的分析流程,不妨试试这个项目。即使你不完全照搬作者的方案,从中学习一些思路和方法,也会对你的投资实践有帮助。

详细搭建教程

下面我会详细介绍如何使用 GitHub Actions 零成本部署这套系统。这是最推荐的方式,无需购买服务器,完全免费。

第一步:准备工作

在开始之前,你需要准备以下账号:

  1. [[GitHub]] 账号:用于托管代码和运行自动化任务
  2. [[Google AI Studio]] 账号:用于获取 Gemini API Key
  3. [[企业微信]]账号(可选):用于接收推送消息
  4. [[Tavily]] 或 [[SerpAPI]] 账号(可选):用于新闻搜索

第二步:获取 Gemini API Key

访问 Google AI Studio 官网(https://aistudio.google.com/),使用 Google 账号登录。在左侧菜单中找到 "Get API Key",点击 "Create API Key" 创建一个新的 API Key。复制这个 API Key,后面会用到。

Gemini 提供免费的 API 额度,对于个人使用来说完全足够。如果超出免费额度,你也可以选择其他兼容 OpenAI API 的服务,比如 DeepSeek、Moonshot 等。

第三步:Fork 项目仓库

访问项目地址:https://github.com/ZhuLinsen/daily_stock_analysis

点击右上角的 "Fork" 按钮,将项目复制到你自己的 GitHub 账号下。这样你就有了一个独立的副本,可以自由修改配置。

第四步:配置 GitHub Secrets

在你 Fork 的仓库页面,点击 "Settings" 标签页,然后在左侧菜单中找到 "Secrets and variables" -> "Actions"。

点击 "New repository secret" 按钮,添加以下配置:

必填项:

  • GEMINI_API_KEY:填入你在第二步获取的 Gemini API Key
  • STOCK_SYMBOLS:你的自选股代码列表,多个股票用逗号分隔,例如:000001.SZ,600519.SS,AAPL

推荐配置项:

  • TAVILY_API_KEY:Tavily 搜索服务的 API Key,用于新闻检索
  • WECOM_WEBHOOK:企业微信 Webhook 地址,用于消息推送
  • TELEGRAM_BOT_TOKEN 和 TELEGRAM_CHAT_ID:如果使用 Telegram 推送

第五步:配置企业微信推送(可选)

如果你想通过企业微信接收分析报告,需要创建一个企业微信应用。项目也支持 Telegram、邮件、钉钉等多种推送方式。

登录企业微信管理后台(https://work.weixin.qq.com/),进入"应用管理" -> "自建" -> "创建应用"。填写应用名称和描述,上传应用图标,选择可见范围,然后提交创建。

创建成功后,进入应用详情页面,可以看到 "AgentId" 和 "Secret"。使用以下 API 接口获取 Webhook 地址:

https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY

将获取到的 Webhook 地址添加到 GitHub Secrets 中的 WECOM_WEBHOOK。

第六步:启用 GitHub Actions

在仓库页面点击 "Actions" 标签页,如果看到提示需要启用 Workflows,点击 "I understand my workflows, go ahead and enable them" 按钮。

GitHub Actions 会自动读取项目中的 .github/workflows 目录下的配置文件,按照设定的时间定时运行分析任务。

默认配置是在每个工作日的北京时间下午 6 点运行,你可以修改 .github/workflows/daily-analysis.yml 文件中的 cron 表达式来调整运行时间。

第七步:手动触发测试

为了验证配置是否正确,你可以手动触发一次运行。

在 "Actions" 标签页,选择对应的 Workflow,点击 "Run workflow" -> "Run workflow" 按钮。等待几分钟,任务执行完成后,查看日志确认是否成功。

如果配置了消息推送,你应该能在企业微信或 Telegram 中收到分析报告。

第八步:自定义配置

如果你想调整分析的维度或推送的格式,可以修改项目代码。

主要的配置文件在 config 目录下,你可以修改:

  • 分析的技术指标
  • 风控规则的阈值
  • 推送消息的模板
  • 数据源的选择

修改完成后,提交到你的仓库,GitHub Actions 会自动使用最新的代码。

项目资源

项目地址:https://github.com/ZhuLinsen/daily_stock_analysis

投资书单:https://www.douban.com/doulist/143048921/

相关笔记:

  • [[如何建立一套个人的投资系统]]
  • [[价值投资的三个知识点]]
  • [[投资中最简单的事]]

正文完
 0
评论(没有评论)