Install
openclaw skills install stocksStock and Crypto Data information pull skill. 56+ financial data tools via Yahoo Finance. Auto-routes stock prices, fundamentals, earnings, dividends, options, crypto, forex, commodities, news, and more.
openclaw skills install stocks56+ financial tools via Yahoo Finance. Prices, fundamentals, earnings, options, crypto, forex, commodities, news.
Please star Github if you like the skill.
Also available for OpenWebUI.
https://github.com/lkcair/yfinance-ai
Run from the skill directory:
python3 -m venv .venv
.venv/bin/python3 -m pip install -r requirements.txt
Windows: use
.venv\Scripts\python3instead of.venv/bin/python3.
python3 might not use the correct interpreter if the venv is not activated, leading to ModuleNotFoundError./home/openclaw/.openclaw/venv/stocks/bin/python3pydantic for yfinance-ai) are installed within this specific venv using its associated pip command:
/home/openclaw/.openclaw/venv/stocks/bin/pip install <package_name>/home/openclaw/.openclaw/venv/stocks/bin/python3 - << 'PY'
import asyncio, sys
sys.path.insert(0, '.')
from yfinance_ai import Tools
t = Tools()
async def main():
r = await t.get_key_ratios(ticker='UNH')
print(r)
asyncio.run(main())
PY
scripts/) and execute that script using the venv's Python interpreter.After setup, copy the template below into your agent's TOOLS.md (or whichever file your framework injects into every session). This is the single most important step — if the agent can see the invocation pattern, it will work every time.
Replace SKILL_DIR with the absolute path to this skill's directory (e.g. where scripts/ and .venv/ live).
# Stocks Skill
## Usage
```bash
cd SKILL_DIR/scripts && SKILL_DIR/.venv/bin/python3 -c "
import asyncio, sys
sys.path.insert(0, '.')
from yfinance_ai import Tools
t = Tools()
async def main():
result = await t.METHOD(ARGS)
print(result)
asyncio.run(main())
" 2>/dev/null
```
Replace METHOD(ARGS) with any call below. Suppress stderr (2>/dev/null) to hide warnings.
## Common Calls
| Need | Method |
|---|---|
| Stock price | `get_stock_price(ticker='AAPL')` |
| Key ratios (P/E, ROE, margins) | `get_key_ratios(ticker='AAPL')` |
| Company overview | `get_company_overview(ticker='AAPL')` |
| Full deep-dive | `get_complete_analysis(ticker='AAPL')` |
| Compare stocks | `compare_stocks(tickers='AAPL,MSFT,GOOGL')` |
| Crypto | `get_crypto_price(symbol='BTC')` |
| Forex | `get_forex_rate(pair='EURUSD')` |
| Commodities | `get_commodity_price(commodity='gold')` |
| News | `get_stock_news(ticker='AAPL')` |
| Market indices | `get_market_indices()` |
| Dividends | `get_dividends(ticker='AAPL')` |
| Earnings | `get_earnings_history(ticker='AAPL')` |
| Analyst recs | `get_analyst_recommendations(ticker='AAPL')` |
| Options chain | `get_options_chain(ticker='SPY')` |
| Market open/closed | `get_market_status()` |
## Routing
- Price / quote → `get_stock_price`
- Ratios / valuation → `get_key_ratios`
- "Tell me about" → `get_company_overview`
- Deep dive → `get_complete_analysis`
- Compare → `compare_stocks`
- Crypto → `get_crypto_price`
- Forex → `get_forex_rate`
- Commodities → `get_commodity_price`
- News → `get_stock_news`
By Categories:
get_stock_price, get_stock_quote, get_fast_info, get_historical_dataget_company_info, get_company_overview, get_company_officersget_income_statement, get_balance_sheet, get_cash_flow, get_key_ratios, get_financial_summaryget_earnings_history, get_earnings_dates, get_analyst_estimates, get_eps_trendget_analyst_recommendations, get_analyst_price_targets, get_upgrades_downgradesget_institutional_holders, get_insider_transactions, get_major_holdersget_dividends, get_stock_splits, get_corporate_actionsget_options_chain, get_options_expirationsget_market_indices, get_sector_performance, get_market_statusget_crypto_price, get_forex_rate, get_commodity_pricecompare_stocks, get_peer_comparison, get_historical_comparisonget_stock_news, get_sec_filingssearch_ticker, validate_ticker, run_self_testasyncio.run() wrapper handles this.