halo 的技术博客

返回

引言:当大模型遇上资本市场#

2024年以来,以GPT-4、Claude和DeepSeek为代表的大语言模型(LLM)席卷了各行各业,但有一个领域始终让技术圈既兴奋又谨慎——股市预测。无数人幻想:能不能把大模型训练成”股神”,让它帮我们读财报、看K线、预判涨跌?

答案既是肯定的,也是复杂的。本文将从数据准备、预训练策略、微调方法、评估体系四个维度,系统性地拆解如何训练一个大模型成为股市预测专家。这不是一篇教你”3天打造AI量化交易员”的速成帖,而是一份严谨的技术路线图。

一、数据准备:金融语料的采集与清洗#

训练任何领域大模型的第一步,永远是数据。大模型的”世界观”由训练数据决定,金融领域也不例外。

1.1 数据源分层#

构建金融预测模型的数据源可以分为四层:

第一层:结构化市场数据 包括股票价格(开盘价、最高价、最低价、收盘价)、成交量、财务指标(PE、PB、ROE等)。这些数据高度结构化,适合作为量化因子喂入模型。但要注意,单纯的价格序列对于LLM来说是一串枯燥的数字,需要配合时间戳和上下文叙事。

第二层:非结构化文本数据 这是LLM最擅长的领域。新闻标题、公司公告、研报摘要、社交媒体帖子(Twitter/X、微博、雪球)、业绩电话会议转录,都属于这一类。文本数据蕴含着市场情绪、管理层意图、行业趋势等难以量化的信息。

第三层:另类数据(Alternative Data) 卫星图像(停车场的汽车数量预测零售额)、信用卡消费数据、搜索引擎趋势、气象数据等。这类数据近年来在华尔街越来越受重视,可以作为补充信号提升模型预测能力。

第四层:专家知识库 包括金融教科书、投资大师的著作(如巴菲特致股东信)、经典量化论文(如Fama-French三因子模型原论文)、金融词典和监管文件。这类数据帮助模型建立金融领域的知识图谱和推理能力。

1.2 数据清洗的坑#

金融数据看起来规整,实际上坑非常多。

财报数据需要统一计量单位。不同国家的会计准则不同,苹果公司的美元营收和贵州茅台的人民币营收不能直接比较。训练时需要对货币、单位、时间段做标准化处理。

新闻数据存在”未来函数”泄漏风险。如果模型在训练时学习了某条新闻及其对应的第二天股价涨跌,看似合理,但实际问题在于:公开新闻的发布时间往往晚于事件实际发生时间。比如某公司CEO在周一内部会议上得知重要消息,周三才对外发布公告。模型可能在周三之前就”知道”了这条消息,这不是真实市场的预测能力,而是数据泄漏。

文本标注的一致性问题。给新闻打标签”利好”或”利空”看起来简单,但不同标注者的标准可能相差很大。一条”公司宣布裁员10%“的新闻,对股东是利空,对债权人可能是利好(公司财务压力减轻)。标注体系必须预先定义清楚标注的视角和粒度。

1.3 数据量的经验值#

从实践经验看,训练一个金融领域专业模型,核心金融语料至少需要10B tokens以上才能形成有效领域知识。如果混入了通用数据(如Common Crawl网页),总量可以达到数百B tokens。个人开发者如果资源有限,可以从以下高质量数据源入手:

  • BoringCausalLM(金融预训练语料)
  • SEC EDGAR(美国证监会公开文件)
  • FinancialPhraseBank(情感标注语料)
  • 巨潮资讯网(A股公告)

金融数据来源分层图

二、预训练策略:让模型”理解”金融市场#

拿到数据后,第二步是预训练。预训练的目标是让模型建立对金融市场的底层认知,而非直接做预测。

2.1 继续预训练(Continual Pretraining)#

大多数情况下,我们不会从零训练一个模型,而是基于已有的大模型(如Llama、Qwen)做继续预训练。这个过程也叫领域适配(Domain Adaptation)。

关键参数建议:

  • 学习率:建议比原模型训练时低一个数量级(1e-5左右),避免遗忘原有知识
  • 上下文窗口:金融分析需要长上下文,至少16384 tokens起步,能处理一份完整年报
  • 训练步数:通常训练20B~50B tokens的金融语料,需要几万到十几万步

2.2 领域词汇表扩展#

