XYStock 开源工具支持对 A 股市场全部股票、ETF 基金、港股通股票,以及上证指数、深证成指、创业板指等主要大盘指数进行行情预测和智能分析。用户可以一站式获取实时数据、AI 分析报告和操作建议。
1 引子
行情好的时候更容易赚钱,有时候等待一波行情可能需要十年。我最近开始开发股票分析相关工具。现在是个不错的时间点,也有足够的动力,加上关注这方面的人越来越多。
七月中参加一个股票相关的大数据比赛,在之后的学习会上,我想分享自己在建模比赛中的收获,又觉得所用的方法过于单一。然后开始系统地阅读相关论文,并试用 GitHub 上高星级的股票工具,最终决定自己动手做工具,一两周后,我完成了一个版本并开源,同时写了简要介绍。没想到,收到了很多老友的反馈,好像中年人都在玩这个。
在开发过程中,我也在操作自己的账户,产生了很多疑问,关注了一些公众号和 UP 主,听他们的实盘分析,同时读一些经典书籍,涉及长线短线、背后逻辑和具体方法等。为了每次分享都能增添一些亮眼的内容,不断寻找更前沿的方向。在与朋友的讨论中,一次次的质疑,反驳,也激发出更多的思路和激情。
于是继续更新,将更多的理解融入工具中。制作工具时添加的每个功能都旨在解决具体问题,不因他人有此功能而盲目跟风。接下来介绍的是我对这些数据的理解,也是当前版本的新增的功能。
2 更新内容
1.2.0 版本的升级包含 40 多次提交,超过 5000 行的有效代码更新,更新时间2025.10.04,同步更新github主分支和docker image。
重要的功能更新包括:
- 多指数支持
– 支持分析上证、深成、创业板、科创 50 等主要指数 - 市场情绪分析
– 全新市场情绪数据获取与分析功能 - 股息分红分析
– 深度分析股票分红历史与收益潜力 - ETF 持仓分析
– 获取 ETF 详细持仓数据与投资策略分析 - 公司信息分析
– 加入了公司主营业务、核心优势、行业地位等 - 基本面增强
– 加入盈利、偿债、运营、成长等更多数据支持 - 风险偏好设置
— 在设置中新增风险偏好选项 - 风险指标计算
– 新增个股与指数多维度风险评估 - 指数新闻集成
– 实时获取指数新闻并结合数据分析 - 策略回测模块
– 完整回测框架和可视化工具
3 具体功能介绍
3.1 多指数支持
初始版本包含了对上证指数的分析和预测,其原因是我认为在预测个股时,需要考虑整体市场的行情涨跌。刚刚过去的九月,我们也看到了结构性的行情,创业板涨势很好,而大盘则停留在平台区,还有大量股票表现不如大盘。常常出现指数上涨,但超过一半的个股下跌的情况。
因此,这次更新中,我加入了上证、深成、创业板、科创50等主要指数的分析和预测,以便在分析时更具体地考虑各个板块。例如,在分析创业板的某支股票时,参考创业板指的趋势,而不是上证指数。
3.2 市场情绪分析
市场情绪是短期预测中非常重要的因素。很多国外市场都有贪婪恐惧指数(之前国内市场也曾有过一段时间),它是一个重要的预测因素。在没有这一数据的情况下,我们也可以通过分析一些其他数据来获取市场情绪,比如市场的涨/跌/平盘家数和占比,以及资金的流入/流出等。
在开发第一版时,我没找到合适的接口,每次需要拉取当前所有股票信息自行计算,既耗时又频繁,结果还常被封禁 IP。而在这一版中,找到了一些更合适的接口,并实现了数据的抓取、分析和综合评分。
3.3 股息分红分析
有时候买股票是为了追求暴涨,有时候则是为了获取分红。比如,购买一些红利或现金流类的股票和基金,即使股价不涨,只要在低位买入并长期持有,通过每年的分红也能稳赢银行利息。从这个角度出发,在各只股票的基本信息界面中加入了过去几年的分红和配送数据,供用户参考。
(这支股票当前价是 38.50,可以看到它的分红数据相当好)
3.4 ETF 持仓分析
之前关于ETF的分析比较单薄,因为一般来说,ETF无法像股票那样获取筹码分布,也没有财务指标和分红信息,所以只能参照K线数据和相关新闻。
今年是ETF牛市,普通人常常发现买ETF比买个股更容易盈利。选择ETF时,主要是选择行业方向,比如投资机器人、科技、半导体的ETF。虽然同类ETF的涨跌趋势相似,但也存在差异,因此在选择时需要查看持仓的个股和比例。所以这一版展示了前十名持仓比例(并不是所有ETF都提供该数据),用于精挑细选ETF。
3.5 公司信息分析
我以前只投资自己比较了解的公司和行业,对于不熟悉的领域,不能确定它的行业周期以及当前价格是否合理,也无法判断买卖的最佳时机。而问题是:我熟悉的行业可能一直不涨。现在,有了大模型的帮助,我们可以有针对性地提问,并迅速扩展到新的领域。在与模型交互的过程中,我也提取了一些关键提示词,并将其整合到当前工具中,以便快速了解一家公司。这样,即使是跟风购买某只股票,至少不会完全不懂。
问题涵盖:公司是做什么的、核心产品/服务是什么、主要解决了什么痛点问题、它的核心技术/资源是什么、它在行业中的地位如何、竞争对手和替代方案有哪些、盈利模式是什么,以及潜在的风险和挑战。
3.6 基本面增强
在相对长线的投资场景中,基本面还是非常重要的。之前版本,在大模型分析基本面时,经常提示数据不足,无法准确分析。这一版本在股票的基本信息中加入了更多内容:盈利、偿债、运营、成长等数据支持,并且进行了分类显示。
尽量很多数据我其实也不太会看,不过模型会看,并能提示一些单靠PE、ROE无法发现的潜在问题。这相当于让模型更细致地阅读数据报,并提取出有价值的要点。
3.7 风险偏好设置
假设我有一万的本金,年收益率为10%。这时,一千块钱的收益显得无足轻重,即使全亏了,也能很快赚回来。如果本金是一百万,年收益率10%意味着十万块,这对很多人来说足够支撑一年生活,但也无法接受大比例的损失。由于每个人的风险偏好和对损失的厌恶程度差异很大,因此对不同人的投资建议也不可能完全一样。盈利空间越大,风险也就越高,这可能也是为什么本金越少时,容易亏损的原因之一。
在优化提示词的过程中,我尝试添加了以下内容:
结果画风突变,什么都不让我买,看啥风险都大。这也可能是因为当前位置(2025年十一期间)相较之前处于一个相对高位。
最终,在这次升级在设置中加入了风险偏好选项:中性、保守、激进,以及用户自定义。以便在生成投资建议时,考虑到用户的个体差异。
以下是最新版本中使用“中性”风险偏好时,对某支股票的分析结果。经过提示词调整,我觉得目前效果还是比较直接有效的。
(这是一位 B 站大 V 在九月份重点投资的股票,还好没有跟风买)
3.8 风险指标计算
之前的股票预测中已经包含风险指标,在这一版中,风险分析也加入了指数预测,并且更详细地展示了多种内容。这些数据都是通过对 K 线的分析得出的。最大回测、波动率、夏普比率、VaR、CVaR等,用来描述风险和收益之间的关系。有研究表明,在股票模型中纳入风险因素后,可以有效避免亏损,保住盈利,并显著提升累计收益。
3.9 指数新闻集成
之前的版本在预测股票时,将股票相关的新闻作为其中一个判断条件,以提供消息面的特征。这次版本升级,在分析指数时也加入了指数相关的新闻数据。
3.10 策略回测模块
策略回测的内容没有直接展示在界面上,相关代码和使用方法都位于 backtesting 目录中,其中实现了几种简单策略。如果你感兴趣,可以自己编写一些策略,并在 A 股的历史数据上进行测试。可以看到,那些曾被视为“铁律”的规则,其实只有在特定场景下才有效。可以说,回测是祛魅的有效方法。
4 原理
我该如何证明我的工具是有效的呢?
你可能会认为我收集的数据不一定是及时的、正确的或全面的,大模型也时常出现偏差,那么我该如何证明我的预测是准确的,或者如何保证正确率呢?
当前的工具与那些只提供结论、隐藏过程的工具不同。我们支持导出报告,报告中包含所有收集到的数据,你可以通过查看数据直接判断其是否及时和正确。对于工具未能收集到的数据,用户还可以手动输入,将其纳入大模型的分析范围。
报告中的数据可以复制给任何一个大模型,基于这些数据进行预测。我们常用的国内外大模型都是在海量数据基础上训练而成,金融分析能力明显高于绝大多数人。如果多个模型基于同样的数据得出类似的结论,我们普通人恐怕也很难取得更好的结果。
至于预测的准确率,没人能够完美预测市场,关键在于概率的高低。如果能管理好情绪,持续进行高胜率的操作,累积下来的结果通常更于赌一两支股票。
我老弟说股票分析报告后面的“参考数据”部分有点像体检报告。我也觉得,关注数据和分析过程,以及建议背后的原因,可能比只看预测结果更为有效。
5 如何证实/证伪
从 25.09.08 开始(计划延续到 2025 年底),我使用 XYStock 工具预测第二天大盘的涨跌(工具可以预测所有 A 股、ETF、港股通股票,由于篇幅有限,这里只展示对大盘指数的预测),并在公众号【得之有道】上展示。至于预测的准确性,我个人觉得还行,大家可以自己对照看看。
在9月的大部分时间里,预测结果主要显示市场震荡和下跌,月中有几天几乎结果完全一样,我都怀疑是不是数据没更新?不过在月底的几天里也有预测显示市场可能上涨。查看主要原因是市场处于高位平台区,而且没有出现有效突破,基本上也是合理的。
6 TODO
在我目前的能力和认知范围内,也只能做到这个程度了。接下来,计划尝试一些强化学习方法,目前数据、环境和Demo都已准备就绪,也有了一些基本的思路。
在这段时间的学习和开发过程中,似乎也看到了更多可能性:也许能给自己挣个长期饭票?再做做看吧。
暂无评论内容