← 返回 Skills 市场
finskills

portfolio-manager

作者 finskills · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ✓ 安全检测通过
80
总下载
0
收藏
0
当前安装
3
版本数
在 OpenClaw 中安装
/install finskills-portfolio-manager
功能描述
Monitor and rebalance a multi-asset portfolio using real-time quotes, sector allocation, and risk metrics from the Finskills API.
使用说明 (SKILL.md)

Portfolio Manager

Monitor, analyze, and optimize a multi-asset US equity portfolio using live batch quotes, market summary data, and sector performance from the Finskills API. Computes real-time P&L, risk metrics, sector concentration, and generates rebalancing recommendations aligned with your target allocation.


Setup

API Key requiredRegister at https://finskills.net to get your free key.
Header: X-API-Key: \x3Cyour_api_key>

Get your API key: Register at https://finskills.net — free tier available, Pro plan unlocks real-time quotes, history, and financials.


When to Activate This Skill

Activate when the user:

  • Provides a list of holdings (ticker + shares or $ value) and asks for portfolio analysis
  • Asks about their portfolio's performance, sector concentration, or risk metrics
  • Wants a rebalancing recommendation
  • Asks how their portfolio compares to the S&P 500 or benchmarks
  • Asks which positions are dragging or leading performance

Required Information

Before starting, collect:

  1. Holdings list: Each entry needs ticker, shares (or current_value), and optionally cost_basis
  2. Total portfolio value (or derive from positions)
  3. Target allocation (if rebalancing is requested) — e.g., "60% equities, 30% bonds, 10% cash"
  4. Benchmark — Default is S&P 500 (SPY)

Example holdings input format:

AAPL: 50 shares @ $150 cost basis
MSFT: 30 shares @ $280 cost basis
NVDA: 20 shares @ $400 cost basis
SPY:  100 shares @ $420 cost basis

Data Retrieval — Finskills API Calls

1. Batch Quotes for All Holdings

GET https://finskills.net/v1/stocks/quotes?symbols={TICKER1,TICKER2,...}

Extract for each: price, changePercent, marketCap, volume

2. Market Summary (Benchmark)

GET https://finskills.net/v1/market/summary

Extract: S&P 500, Nasdaq, Dow Jones — current level, daily change, YTD performance

3. Sector Performance

GET https://finskills.net/v1/market/sectors

Extract: All 11 GICS sector ETF performances (1D, 1W, 1M, YTD) for context

4. Company Profile (for sector classification)

For each unique ticker not already classified:

GET https://finskills.net/v1/stocks/profile/{SYMBOL}

Extract: sector, industry (to assign sector weight in portfolio)


Analysis Workflow

Step 1 — Position Valuation

For each holding:

Current Value   = shares × current_price
Daily P&L       = shares × (current_price − prev_close_price)
Daily P&L %     = current_price / prev_close_price − 1
Total P&L       = current_value − (shares × cost_basis)    [if cost basis provided]
Total P&L %     = (current_value / (shares × cost_basis)) − 1
Portfolio Weight = current_value / total_portfolio_value

Step 2 — Portfolio-Level Metrics

Performance:

Portfolio Daily Return  = Σ (weight_i × daily_return_i)
Portfolio Total Return  = (total_current_value / total_cost_basis) − 1  [if basis known]
Best Performer (1D)     = max daily_return_i
Worst Performer (1D)    = min daily_return_i

Risk Metrics (estimate from weights and sector exposure):

  • Concentration Risk: Largest single position as % of portfolio
    • 20%: High concentration ⚠️

    • 35%: Very high concentration 🚨

  • Sector Concentration: Top sector weight
    • 40%: Sector-concentrated ⚠️

  • Beta Approximation: Weight-average of individual stock betas (if available from profile data)
    • Use sector beta proxies: Tech ≈ 1.3, Utilities ≈ 0.5, Financials ≈ 1.1, Healthcare ≈ 0.7

Benchmark Comparison:

Relative Return (1D) = Portfolio Daily Return − S&P 500 Daily Return

