基金周报自动生成器(weekly-fund-report)
> 版本: v1.3(2026-08-26)
> 本次修复(基于2026-08-25完整评测95分,修复2项中优):
> 1. 【中优】--week last 文档补齐:Step2 新增 2d 示例,明确参数须置于子命令前(python3 scripts/weekly.py --week last all),修复自然语序 all --week last 报 argparse 错误的问题
> 2. 【中优】窗口口径透明化:输出表头明确标注"基金净值口径(T-1滞后) vs ETF价格口径(实时)",两者窗口可能差1个交易日,避免读者把表观涨跌差误判为数据错误
用户使用指南(装完怎么用)
这个技能帮你回答:我这周基金投资表现怎么样?哪些板块拖了后腿?市场在关注什么?下周该看什么?
怎么触发(直接这样说就行)
| 你想做什么 | 直接对AI说 |
|---|---|
| 生成周报 | "帮我生成这周的投资周报" |
| 看本周表现 | "我的基金这周怎么样?" |
| 周度总结 | "本周持仓复盘一下" |
| 下周展望 | "下周该关注什么?" |
怎么提供持仓(可选)
不提供也能用(默认持仓:018411半导体/016707有色/008701黄金/013179电池/012725畜牧/015896化工/001631消费)。
提供持仓更准,3种方式:
1. 代码列表: "我的持仓是 018411、016707、008701"
2. App复制文本: 直接粘贴支付宝/天天基金持仓文本
3. 截图: 发持仓截图(用 portfolio-check 技能解析)
输出长什么样
每次输出包含:本周总结(大白话)→ 持仓基金表现表 → 板块归因 → 市场观点 → 下周关注。所有内容仅供参考,不构成投资建议。
核心原则
- 数据为先:所有表现数据基于真实净值/行情,禁止编造
- 参考性质:所有结论都是参考,不构成投资建议——输出必须标注此声明
- 周报≠日报:聚焦本周(近5个交易日)变化,不追溯太久
- 归因分析:涨跌要落到板块/事件层面(为什么涨/跌),不只报数字
- 观点标注来源:市场观点检索自公开信息,标注来源和时点
- 区分口径:场外基金净值 vs 场内ETF价格,输出时标注
- 术语通俗化:所有专业名词用大白话解释
工作流程
Step 1: 收集输入
识别用户输入:
- 用户给基金代码 → 用自定义列表
- 用户给持仓文本/截图 → 用 portfolio-check 解析(或提取代码)
- 用户没给 → 用默认持仓(018411/016707/008701/013179/012725/015896/001631)
确认周报周期:默认本周(最近交易日往前推5个交易日)。用户说"上周"则用上周区间。
Step 2: 拉取数据
2a. 持仓基金周涨跌:
# 默认持仓
python3 scripts/weekly.py funds
# 自定义持仓
python3 scripts/weekly.py funds 018411,016707,008701
2b. 相关板块ETF周行情:
python3 scripts/weekly.py sectors
2c. 一键全量(基金+板块):
python3 scripts/weekly.py all
2d. 上一交易周窗口(用户说"上周"时使用):
# ⚠️ 参数位置:--week last 必须置于子命令(funds/sectors/all)之前,否则会报 argparse 错误
python3 scripts/weekly.py --week last all
python3 scripts/weekly.py --week last funds
python3 scripts/weekly.py --week last sectors
脚本输出:每只持仓基金的最新净值/日期/周涨跌,以及8个相关板块ETF的周涨跌(其中红利低波为稳健对照基准,非默认持仓板块,用于观察风格切换,勿与7只持仓混淆)。
⚠️ 窗口口径说明(重要,避免误判):
- 基金净值与ETF价格均取最近5个交易日,但截止日可能差1个交易日(基金为T-1确认净值,ETF为实时收盘价)
- 两者周涨跌表观差距大时,先核对窗口日期(如"基金窗口08-24 vs ETF窗口08-25"),再归因于跟踪误差,不要直接断定数据错误
Step 3: 检索一周市场观点(核心,必做)
3a. 宏观/市场综述:
- 检索:"本周 A股 市场总结 2026年8月"
- 关注:大盘涨跌、风格切换(成长vs价值)、成交额、北向资金
3b. 持仓相关板块催化:
- 按持仓板块逐个检索:
- 半导体:"半导体 AI算力 本周 2026年8月" (用户018411)
- 有色:"有色金属 铜 本周 2026年8月" (用户016707)
- 黄金:"黄金 金价 本周 2026年8月" (用户008701)
- 电池:"电池 新能源 本周 2026年8月" (用户013179)
- 畜牧:"猪价 畜牧 养殖 本周 2026年8月" (用户012725)
- 化工:"化工 本周 2026年8月" (用户015896)
- 消费:"消费 白酒 批价 本周 2026年8月" (用户001631)
- 每个板块找出:本周涨跌原因(催化/利空)
3c. 下周展望/日历:
- 检索:"下周 经济数据 发布 2026年8月""美联储 会议"
- 关注:重要经济数据(CPI/PMI/社零)、央行会议、财报季
检索方法:
- 优先 search(source="web") 查最新
- 用 search(source="kb") 检索用户知识库补充深度观点
- 每个板块至少1条催化信息,标注来源时点,查不到就明确说"该板块本周无明显催化"
检索兜底:实时检索不到时,读取 references/catalyst-library.md 的板块催化锚点做归因,但必须标注"锚点逻辑,数据时点XX,【非实时】",禁止冒充本周实时数据。
Step 4: 生成周报
输出前必读:
- 所有日期写完整格式:YYYY-MM-DD
- 周涨跌用+/-号(如+3.08%、-7.95%)
- 区分:基金净值周涨跌 vs ETF价格周涨跌(两者有差异是正常的,跟踪误差+权重差异)
- 【仅供参考】声明:报告顶部和底部都要有
输出格式:
## 📌 基金周报(2026-08-17 ~ 2026-08-21)
> ⚠️ 本报告仅为数据分析和跟踪参考,【不构成任何投资建议】。投资有风险,决策需自主判断。
### 📌 本周总结
[3-4句大白话:这周整体赚/亏多少?哪只拖后腿?市场在交易什么?]
### 一、持仓基金表现(场外净值口径)
| 代码 | 基金 | 板块 | 最新净值 | 周涨跌 |
|------|------|------|---------|--------|
[数据来自 weekly.py funds,标注日期]
### 二、相关板块行情(场内ETF口径)
| 板块 | 周涨跌 | 说明 |
|------|--------|------|
[数据来自 weekly.py sectors]
### 三、本周板块归因(为什么涨/跌)
| 板块 | 周涨跌 | 原因/催化 | 来源时点 |
|------|--------|-----------|---------|
[逐个板块:涨跌原因,如"半导体:AI资本开支上调但估值回调"]
### 四、市场观点与情绪
- 大盘: [本周大盘表现+风格]
- 机构观点: [2-3条主流观点+来源]
- 情绪: [偏多/偏空/震荡]
### 五、下周关注(事件日历)
1. [重要经济数据+日期]
2. [央行/政策会议+日期]
3. [财报/行业事件]
### 六、大白话总结
1. **这周表现怎么样?** → [通俗解释]
2. **下周该看什么?** → [重点跟踪信号]
3. **需要担心什么?** → [风险提示]
---
📋 使用中遇到问题,或想改进任何功能?请反馈给我们
→ https://wj.qq.com/s2/27652424/jyg6/
> ⚠️ 以上内容仅为数据分析和策略参考,【不构成投资建议】。投资有风险,决策需自主判断。
异常处理
| 错误现象 | 处理方式 |
|---|---|
| 净值/行情接口超时 | 重试1次(脚本已内置),仍失败则明确告知"数据获取失败,请稍后重试" |
| 基金代码无效 | 校验6位数字,无效则提示用户确认 |
| 某板块无催化信息 | 明确告知"该板块本周无明显催化",不编造 |
| 用户持仓截图 | 用 portfolio-check 技能解析后回填代码 |
| 数据日期滞后 | 标注数据日期,不当作实时 |
注意事项
- 不提供买卖指令:周报是信息汇总,不替代买卖决策
- 周涨跌口径:基金净值周涨跌≠ETF价格周涨跌,两者有差异正常(跟踪误差/权重差异/申赎时点)
- 观点≠事实:市场观点仅供参考,标注来源
- 频率控制:避免高频抓取外部接口,尊重数据源资源
反馈与迭代
每次输出报告末尾,必须附上反馈表单引导:
---
📋 使用中遇到问题,或想改进任何功能?请反馈给我们
→ https://wj.qq.com/s2/27652424/jyg6/
迭代流程:用户反馈 → 分类(数据源/算法/新功能) → 更新脚本或SKILL → 重新注册
资源目录
scripts/weekly.py— 数据引擎(持仓基金周涨跌+板块行情,纯标准库)references/faq.md— 常见问题FAQ