金融领域有很多专有词汇和缩写:EBITDA、P/E、VaR、CVaR、Sharpe Ratio、CAPM……如果直接用通用Tokenizer处理这些词汇,可能会被拆成无意义的碎片。最有效的解决方案是扩展Tokenizer的词表,将常见金融术语作为一个独立的token加入。

具体做法是:统计金融语料中出现频率高但被WordPiece/BPE切分得很碎的词,将它们加入词表并对齐embedding层。经验上,扩展5000~20000个领域词汇可以将金融语料的压缩效率提升15%~25%。

2.3 遮蔽语言建模(MLM)vs 因果语言建模(CLM)#

预训练任务的选择也很关键。BERT类模型用MLM(遮蔽语言建模),GPT类用CLM(因果语言建模)。金融领域建议优先用CLM架构(即GPT路线),原因如下:

  1. 生成能力是刚需:金融分析师的工作不只是判断涨跌,还要写研报摘要、解释财报、生成交易逻辑。GPT类的生成能力在下游任务中更实用。
  2. In-Context Learning:GPT类模型可以在推理时通过few-shot examples学习新任务,不需要重新训练。金融市场的策略需要快速迭代,这个能力非常重要。
  3. 指令遵循能力:经过指令微调的GPT类模型(如ChatGPT)更容易通过自然语言交互获取用户需求,降低使用门槛。

三、微调方法:从通用到专精#

预训练让模型”懂”金融,但要让模型”会”预测,还需要微调。

3.1 监督微调(SFT):教会模型输出格式#

第一步SFT的核心目标是让模型学会金融分析师的输出风格:结构化、有逻辑、会引用数据。

训练数据示例(对话格式):

用户:分析腾讯2025年Q4财报的关键信息
助手:【财务概览】腾讯Q4营收1802亿元,同比增长12%...
【业务亮点】微信月活达14.1亿,游戏业务回暖...
【风险提示】广告业务面临监管压力...
【综合评级】维持"增持"评级,目标价580港元...
plaintext

SFT的数据质量比数量更重要。与其用100万条低质量的自动生成数据,不如用1万条高质量的人工标注数据。标注团队最好由金融专业背景的人组成,能写出专业、地道、有洞察力的分析文本。

3.2 偏好对齐(RLHF/DPO):让模型”敬畏”市场#

股市预测最怕的是什么?是模型过度自信。一个普通语言模型经过SFT后,往往会给出非常确定的预测语气:“明天股价必定上涨”——这是非常危险的。

RLHF(人类反馈强化学习)或DPO(直接偏好优化)的核心作用,就是给模型的输出注入风险意识和不确定性表达

训练偏好数据示例:

偏好A(好的):"基于当前宏观环境和公司基本面,我判断短期内股价上涨概率略高(约55%),但存在较大不确定性,建议控制仓位并设置止损..."
偏好B(不好的):"明天腾讯股价会涨,赶紧买入!"
plaintext

偏好B的输出看起来更”抓眼球”,但在实际交易中毫无价值,甚至有害。RLHF/DPO的作用就是让模型学会表达不确定性、提示风险、建议仓位管理。

RLHF训练流程图

3.3 Agent架构:让模型”动起来”#

光会写分析报告还不够,一个真正有用的股市预测模型需要能够主动获取信息并执行任务。这就要引入Agent架构。

一个金融LLM Agent的典型能力包括:

  • 实时行情查询:调用API获取最新股价、涨跌幅、成交量
  • 新闻聚合:搜索并总结近24小时相关财经新闻
  • 财务数据提取:从PDF年报中自动提取关键财务指标
  • 多源信息交叉验证:比对研报、新闻、公告中的同一信息是否一致
  • 交易信号生成:综合以上信息,输出结构化的交易建议

Agent架构的核心挑战是工具调用的准确性。模型需要准确判断”现在我需要调用哪个工具”以及”工具返回的结果如何整合进我的分析”。ReAct(Reasoning + Acting)范式是当前的主流方案。

四、评估体系:如何衡量一个金融AI的水平#

模型训练好了,怎么评估它?这一部分可能是整个流程中最容易被忽视、也最容易出错的环节。

4.1 传统NLP指标的局限性#

大多数大模型基准测试(Benchmark)使用准确率、F1分数、BLEU分数等指标。这些指标对金融预测来说远远不够

