etf-premium
Calculate ETF premium/discount vs NAV via Yahoo Finance, and decompose single-day surges into NAV-driven vs structural components (gamma squeeze, dealer hedging, blocked AP arbitrage). Use whenever the user asks about an ETF's premium or discount, NAV comparison, why an ETF diverged from its holdings, or how much of a move is dealer-hedging-driven. "IBIT premium", "bond ETF discount", "trading above/below NAV", "ETF premium screener", "biggest discount", "compare ETF NAV", "ETF arbitrage", "ETF gamma squeeze", "ETF premium surge", "decompose ETF move", "dealer gamma exposure", "GEX for ETF",
npx skills add himself65/finance-skills --skill etf-premium --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Calculates the premium or discount of an ETF's market price relative to its Net Asset Value (NAV) using data from Yahoo Finance via yfinance. It includes a framework to classify the meaning of the premium/discount and can fetch peer data within the same category for context.
How it works
- Fetch ETF data via yfinance for a target ticker and read NAV (navPrice) and market price (regularMarketPrice or previousClose).
- Compute premium/discount as (price - nav) / nav * 100 and also report the premium/discount in dollars (price - nav).
- Provide a status: PREMIUM, DISCOUNT, or AT NAV based on the computed percentage.
- Gather auxiliary info: name, category, fund family, total assets, net expense ratio, and basic bid/ask data when available to contextualize the premium.
- If bid/ask are available, compute bid-ask spread as a percentage and include it as context.
- Sub-Skill A includes A1 (fetch snapshot) and A2 (peer comparison) that retrieves peers in the same category from a predefined CATEGORY_PEERS list and computes their premiums for context.
- Sub-Skill A3 outlines a framework to interpret premium/discount in a categorized context with qualitative ranges and category-specific notes.
When to use it
- Use when user asks about an ETF's premium or discount, NAV comparison, or why an ETF diverged from its holdings. Triggers include terms like "ETF premium", "ETF discount", "NAV premium", or "compare ETF NAV". Defaults to a Single ETF Snapshot when a specific analysis type is not supplied.
What it can touch
- Uses data from Yahoo Finance via yfinance. The code snippets reference functions and data fields such as: Ticker, info, regularMarketPrice, previousClose, navPrice, bid, ask, shortName, longName, category, totalAssets, netExpenseRatio.
Caveats
- Data relies on Yahoo Finance data via yfinance; NAV data must be available to compute the premium. If NAV or price data is missing, an error is returned (e.g., "NAV data not available" or similar).
- The guidance notes that this is for research/educational purposes and is not financial advice. The interpretation framework is qualitative and context-dependent, not a guaranteed signal.
# ETF Premium/Discount Analysis Skill Calculates the premium or discount of an ETF's market price relative to its Net Asset Value (NAV) using data from Yahoo Finance via [yfinance](https://github.com/ranaroussi/yfinance). **Why this matters:** An ETF's market price can diverge from the value of its underlying holdings (NAV). When you buy at a premium, you're overpaying relative to the assets; at a
What does the etf-premium skill do?
Calculate ETF premium/discount vs NAV via Yahoo Finance, and decompose single-day surges into NAV-driven vs structural components (gamma squeeze, dealer hedging, blocked AP arbitrage). Use whenever the user asks about an ETF's premium or discount, NAV comparison, why an ETF diverged from its holdings, or how much of a move is dealer-hedging-driven. "IBIT premium", "bond ETF discount", "trading above/below NAV", "ETF premium screener", "biggest discount", "compare ETF NAV", "ETF arbitrage", "ETF gamma squeeze", "ETF premium surge", "decompose ETF move", "dealer gamma exposure", "GEX for ETF",
How do I install it?
Run `npx skills add himself65/finance-skills --skill etf-premium --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From himself65/finance-skills, a repository with 3,115 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
