Communitygithub.com

Jakeschincariol/trader-skill

逆向工程。读取知名投资者的公开SEC文件(季度13F-HR及可选的内幕交易Form 4),重建其投资组合权重供你复制:每只持仓、占基金比例、买入、加仓、减仓和清仓情况,并匹配每个CUSIP的股票代码。最后写入trader/targets.json,使预算技能可根据你的资金调整规模。

trader-skill 是什么?

该技能通过解析SEC EDGAR系统公开的13F-HR文件,自动重建顶级投资者的投资组合权重。它不仅能处理季度持仓报告,还可选纳入内幕交易Form 4数据,匹配CUSIP与股票代码,生成可直接复制的目标权重文件。技能依赖纯Python标准库,无需API密钥,但需要用户提供合法的SEC用户代理信息。支持查看持仓变化(diff功能)、合并同一公司的不同股票类别、按百分比筛选持仓(如只复制前五大持仓),并自动标注数据滞后性(13F文件最迟在季度结束后45天提交)。输出符合其他交易技能的targets.json标准格式,可与预算、风控及下单技能联动,实现从分析到模拟交易的完整闭环。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Jakeschincariol/trader-skill/tree/HEAD/trader-copycat

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

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": "你的名字 [email protected]",使用用户的真实姓名和电子邮件),或 export SEC_USER_AGENT=...。未经设置,工具拒绝调用SEC并会提示如何修正。请向用户询问此信息,切勿自行编造。

输出内容

  • trader/targets.json:要复制的权重,格式为其他所有交易技能都能读取:{ "source", "as_of", "weights": [ {"ticker", "name", "weight"} ] },权重以百分比表示,保留两位小数,股票部分总和为100(保留两位小数:预算调整需要此精度),同时包含13F份额、价值、CUSIP、被跳过项及原因、以及注意事项。
  • trader/tickers.json(可选的,你自定义):CUSIP到股票代码的映射,工具将始终优先使用,格式为 {"650111107": "NYT"}。

本文件夹中的 targets.example.json 是演示运行的真实输出(伯克希尔,前五大持仓)。

规则

  • 每次都要说明数据的时效性。 13F是季度最后一天的快照,最长可在45天后提交。每次使用该数据的回答中都必须说明“截至2026-06-30的持仓,于2026-08-14提交”。
  • 说明哪些内容无法显示。 仅限美国上市的多头仓位:不包括空头、现金、债券、外国股票、私营公司、季度内买卖的股票以及买入价。
  • 是公司,而非个人。 提交13F的是伯克希尔·哈撒韦,而非沃伦·巴菲特。格雷格·阿贝尔自2026-01-01起担任CEO,巴菲特于2026-09-18成为荣誉主席。切勿在申报文件仅显示“伯克希尔持有”时声称“巴菲特买入”。
  • 每个数字都来自申报文件。 引用登记号并链接信息表。如果股票代码是猜测的(标有*),请说明,并在复制任何内容前通过 --figi 或 trader/tickers.json 进行修正。
  • 期权和债券绝不复制。 PUT、CALL和PRN行会被标记为排除项。除非配置允许,本工具包仅交易股票。

第一步:寻找投资者

python3 "${CLAUDE_SKILL_DIR}/edgar13f.py" find buffett
python3 "${CLAUDE_SKILL_DIR}/edgar13f.py" find "pershing square" --sec

filers.json 列出了23位知名申报者及其CIK(已与SEC核对,截至2026-10-13),包括伯克希尔、潘兴广场、Scion、桥水、ARK、杜肯、阿帕卢萨、Baupost等。--sec 参数可按姓名搜索所有EDGAR申报者。如果某个申报者已停止申报(如Scion的最后一份13F-HR是2025-11-03),请说明。

第二步:读取最新季度

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 读取它。

第三步:变动情况

python3 "${CLAUDE_SKILL_DIR}/edgar13f.py" diff 1067983

与上一季度相比,新增仓位、清仓、加仓和减仓的股数变化。比较的是两个日期各自的持股数量,而非交易:请说“6月30日持有的股票数量多于3月31日”,切勿说“在某日买入”。

第四步:写入目标权重

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(或该申报者的提交列表),然后阅读用户要求查看的申报文件。Form 4比13F更快,但一次只涉及一只股票。

示例:演示

“复制伯克希尔·哈撒韦,前五大持仓。”最新的13F-HR对应截至2026-06-30的季度,于2026-08-14提交,登记号0001193125-26-352200,总金额299,253,556,246美元(与封面页一致)。

#持仓占13F比例复制权重
1苹果 (AAPL)22.0430.67
2美国运通 (AXP)17.1423.85
3Alphabet (GOOGL + GOOG 合并)12.6217.56
4可口可乐 (KO)10.8615.11
5美国银行 (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和纽约时报,减持美国银行、Kroger、Capital One、Nucor、Ally和DaVita。接着说明:“这些是伯克希尔截至2026年6月30日的持仓。下一步,/trader-budget 会根据你的5,000美元资金进行规模调整。”

绝不执行的操作

  • 绝不声称投资者目前仍持有,或说明其买入原因。
  • 绝不声称回报率,或声称复制基金会盈利。13F复制是在基金买入数月后、以当前价格买入的。
  • 绝不执行下单操作。它只写入目标权重;规模调整、风险检查以及你的确认随后进行。
  • 绝不超出SEC公平访问限制(每秒10次请求;本工具严格保持在限制以下)。

安全

  • 教育和工具用途,不构成财务建议。本工具包中的任何内容均不构成买入或卖出的推荐。
  • 默认模拟交易("paper": true 位于 trader/config.json)。
  • 只有 /trader-broker 才能执行下单,而且必须在 /trader-risk 通过并且用户在聊天中明确确认该笔订单,并且券商工具在Claude中设置为“需要批准”(自定义 > 连接器 > 工具权限),这样Claude自己的“允许一次/拒绝”卡片也会出现。切勿对下单工具使用“始终允许”。
  • 除非配置允许且用户确认,否则不允许期权、保证金、做空或杠杆交易。
  • 13F数据是季度性的,提交时最多已有45天的滞后。请如实说明。

相关技能