SuperAPI AI 工具集

asset-management

这是一个以回撤为核心的股票与ETF投资组合分析工具,并提供只读的MCP插件供Claude等AI助手调用。所有数值由Python确定性计算,AI仅能通过占位符被渲染器替换,禁止自行写入数字,确保可审计。输入为追加式交易日志(CSV或Ghostfolio导出),持仓由日志推导、不存储,相同输入始终产生相同输出。输出包括:回撤优先简报(距峰值回撤、水下时长、恢复情况),每个采样风险统计量带bootstrap置信区间(收益为会计恒等式故不带);面向自选目标的确定性买卖建议,每行附触发规则名称;可选AI叙述与只读Claude Desktop插件。价格抓取有回退机制(Yahoo Finance主,Tiingo次需免费API key)和磁盘缓存,自动调整拆股。仅支持美元、仅做多股票/ETF,非美元行会报错拒绝。提供演示数据可一键体验;无内置默认账本,必须显式指定。支持目标配置、再平衡模式(如5/25带、cash_flow_only)、回测与基准比较;回测结论仅用shallower/deeper/inconclusive/insufficient,无“跑赢”说法。所有公式见MATH.md,并与Ghostfolio、quantstats交叉验证。输出分为提议、模拟、执行三独立步骤,策略不会自动变为交易。工具只读,绝不交易。

访问官网

工具介绍

用途

这是一个以回撤为核心的个人股票/ETF投资组合追踪与分析工具,附带一个只读的MCP插件,可让AI助手(如Claude Desktop)以只读工具形式查询你的投资组合。它不执行交易,也不存储你的持仓——持仓完全由你提供的追加式交易日志推导而来,相同输入始终产生相同输出。

主要能力

  • 回撤优先简报:基于真实持仓,展示距峰值的回撤幅度、水下持续时间、恢复情况;每个采样风险统计量都带bootstrap置信区间(收益作为会计恒等式不带区间),数据不足时显示n/a或inconclusive,不编造数字。
  • 确定性建议:面向你选择的目标配置,给出买/卖建议,每条建议都标注触发它的命名规则,让你理解规则而非盲信。
  • 数字围栏:Python确定性核心计算所有数字;可选的AI叙述只能放置{{token}}占位符,由渲染器从已验证核心替换数值;如果模型自行输入任何Unicode数字类别中的数字(如½或3.2),整个叙述会被拒绝。
  • 只读Claude插件:通过MCP将投资组合以只读工具暴露给AI助手,返回的数值均来自同一确定性核心;但助手自身文字不受围栏约束,不可追溯到工具结果的数字应视为未验证。
  • 目标与再平衡:支持预设风险姿态(conservative/moderate/aggressive)、等权、逆波动率等再平衡模式;支持5/25带再平衡、仅现金流入再平衡(税务友好);提议、模拟、执行分步强制,策略不会静默变为交易。
  • 回测与基准比较:针对目标与基准(60-40/all-weather/permanent)在共同历史上模拟,给出留出近期窗口的判定:shallower/deeper/inconclusive/insufficient,从不说“跑赢”;判定基于Ulcer指数,需CDaR不矛盾且配对的bootstrap置信区间确认,最大回撤仅作上下文。
  • 发现与筛选:可建议适合你低配角色的筛选ETF,评估候选标的(成本、流动性、年龄、重叠度、是否真正分散了最差回撤)。
  • 输出形式:纯文本始终输出,可选保存markdown、发送HTML邮件;某个输出失败不会导致运行崩溃,但若请求的输出失败则进程非零退出以便调度器感知。若所有持仓都无法定价,简报仍从账本打印但非零退出并提示修复。

使用方式

  • 快速体验:uvx --from git+https://github.com/disin7c9/asset-management asset-management --demo,使用捆绑的假投资组合,无需设置。也可克隆后 uv sync && uv run python -m app --demo(需Python 3.12和uv)。
  • 使用自己的资金:四步(资料未提供具体四步内容)。
  • 输入格式:交易日志CSV采用Ghostfolio的CSV导入模式——列:Date, Code, DataSource, Currency, Price, Quantity, Action, Fee, Note。Action为buy/sell/dividend/fee/interest/deposit/withdraw之一。现金流(deposit/withdraw)使用CASH代码并将金额放入Price列。仅支持USD,非USD行会报错并指出行号。数字空单元格视为零,非ISO日期报错,容忍UTF-8 BOM。捆绑示例data/sample_data/transactions.csv展示所有行类型。
  • Ghostfolio用户:可直接指向Ghostfolio JSON导出(Portfolio → Activities → ⋯ → Export),加载器自动检测并读取;非USD、加密货币和非证券(ITEM/LIABILITY)行会跳过并警告。
  • 配置:在仓库根目录的.env中设置ASSET_BOOK=path/to/your.csv(可选ASSET_TARGET),之后裸python -m app即为简报。显式标志优先。无内置默认账本。
  • 离线优先:价格来自磁盘缓存,在线运行时刷新。首次克隆后需填充一次缓存。之后--offline和Claude Desktop插件完全从缓存运行。可选添加Tiingo API key作为第二价格源,以应对Yahoo限流。
  • 目标获取:已有组合用--dump-target写出当前配置再编辑;用--onboard或--allocate选择风险姿态预设;用--discover和--screen探索并自建。
  • 验证目标:--backtest模拟目标与参考在共同历史上的表现,给出留出窗口判定。
  • 调度:可用cron每周一运行简报;Windows无WSL时用任务计划程序运行wsl.exe,或直接运行安装的uv。

适用场景

个人投资者希望以回撤为核心审视自己的股票/ETF组合,需要可审计的确定性建议而非黑盒预测;希望用AI助手自然语言查询组合但要求数字来自确定性核心;需要税务友好的再平衡(仅现金投入);希望比较目标配置与基准的回撤差异,且结论保守不夸大。

限制

  • 仅支持USD、仅做多股票/ETF;非USD行被拒绝。
  • 无内置默认账本,必须显式提供。
  • AI叙述的措辞不受围栏约束,可能产生建议或预测式句子。
  • 回测判定词汇无“跑赢”,证据不足时显示inconclusive/insufficient。
  • 拆股自动调整,但拆股数据不可用时报错阈值2:1;数据来源依赖Yahoo(主)和Tiingo(次,需免费API key),可能因限流导致部分ticker缺失。
  • 未提供收费、价格、平台等具体信息。