| name | akshare-risk-trigger |
| description | 用于基于AkShare数据的风险触发监控场景。适用于金融工作中的基础任务单元。 |
AKShare A股风险舆情触发 Skill
1. Skill 概述
这个 Skill 基于 AKShare 的 A 股行情、新闻、热度与风险专题数据,构建一个可执行的 风险舆情触发机制。它不是预测未来收益的黑盒模型,而是一个面向研究、预警和盘前/盘后巡检的规则型引擎:
- 识别 价格风险:大跌、波动放大、换手异常。
- 识别 舆情风险:个股相关新闻中的负面关键词聚集。
- 识别 热度失衡:热度冲高但排名恶化,或舆情过热。
- 识别 结构性风险:高股权质押、商誉减值预期。
- 输出 触发等级、触发原因 与 综合风险分数。
2. 数据来源
本 Skill 默认使用以下 AKShare 接口:
-
A股历史行情:stock_zh_a_hist
- 用途:计算收益率、波动率、回撤、换手异常等。
- 来源说明:东方财富沪深京 A 股日频历史行情。
-
个股新闻:stock_news_em
- 用途:抓取指定股票或关键词的最近新闻,进行负面关键词计数。
- 来源说明:东方财富指定个股新闻资讯。
-
A股人气榜:stock_hot_rank_em
-
个股热度历史趋势:stock_hot_rank_detail_em
- 用途:获取近期排名、新晋粉丝、铁杆粉丝等热度变化。
-
上市公司质押比例:stock_gpzy_pledge_ratio_em
-
商誉减值预期明细:stock_sy_yq_em
-
千股千评:stock_comment_em
- 用途:读取机构参与度、综合得分、关注指数等辅助特征。
建议安装 AKShare 最新版本后使用,因为 stock_news_em、stock_hot_rank_detail_em 等接口在近几个版本有过修复记录。AKShare 官方文档当前展示的版本为 1.18.39,官方安装建议为 pip install akshare --upgrade,GitHub 仓库采用 MIT License。
3. 功能
3.1 核心触发维度
Skill 会从 4 个维度构造风险触发项:
A. 行情风险触发
- 单日大跌触发:最近一个交易日跌幅 <= 阈值(默认 -7%)
- 5日累计下跌触发:最近 5 个交易日累计收益 <= 阈值(默认 -12%)
- 20日波动放大触发:近 20 日波动率 / 近 60 日波动率 >= 阈值(默认 1.5)
- 换手异常触发:最新换手率 / 过去 20 日平均换手率 >= 阈值(默认 2.0)
- 回撤触发:最近收盘价相对 60 日最高收盘回撤 >= 阈值(默认 20%)
B. 舆情风险触发
- 统计最近新闻标题和摘要中的 负面关键词,如:
- 立案
- 处罚
- 违规
- 违约
- 减值
- 商誉
- 质押
- 暴跌
- 亏损
- ST
- 问询函
- 诉讼
- 终止
- 下修
- 若负面新闻占比超过阈值(默认 30%),触发 舆情风险。
C. 热度过热触发
- 当前处于人气榜前列,同时:
- 近期排名恶化,或
- 近几次热度波动异常,或
- 新闻负面占比不低
- 用来识别 “高关注 + 风险事件” 的拥挤交易场景。
D. 结构性风险触发
- 高质押触发:上市公司质押比例 >= 阈值(默认 20%)
- 商誉减值预期触发:在对应报告期的商誉减值预期明细中出现
- 千股千评低分辅助触发:综合得分过低,作为弱辅助信号
3.2 输出结果
输出字段示例:
symbol:股票代码
as_of_date:计算日期
risk_score:0~100 的综合风险分数
risk_level:LOW / MEDIUM / HIGH / CRITICAL
triggers:触发项列表
headline_negative_ratio:负面新闻占比
pledge_ratio:质押比例(如可获取)
goodwill_warning:是否存在商誉减值预期
latest_rank:最新热度排名(如可获取)
comment_score:千股千评综合得分(如可获取)
4. 目录结构
akshare-a-share-risk-sentiment-trigger/
├─ skill.md
├─ LICENSE
├─ requirements.txt
└─ script/
├─ config.py
├─ utils.py
├─ data_loader.py
├─ risk_engine.py
└─ run_skill.py
5. 使用示例
5.1 安装依赖
pip install -r requirements.txt
5.2 运行单只股票预警
python script/run_skill.py --symbol 603777
5.3 指定日期区间与报告期
python script/run_skill.py \
--symbol 300750 \
--start-date 20240101 \
--end-date 20260313 \
--report-date 20241231
5.4 输出为 JSON
python script/run_skill.py --symbol 002594 --output json
5.5 自定义负面关键词
python script/run_skill.py \
--symbol 600519 \
--negative-keywords 立案,处罚,问询函,暴雷,违约,减值
6. 触发逻辑说明
Skill 内置一个规则分值系统,默认做法如下:
- 单日大跌:+18 分
- 5日累计大跌:+16 分
- 波动放大:+12 分
- 换手异常:+10 分
- 60日大回撤:+12 分
- 负面新闻占比 >= 30%:+12 分
- 负面新闻占比 >= 50%:额外 +8 分
- 人气榜前 100 且排名恶化:+6 分
- 质押比例 >= 20%:+10 分
- 质押比例 >= 35%:额外 +8 分
- 商誉减值预期:+14 分
- 千股千评综合得分偏低:+4 分
风险等级映射:
0 ~ 19:LOW
20 ~ 39:MEDIUM
40 ~ 59:HIGH
60+:CRITICAL
你可以在 script/config.py 中调整阈值与打分权重。
7. 交易说明
- 本 Skill 仅用于研究、监控、教学与策略辅助,不构成任何投资建议。
- 风险触发并不等于必然下跌,也可能对应利空兑现后的反弹阶段。
- AKShare 的部分数据来自第三方站点,存在:
- 建议将本 Skill 用作 预警系统,而不是独立下单系统。
- 在真实交易中,至少结合以下信息复核:
- 公司公告
- 交易所问询/处罚
- 财报与预告
- 板块环境
- 市场整体风险偏好
- 若用于量化回测,请先固定样本期、字段口径与接口版本,避免未来函数与幸存者偏差。
- 热度与新闻类信号很容易放大短线噪声,建议与流动性、财务质量、事件验证机制配合使用。
8. 可扩展方向
- 新增公告文本解析
- 接入板块热度与资金流
- 多股票批量扫描
- 企业级消息推送(飞书 / 钉钉 / 企业微信)
- 回测模块:检验触发后 1/3/5/10 日收益分布
- LLM 摘要模块:自动生成风险说明
9. License
本 Skill 代码 License
本压缩包内除第三方依赖外的自编代码采用 MIT License,详见根目录 LICENSE。
第三方依赖说明
- AKShare 官方仓库采用 MIT License。
- 通过 AKShare 获取的数据,仍需遵守 AKShare 与其上游数据源的使用约束。
- 使用者应自行确认对第三方数据源的合规使用边界,尤其是在商业环境、再分发、缓存和高频采集场景下。