No description
Find a file
2026-06-16 18:11:48 +08:00
.stdd fix: report viz — scene name, detail tables, radar, summary cards 2026-05-28 21:02:47 +08:00
adapters fix: 分组详情说明文字+适配器模型按目录合并修复 2026-06-01 10:49:33 +08:00
archive fix: renderEquity undefined r.assetMetrics (blocks perSceneTables JS) 2026-05-29 07:26:43 +08:00
changes feat: 管理人.json 控制策略排序 2026-06-01 09:25:04 +08:00
references STDD change 2026-05-28-fof2026-format-support: 新增FOF2026命名格式解析 + 修复HTML模板bug + 更新SKILL.md 2026-05-28 18:08:22 +08:00
scripts fix: tooltip 标的资产线显示实际标的名而非统一'标的资产'字符串 2026-06-16 17:17:01 +08:00
specs fix: renderEquity undefined r.assetMetrics (blocks perSceneTables JS) 2026-05-29 07:26:43 +08:00
tests fix: 分组详情说明文字+适配器模型按目录合并修复 2026-06-01 10:49:33 +08:00
.gitignore initial: kc-skill-portfolio-report initial release 2026-05-27 22:35:09 +08:00
AGENTS.md fix: report viz — scene name, detail tables, radar, summary cards 2026-05-28 21:02:47 +08:00
generate_report.py fix: tooltip 标的资产线显示实际标的名而非统一'标的资产'字符串 2026-06-16 17:17:01 +08:00
README.md 重构README,删除manual.md 2026-06-05 11:05:57 +08:00
SKILL.md feat: ECharts坐标线白天模式适配 + HTML输出自动压缩ZIP 2026-06-15 17:19:06 +08:00
STDD.md fix: report viz — scene name, detail tables, radar, summary cards 2026-05-28 21:02:47 +08:00
VERSION.json chore: sync VERSION.json after spr update (v2.5 @ ecd5a39) 2026-06-15 18:12:53 +08:00

FOF Portfolio Report — skill-portfolio-report


一、SPR 技能操作命令

对话触发

在 Hermes 对话中输入以下任意关键词即可触发 SPR 技能:

SPR · SPR 生成报告 · FOF 报告 · 生成 FOF 报告 · 策略对比 · 组合回测 · portfolio report

CLI 命令

# 查看版本
spr version

# 更新 Skill从 dev 分支安装到本地)
spr update

# 通过 zip URL 生成报告
spr https://git.atibm.com/at/skill-portfolio-report/raw/branch/main/data.zip

# 快捷入口
python3 /opt/data/home/bin/spr <url>

