TickerInside
Holdings, overlap, correlation and look-through risk for US ETFs, from issuer files, with no key.
我该使用它吗
质量与安全性
发现(1)
- LOW在 compare_stocks 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"tickerinside-mcp": {
"command": "npx",
"args": [
"tickerinside-mcp"
]
}
}
}可运行的软件包
1.7.0stdio远程端点
https://tickerinside.com/mcpstreamable-http它能做什么
工具清单
工具(11)
🟢list_funds(query, source, include_tickers)
The ETFs this server can answer for, with the date of the data and how many of the US-listed ETFs that is. Holdings come from the issuers' own daily files (tickers), from SEC filings (tickers_sec_nport, tickers_bond, tickers_multi_asset, tickers_derivative), from a trust's own filing (tickers_trust) or from a sponsor (tickers_sponsor). With query it returns only the funds whose ticker or name matches; include_tickers false leaves out the lists.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "A ticker or words from a fund's name, for example VOO or semiconductor. Case does not matter."
},
"source": {
"type": "string",
"enum": [
"issuer_files",
"sec_nport",
"sec_nport_bonds",
"sec_nport_multi_asset",
"sec_nport_derivatives",
"trust_filings",
"sponsor_files",
"prospectus"
],
"description": "Only the funds read from the issuers' own files, only the stock ETFs from SEC filings, only the fixed income funds, only the multi-asset funds, only the derivative-based funds, only the trusts and pools, only the funds from their sponsors' files, or only the funds with only a prospectus file."
},
"include_tickers": {
"type": "boolean",
"default": true,
"description": "false leaves out the ticker lists."
}
},
"additionalProperties": false
}🟢fund_profile(ticker, holdings)
One US ETF: its holdings with weights, largest first, and its cost, assets, returns over one, three and five years, volatility, beta, worst fall and concentration. Every figure carries the date of the issuer file, SEC filing or prices it came from. A fixed income ETF gives its lines by issuer, coupon, maturity and duration; a derivative-based ETF its contracts as notional exposure, never shares held; a trust or pool, what its filing says it holds.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "A US ETF ticker, for example VOO. Case does not matter."
},
"holdings": {
"type": "integer",
"minimum": 0,
"maximum": 500,
"default": 25,
"description": "How many of the largest holdings to return. 0 for none."
}
},
"required": [
"ticker"
],
"additionalProperties": false
}🟢compare_funds(a, b)
Two covered US ETFs: holdings overlap measured three ways (by weight, and the share of each fund held in common), the largest shared holdings, the correlation and covariance of weekly returns, and the cost, return and risk of each. Two fixed income funds overlap by issuer; another layer's fund is refused, with the reason.
输入模式
{
"type": "object",
"properties": {
"a": {
"type": "string",
"description": "A US ETF ticker, for example VOO. Case does not matter."
},
"b": {
"type": "string",
"description": "The other US ETF ticker."
}
},
"required": [
"a",
"b"
],
"additionalProperties": false
}🟢overlap_matrix(tickers)
Every pair in a list of 2 to 30 US ETFs, ranked by overlap by weight, to see which funds in a portfolio duplicate each other. Fixed income funds are paired by issuer overlap, listed apart. Uncovered tickers are listed and skipped.
输入模式
{
"type": "object",
"properties": {
"tickers": {
"type": "array",
"minItems": 2,
"maxItems": 30,
"items": {
"type": "string",
"description": "A US ETF ticker, for example VOO. Case does not matter."
},
"description": "2 to 30 US ETF tickers."
}
},
"required": [
"tickers"
],
"additionalProperties": false
}🟢look_through(positions, currency, top)
Look through a list of US ETFs to the companies underneath: how much of each company the portfolio holds, in percent and in money when amounts are given, and which funds it comes through. Uncovered funds are listed and left out of the percentages.
输入模式
{
"type": "object",
"properties": {
"positions": {
"type": "array",
"minItems": 1,
"maxItems": 60,
"description": "The funds in the portfolio. Amounts are optional; with none, every fund counts equally.",
"items": {
"type": "object",
"required": [
"ticker"
],
"additionalProperties": false,
"properties": {
"ticker": {
"type": "string",
"description": "A US ETF ticker, for example VOO. Case does not matter."
},
"amount": {
"type": "number",
"exclusiveMinimum": 0,
"description": "What this line is worth, in one currency for all lines."
}
}
}
},
"currency": {
"type": "string",
"description": "The currency of the amounts, for example USD. Echoed back; nothing is converted."
},
"top": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 25,
"description": "How many companies to return."
}
},
"required": [
"positions"
],
"additionalProperties": false
}🟢risk_decomposition(positions, currency)
For a list of US ETFs: portfolio volatility, each position's share of the risk (Euler decomposition, summing to 100), the diversification ratio, and the correlation and covariance matrices of weekly returns over up to three years.
输入模式
{
"type": "object",
"properties": {
"positions": {
"type": "array",
"minItems": 1,
"maxItems": 60,
"description": "The funds in the portfolio. Amounts are optional; with none, every fund counts equally.",
"items": {
"type": "object",
"required": [
"ticker"
],
"additionalProperties": false,
"properties": {
"ticker": {
"type": "string",
"description": "A US ETF ticker, for example VOO. Case does not matter."
},
"amount": {
"type": "number",
"exclusiveMinimum": 0,
"description": "What this line is worth, in one currency for all lines."
}
}
}
},
"currency": {
"type": "string",
"description": "The currency of the amounts, for example USD. Echoed back; nothing is converted."
}
},
"required": [
"positions"
],
"additionalProperties": false
}🟢stock_exposure(ticker, top, compact)
For one stock, the covered US ETFs that hold it and the weight in each, heaviest first. Each holder carries its holdings date, its source (the issuer's daily file or an SEC filing), the stock's rank in the fund and the dollars held. Returns the largest holders and the total count, how many funds have it as their largest holding, and the funds with the most dollars in it. It also says whether the stock is in VOO, SPY, IVV, QQQ, VTI, SCHD and the largest sector funds. It adds the issuers holding the most, the cheapest exposure per $1,000, funds whose name only shares the company's, and one sentence to quote. Leveraged, inverse and option-income funds that reference the stock through swaps, futures or options are listed apart, as notional exposure, never shares held.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "A stock ticker, for example NVDA. A line listed outside the US carries its market after a dot, for example 7203.JP (Toyota in Tokyo), SAN.FR (Sanofi in Paris) or 005930.KR (Samsung Electronics); an earlier key without the market, such as 7203, is read as the key it became. A key ending in .PFD is not a market: it is the issuer's preferred shares, a US line apart from the common stock (JPM.PFD, held by preferred stock funds)."
},
"top": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50,
"description": "How many funds to return, heaviest first."
},
"compact": {
"type": "boolean",
"default": false,
"description": "true for the counts, rank_summary, name_collision and the sentence to quote, without top_by_value, membership, by_issuer and fee_per_1000 and without each fund's rank, positions and value: about half the length."
}
},
"required": [
"ticker"
],
"additionalProperties": false
}🟢compare_stocks(a, b)
Two US stocks with three years of prices: market cap, valuation, returns, worst fall, volatility, beta, the correlation of weekly returns, and the covered US ETFs holding both. A fund ticker works on one side and returns whether the fund holds the stock, at what weight and rank.
输入模式
{
"type": "object",
"properties": {
"a": {
"type": "string",
"description": "A US stock ticker, for example NVDA. An ETF ticker also works."
},
"b": {
"type": "string",
"description": "The other ticker."
}
},
"required": [
"a",
"b"
],
"additionalProperties": false
}🟢etf_ownership(ticker)
For one US stock, the share of its shares outstanding held by the covered US ETFs, as a lower bound: at least this percent, from this many funds. It gives the shares held, the SEC's count of shares outstanding and its date, the holdings dates and the method. The basis says whether the percent is of the whole company, every class counted, or of the ticker's class alone. Also where the figure ranks by percent among those measured, and the share of the covered US stock ETFs' money in the ten largest US companies they hold, a company without a stock file here included. A stock without a figure comes back with the reason.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "A US stock ticker, for example NVDA or BRK.B. BRK-B and BRK/B are read as BRK.B."
}
},
"required": [
"ticker"
],
"additionalProperties": false
}🟢fund_history(ticker, since)
One US ETF read from its issuer's own files: every file date the archive holds, with the position count and the top 10 weight. Each step from a file to the next says how many lines entered, exited and moved, the weight of the names that changed and the weight that moved. The share-count turnover follows once enough files carry share counts. It also shows how the fund's overlap by weight with its ten closest funds moved over those dates. Each step names the file it is compared with; a step across a change of the keys or of the reading of the file is marked restated.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "A US ETF ticker, for example VOO. Case does not matter."
},
"since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Only the steps to a file dated on or after this date, YYYY-MM-DD."
}
},
"required": [
"ticker"
],
"additionalProperties": false
}🟢fund_changes(ticker, since, limit)
The changes in one US ETF's holdings from one issuer file to the next: the lines that entered and exited with their weights, largest first, and the lines whose weight moved by 0.05 points or more, before and after. It covers every step since a date, or the latest step when no date is given. Each step names the file it is compared with and gives its turnover measures. Lines held two files earlier are marked as reverted; a step across a change of the keys or of the reading of the file is marked restated and lists no trades.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "A US ETF ticker, for example VOO. Case does not matter."
},
"since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Only the steps to a file dated on or after this date, YYYY-MM-DD."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"default": 25,
"description": "The most lines listed in each of entered, exited and moved for one step, largest first. The counts are always whole."
}
},
"required": [
"ticker"
],
"additionalProperties": false
}社区
证据