关于 trader-copycat
trader-copycat 是一项 Claude 技能及 Python 命令行工具,可读取 SEC 13F 申报并生成投资组合目标权重。它强调以申报文件为依据、说明数据时效,并且不会下单。
主要功能
- 01在 EDGAR 中查找申报人
- 02读取并合并 13F 持仓
- 03比较不同季度的持仓
- 04将目标权重写入 JSON
- 05排除期权和债券
适用场景
- 01查看基金经理最近申报的持仓
- 02比较不同季度的持股数量
- 03为交易工作流生成股票目标权重
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jakeschincariol/ trader-skill --skill trader-copycat安装后在 Claude Code 中输入/trader-copycat确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
edgar13f.pyfilers.jsonshare_classes.jsontargets.example.json详细介绍
trader-copycat
复制投资者始于了解他们依法必须披露的内容:13F-HR。任何持有超过 1 亿美元美国上市股票及其他 13(f) 证券的投资经理,都必须每季度向 SEC 提交该文件。此技能直接从 SEC EDGAR 读取文件,重建投资组合,并将其转换为你自己账户的目标权重。
此文件夹中的工具(仅使用 Python 标准库,无需密钥):
python3 "${CLAUDE_SKILL_DIR}/edgar13f.py" --help
SEC 要求每个程序使用名称和电子邮箱标识自己。请在 trader/config.json 中设置一次("sec_user_agent": "Your Name [email protected]",填写用户的真实姓名和电子邮箱),或运行 export SEC_USER_AGENT=...。如果未设置此项,工具会拒绝调用 SEC,并说明如何修复。请向用户询问此信息;切勿编造。
写入内容
trader/targets.json:要复制的权重,格式与其他交易技能读取的格式一致:{ "source", "as_of", "weights": [ {"ticker", "name", "weight"} ] }。权重以百分比表示,保留 2 位小数,且股票部分的权重合计为 100(保留这 2 位小数:预算计算需要);此外还包括 13F 持股比例、价值、CUSIP、跳过的内容及原因,以及注意事项。trader/tickers.json(可选,由你提供):CUSIP 到股票代码的修正,工具会始终优先使用,例如{"650111107": "NYT"}。
此文件夹中的 targets.example.json 是该视频本次运行的实际输出(伯克希尔,前 5 大持仓)。
规则
- 每次都要说明数据有多旧。 13F 是季度最后一天的快照,最多可在 45 天后提交。凡是使用 13F,都要在回答中说明“截至 2026-06-30 的持仓,提交于 2026-08-14”。
- 说明它无法显示的内容。 仅包含美国上市的多头持仓:不包括空头、现金、债券、外国股票、私营公司、季度内买入并卖出的资产,也不包括买入价格。
- 申报主体是公司,而非个人。 提交 13F 的是伯克希尔·哈撒韦,而非沃伦·巴菲特。格雷格·阿贝尔自 2026-01-01 起担任 CEO,巴菲特于 2026-09-18 成为名誉董事长。若文件仅显示“伯克希尔持有”,切勿说“巴菲特买入”。
- 所有数字均来自申报文件。 引用 accession number 并链接至信息表。如果股票代码是猜测(标记为
*),要说明这一点,并在复制任何内容前使用--figi或trader/tickers.json修正。 - 绝不复制期权和债券。 PUT、CALL 和 PRN 行会列为排除项。除非配置允许更多资产类型,否则此工具包仅交易股票。
步骤 1:查找投资者
python3 "${CLAUDE_SKILL_DIR}/edgar13f.py" find buffett
python3 "${CLAUDE_SKILL_DIR}/edgar13f.py" find "pershing square" --sec
filers.json 列出 23 家知名申报机构,其 CIK 已于 2026-10-13 向 SEC 核实(包括伯克希尔、Pershing Square、Scion、Bridgewater、ARK、Duquesne、Appaloosa、Baupost 等)。--sec 会按名称搜索 EDGAR 中的所有申报机构。如果某家申报机构已停止提交文件(Scion 最近一次 13F-HR 于 2025-11-03 提交),请说明这一点。
步骤 2:读取最新季度
python3 "${CLAUDE_SKILL_DIR}/edgar13f.py" filings 1067983
python3 "${CLAUDE_SKILL_DIR}/edgar13f.py" holdings 1067983 --combine --top 15
该工具会下载申报列表,选择最新的原始 13F-HR,在申报文件夹中查找信息表 XML,将拆分到多行的持仓合并求和(伯克希尔会将同一只股票报告为多个子公司的持仓),根据封面核对总额,并匹配股票代码:首先使用你的 trader/tickers.json,然后使用 share_classes.json(其中包含有多个上市类别的公司的已核实 CUSIP),接着根据名称查询 SEC 的 company_tickers.json,最后通过 --figi 使用 OpenFIGI 的免费 CUSIP 查询。--combine 会将同一家公司的不同股票类别合并(Alphabet A 类 + C 类)。如果该季度存在修订申报,工具会说明这一点;请使用 --accession 读取。
步骤 3:查看变动
python3 "${CLAUDE_SKILL_DIR}/edgar13f.py" diff 1067983
按持股数量与上一季度对比,列出新增持仓、已清仓持仓、增持和减持。两个日期的持股数量并不代表交易:应说“截至 6 月 30 日持有的股份多于截至 3 月 31 日”,切勿说“在某一天买入”。
步骤 4:写入目标配置
python3 "${CLAUDE_SKILL_DIR}/edgar13f.py" copy 1067983 --top 5 --out trader/targets.json
默认会合并同一公司的不同股份类别(--separate 会将它们分开)。
--exclude TICKER 会排除用户不打算持有的标的,--min-pct 1 会剔除占比极小的持仓。权重是每个持仓占 13F 的比例,经缩放后使所选持仓的权重总和为 100。展示表格,然后交给 /trader-budget。
Form 4(可选):内部人士和持股比例达 10% 的持有人必须在两个工作日内通过 Form 4 报告交易。如需查看,请打开
https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=<CIK>&type=4&owner=include
(或申报人的提交记录列表),并阅读用户询问的文件。这些文件比 13F 更新更快,但一次只涵盖一只股票。
示例:实际案例
“复制 Berkshire Hathaway,前 5 大持仓。”最新的 13F-HR 对应截至 2026-06-30 的季度,提交日期为 2026-08-14,accession 编号为 0001193125-26-352200,总额为 $299,253,556,246(与封面页一致)。
| # | 持仓 | 占 13F 的比例 | 复制权重 |
|---|---|---|---|
| 1 | Apple (AAPL) | 22.04 | 30.67 |
| 2 | American Express (AXP) | 17.14 | 23.85 |
| 3 | Alphabet (GOOGL + GOOG 合并) | 12.62 | 17.56 |
| 4 | Coca-Cola (KO) | 10.86 | 15.11 |
| 5 | Bank of America (BAC) | 9.20 | 12.80 |
四舍五入后,权重为 30.7 / 23.9 / 17.6 / 15.1 / 12.8。与上一季度相比: 新买入 D.R. Horton(3,564 股),清仓 Constellation Brands,增持 Alphabet、Delta、Lennar、Macy's 和 New York Times,减持 Bank of America、Kroger、Capital One、Nucor、Ally 和 DaVita。然后说:“这是 Berkshire 截至 2026 年 6 月 30 日的持仓。接下来,/trader-budget 会根据你的 $5,000 进行配置。”
它绝不会做的事
- 绝不声称投资者今天仍持有这些股票,也不推测他们买入的原因。
- 绝不声称能带来收益,也不声称复制基金就能赚钱。复制 13F 时,基金买入后几个月才会买入,而且价格已是今日价格。
- 绝不下单。它只写入目标权重;仓位配置、风险检查和你的确认都在之后进行。
- 绝不超过 SEC 的公平访问限制(每秒 10 次请求;该工具的请求频率远低于此限制)。
安全
- 仅用于教育和提供工具,不构成财务建议。本套件中的任何内容都不是买入或卖出任何资产的建议。
- 默认使用模拟交易(
trader/config.json中的"paper": true)。 - 只有
/trader-broker会下单,而且必须在/trader-risk检查通过后,用户在聊天中明确输入确认该订单的 yes,并且 Claude 中的券商工具设置为“需要审批”(Customize > Connectors > tool permissions),这样 Claude 自身也会显示“允许一次 / 拒绝”卡片。绝不要选择“始终允许”订单工具。 - 除非配置允许且用户确认,否则不得交易期权、使用保证金、卖空或加杠杆。
- 13F 数据按季度更新,提交时可能已有最多 45 天的延迟。请明确说明这一点。