mcpField
P
portfolio-manager

portfolio-manager

github.com/nicepkg其他28892 次安装40 周前更新
代码仓库

关于 portfolio-manager

该技能通过 Alpaca MCP Server 获取实时持仓数据,并分析资产配置、分散度、风险、表现及个股仓位,生成组合报告和再平衡建议。面向需要审视投资组合的用户。

主要功能

  1. 01获取账户和当前持仓数据
  2. 02分析资产配置与分散程度
  3. 03评估风险指标及组合表现
  4. 04深入评估重要个股仓位
  5. 05生成再平衡建议和报告

适用场景

  1. 01查看组合的资产与行业配置
  2. 02识别持仓集中和风险敞口
  3. 03复核个股仓位及投资表现
  4. 04根据配置偏差规划再平衡

MCP 相关

依赖 Alpaca MCP Server 获取账户信息、持仓、历史表现和市场数据。需要连接该 MCP 服务后才能执行组合分析。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nicepkg/ai-workflow --skill portfolio-manager

安装后在 Claude Code 中输入/portfolio-manager确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
references/
alpaca-mcp-setup.md
asset-allocation.md
diversification-principles.md
portfolio-risk-metrics.md
position-evaluation.md
rebalancing-strategies.md
risk-profile-questionnaire.md
target-allocations.md
scripts/
test_alpaca_connection.py

详细介绍

投资组合管理器

概述

通过集成 Alpaca MCP Server 获取实时持仓数据,分析和管理投资组合,并进行全面分析,涵盖资产配置、分散化、风险指标、个别持仓评估和再平衡建议。生成包含可执行见解的详细投资组合报告。

此技能通过 MCP(模型上下文协议)使用 Alpaca 的经纪 API 访问实时投资组合数据,确保分析基于实际的当前持仓,而非手动输入的数据。

适用场景

在用户提出以下请求时调用此技能:

  • “分析我的投资组合”
  • “查看我当前的持仓”
  • “我的资产配置是什么?”
  • “检查我的投资组合风险”
  • “我应该对投资组合进行再平衡吗?”
  • “评估我的持仓”
  • “回顾投资组合表现”
  • “我应该买入或卖出哪些股票?”
  • 任何涉及投资组合层面分析或管理的请求

前提条件

Alpaca MCP Server 设置

此技能需要配置并连接 Alpaca MCP Server。MCP 服务提供以下访问能力:

  • 当前投资组合持仓
  • 账户净值和购买力
  • 历史持仓和交易
  • 所持证券的市场数据

使用的 MCP 服务工具:

  • get_account_info - 获取账户净值、购买力和现金余额
  • get_positions - 获取所有当前持仓,包括数量、成本基础和市值
  • get_portfolio_history - 历史投资组合表现数据
  • 用于获取报价和基本面的市场数据工具

如果尚未连接 Alpaca MCP Server,请告知用户,并提供 references/alpaca_mcp_setup.md 中的设置说明。

工作流

第 1 步:通过 Alpaca MCP 获取投资组合数据

使用 Alpaca MCP Server 工具收集当前投资组合信息:

1.1 获取账户信息:

Use mcp__alpaca__get_account_info to fetch:
- Account equity (total portfolio value)
- Cash balance
- Buying power
- Account status

1.2 获取当前持仓:

Use mcp__alpaca__get_positions to fetch all holdings:
- Symbol ticker
- Quantity held
- Average entry price (cost basis)
- Current market price
- Current market value
- Unrealized P&L ($ and %)
- Position size as % of portfolio

1.3 获取投资组合历史记录(可选):

Use mcp__alpaca__get_portfolio_history for performance analysis:
- Historical equity values
- Time-weighted return calculation
- Drawdown analysis

数据验证:

  • 验证所有持仓的股票代码均有效
  • 确认市值总和与账户净值大致相符
  • 检查是否存在过时或不活跃的持仓
  • 处理边缘情况(零碎股、期权,以及受支持时的加密货币)
第 2 步:补充持仓数据

对于投资组合中的每项持仓,收集额外的市场数据和基本面信息:

