Install
openclaw skills install private-fund-portfolio-analysis私募基金持仓结构分析脚本构建方法。支持市场中性(期货空头对冲)和指数增强(持仓 vs 对标指数超配/低配)两种产品类型。当需要从私募基金估值表(XLS/XLSX)解析持仓,分析行业分布/市值分布/指数成分/期货对冲,并生成可视化报告时触发。也用于:生成持仓分析脚本、重构脚本、添加新数据源、修复脚本Bug、生成分析报告。
openclaw skills install private-fund-portfolio-analysis| 类型 | 命令 | 说明 |
|---|---|---|
| 市场中性 | --type market_neutral | 期货空头,分析对冲端 |
| 指数增强 | --type index_enhanced --benchmark 中证500 | 持仓 vs 对标指数超配/低配 |
/workspace/analyze_portfolio.py/workspace/analyze_portfolio_enhanced.py# 市场中性
python3 analyze_portfolio_enhanced.py --xls <估值表路径> --type market_neutral
# 指数增强(指定对标指数)
python3 analyze_portfolio_enhanced.py --xls <估值表路径> --type index_enhanced --benchmark 中证500
python3 analyze_portfolio_enhanced.py --xls <估值表路径> --type index_enhanced --benchmark 沪深300
python3 analyze_portfolio_enhanced.py --xls <估值表路径> --type index_enhanced --benchmark 中证1000
python3 analyze_portfolio_enhanced.py --xls <估值表路径> --type index_enhanced --benchmark 中证2000
python3 analyze_portfolio_enhanced.py --xls <估值表路径> --type index_enhanced --benchmark 空气指增
估值表结构(以 xlrd 读取,行65+有股票数据):
col0: 科目代码(层级结构,如 "1102.01.01.600519 SH")
col1: 名称
col4: 数量(股数)
col5: 单位成本
col6: 累计成本
col8: 行情/结算价
col9: 市值 ← 持仓市值
col11: 估值增值/PnL
提取6位股票代码:从层级代码中用正则提取,如 1102.01.01.600519 SH → 600519
期货行(账户代码含 3102.03.01.):
乘数:IF/IH = 300;IC/IM = 200
超配(%) = 持仓行业市值占比 - 对标指数行业市值占比
正数 = 超配(相对于指数);负数 = 低配
只显示 |差值| > 0.5% 的行业(过滤噪音)
| 对标指数 | 代码 | 数据源 |
|---|---|---|
| 沪深300 | 000300 | ak.index_stock_cons("000300") |
| 中证500 | 000905 | ak.index_stock_cons("000905") |
| 中证1000 | 000852 | ak.index_stock_cons("000852") |
| 中证2000 | 932000 | ak.index_stock_cons_csindex("932000") |
ak.stock_zh_a_spot_em() → 市场数据缓存 CSV股票申万行业分类(charset=utf8mb4)conn = pymysql.connect(
host=os.environ.get("MYSQL_HOST", "43.138.222.153"),
port=int(os.environ.get("MYSQL_PORT", "3306")),
user=os.environ.get("MYSQL_USER", "readonly_user"),
password=os.environ.get("MYSQL_PASSWORD", "w6w%vkXENC82PGZo"),
database=os.environ.get("MYSQL_DATABASE", "指数行情数据库"),
connect_timeout=8, charset="utf8mb4"
)
| 文件 | 说明 |
|---|---|
portfolio_analysis.csv | 持仓明细(355只股票) |
portfolio_summary.json | 汇总统计 |
portfolio_report.png | 可视化报告 |
references/xls_structure.md — XLS 行列结构详解references/data_sources.md — AKShare/MySQL 数据源配置scripts/generate_analysis_script_prompt.py — 可直接粘贴给 Claude Code 的提示词print(row[:12]) 验证utf8mb4,否则中文字符报错index_stock_cons_csindex("932000"),稳定性高于 index_stock_cons