Step 3 — Sector Allocation Analysis

Group holdings by sector (using profile data):

  • Compute actual sector weights
  • Compare to S&P 500 sector weights (approximate benchmarks):
    • Technology: 29%, Healthcare: 13%, Financials: 13%, Consumer Disc: 11%, Industrials: 9%, Communication: 8%, Energy: 4%, Consumer Staples: 6%, Real Estate: 3%, Materials: 2%, Utilities: 2%

Flag overweight (> +10pp vs benchmark) and underweight (\x3C -10pp vs benchmark) sectors.

Step 4 — Rebalancing Analysis (if requested)

Target deviation detection:

For each position:
  Target Weight = stated_target_%
  Current Weight = current_value / total_value
  Drift = Current Weight − Target Weight
  Rebalance Action = BUY/SELL if abs(Drift) > 5%
  Rebalance Quantity = abs(Drift × total_value) / current_price  [shares to trade]

Tax-aware note: Flag positions with > 1 year holding for LTCG treatment before suggesting sells.

Step 5 — Actionable Recommendations

Generate 3–5 specific recommendations:

  • Positions to trim (concentration/overweight sector)
  • Positions to add (underweight sectors relative to conviction)
  • Hedging suggestions (if portfolio Beta > 1.2 and market at all-time highs)
  • Cash deployment suggestions (if cash > 10% of target)

Output Format

╔══════════════════════════════════════════════════════╗
║      PORTFOLIO REPORT  —  {DATE}                    ║
╚══════════════════════════════════════════════════════╝

💼 PORTFOLIO SUMMARY
  Total Value:     ${total_value}
  Daily P&L:       ${daily_pnl}  ({daily_pnl_pct}%)
  Total Return:    ${total_pnl}  ({total_pnl_pct}%)  [vs. cost basis]
  vs. S&P 500 (1D): {+/- bps} bps

📋 HOLDINGS BREAKDOWN
  {Ticker}  {Shares}sh  ${price}  {weight}%  Day: {+/-}%  Total: {+/-}%
  ─────────────────────────────────────────────────────
  AAPL      50 sh       $189.40   18.4%      +1.2%       +26.3%
  MSFT      30 sh       $415.20   24.2%      -0.3%       +48.2%
  ...
  ─────────────────────────────────────────────────────
  TOTAL     —           —         100%       {port_day}% {port_total}%

  🏆 Best Today:  {ticker} +{%}
  📉 Worst Today: {ticker} -{%}

🏛️ SECTOR ALLOCATION
  Sector           Portfolio  S&P 500  Over/Under
  Technology         {%}       29%      {+/-pp}
  Healthcare         {%}       13%      {+/-pp}
  ...
  [⚠️ Any sectors > 40% or > +15pp vs benchmark]

⚠️ RISK FLAGS
  • Largest position: {ticker} at {%} [{normal/concentrated}]
  • Est. Portfolio Beta: {beta} [vs SPY]
  • {Any other flags}

📊 MARKET CONTEXT
  S&P 500:  {level}  {day_change}%  YTD: {ytd}%
  Nasdaq:   {level}  {day_change}%  YTD: {ytd}%
  {Leading sector today}: +{%}
  {Lagging sector today}: -{%}

🔄 REBALANCING RECOMMENDATIONS
  1. {Action}: {Ticker} — {rationale}
  2. {Action}: {Ticker} — {rationale}
  3. {Action}: Consider adding {sector} exposure (currently underweight {pp})

Limitations

  • Batch quote latency may be 1–15 minutes delayed depending on data source.
  • Beta estimates are approximated from sector proxies unless individual beta data is available.
  • Bond, international equity, and alternative assets are not currently covered.
  • This skill does not connect to brokerage accounts or execute trades.