2.1 当前市场数据:

  • 实时或延迟报价
  • 日交易量和流动性指标
  • 52 周区间
  • 市值

2.2 基本面数据: 使用 WebSearch 或可用的市场数据 API 获取:

  • 行业和细分行业分类
  • 关键估值指标(市盈率、市净率、股息收益率)
  • 近期财报和财务健康指标
  • 分析师评级和目标价
  • 近期新闻和重大进展

2.3 技术分析:

  • 价格趋势(20 日、50 日、200 日移动平均线)
  • 相对强弱
  • 支撑位和阻力位
  • 动量指标(如有,使用 RSI、MACD)
第 3 步:投资组合层面分析

使用参考文件中的框架进行全面的投资组合分析:

3.1 资产配置分析

阅读 references/asset-allocation.md,了解资产配置框架

从多个维度分析当前配置:

按资产类别:

  • 股票与固定收益、现金及另类资产的比例
  • 与用户风险画像对应的目标配置进行比较
  • 评估配置是否符合投资目标

按行业:

  • 科技、医疗保健、金融、消费等
  • 识别行业集中度风险
  • 与基准行业权重进行比较(例如,S&P 500)

按市值:

  • 大盘股、中盘股和小盘股的分布
  • 超大市值股票的集中度
  • 市值分散化评分

按地域:

  • 美国、国际和新兴市场的配置
  • 评估国内市场集中度风险

输出格式:

## Asset Allocation

### Current Allocation vs Target
| Asset Class | Current | Target | Variance |
|-------------|---------|--------|----------|
| US Equities | XX.X% | YY.Y% | +/- Z.Z% |
| ... |

### Sector Breakdown
[Pie chart description or table with sector percentages]

### Top 10 Holdings
| Rank | Symbol | % of Portfolio | Sector |
|------|--------|----------------|--------|
| 1 | AAPL | X.X% | Technology |
| ... |
3.2 多元化分析

阅读 references/diversification-principles.md,了解多元化理论

评估投资组合的多元化质量:

持仓集中度:

  • 找出权重最高的持仓并计算其合计权重
  • 若任何单一持仓占投资组合的比例超过 10-15%,则标记
  • 计算赫芬达尔-赫希曼指数(HHI)以衡量集中度

行业集中度:

  • 找出占主导地位的行业
  • 若任何行业占投资组合的比例超过 30-40%,则标记
  • 与基准的行业多样性进行比较

相关性分析:

  • 估算主要持仓之间的相关性
  • 找出高度相关的持仓(可能存在冗余)
  • 评估实际的多元化收益

持仓数量:

  • 个人投资组合的理想范围:15-30 只股票
  • 若分散不足(<10 只股票)或过度分散(>50 只股票),则标记

输出:

## Diversification Assessment

**Concentration Risk:** [Low / Medium / High]
- Top 5 holdings represent XX% of portfolio
- Largest single position: [SYMBOL] at XX%

**Sector Diversification:** [Excellent / Good / Fair / Poor]
- Dominant sector: [Sector Name] at XX%
- [Assessment of balance across sectors]

**Position Count:** [Optimal / Under-diversified / Over-diversified]
- Total positions: XX stocks
- [Recommendation]

**Correlation Concerns:**
- [List any highly correlated position pairs]
- [Diversification improvement suggestions]
3.3 风险分析

阅读 references/portfolio-risk-metrics.md,了解风险衡量框架

计算并解读关键风险指标:

波动率指标:

  • 投资组合估算贝塔值(持仓贝塔值的加权平均)
  • 各持仓的波动率
  • 投资组合标准差(如有历史数据)

下行风险:

  • 最大回撤(根据投资组合历史数据)
  • 当前相对于峰值的回撤
  • 存在显著未实现亏损的持仓

风险集中度:

  • 高波动率股票(贝塔值 > 1.5)占比
  • 投机性/未盈利公司占比
  • 杠杆使用情况(如适用)

尾部风险:

  • 面临潜在黑天鹅事件的风险敞口
  • 单只股票的集中度风险
  • 特定行业的事件风险