脚本命令(generate_report.py

# 指定目录
python generate_report.py --input-dir /path/to/data

# 指定 zip 包(自动识别 .zip 后缀)
python generate_report.py --input-dir data.zip

# 自动扫描(搜索 input/ → data/ → ./
python generate_report.py --auto-detect

# 自定义输出路径
python generate_report.py --input-dir ./data/ --output ./report.html

# 仅提取数据,不生成 HTML供 AI 主创路线使用)
python generate_report.py --input-dir ./data/ --data-only

二、SKILL 功能描述

核心原则AI 是主创,generate_report.py 是辅助工具。

本 Skill 赋能 AI 从 FOF 组合回测数据(评价指标 + 日频净值)生成面向投资人的 ECharts 交互式 HTML 报告。AI 负责完整的分析、叙事、图表渲染和 insight 撰写。

工作流

用户触发 Skill
    │
    ▼
Step 0输入整理衔接  →  审视目录 → 解读命名 → 确认CSV → 选择路线
    │
    ▼
Step 1理解数据      →  目录结构 → 策略含义 → CSV格式 → 全链路解析
    │
    ▼
Step 2分析→叙事    →  发现信号 → 确定叙事 → 组织结论
    │
    ▼
Step 3输出表达      →  定调性 → 选布局 → 写洞察 → 渲染图表
    │
    ▼
Step 4交付          →  HTML + 关键结论说明

AI 与脚本分工

工作 AI 脚本
确定输入路径、审视目录 主责
提取 CSV 数据 --data-only
发现数据模式、决定叙事 核心价值
渲染 ECharts 图表 默认(手写代码) 辅助(模板渲染)
撰写投资人洞察 核心价值
复核输出质量 必须

输出

  • 单文件自包含 HTMLECharts CDN
  • 深色金融风主题(#0a0e17 背景)
  • 核心指标对比图 + 净值走势 + 分组雷达图 + 投资人洞察
  • 文件名格式:fof_portfolio_summary_YYYYMMDD_HHMMSS.html

三、SKILL 项目说明

仓库

git@git.atibm.com:at/skill-portfolio-report.git

分支 用途
main 稳定版
dev 长期开发分支
iter/* 功能迭代分支
tag vX.Y.Z 发布版本

文件结构

skill-portfolio-report/
├── SKILL.md                    ← AI 工作流入口Hermes skill load
├── README.md                   ← 本文件(人工手册)
├── generate_report.py          ← 数据提取 + ECharts 渲染脚本
├── adapters/                   ← CSV 适配器系统
├── references/
│   ├── data-patterns.md        ← 代码模式参考
│   └── data-preparation.md     ← 测试数据准备指南
├── changes/                    ← STDD 变更历史
├── input/                      ← 测试数据gitignored
├── output/                     ← 生成报告gitignored
└── scripts/
    └── spr                     ← SPR CLI 入口

安装Hermes 环境)

# 方式一:从 Git 加载
skill_manage create --name spr --repo git@git.atibm.com:at/skill-portfolio-report.git

# 方式二:从本地 dev 分支拷贝
cp -r SKILL.md /opt/data/skills/financial-services/spr/
cp -r adapters/ /opt/data/skills/financial-services/spr/
cp generate_report.py /opt/data/skills/financial-services/spr/

# CLI 入口
cp scripts/spr /opt/data/home/bin/

卸载

rm -rf /opt/data/skills/financial-services/spr/

输入数据

支持的 CSV 类型(适配器自动识别):

适配器 自动检测特征 典型 CSV
委托回测指标 列名含年化收益率/回撤/波动率/卡玛/夏普 ≥3 个 评价指标表
委托净值 首列日期 + net/净值列 资金结算日频净值
标的净值 首列日期,列数 2~50 资产日频净值明细
全市场基金净值 首列日期,列数 >50 第三方基金池大宽表
基金产品画像 列名含产品名称/管理人/一级分组 基金产品信息表
FOF2026 回测 目录名匹配 HHMMSS_滤XXX_评XXX_N只_选XXX_类型 评价指标+资金结算

目录结构:

input/
├── {场景名}/
│   ├── *评价指标.csv           ← 核心4策略×5指标
│   ├── *资金结算_*.csv         ← 核心:日频净值序列
│   ├── *资产.csv               ← 可选:标的独立净值
│   ├── *资产信息.csv           ← 可选
│   ├── *产品要素.json          ← 可选:回测参数
│   └── *管理人.json            ← 可选:管理人参数
└── ...

4 种策略:

策略 说明 特点
只用组合算法 纯算法优化组合 风险调整后收益最优
只用风筹 仅风筹管理 风险中等
满仓等权 满仓等权配置(基准) 收益最高,风险也最高
管理人003_FOF 管理人实际策略 风控优先,回撤控制最佳

CSV 适配器系统

脚本内置 6 种 CSV 适配器,自动识别数据类型并匹配解析规则,无需关注文件名格式。检测策略:列名签名(主)+ 文件名启发(辅)+ 值域确认(辅)。

新增适配器:在 adapters/ 下创建 *_adapter.py,实现 detect() / parse() / model() 三个方法,注册即可。

脚本详解

generate_report.py 的职责:

  1. 扫描输入目录 → 递归发现所有 CSV
  2. 适配器系统自动匹配类型并解析
  3. 输出 HTML 框架(脚本辅助路线)或原始数据 JSONAI 主创路线 --data-only

脚本不负责发现数据模式、不写投资人洞察、不做叙事决策——这些是 AI 的工作。

相关

  • 原项目:hermes-oracle-at → 独立为 skill-portfolio-report
  • 初代 SP 算法项目:kc-portfolio-algo-v251210
  • Hermes 部署:容器内 spr 安装于 /opt/data/skills/financial-services/spr/
  • 输出交付Telegram 附件(主题 #7459