安全使用建议
This skill appears coherent and low-risk as shipped (instruction-only, needs only a Finskills API key). Before installing or using it: 1) Verify finskills.net (and any linked GitHub repo) are trustworthy and review their privacy/billing terms — confirm whether sending holdings or any personal data is logged or stored by their API. 2) Create an API key with minimal scope and monitor usage/billing (Pro plan may incur charges or higher rate limits). 3) Avoid pasting sensitive personal identifiers in holdings input (the skill only needs tickers, counts, and optional cost basis). 4) Note the README mentions downloading a zip from ClawHub — if you later install that package, review the code before running it because installable code could introduce new risks. 5) If you do not want the agent to call the skill autonomously, adjust agent skill-invocation settings or require explicit user consent before the skill runs.
功能分析
Type: OpenClaw Skill Name: finskills-portfolio-manager Version: 1.0.2 The Portfolio Manager skill bundle is a legitimate tool designed to analyze equity portfolios using the Finskills API (finskills.net). The instructions in SKILL.md and README.md are consistent with the stated purpose, focusing on fetching market data, calculating P&L, and providing rebalancing recommendations. No evidence of data exfiltration, malicious execution, or harmful prompt injection was found.
能力标签
requires-sensitive-credentials
能力评估
Purpose & Capability
Name/description (portfolio monitoring & rebalancing) align with required env var (FINSKILLS_API_KEY) and the listed API endpoints. Nothing in the metadata asks for unrelated cloud keys, binaries, or system paths.
Instruction Scope
SKILL.md gives precise API calls to finskills.net and local computations for valuation, risk, and rebalancing. It does not instruct reading arbitrary files, scanning the system, or sending user environment data beyond using the API key. Note: the workflow requires the agent to receive the user's holdings (tickers, shares, cost basis) as input — those holdings would be processed locally but tickers are used to query the external Finskills endpoints. Confirm you are comfortable that ticker lists (and any cost-basis or holding size you provide) will be handled as external input to the skill's runtime.
Install Mechanism
No install spec and no bundled code — instruction-only. This is lower risk because nothing is downloaded or written to disk by the skill itself.
Credentials
Only a single API key (FINSKILLS_API_KEY) is required, which is proportionate to the declared external API usage. The SKILL.md and README consistently reference this key and do not attempt to access other environment variables or system credentials.
Persistence & Privilege
always is false and there are no requested config paths or system modifications. The skill can be invoked autonomously by the agent (platform default), which is expected for a skill of this type.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install finskills-portfolio-manager
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /finskills-portfolio-manager 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.2
- Added OpenClaw-compatible metadata: explicitly declares the required environment variable FINSKILLS_API_KEY. - Set the homepage field as metadata for easier discovery. - No changes to feature set, analysis, or portfolio report logic. - Version incremented to 1.0.3 for metadata and compatibility update.
v1.0.1
- Added standardized YAML front matter with metadata (name, version, description, author, homepage, and credentials) for improved skill discovery and setup. - No changes to core functionality or workflow—all analysis, requirements, and API call instructions remain the same. - Updated setup instructions to highlight credential requirements in the new format. - Version alignment for publication; no file or code changes detected.
v1.0.0
Initial release of Portfolio Manager skill. - Analyze and monitor multi-asset US equity portfolios using real-time Finskills API data. - Calculate position and portfolio P&L, risk metrics, and sector concentration. - Generate actionable rebalancing recommendations aligned with user’s target allocation. - Compare portfolio performance and sector exposure to the S&P 500 and market benchmarks. - Summarize holdings, returns, risks, and recommendations in a structured, easy-to-read report.
元数据
Slug finskills-portfolio-manager
版本 1.0.2
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 3
常见问题

portfolio-manager 是什么?

Monitor and rebalance a multi-asset portfolio using real-time quotes, sector allocation, and risk metrics from the Finskills API. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 80 次。

如何安装 portfolio-manager?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install finskills-portfolio-manager」即可一键安装,无需额外配置。

portfolio-manager 是免费的吗?

是的,portfolio-manager 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

portfolio-manager 支持哪些平台?

portfolio-manager 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 portfolio-manager?

由 finskills(@finskills)开发并维护,当前版本 v1.0.2。

💬 留言讨论