输出:

## Risk Assessment

**Overall Risk Profile:** [Conservative / Moderate / Aggressive]

**Portfolio Beta:** X.XX (vs market at 1.00)
- Interpretation: Portfolio is [more/less] volatile than market

**Maximum Drawdown:** -XX.X% (from $XXX,XXX to $XXX,XXX)
- Current drawdown from peak: -XX.X%

**High-Risk Positions:**
| Symbol | % of Portfolio | Beta | Risk Factor |
|--------|----------------|------|-------------|
| [TICKER] | XX% | X.XX | [High volatility / Recent loss / etc] |

**Risk Concentrations:**
- XX% in single sector ([Sector])
- XX% in stocks with beta > 1.5
- [Other concentration risks]

**Risk Score:** XX/100 ([Low/Medium/High] risk)
3.4 业绩分析

使用可用数据评估投资组合业绩:

绝对回报:

  • 投资组合整体未实现损益(美元和百分比)
  • 表现最佳的持仓(按收益百分比排名前 5)
  • 表现最差的持仓(按亏损百分比排名后 5)

时间加权回报(如有历史数据):

  • 年初至今的回报
  • 1 年、3 年、5 年年化回报
  • 与基准(S&P 500、相关指数)进行比较

持仓层面的业绩:

  • 盈利持仓与亏损持仓之比
  • 盈利持仓的平均收益
  • 亏损持仓的平均亏损
  • 接近 52 周高点/低点的持仓

输出:

## Performance Review

**Total Portfolio Value:** $XXX,XXX
**Total Unrealized P&L:** $XX,XXX (+XX.X%)
**Cash Balance:** $XX,XXX (XX% of portfolio)

**Best Performers:**
| Symbol | Gain | Position Value |
|--------|------|----------------|
| [TICKER] | +XX.X% | $XX,XXX |
| ... |

**Worst Performers:**
| Symbol | Loss | Position Value |
|--------|------|----------------|
| [TICKER] | -XX.X% | $XX,XXX |
| ... |

**Performance vs Benchmark (if available):**
- Portfolio return: +X.X%
- S&P 500 return: +Y.Y%
- Alpha: +/- Z.Z%
第 4 步:个别持仓分析

针对关键持仓(按投资组合权重排名前 10-15),进行详细分析:

阅读 references/position-evaluation.md,了解持仓分析框架

针对每项重要持仓:

4.1 当前投资逻辑验证:

  • 为何建立该持仓?(如用户提供的背景信息中有说明)
  • 投资逻辑是否已经兑现或失效?
  • 公司近期动态和新闻

4.2 估值评估:

  • 当前估值指标(P/E、P/B 等)
  • 与历史估值区间进行比较
  • 与同行业公司进行比较
  • 评估为高估/合理/低估

4.3 技术面状况:

  • 价格趋势(上升、下降、横盘)
  • 持仓价格相对于移动平均线的位置
  • 支撑位和阻力位
  • 动量状况

4.4 持仓规模:

  • 当前在投资组合中的权重
  • 根据信心程度和风险,持仓规模是否合适?
  • 相对于最优规模是超配还是低配

4.5 操作建议:

  • HOLD - 持仓规模合适,且投资逻辑依然成立
  • ADD - 鉴于投资机会,当前持仓偏低,且投资逻辑正在增强
  • TRIM - 持仓超配或估值偏高
  • SELL - 投资逻辑失效,其他地方存在更好的机会

每项持仓的输出:

### [SYMBOL] - [Company Name] (XX.X% of portfolio)

**Position Details:**
- Shares: XXX
- Avg Cost: $XX.XX
- Current Price: $XX.XX
- Market Value: $XX,XXX
- Unrealized P/L: $X,XXX (+XX.X%)

**Fundamental Snapshot:**
- Sector: [Sector]
- Market Cap: $XX.XB
- P/E: XX.X | Dividend Yield: X.X%
- Recent developments: [Key news or earnings]

