mcpField
T
trader-copycat

trader-copycat

github.com/jakeschincariol数据与数据库85150 次安装2 周前更新
代码仓库

关于 trader-copycat

trader-copycat 是一项 Claude 技能及 Python 命令行工具,可读取 SEC 13F 申报并生成投资组合目标权重。它强调以申报文件为依据、说明数据时效,并且不会下单。

主要功能

  1. 01在 EDGAR 中查找申报人
  2. 02读取并合并 13F 持仓
  3. 03比较不同季度的持仓
  4. 04将目标权重写入 JSON
  5. 05排除期权和债券

适用场景

  1. 01查看基金经理最近申报的持仓
  2. 02比较不同季度的持股数量
  3. 03为交易工作流生成股票目标权重

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jakeschincariol/trader-skill --skill trader-copycat

安装后在 Claude Code 中输入/trader-copycat确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

edgar13f.py
filers.json
share_classes.json
targets.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 的比例复制权重
1Apple (AAPL)22.0430.67
2American Express (AXP)17.1423.85
3Alphabet (GOOGL + GOOG 合并)12.6217.56
4Coca-Cola (KO)10.8615.11
5Bank of America (BAC)9.2012.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 天的延迟。请明确说明这一点。

评论

支持 Markdown