
Stock Liquidity
Estimate real trading friction—spreads, volume, depth, and market impact—for a ticker before sizing positions or automations.
Overview
stock-liquidity is an agent skill for the Idea phase that analyzes equity liquidity—spreads, volume, depth, impact, and turnover—using Yahoo Finance data via yfinance.
Install
npx skills add https://github.com/himself65/finance-skills --skill stock-liquidityWhat is this skill?
- Multi-dimensional liquidity view: bid-ask spread, volume profile, depth, impact, turnover
- Yahoo Finance data access patterns via yfinance for research workflows
- Triggers cover ADTV, Amihud illiquidity, dollar volume, slippage, and large-order impact questions
- Explicit educational-only disclaimer—not financial advice
- Structured step-by-step analysis flow in the skill body
- Analyzes liquidity across bid-ask spreads, volume profiles, order book depth, market impact, and turnover ratios
Adoption & trust: 754 installs on skills.sh; 2.7k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You see a quoted stock price but do not know whether spreads, slippage, or size will make the trade economically viable.
Who is it for?
Solo traders, indie quant tooling authors, or builders scripting pre-trade screens before bots or manual entries.
Skip if: Users needing licensed investment advice, live brokerage execution, or institutional LOB feeds yfinance cannot approximate.
When should I use this skill?
User asks about liquidity, bid-ask spread, market depth, volume analysis, slippage, market impact, turnover, ADTV, Amihud illiquidity, or trading cost for a ticker.
What do I get? / Deliverables
You get a structured liquidity memo with spread, volume, depth, impact, and turnover signals grounded in yfinance pulls suitable for further validate-scope sizing decisions.
- Liquidity summary across spread, volume, depth, and impact dimensions
- Turnover or illiquidity metric interpretation
- Educational disclaimer framing
Recommended Skills
Journey fit
Liquidity research belongs early in the journey when a solo trader or builder evaluates whether a symbol is practical to hold or automate against. Research subphase covers due-diligence style pulls from market data before validate-scope commits capital or ship execution bots.
How it compares
Research-oriented liquidity checklist via public Yahoo-derived data—not a real-time DMA or proprietary market-making stack.
Common Questions / FAQ
Who is stock-liquidity for?
Indie investors and developers building research agents who need repeatable spread, volume, and impact language before committing strategy code or capital.
When should I use stock-liquidity?
In Idea/research when comparing tickers or thin small caps; in Validate/scope when sizing orders; in Operate/iterate when revisiting execution costs after live slippage surprises.
Is stock-liquidity safe to install?
Treat outputs as educational research only; yfinance pulls network data—review Security Audits on this page and never paste brokerage secrets into agent prompts.
SKILL.md
READMESKILL.md - Stock Liquidity
# Stock Liquidity Analysis Skill Analyzes stock liquidity across multiple dimensions — bid-ask spreads, volume patterns, order book depth, estimated market impact, and turnover ratios — using data from Yahoo Finance via [yfinance](https://github.com/ranaroussi/yfinance). Liquidity matters because it determines the real cost of trading. The quoted price is not what you actually pay — spreads, slippage, and market impact all eat into returns, especially for larger positions or less liquid names. **Important**: This is for research and educational purposes only. Not financial advice. yfinance is not affiliated with Yahoo, Inc. --- ## Step 1: Ensure Dependencies Are Available **Current environment status:** ``` !`python3 -c "import yfinance, pandas, numpy; print(f'yfinance={yfinance.__version__} pandas={pandas.__version__} numpy={numpy.__version__}')" 2>/dev/null || echo "DEPS_MISSING"` ``` If `DEPS_MISSING`, install required packages: ```python import subprocess, sys subprocess.check_call([sys.executable, "-m", "pip", "install", "-q", "yfinance", "pandas", "numpy"]) ``` If already installed, skip and proceed. --- ## Step 2: Route to the Correct Sub-Skill Classify the user's request and jump to the matching section. If the user asks for a general liquidity assessment without specifying a particular metric, run **Sub-Skill A** (Liquidity Dashboard) which computes all key metrics together. | User Request | Route To | Examples | |---|---|---| | General liquidity check, "how liquid is X" | **Sub-Skill A: Liquidity Dashboard** | "how liquid is AAPL", "liquidity analysis for TSLA", "is this stock liquid enough" | | Bid-ask spread, trading costs, effective spread | **Sub-Skill B: Spread Analysis** | "bid-ask spread for AMD", "what's the spread on NVDA options", "trading cost estimate" | | Volume, ADTV, dollar volume, volume profile | **Sub-Skill C: Volume Analysis** | "volume analysis MSFT", "average daily volume", "volume profile for SPY" | | Order book depth, market depth, level 2 | **Sub-Skill D: Order Book Depth** | "order book depth for AAPL", "market depth", "show me the book" | | Market impact, slippage, execution cost for large orders | **Sub-Skill E: Market Impact** | "how much would 50k shares move the price", "slippage estimate", "market impact of $1M order" | | Turnover ratio, trading activity relative to float | **Sub-Skill F: Turnover Ratio** | "turnover ratio for GME", "float turnover", "how actively traded is this" | | Compare liquidity across multiple stocks | **Sub-Skill A** (multi-ticker mode) | "compare liquidity AAPL vs TSLA", "which is more liquid AMD or INTC" | ### Defaults | Parameter | Default | |---|---| | Lookback period | `3mo` (3 months) | | Data interval | `1d` (daily) | | Market impact model | Square-root model | | Intraday interval (when needed) | `5m` | --- ## Sub-Skill A: Liquidity Dashboard **Goal**: Produce a comprehensive liquidity snapshot combining all key metrics for one or more tickers. ### A1: Fetch data and compute all metrics ```python import yfinance as yf import pandas as pd import numpy as np def liquidity_dashboard(ticker_symbol, period=