**Technical Status:**
- Trend: [Uptrend / Downtrend / Sideways]
- Price vs 50-day MA: [Above/Below by XX%]
- Support: $XX.XX | Resistance: $XX.XX

**Position Assessment:**
- **Thesis Status:** [Intact / Weakening / Broken / Strengthening]
- **Valuation:** [Undervalued / Fair / Overvalued]
- **Position Sizing:** [Optimal / Overweight / Underweight]

**Recommendation:** [HOLD / ADD / TRIM / SELL]
**Rationale:** [1-2 sentence explanation]
第 5 步:再平衡建议

请阅读 references/rebalancing-strategies.md,了解再平衡方法

生成具体的再平衡建议:

5.1 确定再平衡触发因素:

  • 与目标权重偏离较大的持仓
  • 需要调整的行业/资产类别配置
  • 需要减持的超配持仓(超出阈值)
  • 需要增持的低配领域(低于阈值)
  • 税务因素(资本利得影响)

5.2 制定再平衡计划:

需要减持的持仓:

  • 超配持仓(偏离目标幅度超过阈值)
  • 大幅上涨的股票(估值方面的顾虑)
  • 占投资组合比例超过 15-20% 的集中持仓
  • 投资论点已不再成立的持仓

需要增持的持仓:

  • 低配的行业或资产类别
  • 当前低配但信念较强的持仓
  • 有助于提升多元化程度的新机会

现金部署:

  • 如果有超额现金(占投资组合比例超过 10%),建议部署资金
  • 根据机会和配置缺口确定优先顺序

5.3 确定优先级: 按优先级排列再平衡操作:

  1. 立即处理 - 降低风险(减持集中持仓)
  2. 高优先级 - 配置大幅偏离目标(偏离超过 10%)
  3. 中优先级 - 配置中度偏离目标(偏离 5-10%)
  4. 低优先级 - 微调和机会性调整

输出:

## Rebalancing Recommendations

### Summary
- **Rebalancing Needed:** [Yes / No / Optional]
- **Primary Reason:** [Concentration risk / Sector drift / Cash deployment / etc]
- **Estimated Trades:** X sell orders, Y buy orders

### Recommended Actions

#### HIGH PRIORITY: Risk Reduction
**TRIM [SYMBOL]** from XX% to YY% of portfolio
- **Shares to Sell:** XX shares (~$XX,XXX)
- **Rationale:** [Overweight / Valuation extended / etc]
- **Tax Impact:** $X,XXX capital gain (est)

#### MEDIUM PRIORITY: Asset Allocation
**ADD [Sector/Asset Class]** exposure
- **Target:** Increase from XX% to YY%
- **Suggested Stocks:** [SYMBOL1, SYMBOL2, SYMBOL3]
- **Amount to Invest:** ~$XX,XXX

#### CASH DEPLOYMENT
**Current Cash:** $XX,XXX (XX% of portfolio)
- **Recommendation:** [Deploy / Keep for opportunities / Reduce to X%]
- **Suggested Allocation:** [Distribution across sectors/stocks]

### Implementation Plan
1. [First action - highest priority]
2. [Second action]
3. [Third action]
...

**Timing Considerations:**
- [Tax year-end planning / Earnings season / Market conditions]
- [Suggested phasing if applicable]
第 6 步:生成投资组合报告

创建完整的 Markdown 报告,并保存到代码库根目录:

文件名: portfolio_analysis_YYYY-MM-DD.md

报告结构:

# Portfolio Analysis Report

**Account:** [Account type if available]
**Report Date:** YYYY-MM-DD
**Portfolio Value:** $XXX,XXX
**Total P&L:** $XX,XXX (+XX.X%)

---

## Executive Summary

[3-5 bullet points summarizing key findings]
- Overall portfolio health assessment
- Major strengths
- Key risks or concerns
- Primary recommendations

---

## Holdings Overview

[Summary table of all positions]

---

## Asset Allocation
[Section from Step 3.1]

---

## Diversification Analysis
[Section from Step 3.2]

---

## Risk Assessment
[Section from Step 3.3]

---

## Performance Review
[Section from Step 3.4]

---

