news 2026/9/12 11:54:34

TradingAgents-CN 获取 Finnhub 新闻数据报 No such file or directory 怎么排查?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TradingAgents-CN 获取 Finnhub 新闻数据报 No such file or directory 怎么排查?

TradingAgents-CN 获取 Finnhub 新闻数据报 No such file or directory 怎么排查?

【免费下载链接】TradingAgents-CN基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN

TradingAgents-CN 在调用 Finnhub 新闻工具(FinnhubNewsTool/get_finnhub_news)时,如果日志里出现类似这样的报错:

[DEBUG] FinnhubNewsTool调用,股票代码: AAPL 获取新闻数据失败: [Errno 2] No such file or directory: '/Users/yluo/Documents/Code/ScAI/FR1-data\\finnhub_data\\news_data\\AAPL_data_formatted.json'

说明新闻数据文件没有落在程序实际查找的位置。根据 Finnhub 新闻数据配置指南,这类报错对应三类原因:路径配置错误(混合了 Unix 和 Windows 路径分隔符)、数据文件不存在、数据目录配置不正确。本文章的排查路径基于该文档与 数据目录配置指南,适用于 TradingAgents-CN v0.1.3+(故障指南标注的适用范围)。

新闻数据的读取逻辑在 get_data_in_range:它按数据目录/finnhub_data/news_data/{ticker}_data_formatted.json拼接文件路径,文件不存在时记录⚠️ [DEBUG] 数据文件不存在: {data_path}警告并返回空结果;get_finnhub_news 拿到空结果后返回中文错误提示。因此排查的核心只有一条:确认程序读取的数据目录,和新闻文件实际存放的目录是同一个

第一步:查看当前数据目录配置

数据目录的取值优先级(从高到低)是:环境变量TRADINGAGENTS_DATA_DIR> CLI 设置 > 默认配置(见 数据目录配置指南)。默认路径为:

  • Windows:C:\Users\{username}\Documents\TradingAgents\data
  • Linux/macOS:~/Documents/TradingAgents/data

用 CLI 查看当前生效的配置:

# 显示当前数据目录配置 python -m cli.main># Windows python -m cli.main># Windows set TRADINGAGENTS_DATA_DIR=C:\MyTradingData # Linux/macOS export TRADINGAGENTS_DATA_DIR="/home/user/trading-data"

如果数据目录本身因权限问题无法创建或写入(文档 Q1 场景),先手动建目录:

# Windows(以管理员身份运行) mkdir "C:\Users\%USERNAME%\Documents\TradingAgents\data" # Linux/Mac mkdir -p ~/Documents/TradingAgents/data chmod 755 ~/Documents/TradingAgents/data

第三步:下载缺失的新闻数据

文件不存在时,用项目自带的下载脚本 scripts/download_finnhub_data.py 从 Finnhub API 拉取。先配置 API 密钥(脚本未设置密钥时会直接报❌ 未找到Finnhub API密钥,请设置FINNHUB_API_KEY环境变量):

# 在.env文件中添加 FINNHUB_API_KEY=your_finnhub_api_key_here

然后只下载新闻数据(--data-type news只请求 news 一类数据;--all会同时下载 news、sentiment、transactions 三类,只排查新闻问题时无需使用):

# 下载指定股票、指定天数的新闻数据 python scripts/download_finnhub_data.py --data-type news --symbols AAPL --days 30

参数说明(来自文档与脚本帮助):

  • --data-type:数据类型,可选newssentimenttransactionsall
  • --symbols:股票代码,逗号分隔,例如AAPL,TSLA,MSFT
  • --days:新闻数据天数,默认 7 天;
  • --force-refresh:强制刷新已存在的数据;
  • --data-dir:数据存储目录,不传时使用环境变量TRADINGAGENTS_DATA_DIR,都没有则用项目根目录下的data/

注意目录对齐:不显式传--data-dir且未设置TRADINGAGENTS_DATA_DIR时,数据会写到项目根目录的data/下,而分析流程读取的DATA_DIRconfig_manager.get_data_dir()的取值。两边不一致时,"文件已下载但依旧报 No such file or directory" 就会复现,所以建议用--data-dir显式指定为data-config --show显示的那个目录。

可选分支:只是想验证功能通路而不关心真实数据时,可以运行示例数据生成脚本(只创建本地文件,不调用 API):

python scripts/development/download_finnhub_sample_data.py

验证配置与数据是否生效

按文档给出的验证方式,依次确认:

  1. 数据目录配置正确:

    python -m cli.main>ls ~/Documents/TradingAgents/data/finnhub_data/news_data/
  2. 直接调用读取函数测试:

    python -c " from tradingagents.dataflows.interface import get_finnhub_news result = get_finnhub_news('AAPL', '2025-01-02', 7) print(result[:200]) "

    参数分别是股票代码、当前日期(yyyy-mm-dd)和回看天数。如果返回的是"无法获取AAPL的新闻数据"错误提示,说明文件还是没找到或日期范围内没有数据;能打印出新闻内容则说明链路已通。

另外可以运行测试脚本做综合检查(它会依次检查数据目录格式、新闻文件路径和错误处理):

python tests/test_finnhub_news_fix.py

需要说明的是:该脚本引用了tradingagents.dataflows.finnhub_utils,而当前仓库中对应逻辑位于 providers/us/finnhub.py,脚本在部分版本上可能无法完整执行,验证请以上面两步为准。

已知边界与残留问题

  • API 配额限制:Finnhub 免费额度有限,调用超限时文档建议升级 API 计划、用缓存减少调用、降低获取频率。
  • JSON 格式损坏:如文件已存在但解析失败,脚本会记录❌ [ERROR] JSON解析错误并返回空。可用python -c "import json; print(json.load(open('path/to/file.json')))"验证文件内容(path/to/file.json替换为实际的*_data_formatted.json路径),确认损坏后重新执行python scripts/download_finnhub_data.py --force-refresh覆盖下载。
  • 路径修复后,同类报错不会再以[Errno 2]形式抛出,而是变成上面第 3 步中那样的中文提示,并附带"数据文件不存在或路径配置错误 / 指定日期范围内没有新闻数据 / 需要先下载或更新Finnhub新闻数据"三种可能原因,可据此判断下一步。

【免费下载链接】TradingAgents-CN基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 11:53:12

AI幻觉问题解析与缓解技术实践

1. 项目概述:AI原生应用中的幻觉问题本质大语言模型在生成内容时出现的"幻觉"(Hallucination)现象,本质上是一种符合语法规则但背离事实的虚构输出。这种现象在医疗咨询、法律分析、金融报告等专业领域尤为危险——模型…

作者头像 李华
网站建设 2026/9/12 11:52:47

基于51单片机的烟雾报警器设计:多传感器融合防误报

简介:基于51单片机的烟雾报警自动设计毕业资料包,面向单片机学习者、电子竞赛备赛学生与毕业设计选题者,也适合课程设计与项目实践。资源以51单片机为控制核心,结合模数转换,配合DS18B20温度传感器与MQ-2烟雾传感器&am…

作者头像 李华
网站建设 2026/9/12 11:52:42

浅谈机惨——从入门到精通

警告 在这里看到的一切机惨方法,全是血淋淋的教训!请勿模仿! 若模仿,造成的一切后果,包括朋友断交,计算机损坏等,本文章不负任何责任! 前言 机惨,全名机房惨案&#…

作者头像 李华
网站建设 2026/9/12 11:50:44

Unity资源管理进阶:YooAsset与Addressable对比及实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 11:49:19

Teable六级权限与技术响应实测:销售型CRM落地关键

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华