比如,模型预测”茅台股价明天上涨”,这个预测对不对?光看准确率无法回答,因为:

  1. 短期股价受随机因素影响很大,即使预测”正确”也可能只是运气
  2. 预测的幅度也很重要。预测涨0.1%和涨10%是完全不同的能力
  3. 不同市场环境下的预测准确率差异巨大。牛市里闭眼买都能赚钱,熊市里神仙难预测

4.2 金融专业评估指标#

真正衡量金融AI能力,需要引入以下指标:

信息系数(IC / Information Coefficient) IC是衡量预测与实际收益相关性的核心指标。IC=0表示预测毫无信息量,IC=0.1以上算有实用价值,IC=0.2以上是优秀水平。注意IC需要分时间段计算,单月IC高不代表模型稳定。

Rank IC 将预测结果和实际收益都转换为排名,比较排名的相关性。Rank IC的优势是不受预测绝对值的影响,只关心相对排序,这对选股类任务特别重要。

最大回撤(Max Drawdown) 即使预测准确率高,但如果模型给出的交易建议在某段时间内亏损严重,也没有实用价值。最大回撤衡量的是最坏情况下的损失。

夏普比率(Sharpe Ratio) 综合衡量收益和风险的指标。Sharpe Ratio > 1通常被认为是可以接受的,> 2是优秀。

4.3 回测的陷阱:为什么你的回测结果可能是假的#

很多量化新手在回测中取得了惊人的收益(比如年化300%),一实盘就亏损。为什么?

过拟合(Overfitting) 是最大的敌人。当你在历史数据上反复调参、优化策略,模型/策略实际上”记住”了历史规律,而不是”学到”了可泛化的规律。一个在2020-2024年表现优异的策略,可能完全无法应对2025年的新市场环境。

解决方案:

  1. 样本外测试(Out-of-Sample Testing):留出部分数据不参与训练,只做测试
  2. 滚动窗口验证(Walk-Forward Validation):模拟真实投资场景,用过去N年的数据训练,预测下一年,反复滚动
  3. paper trading阶段:先用模拟盘跑3-6个月,观察真实表现再决定是否上实盘

五、实战框架:端到端训练路线图#

综合以上内容,一个完整的大模型股市预测专家训练流程如下:

第一阶段(1-2个月):数据工程

  • 建立数据管道,收集并清洗市场数据、新闻、公告、研报
  • 构建数据标注流程,招募金融专业标注员
  • 解决数据泄漏问题,建立严格的数据隔离机制

第二阶段(2-3个月):预训练与微调

  • 基于开源基础模型(如Llama-3、Qwen-2),进行领域继续预训练
  • 扩展金融领域词表,优化Tokenizer
  • 收集并构建SFT数据集,进行监督微调
  • 构建偏好数据,进行RLHF/DPO对齐

第三阶段(1-2个月):Agent能力构建

  • 集成行情API、新闻搜索、PDF解析等工具
  • 开发ReAct推理循环,优化工具调用准确率
  • 构建金融分析Agent的评估套件

第四阶段(持续):评估与迭代

  • 建立完整的回测框架,包含IC、Rank IC、Sharpe Ratio、最大回撤等指标
  • 实施Walk-Forward验证
  • 进入paper trading阶段,观察真实表现
  • 根据实盘反馈持续优化模型

结语:AI是工具,不是圣杯#

写到最后,我必须泼一盆冷水:无论大模型多么强大,股市预测本质上是一个困难到近乎不可能的任务。如果有人告诉你他训练了一个”股神”AI,大概率是在收你的智商税,或者他自己还没真正理解市场的复杂性。

但这不意味着大模型在金融领域没有价值。相反,它的价值可能比我们想象的更广阔:

  • 自动化研报生成,让分析师从繁琐的财报阅读中解放出来
  • 多源信息整合,帮助投资经理快速跟踪海量信息
  • 风险管理辅助,实时监控持仓风险敞口
  • 客户沟通自动化,生成个性化的投资建议书

大模型最应该扮演的角色,不是”预测市场”的先知,而是增强人类分析师能力的助手。在这个定位下,它的价值是真实且可量化的。

大模型金融应用全景图

从零到专家:如何训练大模型成为股市预测高手
https://blog.halo26812.eu.org/blog/2026-07-17-llm-stock-prediction-expert
Author halo
Published at 2026年7月17日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