## Position Analysis
[Detailed analysis of top 10-15 positions from Step 4]

---

## Rebalancing Recommendations
[Section from Step 5]

---

## Action Items

**Immediate Actions:**
- [ ] [Action 1]
- [ ] [Action 2]

**Medium-Term Actions:**
- [ ] [Action 3]
- [ ] [Action 4]

**Monitoring Priorities:**
- [ ] [Watch list item 1]
- [ ] [Watch list item 2]

---

## Appendix: Full Holdings

[Complete table with all positions and metrics]
第 7 步:交互式后续问答

准备回答后续问题:

常见问题:

“为什么要卖出 [SYMBOL]?”

  • 解释具体顾虑(估值、投资论点不再成立、持仓集中度)
  • 提供支持数据
  • 如适用,提供替代持仓

“应该买什么来替代?”

  • 推荐有助于改善配置的具体股票
  • 说明它们如何弥补投资组合的缺口
  • 简要说明投资论点

“我最大的风险是什么?”

  • 确定主要风险因素(持仓集中度、行业敞口、波动性)
  • 量化风险
  • 建议风险缓解策略

“我的投资组合与 [benchmark] 相比如何?”

  • 对比配置、行业权重和风险指标
  • 突出关键差异
  • 评估差异是否合理

“我应该现在再平衡,还是等待?”

  • 考虑市场状况、税务影响和交易成本
  • 提供时机建议并说明理由

“可以更详细地分析 [specific position] 吗?”

  • 如有需要,使用 us-stock-analysis 技能进行深入分析
  • 将分析结果纳入投资组合背景

分析框架

目标配置模板

此技能包含适用于不同投资者类型的参考配置模型:

请阅读 references/target-allocations.md,了解详细模型:

  • 保守型(保全资本,注重收入)
  • 稳健型(兼顾增长与收入)
  • 成长型(长期资本增值)
  • 进取型(追求最大增长,风险承受能力高)

每个模型均包含:

  • 资产类别目标(股票/债券/现金/另类资产)
  • 行业指引
  • 市值分布
  • 地域配置
  • 持仓规模规则

当用户未指定配置策略时,将这些模型用作比较基准。

风险概况评估

如果用户的目标配置未知,请根据以下信息评估适合的风险概况:

  • 年龄(如有提及)
  • 投资期限(如有提及)
  • 当前配置(可反映偏好)
  • 持仓类型(保守型股票或投机型股票)

请阅读 references/risk-profile-questionnaire.md,了解评估框架

输出指南

语气和风格:

  • 客观且分析性强
  • 提供可执行的建议,并清晰说明理由
  • 承认市场预测存在不确定性
  • 在保持乐观的同时关注风险
  • 尽可能量化

数据呈现:

  • 使用表格进行比较并展示指标
  • 使用百分比表示配置比例和回报
  • 使用美元金额表示绝对值
  • 在整份报告中保持格式一致

明确给出建议:

  • 明确使用行动动词(减持、增持、持有、卖出)
  • 提供具体数量(卖出 XX 股,增持 $X,XXX)
  • 标明优先级(立即、高、中、低)
  • 为每项建议提供支持理由

可视化描述:

  • 描述配置细分情况,如同绘制饼图
  • 用相当于条形图的方式表示行业权重
  • 使用方向指示符(↑ ↓ →)呈现业绩趋势

参考文件

在分析过程中按需加载以下参考资料:

references/alpaca-mcp-setup.md

  • 适用情况:用户需要设置 Alpaca MCP 服务时
  • 包含内容:安装说明、API 密钥配置、MCP 服务连接步骤、故障排除

references/asset-allocation.md

  • 适用情况:分析投资组合配置或制定再平衡计划时
  • 包含内容:资产配置理论、不同风险画像的最佳配置、行业配置指南、再平衡触发条件

references/diversification-principles.md

  • 适用情况:评估投资组合的分散化质量时
  • 包含内容:现代投资组合理论基础、相关性概念、最佳持仓数量、集中度风险阈值、分散化指标

