
FinBERT金融情感评分是如何工作的Awesome-finance-skills的alphaear-sentiment完整解析【免费下载链接】Awesome-finance-skillsA collection of Awesome Finance Agent Skills for free and easy to start | 一系列开源免费的金融分析Agent Skills项目地址: https://gitcode.com/gh_mirrors/aw/Awesome-finance-skillsAwesome-finance-skills 是一套免费开源的金融分析 Agent Skills智能体技能包其中alphaear-sentiment负责金融情感分析它能用 FinBERT 系模型在本地为财经新闻打情感分输出 -1.0利空到 1.0利好的评分让 AI 智能体秒变市场情绪温度计。本文将从原理到上手完整拆解 FinBERT 金融情感评分是如何工作的新手也能 3 步跑起来。 alphaear-sentiment 是什么金融新闻的情绪温度计整个技能仓库包含 8 个技能分工像一个小型投研团队技能角色alphaear-news采集 10 信源的财经新闻alphaear-sentiment给每条新闻判定情绪利好 / 利空 / 中性alphaear-predictor基于情绪调整后的时序价格预测情感分析正是其中的判断层——新闻采集到数据库后由它决定这条消息对市场是推手还是阻力。技能说明见 skills/alphaear-sentiment/SKILL.md。 FinBERT 金融情感评分是如何工作的三步拆解核心实现全部在 skills/alphaear-sentiment/scripts/sentiment_tools.py 的SentimentTools类中评分流程可以拆成三步第一步自动加载金融情感模型本地优先技能默认使用 UER 中文新闻微调模型FinBERT 家族uer/roberta-base-finetuned-chinanews-chinese天然理解中文财经语境。加载策略是本地缓存优先先尝试从本地 HuggingFace 缓存加载local_files_onlyTrue命中则零网络开销本地没有才自动联网下载没装transformers库也不报错只是降级关闭 BERT 模式走 LLM 兜底。相关逻辑位于 sentiment_tools.py。第二步批量推理CPU 就够快评分通过 HuggingFace 的sentiment-analysis流水线完成显式指定device-1纯 CPU 推理无需显卡支持一次传入标题列表做批量推理文本超过 512 token 自动截断对数据库中一整批新闻做打分通常只需几秒。见 sentiment_tools.py 的analyze_sentiment_bert方法。第三步分数标准化统一评分口径不同情感模型的标签格式各不相同有的输出neg有的输出Negative代码做了统一归一化标签含neg→ 分数取反变为负值标签为neutral→ 分数直接置 0按±0.1 阈值划分三档结果保留 3 位小数。 情感评分标准表-1.0 到 1.0 的完整含义无论是 FinBERT 还是 LLM输出都是同一个结构{score: 0.82, label: positive, reason: 业绩超预期}评分口径源自 SKILL.md区间标签典型场景0.1 ~ 1.0 positive 利好业绩增长、政策支持、盈利超预期−0.1 ~ 0.1⚖️ neutral 中性客观事实报道、横盘震荡、影响不明−1.0 ~ −0.1 negative 利空亏损、被制裁、价格暴跌、预期悲观±0.1 之间设为模糊带避免把弱信号误判为强情绪这是金融场景下很关键的稳健设计。 LLM 模式让 Agent 接管复杂推理FinBERT 快但缺乏理解。当新闻涉及反讽、多重条件句时技能会切换到LLM 模式Agent 直接按 SKILL.md 中内置的 Prompt 分析要求返回严格 JSON 格式的score / label / reason分析完调用update_single_news_sentiment(id, score, reason)把结果写回数据库LLM 的调用能力由 skills/alphaear-sentiment/scripts/llm/factory.py 的工厂函数提供兼容 OpenAI、DeepSeek、Ollama 等多家模型。 一键安装 alphaear-sentiment最快的两条路径方式一npx 单技能安装推荐npx skills add RKiding/Awesome-finance-skillsalphaear-sentiment方式二克隆仓库手动安装git clone https://gitcode.com/gh_mirrors/aw/Awesome-finance-skills cp -r Awesome-finance-skills/skills/* ~/.config/opencode/skills/依赖仅需torch、transformers和内置sqlite3。安装后你的智能体即可直接问它分析贵金属跳水对A股的情绪影响。 情感数据管道评分如何写入本地 SQLite评分不是用完即弃而是沉淀到本地数据库供预测、研报等下游技能复用daily_news表为每条新闻预留sentiment_score字段建表逻辑见 database_manager.pybatch_update_news_sentiment(source, limit)只挑出尚未评分的新闻标题用 FinBERT 批量打分后回写并自动跳过已处理条目评分理由存放在meta_dataJSON 的sentiment_reason键中方便追溯为什么给这个分。这样一次新闻抓取 一次批量评分就形成了可长期累积的市场情绪数据集。⚙️ 进阶配置2 个环境变量控制情感分析模式环境变量默认值作用SENTIMENT_MODEauto三档模式auto优先 BERT不可用则 LLM/bert强制本地/llm强制推理BERT_SENTIMENT_MODELuer/roberta-base-finetuned-chinanews-chinese自由更换任何 HuggingFace 情感模型比如换成英文 FinBERT默认auto模式最省心有模型走本地高速通道没有模型自动降级不会中断工作流配置入口见 sentiment_tools.py。❓ 金融情感评分常见疑问 FAQQ为什么默认本地模型而不是直接调大模型A批量给几百条新闻打分时本地 FinBERT 更快、更省 API 费用、且数据不出本机LLM 模式留给需要读懂言外之意的少量难例。Q评分结果如何验证A技能自带测试 test_sentiment.py在内存数据库中以 LLM 模式初始化SentimentTools无需加载大模型即可跑通初始化流程。Q中文新闻打分不准怎么办A通过BERT_SENTIMENT_MODEL换成更匹配的新闻领域微调模型即可代码已预留该扩展点。 情感落地全链路从新闻评分到价格预测情感分最终服务于投资决策链Kronos 时序模型会参考新闻情绪对预测结果做调整情绪分因此成为预测校准器。下图展示结合情感分析后的 5 日预测概览——利好评分越高的标的预测涨幅与风险等级标注越突出✅ 总结情感分析技能核心文件清单文件职责skills/alphaear-sentiment/SKILL.md技能说明、LLM 分析 Prompt 与评分标准skills/alphaear-sentiment/scripts/sentiment_tools.py情感评分核心FinBERT 推理 分数归一化 批量入库skills/alphaear-sentiment/scripts/database_manager.pySQLite 数据库新闻表与情感分持久化skills/alphaear-sentiment/scripts/llm/factory.py多模型 LLM 工厂LLM 模式兜底skills/alphaear-sentiment/tests/test_sentiment.py技能初始化测试一句话总结FinBERT 负责快本地批量秒级评分LLM 负责准Agent 深度推理兜底SQLite 负责存情绪数据资产沉淀——三者配合构成了 alphaear-sentiment 简洁而完整的金融情感评分体系。【免费下载链接】Awesome-finance-skillsA collection of Awesome Finance Agent Skills for free and easy to start | 一系列开源免费的金融分析Agent Skills项目地址: https://gitcode.com/gh_mirrors/aw/Awesome-finance-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考