第 6 章 · 02 GPT 选股与情感:从文本到交易信号


文档摘要

第 6 章 · 02 GPT 选股与情感:从文本到交易信号 本节摘要:本节梳理 quant-wiki docs/ai 下「LLM 做选股与情感分析」的实务路径。核心素材包括三块:一是 DeepSeek-R1 对特斯拉新闻的情感分析(docs/ai/DeepSeek-R1-tesla),演示从 yfinance 抓新闻 → MarkItDown 提取正文 → LLM 打分 → 投资建议的完整管线;二是 ChatGPT 量化实战(docs/ai/ChatGPT-quant),覆盖选股、策略选择、回测、风控、部署六步流程及配套 Python 代码;三是 Langchain 金融分析师(docs/ai/如何使用 DeepSeek-R1 或 ChatGPT 与 Langchain

第 6 章 · 02 GPT 选股与情感:从文本到交易信号

本节摘要:本节梳理 quant-wiki docs/ai 下「LLM 做选股与情感分析」的实务路径。核心素材包括三块:一是 DeepSeek-R1 对特斯拉新闻的情感分析(docs/ai/DeepSeek-R1-tesla),演示从 yfinance 抓新闻 → MarkItDown 提取正文 → LLM 打分 → 投资建议的完整管线;二是 ChatGPT 量化实战(docs/ai/ChatGPT-quant),覆盖选股、策略选择、回测、风控、部署六步流程及配套 Python 代码;三是 Langchain 金融分析师(docs/ai/如何使用 DeepSeek-R1 或 ChatGPT 与 Langchain 构建专业金融分析师),把 LLM 接入行情、财报、新闻数据源,做成可问答的金融助手。本节既讲清「文本→情感→信号」的工程链路,也提示 LLM 在实时数据、预测能力、合规上的局限。素材来自 docs/ai。

内容来源:quant-wiki docs/ai(DeepSeek-R1-tesla、ChatGPT-quant、如何使用 DeepSeek-R1 或 ChatGPT 与 Langchain 构建专业金融分析师),知识结构化整理。

⚠️ 学习提示:LLM 生成的情感分数或选股建议本质是「基于训练数据的语言推断」,不等于「未来收益预测」。把它当特征工程的一环(文本因子),与价格、基本面因子组合,远比单独依赖 LLM 决策稳健。

学习目标

阅读完本节,你应当能够:

  1. 复述 DeepSeek-R1 新闻情感分析管线的四步(抓取 → 提取 → 打分 → 建议)。
  2. 说清 ChatGPT 量化六步流程(选股、策略、回测、评估、风控、部署)。
  3. 描述 Langchain 金融分析师的代理架构与数据接入方式。
  4. 列举 LLM 在交易中的优势(情绪、研究、创意)与局限(实时性、预测、合规)。
  5. 把 LLM 文本因子与传统因子结合,设计一个混合策略骨架

一、为什么用 LLM 做情感与选股

传统量化主要用价格、财务、宏观数据,而市场上有大量「文本信息」未被充分利用:新闻、财报电话会议、社交媒体、研报、内部交易公告。LLM 恰好擅长理解这类非结构化文本,能把它转成结构化的「情感分数」或「事件标签」,作为新因子。这就是「LLM 做情感与选股」的基本动机。

💡 心法:LLM 在这条链路里是「特征提取器」,不是「决策器」。它的产出(情感分数)要和传统因子一样,经过 IC 测试、分组回测、相关性分析,确认有预测力后才能进组合。

二、DeepSeek-R1 特斯拉新闻情感分析

2.1 管线四步

DeepSeek-R1-tesla 演示了一个完整的最小可用管线:

步骤 工具 产出
1. 抓新闻 yfinance 的 Ticker.news 标题、摘要、链接、发布日期
2. 提正文 MarkItDown 解析 URL 新闻正文(清洗后)
3. 情感打分 DeepSeek-R1(经 Ollama 调用) 每篇新闻情感分数
4. 投资建议 LLM 综合多篇分数 买入/持有/卖出建议

2.2 抓新闻:yfinance

def get_news(stock: str) -> list: ticker = yf.Ticker(stock) news = ticker.news relevant_news = [item for item in news if item.get('content', {}).get('contentType') == 'STORY'] # 提取 title、summary、url、pubdate

yfinance 是免费获取 Yahoo Finance 数据的常用库,Ticker.news 返回近期新闻列表。注意只保留 contentType == 'STORY' 的正式报道,过滤视频、广告等噪声。

2.3 提正文:MarkItDown

新闻链接给的是网页,需要解析正文。MarkItDown 库能把 HTML 转成 Markdown 文本,再用正则做简单清洗。这一步是把「半结构化网页」变成「纯文本」的关键。

2.4 情感打分:DeepSeek-R1

DeepSeek-R1 是 DeepSeek 2025 年开源的推理模型,以低成本(传闻训练成本约 600 万美元)、高性能(数学/编程/推理接近 GPT-o1)著称。把多篇新闻正文合并送给 R1,让它输出情感分数与投资建议。整个流程通过 langchain-ollama 调用本地部署的模型,既保护数据隐私又降低 API 成本。

💡 迁移提示:你可以把 DeepSeek-R1 换成任意开源 LLM(Llama、Qwen)或闭源 API(GPT、Claude),管线骨架不变。模型选择主要看成本、隐私、推理能力三者的权衡。

三、ChatGPT 量化六步流程

ChatGPT-quant 把 ChatGPT 在交易中的用法拆成六步,每步都给 Python 代码示例:

3.1 六步总览

步骤 ChatGPT 角色 关键工具
1. 股票选择 市场研究、情绪分析 nltk VADER、yfinance
2. 策略选择 给定标的生成策略 均值回归、动量、突破
3. 回测 历史数据评估 pandas、talib
4. 绩效评估 计算夏普、回撤 sklearn metrics
5. 风险管理 识别风险因素 多元化、止损
6. 部署 接入交易平台 alpaca_trade_api

3.2 情感分析代码示例

文档给了一个用 nltk VADER 做情感分析的简洁示例:

from nltk.sentiment import SentimentIntensityAnalyzer sia = SentimentIntensityAnalyzer() for article in news_articles: scores = sia.polarity_scores(article) sentiment = scores['compound'] # compound >= 0.05 积极, <= -0.05 消极, 否则中性

VADER 是基于词典的轻量情感分析器,不需要 LLM,速度快、可解释。LLM 版本(如 DeepSeek-R1)更灵活但成本高。两者可结合:VADER 做粗筛,LLM 做精细判断。

3.3 部署示例:Alpaca

import alpaca_trade_api as tradeapi api = tradeapi.REST(API_KEY, API_SECRET, BASE_URL, api_version='v2') api.submit_order(symbol='AAPL', qty=10, side='buy', type='market', time_in_force='gtc')

文档建议先在 paper trading(模拟账户)测试,避免真实资金风险。这与所有量化策略的部署原则一致。

3.4 可与 ChatGPT 一起用的策略

文档列了四类适合 LLM 辅助的策略:

  • 均值回归:LLM 帮识别进出场点;
  • 突破交易:LLM 识别支撑/阻力位;
  • 趋势跟随:LLM 分析历史数据给趋势强度;
  • 基于新闻的交易:LLM 结合价格与新闻情绪识别事件影响。

四、Langchain 金融分析师

4.1 代理架构

如何使用 DeepSeek-R1 或 ChatGPT 与 Langchain 构建专业金融分析师 描述了用 Langchain 把 LLM 接入多个金融数据源,做成可问答的代理:

  • 数据源:Yahoo Finance(行情)、SEC EDGAR(财报)、新闻 API、宏观经济数据库;
  • 工具(Tools):Langchain 的 Tool 接口封装每个数据源的查询函数,LLM 自主决定调用哪个;
  • 记忆(Memory):对话历史与上下文,支持多轮追问;
  • 链(Chain):把「用户提问 → LLM 选择工具 → 执行查询 → LLM 总结回答」串成流水线。

4.2 与 TradingAgents 的区别

Langchain 金融分析师是通用助手(任意金融问答),TradingAgents 是专用交易决策系统(只做买卖决策)。前者更像 Bloomberg Terminal 的 AI 版,后者更像量化交易系统的 AI 版。两者可以互补:Langchain 助手做研究,TradingAgents 做执行。

五、LLM 选股与情感的优势与局限

5.1 优势(来自 docs/ai)

  • 市场分析:快速处理大量文本,提供市场情绪洞察。
  • 风险管理:帮识别潜在风险因素。
  • 生成交易想法:基于条件与市场状况,提出潜在机会。
  • 决策支持:作为辅助工具,提供策略与建议。
  • 情感分析:实时分析新闻与社媒,评估市场情绪。

5.2 局限(来自 docs/ai)

  • 实时数据缺乏:LLM 训练数据有截止日期,可能无法获取最新市场数据或新闻。
  • 无法预测意外事件:主要依赖历史数据,难以考虑黑天鹅。
  • 有限的上下文理解:对复杂金融概念理解不足。
  • 数据偏见:训练数据的偏见可能影响输出。
  • 个性化不足:无法考虑个人风险偏好与财务目标。
  • 法律与合规:使用 AI 模型可能涉及合规问题(决策责任归属)。

⚠️ 陷阱:LLM 会「自信地编造」(hallucination)——给出看似合理但实际错误的财务数据或事件描述。所有 LLM 给出的数字、日期、事件都要交叉验证,不能直接用于下单。

六、混合策略骨架:LLM 文本因子 + 传统因子

把 LLM 用对的关键,是把它纳入因子工程的常规流程,而非独立决策。一个推荐的混合骨架:

  1. 文本因子:用 DeepSeek-R1/GPT 对每日新闻打情感分,聚合到股票层面,得到「LLM 情感因子」。
  2. 传统因子:动量、价值、波动率等(参考第 5 章)。
  3. 因子测试:对 LLM 情感因子做 IC/IR 测试、分组回测,确认有预测力。
  4. 因子合成:用 IC 加权或机器学习(XGBoost、DNN)合成多因子,得到综合 alpha。
  5. 组合优化:用均值方差或风险平价(第 7 章)构建组合。

💡 心法:LLM 在这个骨架里是「数据加工厂」,而非「决策大脑」。它的产出(文本因子)要经过与传统因子同样的严格测试。这种「LLM 做特征 + 传统做决策」的分工,是目前 LLM 量化最务实的落地路径。

本节要点回顾

  1. DeepSeek-R1 管线:yfinance 抓新闻 → MarkItDown 提正文 → R1 打分 → 投资建议,可换任意 LLM。
  2. ChatGPT 六步:选股、策略、回测、评估、风控、部署,每步都有 Python 代码示例。
  3. Langchain 助手:把 LLM 接入行情/财报/新闻数据源,做成可问答的金融代理,是通用研究助手。
  4. 五大优势:市场分析、风控、创意、决策支持、情感——LLM 的甜蜜区。
  5. 六大局限:实时性、预测、上下文、偏见、个性化、合规——LLM 的边界。
  6. 混合骨架:LLM 做文本因子 → 与传统因子合成 → 组合优化——最务实的 LLM 量化落地路径。

下一节,我们从 LLM 转向强化学习:TradeMaster、FinRobot、InvestorBench,看交易如何建模成序贯决策。


发布者: 作者: 灏天文库 转发
评论区 (0)
U