references/portfolio-risk-metrics.md

  • 适用情况:计算风险评分或解读波动率时
  • 包含内容:贝塔计算、标准差、夏普比率、最大回撤、风险价值(VaR)、风险调整后回报指标

references/position-evaluation.md

  • 适用情况:分析个别持仓并决定买入、持有或卖出时
  • 包含内容:持仓分析框架、投资逻辑验证清单、仓位规模指南、卖出纪律标准

references/rebalancing-strategies.md

  • 适用情况:制定再平衡建议时
  • 包含内容:再平衡方法(日历法、阈值法、战术法)、税务优化策略、交易成本考量、执行时机

references/target-allocations.md

  • 适用情况:需要基准配置以供比较时
  • 包含内容:面向保守型、中等风险型、成长型和激进型投资者的模型投资组合、行业目标范围、市值分布

references/risk-profile-questionnaire.md

  • 适用情况:用户尚未说明风险承受能力或目标配置时
  • 包含内容:风险评估问题、评分方法、风险画像分类

错误处理

如果 Alpaca MCP 服务未连接:

  1. 告知用户需要使用 Alpaca 集成
  2. 提供 references/alpaca-mcp-setup.md 中的设置说明
  3. 提供替代方案:手动输入数据(不太理想,由用户提供持仓 CSV 文件)

如果 API 返回的数据不完整:

  • 使用现有数据继续分析
  • 在报告中说明限制
  • 建议手动核实缺失的持仓

如果持仓数据似乎已过时:

  • 标记此问题
  • 建议刷新连接或检查 Alpaca 状态
  • 继续分析,但需对结论加以说明

如果用户没有持仓:

  • 确认投资组合为空
  • 改为提供投资组合构建指导,而非分析
  • 建议使用 value-dividend-screener 或 us-stock-analysis 获取股票建议

高级功能

税损收割机会

识别适合进行税损收割的未实现亏损持仓:

  • 亏损超过 5% 的持仓
  • 考虑持有期限(避免触发洗售规则)
  • 建议替代证券(相似但并非实质上完全相同)
股息收入分析

针对持有派息股票的投资组合:

  • 估算年度股息收入
  • 股息增长率走势
  • 股息支付覆盖率和可持续性
  • 长期持仓的成本收益率
相关性矩阵

对于持有 5-20 个头寸的投资组合:

  • 估算主要头寸之间的相关性
  • 识别冗余头寸(相关性 >0.8)
  • 提出改善多元化的建议
情景分析

模拟投资组合在不同情景下的表现:

  • 牛市(股票升值 +20%)
  • 熊市(股票下跌 -20%)
  • 板块轮动(科技板块走弱,价值板块走强)
  • 利率上升(对成长股和债券的影响)

示例查询

投资组合基础审查:

  • “分析我的投资组合”
  • “审查我的持仓”
  • “我的投资组合表现如何?”

资产配置分析:

  • “我的资产配置是什么样的?”
  • “我的科技板块持仓是否过于集中?”
  • “显示我的板块分布”

风险评估:

  • “我的投资组合风险是否过高?”
  • “我的投资组合贝塔值是多少?”
  • “我面临的最大风险是什么?”

再平衡:

  • “我应该进行再平衡吗?”
  • “我应该买入或卖出什么?”
  • “如何改善多元化?”

业绩表现:

  • “我表现最好和最差的头寸是什么?”
  • “与市场相比,我的表现如何?”
  • “哪些股票表现好,哪些表现差?”

针对特定头寸:

  • “我应该卖出 [SYMBOL] 吗?”
  • “[SYMBOL] 在我的投资组合中是否占比过高?”
  • “我应该如何处理 [SYMBOL]?”

局限性和免责声明

在所有报告中包含:

本分析仅供参考,不构成财务建议。投资决策应根据个人情况、风险承受能力和财务目标作出。过往表现不保证未来结果。作出投资决策前,请咨询合格的财务顾问。

数据准确性取决于 Alpaca API 和第三方市场数据来源。请独立核实重要信息。税务影响仅为估算;如需具体指导,请咨询税务专业人士。

评论

支持 Markdown