512z/yahooquery/SKILL.md
Access Yahoo Finance data including real-time pricing, fundamentals, analyst estimates, options, news, and historical data via the yahooquery Python library.
npx skillsauth add openclaw/skills yahooqueryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Comprehensive access to Yahoo Finance data via the yahooquery Python library. This library provides programmatic access to nearly all Yahoo Finance endpoints, including real-time pricing, fundamentals, analyst estimates, options, news, and premium research.
The primary interface for retrieving data about one or more securities.
from yahooquery import Ticker
# Single or multiple symbols
aapl = Ticker('AAPL')
tickers = Ticker('AAPL MSFT NVDA', asynchronous=True)
Access to pre-built screeners for discovering stocks by criteria.
from yahooquery import Screener
s = Screener()
screeners = s.available_screeners # List all available screeners
data = s.get_screeners(['day_gainers', 'most_actives'], count=10)
Access proprietary research reports and trade ideas.
from yahooquery import Research
r = Research(username='[email protected]', password='password')
reports = r.reports(report_type='Analyst Report', report_date='Last Week')
trades = r.trades(trend='Bullish', term='Short term')
The Ticker class exposes dozens of data endpoints via properties and methods.
.income_statement(frequency='a', trailing=True) - Income statement (annual/quarterly).balance_sheet(frequency='a', trailing=True) - Balance sheet.cash_flow(frequency='a', trailing=True) - Cash flow statement.all_financial_data(frequency='a') - Combined financials + valuation measures.valuation_measures - EV/EBITDA, P/E, P/B, P/S across periods.price - Current pricing, market cap, 52-week range.history(period='1y', interval='1d', start=None, end=None) - Historical OHLC
1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 1d, 5d, 1wk, 1mo, 3mo.option_chain - Full options chain (all expirations).calendar_events - Next earnings date, EPS/revenue estimates.earning_history - Actual vs. estimated EPS (last 4 quarters).earnings - Historical quarterly/annual earnings and revenue.earnings_trend - Analyst estimates for upcoming periods.recommendation_trend - Buy/Sell/Hold rating changes over time.gradings - Recent analyst upgrades/downgrades.asset_profile - Address, industry, sector, business summary, officers.company_officers - Executives with compensation details.summary_profile - Condensed company information.key_stats - Forward P/E, profit margin, beta, shares outstanding.financial_data - Financial KPIs (ROE, ROA, debt-to-equity, margins).insider_holders - List of insider holders and positions.insider_transactions - Recent buy/sell transactions by insiders.institution_ownership - Top institutional holders.fund_ownership - Top mutual fund holders.major_holders - Ownership summary (institutional %, insider %, float).esg_scores - Environmental, Social, Governance scores and controversies.recommendation_rating - Analyst consensus (Strong Buy → Strong Sell).news() - Recent news articles.technical_insights - Bullish/bearish technical patterns.fund_holding_info - Top holdings, bond/equity breakdown.fund_performance - Historical performance and returns.fund_bond_holdings / .fund_bond_ratings - Bond maturity and credit ratings.fund_equity_holdings - P/E, P/B, P/S for equity holdings.summary_detail - Trading stats (day high/low, volume, avg volume).default_key_statistics - Enterprise value, trailing P/E, forward P/E.index_trend - Performance relative to a benchmark index.quote_type - Security type, exchange, marketimport yahooquery as yq
# Search
results = yq.search('NVIDIA')
# Market Data
market = yq.get_market_summary(country='US') # Major indices snapshot
trending = yq.get_trending(country='US') # Trending tickers
# Utilities
currencies = yq.get_currencies() # List of supported currencies
exchanges = yq.get_exchanges() # List of exchanges
rate = yq.currency_converter('USD', 'EUR') # Exchange rate
The Ticker, Screener, and Research classes accept these optional parameters:
asynchronous=True - Make requests asynchronously (for multiple symbols)max_workers=8 - Number of concurrent workers (when async)retry=5 - Number of retry attemptsbackoff_factor=0.3 - Exponential backoff between retriesstatus_forcelist=[429, 500, 502, 503, 504] - HTTP codes to retrytimeout=5 - Request timeout in secondsformatted=False - If True, returns data with {raw, fmt, longFmt} structurevalidate=True - Validate symbols on instantiation (invalid → .invalid_symbols)country='United States' - Regional data/news (france, germany, canada, etc.)proxies={'http': 'http://proxy:port'} - HTTP/HTTPS proxyuser_agent='...' - Custom user agent stringverify=True - SSL certificate verificationusername='[email protected]' / password='...' - Yahoo Finance Premium loginsession=... / crumb=... - Share auth between Research and Ticker instancestickers = Ticker('AAPL MSFT NVDA TSLA', asynchronous=True)
prices = tickers.price # Returns dict keyed by symbol
Most financial methods return pandas.DataFrame. Convert for JSON output:
df = aapl.income_statement()
print(df.to_json(orient='records', date_format='iso'))
Yahoo limits 1-minute data to 7 days per request. For 30 days:
tickers = Ticker('AAPL', asynchronous=True)
df = tickers.history(period='1mo', interval='1m') # Makes 4 requests automatically
r = Research(username='...', password='...')
reports = r.reports(sector='Technology', investment_rating='Bullish')
# Reuse session for Ticker
tickers = Ticker('AAPL', session=r.session, crumb=r.crumb)
data = tickers.asset_profile
portfolio = Ticker('AAPL MSFT NVDA', asynchronous=True)
summary = portfolio.summary_detail
earnings = portfolio.earnings
history = portfolio.history(period='1y')
s = Screener()
gainers = s.get_screeners(['day_gainers'], count=20)
# Returns DataFrame with price, volume, % change, etc.
nvda = Ticker('NVDA')
options = nvda.option_chain
# Filter for calls/puts, strikes, expirations
tickers = Ticker('AAPL MSFT NVDA')
calendar = tickers.calendar_events
# Shows next earnings date + analyst estimates
Full API docs at: /Users/henryzha/.openclaw/workspace-research/skills/yahooquery/references/
index.md - Overview of classes and functionsticker/ - Detailed breakdown of all Ticker methodsscreener.md - Screener class guideresearch.md - Research class (Premium)keyword_arguments.md - Complete list of configuration optionsmisc.md - Global utility functionsadvanced.md - Sharing sessions between Research and Tickerpython3 -m pip install yahooqueryretry, backoff_factor, and status_forcelist for robustness.tools
Use when the user wants to connect to, test, or use the McDonalds service at mcp.mcd.cn, including checking authentication, probing MCP endpoints, listing tools, or calling McDonalds MCP tools through a reusable local CLI.
development
Web scraping platform — Twitter/X data, Vinted marketplace, and general web scraping API
development
SlowMist AI Agent Security Review — comprehensive security framework for skills, repositories, URLs, on-chain addresses, and products (Claude Code version)
data-ai
去除中文文本中的 AI 写作痕迹,使其读起来自然。基于维基百科 AI 写作特征指南,检测 24 种 AI 模式。触发词:humanizer-cn、去除 AI 痕迹、去除 AI 写作痕迹、中文文本人性化。