SuperAPI AI 工具集

portfolio

办公与效率

查看项目

更新于 10-15 09:46

技能介绍

Portfolio 是一个投资组合管理器,用于管理持仓、分析配置、计算收益并生成再平衡建议。所有数据存储在本地 JSON 文件中,无需外部 API 调用。

用途

Portfolio 用于跟踪股票、ETF 或加密货币的买卖记录,查看当前持仓快照,分析组合在各资产上的权重分布,生成达到目标配置权重的买卖建议,以及计算指定时间段内的组合收益。

主要能力

  • 添加持仓:add <ticker> <qty> <price> 买入股票,加入持仓并记录买入交易,支持 --date YYYY-MM-DD 指定日期(默认今天)。重复标的会自动按加权平均价合并。
  • 移除持仓:remove <ticker> 卖出股票,从持仓中移除并记录卖出交易,支持 --quantity N 部分卖出(省略则全部卖出)。
  • 列出持仓:list 以格式化表格显示所有当前持仓,支持 --format table|json|csv。
  • 配置分析:analyze 分析组合配置,显示价值和权重百分比,支持 --by ticker|sector 和 --format table|json。
  • 再平衡:rebalance 生成买卖建议以达到目标配置权重,支持 --target TICKER:PCT,... 和 --threshold PCT(默认 5)。未指定目标时默认等权重。
  • 收益计算:performance 计算组合收益(投入、卖出、当前价值、盈亏),支持 --period 1d|1w|1m|3m|1y|all 和 --format table|json。
  • 帮助:help 显示内置帮助信息及所有命令示例。

使用方式

通过 bash 脚本调用,命令格式为 bash scripts/script.sh <command> [flags]。

示例:

# 添加 100 股 AAPL,价格 $150.50,日期 2024-01-15
bash scripts/script.sh add AAPL 100 150.50 --date 2024-01-15

# 添加 0.5 BTC,价格 $42,000(自动使用今天日期)
bash scripts/script.sh add BTC 0.5 42000

# 卖出 50 股 AAPL(部分卖出)
bash scripts/script.sh remove AAPL --quantity 50

# 移除整个 GOOG 持仓
bash scripts/script.sh remove GOOG

# 以表格列出持仓
bash scripts/script.sh list

# 以 JSON 列出持仓
bash scripts/script.sh list --format json

# 以 CSV 列出持仓
bash scripts/script.sh list --format csv

# 按标的分析配置,带可视化权重条
bash scripts/script.sh analyze --format table

# 以 JSON 获取配置分析
bash scripts/script.sh analyze --format json

# 生成再平衡建议,自定义目标与 3% 阈值
bash scripts/script.sh rebalance --target AAPL:40,GOOG:30,BTC:30 --threshold 3

# 等权重再平衡(无 --target 时默认等权重)
bash scripts/script.sh rebalance

# 查看最近一个月收益
bash scripts/script.sh performance --period 1m

# 全时段收益,JSON 格式
bash scripts/script.sh performance --period all --format json

输出到 stdout,支持 --format json 的机器可读输出,可用 shell 重定向:

bash scripts/script.sh list --format csv > portfolio.csv
bash scripts/script.sh performance --format json | jq .

数据存储

所有数据存储在本地 ~/.portfolio/:

  • holdings.json:当前持仓数组,每项包含 ticker、quantity、avg_price、date_added。
  • transactions.json:所有买卖交易数组,包含 type、ticker、quantity、price、date。

两个文件在首次使用时自动创建为空 JSON 数组([])。

适用场景

  • 记录买入股票、ETF 或加密货币,自动计算成本均价。
  • 快速查看当前组合快照(表格、JSON 或 CSV)。
  • 查看组合在各资产上的权重分布及百分比。
  • 获取达到目标配置权重的买卖建议,可配置偏离阈值。
  • 计算指定时间段(1 天到全时段)的总投入、总卖出、当前价值和盈亏百分比。

限制

  • 需要 bash 4.0+ 和 python3(仅标准库:json、os、sys、datetime)。
  • 无外部 API、无 pip 包、无需网络访问。
  • 数据仅存储在本地 JSON 文件,暂未提供云端同步或多人协作功能。
  • 暂未提供实时行情获取,价格需手动输入。