爱建证券基金诊断
下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-07epl2hq--ajzq-fund-diagnosis.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-07epl2hq/ajzq-fund-diagnosis。此 skill 应用于爱建证券基金研究场景,对单只基金做六模块深度体检并给出处置建议。 用户说「帮我看看这只基金怎么样」「XX基金还能不能拿着」「这只基金为什么亏这么多」 「给客户做个持仓基金诊断」「要不要赎回」等表述时应触发。覆盖基金概况、业绩与同类排名、 风险指标、资产配置与穿透持仓(含季度变动)、基金经理、六维体检评分与风险清单, 输出 Markdown 报告 + JSON 数据,支持可选的同花顺实时估值增强。
阅读全文 (展开查看完整说明)
概述
爱建证券 · 基金诊断
一句话:把一只基金从"名字"拆到"净值、持仓、经理、风险、评分",并给出能不能继续持有的判断依据。
适用场景
| 场景 | 示例问法 |
|---|---|
| 单只体检 | 「161725 这只基金怎么样」 |
| 持有/赎回决策 | 「某某基金亏了 20%,要不要割」 |
| 客户沟通 | 「帮我给客户写一份持仓基金的诊断说明」 |
| 归因解释 | 「它最近为什么跌得比同类多」 |
| 换基金对比 | 先各自跑一次诊断,再比较多份 JSON |
不适用:日内实时盯盘、基金下折/套利等结构化策略、需要当日成交回报的查询。
数据源(–source)
默认走天天基金(eastmoney)。可通过 --source 切换为 akshare 或 westock:
| –source | 说明 | 依赖 |
|---|---|---|
eastmoney(默认) | 天天基金网公开接口直连 | requests |
akshare | akshare 库取数(净值/持仓/概况,缺失字段自动降级) | akshare |
westock | 由 agent 经 westock-data MCP 取数后落盘的 JSON | --input <json> + westock-data MCP |
- akshare 示例:
python "<SKILL_PATH>/scripts/diagnose_fund.py" 161725 --source akshare- westock 示例:
python "<SKILL_PATH>/scripts/diagnose_fund.py" 161725 --source westock --input "<WORKSPACE>/westock_161725.json"字段规范见 references/westock_input_schema.md。
环境要求
- Python 3.8+
pip install -r requirements.txt(核心依赖requests;akshare仅在--source akshare时需要)- 可选:
pip install playwright && playwright install chromium(供--realtime使用) westock-data为 WorkBuddy MCP 技能(非 pip 包):用作--source westock时由 agent 经 westock-data 工具取数并落盘为 JSON,无需 pip 安装
快速开始
# 基本诊断
python "<SKILL_PATH>/scripts/diagnose_fund.py" 161725
# 用基金名称(会先搜索再自动取第一只)
python "<SKILL_PATH>/scripts/diagnose_fund.py" 易方达蓝筹精选
# 三年期视角 + 实时估值增强
python "<SKILL_PATH>/scripts/diagnose_fund.py" 005827 --lookback 1095 --realtime
# 偏重长期的评分预设
python "<SKILL_PATH>/scripts/diagnose_fund.py" 005827 --preset 经理导向Windows 建议加
PYTHONIOENCODING=utf-8。
参数速查
| 参数 | 说明 | 默认 |
|---|---|---|
fund_code | 基金代码(6 位)或名称 | 必填 |
--preset | 六维权重预设:均衡/进攻/稳健/保守/经理导向(非法值报错) | 均衡 |
--lookback | 风险指标回看天数,取值 30~3650(365=近一年,1095=近三年) | 365 |
--realtime | 抓取同花顺实时估值(需 playwright,缺失时自动跳过) | 关闭 |
--source | 数据源:eastmoney / akshare / westock(非法值报错) | eastmoney |
--input | westock 数据源的输入 JSON 路径(仅与 --source westock 搭配) | 无 |
--outdir | 输出目录 | output |
--audience | 报告适用对象:external(对外发布,默认,强制含合规复核留痕栏)/ internal(内部草稿/测试,仅用于开发验证,禁止对外) | external |
--name | 输出文件名前缀 | 按代码+时间生成 |
使用约束(必须遵守)
本技能仅用于对外(客户 / 公开渠道)发布,以下为硬性约束,违反即视为执行错误。
- 汇报四要素(缺一不可):每次向用户汇报必须包含 ①回看窗口 ②与同类/沪深300 的同期对比 ③数据滞后说明 ④免责提示。
- 不替用户拍板:基金名称命中多条时,先列出候选请用户确认,不得默认取第一条;脚本会打印「已自动选用第 1 条」告警,须原样转达并提示用户复核。
- 只给体检口径,不荐股、不给动作建议:仅输出六维评分、风险清单与中性化的「综合结论说明」;不得给出买卖点、目标价、涨跌预测,亦不得给出降低权重、调仓、申购赎回等具体持仓动作建议(如已持有是否调整,须交由用户本人或持牌投资顾问依适当性判断)。
- 数据源按序降级:优先
eastmoney;缺依赖或超时则依次降级akshare→westock,并在汇报中明确标注实际使用的数据源,不得混用后只标注一个。 - 不臆造:任何缺失字段一律显示
--,严禁用估计值、相似基金数据补位;未登记的数据源不得声称可用。 - 参数边界(脚本已强校验,不得绕过):
--lookback ∈ [30, 3650];--input仅与--source westock搭配;--preset仅限 均衡/进攻/稳健/保守/经理导向。 - 输出规范:报告统一写入
output/(或用户指定--outdir),命名遵循diagnosis_<代码>_<时间戳>,不得覆盖已有报告。 - 数据边界:仅访问公开金融数据接口,不读取/上传用户本地文件、环境变量或凭证;持仓为季报口径,最多滞后约 3 个月,须如实说明。
- 口径一致:本技能为绝对口径打分,与多因子技能的相对口径分数不可直接比较或混用。
- 默认即对外 + 问责链:报告头部须标注「报告编号」「适用对象」与 AI 生成状态。
--audience默认值即为external(对外发布,标注未经持牌投资顾问或合规岗人工复核并留痕前不得对外提供);--audience internal仅为开发自测草稿、明确标注「禁止对外」,不得作为对外材料。机构背书须与人工复核责任绑定。 - 模型透明与方法论披露:报告必须包含「评分模型说明与局限性」小节(绝对口径、权重预设、经验阈值
_band()法、缺失按中性 60、局限性三项);业绩展示须将「成立以来」全生命周期收益与近期/中期区间收益分表列示并标注不可直接比较,避免选择性突出长期利好;业绩对比须默认以相对排名(较同类/沪深300 超额收益)为核心口径,绝对收益数字仅作基线参照、不构成收益预期。 - 对外发布强制复核留痕(human-in-the-loop):对外报告尾部固定含「七、合规复核与发布留痕」栏(含数据口径、表述合规、风险揭示、留痕齐全四项复核 + 复核人签名 / 日期 / 结论)。该报告在对外提供前,必须由持牌投资顾问或合规岗人工复核并签署留痕;未经复核、留痕栏为空,一律不得对外发布。 自动化输出不代表机构已履行适当性审核义务。
工作流程(AI 执行)
Step 1:确认诊断对象
- 拿到 6 位代码 → 直接用
- 只给了名称 → 脚本会搜索并列出候选:
- 命中 1 条:可直接使用;
- 命中多条:必须先让用户确认再出报告(脚本会默认选用第 1 条并打印告警,该告警不得被忽略,见约束 2)。
- 用户给了截图/文本 → 先从中提取基金代码或名称
Step 2:执行脚本
PYTHONIOENCODING=utf-8 python "<SKILL_PATH>/scripts/diagnose_fund.py" 161725
--outdir "<WORKSPACE>/output" -v切换数据源:加
--source akshare或--source westock --input <json>(见下方 Step 2b)。
Step 2b:westock 数据源(–source westock,agent 经 MCP 取数)
westock-data 是 WorkBuddy 的 MCP 技能,脚本无法直接 import,因此数据由 agent 侧取数后落盘为 JSON 再读入:
- agent 调用 westock-data MCP 工具,按六模块采集该基金的:净值序列(
nav_dates/nav_values)、
基本概况、同类排名、基金经理、资产配置、规模、持仓(holdings / holdings_prev)等字段;
- agent 将上述字段组装为与
EMClient.fetch_item同结构的 JSON(字段规范见
references/westock_input_schema.md),写入工作区文件,例如 westock_161725.json;
- 运行:
PYTHONIOENCODING=utf-8 python "<SKILL_PATH>/scripts/diagnose_fund.py" 161725
--source westock --input "<WORKSPACE>/westock_161725.json" -v- 脚本读取该 JSON,复用同一套指标计算 / 六维评分 / 报告渲染逻辑输出诊断。
Step 3:读取输出
- 控制台:概况、收益、风险、同类排名、六维体检评分、综合评级、综合结论说明、风险清单
output/diagnosis_<code>_*.md:六模块完整报告(含报告编号、适用对象、模型方法论、业绩提示语、免责声明、对外版附「七、合规复核与发布留痕」栏)output/diagnosis_<code>_*.json:结构化结果(diagnosis、warnings、holdings_diff、relative_performance、fund)
Step 4:向用户汇报
汇报须为中性化风险关注口径,且必须包含四要素与问责链标识。以下为格式示意(数字为示例占位,实际以脚本输出为准):
🩺 爱建证券基金诊断:{基金名称}({代码})
报告编号:AJZQ-DIAG-{代码}-{时间戳} | 适用对象:对外发布(AI 生成,未经人工复核并留痕前不得对外提供)
① 回看窗口:最近 365 个自然日(截至 {日期},共 {M} 个净值观测点)
② 业绩(相对排名为核心口径):窗口内累计 {x%},较同类平均跑输 {a} 个百分点、较沪深300跑输 {b} 个百分点
③ 风险:最大回撤 {c%}|年化波动 {d%}|夏普 {e}|月度胜率 {f%}
④ 六维体检:综合 {分} 分({结论} {等级})— {优势维度} 优秀,但 {弱势维度} 偏弱
⑤ 综合结论说明:{对应评级的中性关注方向};是否调整持仓须由您本人或持牌投资顾问依适当性判断
⑥ 数据滞后说明:持仓/规模报告期 {日期},滞后约一个季度,结论仅供研究参考
⑦ 免责提示:本报告由 AI 自动生成,仅供研究参考,不构成投资建议;基金有风险,投资须谨慎
⚠️ 对外发布前必须经持牌投资顾问或合规岗人工复核,并在「七、合规复核与发布留痕」栏签署留痕后方可对外提供。必须包含:回看窗口、同期同类/沪深300对比(相对排名口径)、数据滞后说明、免责提示,并标注报告编号与适用对象(对外发布);对外报告须带有「七、合规复核与发布留痕」栏。
Step 5:异常处理
| 现象 | 处理 |
|---|---|
| 未找到基金 / 净值样本不足 | 核对代码;新基金(<3 个月)样本天然不足,明确告知 |
--realtime 报缺 playwright | 属可选增强,直接不带该参数重跑即可 |
某些项显示 -- | 该维度数据源缺失,报告 数据说明 段落会列出缺失项;不得臆造补值 |
| 网络超时 | 降并发、重跑;必要时缩短 --lookback |
| 缺少 requests / akshare | 按约束 4 顺序降级:--source akshare 或 --source westock --input <json>;汇报须标注实际数据源 |
| 参数校验报错(lookback/input/preset) | 按提示修正参数,不得绕过校验(见约束 6) |
报告结构
一、基金基本概况 类型/规模/经理/基准/费率/同类排名
二、业绩分析 区间收益 + 相对排名(较同类/沪深300超额) + 成立以来分表 + 任职期对照 + 风险指标
三、资产配置与持仓分析 股票债券现金、十大重仓、集中度、季度变动、规模变动
四、基金经理 任期、评分、在管规模、五维能力评价
五、六维体检评分 动量/风险调整/回撤/稳定/经理/规模费率 + 综合评级
六、风险清单与跟踪建议 触发的风险项 + 复检触发条件注意事项
- 体检结论是绝对口径打分(不依赖样本池),可与多因子技能内的相对口径分数不一致。
- 持仓为季报口径,最多滞后约 3 个月;实时估值仅在
--realtime下尝试抓取,失败自动降级。 - 同类排名、状态等以天天基金公开数据为准,与实际代销/估值口径可能有细微差异。
- 本工具不构成投资建议;基金有风险,投资须谨慎,最终决策需结合适当性与人工研判。