关于 portfolio-manager
该技能通过 Alpaca MCP Server 获取实时持仓数据,并分析资产配置、分散度、风险、表现及个股仓位,生成组合报告和再平衡建议。面向需要审视投资组合的用户。
主要功能
- 01获取账户和当前持仓数据
- 02分析资产配置与分散程度
- 03评估风险指标及组合表现
- 04深入评估重要个股仓位
- 05生成再平衡建议和报告
适用场景
- 01查看组合的资产与行业配置
- 02识别持仓集中和风险敞口
- 03复核个股仓位及投资表现
- 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.mdreferences/alpaca-mcp-setup.mdasset-allocation.mddiversification-principles.mdportfolio-risk-metrics.mdposition-evaluation.mdrebalancing-strategies.mdrisk-profile-questionnaire.mdtarget-allocations.mdscripts/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 确定优先级: 按优先级排列再平衡操作:
- 立即处理 - 降低风险(减持集中持仓)
- 高优先级 - 配置大幅偏离目标(偏离超过 10%)
- 中优先级 - 配置中度偏离目标(偏离 5-10%)
- 低优先级 - 微调和机会性调整
输出:
## 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 服务未连接:
- 告知用户需要使用 Alpaca 集成
- 提供 references/alpaca-mcp-setup.md 中的设置说明
- 提供替代方案:手动输入数据(不太理想,由用户提供持仓 CSV 文件)
如果 API 返回的数据不完整:
- 使用现有数据继续分析
- 在报告中说明限制
- 建议手动核实缺失的持仓
如果持仓数据似乎已过时:
- 标记此问题
- 建议刷新连接或检查 Alpaca 状态
- 继续分析,但需对结论加以说明
如果用户没有持仓:
- 确认投资组合为空
- 改为提供投资组合构建指导,而非分析
- 建议使用 value-dividend-screener 或 us-stock-analysis 获取股票建议
高级功能
税损收割机会
识别适合进行税损收割的未实现亏损持仓:
- 亏损超过 5% 的持仓
- 考虑持有期限(避免触发洗售规则)
- 建议替代证券(相似但并非实质上完全相同)
股息收入分析
针对持有派息股票的投资组合:
- 估算年度股息收入
- 股息增长率走势
- 股息支付覆盖率和可持续性
- 长期持仓的成本收益率
相关性矩阵
对于持有 5-20 个头寸的投资组合:
- 估算主要头寸之间的相关性
- 识别冗余头寸(相关性 >0.8)
- 提出改善多元化的建议
情景分析
模拟投资组合在不同情景下的表现:
- 牛市(股票升值 +20%)
- 熊市(股票下跌 -20%)
- 板块轮动(科技板块走弱,价值板块走强)
- 利率上升(对成长股和债券的影响)
示例查询
投资组合基础审查:
- “分析我的投资组合”
- “审查我的持仓”
- “我的投资组合表现如何?”
资产配置分析:
- “我的资产配置是什么样的?”
- “我的科技板块持仓是否过于集中?”
- “显示我的板块分布”
风险评估:
- “我的投资组合风险是否过高?”
- “我的投资组合贝塔值是多少?”
- “我面临的最大风险是什么?”
再平衡:
- “我应该进行再平衡吗?”
- “我应该买入或卖出什么?”
- “如何改善多元化?”
业绩表现:
- “我表现最好和最差的头寸是什么?”
- “与市场相比,我的表现如何?”
- “哪些股票表现好,哪些表现差?”
针对特定头寸:
- “我应该卖出 [SYMBOL] 吗?”
- “[SYMBOL] 在我的投资组合中是否占比过高?”
- “我应该如何处理 [SYMBOL]?”
局限性和免责声明
在所有报告中包含:
本分析仅供参考,不构成财务建议。投资决策应根据个人情况、风险承受能力和财务目标作出。过往表现不保证未来结果。作出投资决策前,请咨询合格的财务顾问。
数据准确性取决于 Alpaca API 和第三方市场数据来源。请独立核实重要信息。税务影响仅为估算;如需具体指导,请咨询税务专业人士。