Skip to main content
Glama
wanxinwanxin

riskprism

by wanxinwanxin

get_etf_risk

Generate a look-through risk report for one ETF or mutual fund, resolving SEC N-PORT holdings to model tickers and computing factor exposures and volatility.

Instructions

Look-through risk report for one ETF or mutual fund: the latest SEC N-PORT holdings resolve to model tickers and the portfolio math runs on those weights. Reports total/factor/specific vol, factor exposures, top contributions, and the fund block with the holdings date and coverage. Returns an error dict when the ticker locates no fund, or when the model covers less than half of the holdings (bond and international funds). Needs RISKPRISM_EDGAR_UA (an identifying User-Agent, per SEC fair-access policy) for the EDGAR fetches.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tickerYes
horizonNomedium

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.9.2

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the full burden and does so well: it discloses the return shape (error dict under two named conditions), the coverage limitation for bond and international funds, and the RISKPRISM_EDGAR_UA credential requirement tied to SEC fair-access policy. An agent knows both what it gets and what can go wrong before calling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three front-loaded sentences with no filler: first the operation, then the returned quantities, then failure modes and prerequisites. The jargon is dense but each clause adds information; minor verbosity in 'the portfolio math runs on those weights' keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description correctly enumerates return contents (total/factor/specific vol, factor exposures, top contributions, `fund` block with holdings date and coverage) and error behavior. It is nearly complete for a two-parameter tool, with the sole gap being the unexplained `horizon` argument.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It hints at the meaning of `ticker` via the error discussion, but the `horizon` parameter (default 'medium') is never mentioned — no allowed values, no effect on the output. Half the parameters remain semantically opaque.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — a look-through risk report for a single ETF or mutual fund — and explains the mechanism (SEC N-PORT holdings resolved to model tickers). This clearly separates it from siblings like get_portfolio_risk (arbitrary portfolios) and get_factor_exposures (factor view only).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The scoping phrase 'for one ETF or mutual fund' implicitly tells the agent when this tool applies versus the broader portfolio sibling, and the error conditions ('when the ticker locates no fund', low coverage on bond/international funds) signal when it will not work. There is no explicit 'use X instead of Y' routing, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.