| name | current-holdings |
| description | 用于获取我的真实持仓 |
| tools | curl |
通过http接口调用,获取当前持仓信息:
获取所有持仓明细
curl -s "http://localhost:8000/api/v1/holdings/current"
根据资产大类,获取持仓比例
curl -s "http://localhost:8000/api/v1/analysis/allocation/by-tags"
持仓快照功能
快照功能用于记录特定时间点的持仓状态,支持日、周、月三种类型的快照对比分析。
快照自动创建机制
- 日快照: 每次查询持仓时自动创建(如果当天还没有)
- 周快照: 每周日查询时自动创建
- 月快照: 每月最后一天查询时自动创建
快照 ID 格式:YYYYMMDDHHMM(例如:202601261723)
API 接口详解
1. 快照对比 - 期间盈亏分析
用于对比当前持仓与上一期快照的变化,是日报/周报/月报的核心数据源。
# 日对比 - 对比今天 vs 昨天
curl -s "http://localhost:8000/api/v1/analysis/snapshot/compare?period=daily"
# 周对比 - 对比本周日 vs 上周日
curl -s "http://localhost:8000/api/v1/analysis/snapshot/compare?period=weekly"
# 月对比 - 对比本月末 vs 上月末
curl -s "http://localhost:8000/api/v1/analysis/snapshot/compare?period=monthly"
响应格式 (有历史数据时):
{
"current": {
"snapshot_id": "202601271700",
"snapshot_time": "2026-01-27 17:00:00",
"total_value": 3050000.00,
"total_profit": 180000.00,
"allocation": {...}
},
"previous": {
"snapshot_id": "202601261723",
"snapshot_time": "2026-01-26 17:23:19",
"total_value": 3025018.81,
"total_profit": 155679.68,
"allocation": {...}
},
"comparison": {
"value_change": 24981.19,
"value_change_pct": 0.83,
"profit_change": 24320.32,
"profit_change_pct": 15.62,
"allocation_changes": [
{
"category": "美股指数",
"value_change": 13500.00,
"value_change_pct": 1.21,
"contribution": 54.0
}
]
}
}
首次使用响应 (无历史数据时):
{
"error": "没有找到上一期快照",
"message": "这是您的第一次报告,暂无历史数据对比"
}
2. 快照列表查询
查询历史快照记录,用于查看快照历史或选择特定快照。
# 查询最近5个日快照
curl -s "http://localhost:8000/api/v1/analysis/snapshot/list?type=daily&limit=5"
# 查询所有周快照
curl -s "http://localhost:8000/api/v1/analysis/snapshot/list?type=weekly"
# 查询所有月快照
curl -s "http://localhost:8000/api/v1/analysis/snapshot/list?type=monthly"
响应格式:
{
"total": 5,
"items": [
{
"snapshot_id": "202601271700",
"snapshot_type": "daily",
"snapshot_time": "2026-01-27 17:00:00",
"total_value": 3050000.00,
"total_profit": 180000.00
},
{
"snapshot_id": "202601261723",
"snapshot_type": "daily",
"snapshot_time": "2026-01-26 17:23:19",
"total_value": 3025018.81,
"total_profit": 155679.68
}
]
}
3. 快照详情查询
获取指定快照的完整数据,包括所有资产类别的详细配置。
# 通过快照 ID 查询详情
curl -s "http://localhost:8000/api/v1/analysis/snapshot/202601261723"
响应格式:
{
"snapshot_id": "202601261723",
"snapshot_type": "daily",
"snapshot_time": "2026-01-26 17:23:19",
"total_value": 3025018.81,
"total_cost": 2869339.13,
"total_profit": 155679.68,
"total_profit_pct": 5.43,
"allocation": [
{
"tag_name": "美股指数",
"market_value": 1113616.55,
"cost": 1025775.58,
"profit": 87840.97,
"profit_pct": 8.56,
"weight": 36.8,
"count": 10
}
]
}
集成使用场景
Portfolio-Report 日报生成
# 1. 获取当前持仓(自动创建今日快照)
HOLDINGS=$(curl -s "http://localhost:8000/api/v1/holdings/current")
# 2. 获取日对比数据
COMPARE=$(curl -s "http://localhost:8000/api/v1/analysis/snapshot/compare?period=daily")
# 3. 检查是否有历史数据
if echo "$COMPARE" | grep -q "error"; then
# 首次使用,只显示当前状态
echo "这是您的第一次日报,暂无昨日对比数据"
else
# 展示今日盈亏变化
echo "今日盈亏: $(echo "$COMPARE" | jq -r '.comparison.value_change')"
fi
Portfolio-Report 周报生成
# 周日运行,对比本周 vs 上周
curl -s "http://localhost:8000/api/v1/analysis/snapshot/compare?period=weekly"
Portfolio-Report 月报生成
# 月末运行,对比本月 vs 上月
curl -s "http://localhost:8000/api/v1/analysis/snapshot/compare?period=monthly"
注意事项
- 首次使用: 第一次调用 compare 接口时会返回"无历史快照"错误,这是正常的
- 快照触发: 快照在查询持仓时自动创建,无需手动触发
- 数据完整性: 每个快照包含完整的 allocation 数据,可用于历史回溯
- 时间精度: 快照 ID 精确到分钟,同一分钟内不会重复创建
- 数据保留: 所有历史快照永久保存(除非手动清理)