Stock Market Pro: Professional-Grade Charts and Market Analysis Directly in Your AI Agent
14,300 downloads and 83 stars — the highest star count in this batch. Stock Market Pro — by kys42 — is a local-first market research toolkit that generates publication-ready stock charts and detailed fundamentals without touching a paid API.
The skill is built on yfinance with a focused set of technical indicators: RSI, MACD, Bollinger Bands, VWAP, and ATR. It uses uv run --script for zero-setup dependency handling. You run one command, you get a PNG chart and a text summary.
The Problem It Solves
Getting reliable stock data into an AI agent workflow is surprisingly painful:
- Financial APIs are expensive (Bloomberg, Refinitiv) or rate-limited (Alpha Vantage free tier: 5 req/min)
- Raw
yfinancedata is powerful but outputs pandas DataFrames — not something you can hand directly to an AI without significant processing - Generating a proper technical chart with indicator panels requires matplotlib expertise most agent developers don't want to maintain
Stock Market Pro handles all of this: data fetching, indicator calculation, chart rendering, and text formatting — wrapped in a CLI that any agent can call.
Core Concept: uv-Powered Local-First Analysis
The skill uses uv, the fast Python package manager, with PEP 723 inline script metadata. Dependencies are defined inside scripts/yf.py and auto-installed on first run. No pip install, no virtual environment setup, no dependency conflicts.
# First run installs dependencies automatically
uv run --script scripts/yf.py price AAPL
# Subsequent runs are instant
uv run --script scripts/yf.py price AAPLDeep Dive
Real-Time Quotes
uv run --script scripts/yf.py price TSLA
# or shorthand
uv run --script scripts/yf.py TSLAReturns current price, change, and change percentage. The shorthand form (yf.py TSLA) works for quick price checks.
Fundamentals
uv run --script scripts/yf.py fundamentals NVDAOutputs: Market Cap, Forward P/E, Trailing P/E, EPS, ROE, Profit Margin, and analyst consensus. Formatted as human-readable text the agent can parse or quote directly.
ASCII Trend (Terminal-Friendly)
uv run --script scripts/yf.py history AAPL 6moRenders price history as ASCII art — useful when you want a quick visual in a terminal environment without generating a file.
Professional PNG Charts
This is where Stock Market Pro earns its star count. A single command generates a high-resolution chart PNG with multiple indicator panels:
# Candlestick chart (default)
uv run --script scripts/yf.py pro TSLA 6mo
# Line chart
uv run --script scripts/yf.py pro TSLA 6mo lineWith indicators:
# RSI + MACD + Bollinger Bands
uv run --script scripts/yf.py pro TSLA 6mo --rsi --macd --bb
# VWAP + ATR
uv run --script scripts/yf.py pro TSLA 6mo --vwap --atr
# Full suite
uv run --script scripts/yf.py pro TSLA 6mo --rsi --macd --bb --vwap --atrEach --rsi, --macd, --bb flag adds a separate panel below the main price chart. The output is a PNG file at a path printed in the terminal — the agent can reference or attach it downstream.
| Flag | Indicator | Period |
|---|---|---|
--rsi | Relative Strength Index | RSI(14) |
--macd | Moving Average Convergence Divergence | MACD(12,26,9) |
--bb | Bollinger Bands | BB(20,2) |
--vwap | Volume Weighted Average Price | Cumulative over range |
--atr | Average True Range | ATR(14) |
One-Shot Report
uv run --script scripts/yf.py report 000660.KS 6moPrints a compact text summary and generates a chart PNG in a single call. The output includes CHART_PATH:/tmp/<...>.png — the agent can extract this path and use it for downstream display or storage.
Global Market Support
Stock Market Pro isn't US-only:
# US
uv run --script scripts/yf.py pro AAPL 6mo
# Korean stock market
uv run --script scripts/yf.py pro 000660.KS 6mo # SK Hynix
uv run --script scripts/yf.py pro 005930.KS 6mo # Samsung
# Crypto
uv run --script scripts/yf.py pro BTC-USD 6mo
uv run --script scripts/yf.py pro ETH-KRW 6mo
# FX
uv run --script scripts/yf.py pro USDKRW=X 6moAny ticker supported by Yahoo Finance works, including international exchanges.
News Search (Optional Add-on)
python3 scripts/news.py NVDA --max 8
# or
python3 scripts/ddg_search.py "NVDA earnings guidance" --kind news --max 8 --out mdUses DuckDuckGo to pull recent news links for a ticker. Dependency: pip3 install -U ddgs.
Options Flow (Browser-First)
Unusual Whales frequently blocks headless access, so the skill takes a different approach:
python3 scripts/options_links.py NVDAGenerates the correct Unusual Whales URLs for the ticker and opens them in a browser, where the agent summarizes what it sees. Pragmatic workaround for anti-scraping protections.
Comparison: Stock Data Options
| Tool | Cost | Chart Output | Technical Indicators | No Setup |
|---|---|---|---|---|
| Bloomberg Terminal | $$$$$ | ✅ Pro-grade | ✅ | ❌ |
| Alpha Vantage (free) | Free | ❌ | ⚠️ Limited | ❌ |
| Stock Market Pro | Free | ✅ PNG | ✅ RSI/MACD/BB/VWAP/ATR | ✅ uv auto-installs |
| Raw yfinance | Free | ❌ | ❌ | ❌ Manual setup |
How to Install
clawhub install stock-market-proRequires uv for dependency management. Install if not present:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"First uv run --script scripts/yf.py call auto-installs yfinance and rich. Subsequent calls are instant.
Practical Tips
- Use
reportfor complete analysis in one shot. The report command combines fundamentals + chart in a single call — ideal for agent workflows where you want a complete picture without multiple tool calls. - Start with
pro ... --rsi --macdfor most use cases. RSI (overbought/oversold) + MACD (momentum) cover 80% of technical analysis needs. - The chart path is always in the output. When the agent generates a PNG, it prints
CHART_PATH:/tmp/<file>.png. Parse this to attach the chart to a response or save it permanently. - International tickers need exchange suffixes. Korean stocks use
.KS, Tokyo uses.T, London uses.L. Check Yahoo Finance for the correct suffix. - Combine with
news.pyfor full context. Price + fundamentals + chart gives you the quantitative picture. Add news search to understand why a stock is moving. - The
historycommand is great for terminal agents. If your agent runs in a terminal-only environment, ASCII trend renders inline without generating files.
Considerations
- Data accuracy. yfinance data is generally accurate but can be delayed 15 minutes for live quotes and may have gaps for less-liquid international stocks. Not suitable for live trading decisions.
- No real-time streaming. Each command call fetches a snapshot. For live monitoring, you'd need to loop the commands — the skill doesn't include a streaming mode.
- Options analysis is browser-dependent. The
options_links.pyhelper requires a browser session to actually view Unusual Whales data. It's a shortcut to the right URL, not a scraper. - Chart file management. PNG charts go to
/tmp/by default. In long-running agent sessions, implement your own cleanup or redirect output to a persistent directory. - yfinance limitations. Yahoo Finance data quality is excellent for US large-caps and most international indices. It can be spotty for OTC stocks, small-cap international, and some crypto pairs.
The Bigger Picture
83 stars is the clearest signal of this skill's quality. In the OpenClaw ecosystem, stars come from users who've actually run the skill and found it valuable enough to endorse — not from casual browsers.
Stock Market Pro occupies an interesting space: it's not a professional trading tool, and it's not a simple price lookup. It's the market analysis workflow that would otherwise require a data analyst with matplotlib expertise, packaged into commands any agent can call. For investment research agents, portfolio monitoring, competitive analysis, or simply answering "how has this company been performing?" — it covers the essential toolkit without any paid API dependency.
View the skill on ClawHub: stock-market-pro