SuperAPI AI 工具集

trader-rebalance

数据与分析

查看项目

更新于 10-17 13:25

技能介绍

trader-rebalance 用于投资组合再平衡:当价格变动、新增资金或新的 13F 文件导致持仓权重偏离目标时,它会找出漂移过大的股票,并生成把权重拉回目标的交易建议。

主要能力

  • 按当前价格计算账户价值(现金加所有持仓市值)。
  • 对目标权重在股票部分内重新归一化(账户减去现金缓冲),并确保没有股票超过账户的 max_position_pct,超额部分按 trader-budget 的方式分摊。
  • 计算漂移:当前占账户百分比减去目标百分比。
  • 只交易漂移超过再平衡带(默认5个百分点)的股票,并把该股票一次拉回目标。
  • 先卖后买;买入只花费现金缓冲以上的部分,现金不足时所有买入按相同比例缩减。
  • 低于 min_order_usd 的交易跳过;超过 max_order_usd 的交易被削减到上限,并提示成交后重跑。
  • 不在目标中的持仓默认保留并列出,除非使用 --sell-untracked 要求卖出。

使用方式 命令示例: python3 "${CLAUDE_SKILL_DIR}/rebalance.py" # 输出漂移表,不写文件 python3 "${CLAUDE_SKILL_DIR}/rebalance.py" --band 5 --write # 生成建议 -> trader/orders.json python3 "${CLAUDE_SKILL_DIR}/rebalance.py" --sell-untracked # 同时卖出不在目标中的持仓 python3 "${CLAUDE_SKILL_DIR}/rebalance.py" --json

读取与写入的文件

  • trader/portfolio.json:现金与持仓股数。
  • trader/prices.json:每个持仓和每个目标的价格,由 trader-alerts 写入。
  • trader/targets.json:目标权重,由 trader-copycat 写入。
  • trader/config.json:现金缓冲、上限、最小与最大订单金额、rebalance_band_pct。
  • trader/orders.json:使用 --write 写入的建议,卖出在前。

典型步骤

  1. 刷新价格:trader-alerts alerts.py quote --holdings --write。
  2. 运行 rebalance.py,用通俗语言展示漂移表:哪些股票超配或低配、相差多少点、会做什么交易。
  3. 卖出前先运行 trader-tax(lots.py sell TICKER SHARES),展示卖出可能实现的税务结果,因为卖出盈利持仓可能产生税单。
  4. 如果用户想执行交易:rebalance.py --write,然后运行 /trader-risk,再运行 /trader-broker,每笔订单逐次确认。

限制与安全

  • 只写建议,从不下单;下单只能由 trader-broker 执行,且必须同时满足:trader-risk 当天通过了该笔订单、用户在聊天中对该笔订单明确输入 yes、用户对订单工具点击一次 Allow(订单工具设为 Needs approval,绝不设为 Always allow)。
  • 不会在再平衡带内追逐微小差异,不会未经要求卖出目标外持仓,也不会声称再平衡能提高收益。
  • 默认模拟交易("paper": true),转为实盘由用户在自己的配置中决定。
  • 除非配置允许且用户确认,否则不涉及期权、保证金、卖空或杠杆。
  • 券商密钥存放在环境变量或 Claude Desktop 配置中,不放在聊天里。
  • 属于教育与工具性质,不构成财务建议;再平衡遵循用户自己的目标,而不是预测。

适用场景 适合需要按既定目标权重定期检查并调整股票组合、希望在交易前看到漂移和建议、并需要税务与风险前置检查的用户。