Local financial analysis - 5 core Python scripts for stock/crypto analysis using public APIs.
This is a minimal bundle with core features only:
ScriptSizeDescriptionstock_analyzer.py99KB8-dimension stock/crypto analysisportfolio_manager.py20KBTrack holdings and P&Ldividend_analyzer.py14KBDividend yield and safety scoringcn_stock_quotes.py3KBChina A-share realtime quotescn_market_rankings.py3KBChina market top movers
Total: 5 scripts, 139KB, bundled and reviewed by ClawHub.
v1.4.0-minimal uses bundled code (no runtime downloads):
✅ All code included - 5 Python scripts packaged with this skill ✅ ClawHub reviewed - Code reviewed during submission ✅ No runtime downloads - No git clone, scripts don't fetch external code ✅ No subprocess calls - Zero external tool dependencies ✅ No credentials required - Public APIs only
scripts/ directoryyfinance, requests, beautifulsoup4, lxml, pandas, numpyverify_install.sh - Optional security checks1. Install skill
bash
claw install research-analyst
cd ~/.clawdbot/skills/research-analyst/
2. (Optional) Verify
bash
bash verify_install.sh
3. Install dependencies
bash
pip install -r requirements.txt
4. Test
bash
python3 scripts/stock_analyzer.py AAPL
That's it! No git, no GPG. Dependencies install from PyPI (standard Python practice).
bash
python3 scripts/stock_analyzer.py AAPL
python3 scripts/stock_analyzer.py AAPL MSFT GOOGL
bash
python3 scripts/stock_analyzer.py BTC-USD ETH-USD
bash
python3 scripts/dividend_analyzer.py JNJ PG KO
bash
# View portfolio
python3 scripts/portfolio_manager.py show
# Add position
python3 scripts/portfolio_manager.py add AAPL --quantity 100 --cost 150
# Remove position
python3 scripts/portfolio_manager.py remove AAPL
bash
# A-share quotes (Shenzhen)
python3 scripts/cn_stock_quotes.py 002168.SZ
# A-share quotes (Shanghai)
python3 scripts/cn_stock_quotes.py 600519.SS
# Hong Kong
python3 scripts/cn_stock_quotes.py 0700.HK
# Top movers
python3 scripts/cn_market_rankings.py
Analyzes stocks across 8 weighted dimensions:
Output: Overall score (0-100), dimension breakdown, recommendation
Local storage in ~/.clawdbot/skills/research-analyst/portfolios.json:
Public sources (no auth):
All public APIs, read-only GET requests:
query1.finance.yahoo.com)api.coingecko.com)news.google.com)sina.com.cn)eastmoney.com)Zero credentials required.
~/.clawdbot/skills/research-analyst/portfolios.json)Optional: Set CLAWDBOT_STATE_DIR environment variable to customize storage location (defaults to ~/.clawdbot)
No data leaves your machine except public API queries.
From PyPI:
text
yfinance==0.2.40
requests==2.31.0
beautifulsoup4==4.12.3
lxml==5.1.0
pandas==2.2.0
numpy==1.26.3
+ transitive dependencies
See requirements.txt for full list.
All dependencies are mainstream, established packages from PyPI:
PackageMonthly DownloadsPurposePyPI Linkrequests~500MHTTP librarypypi.org/project/requestspandas~100MData analysispypi.org/project/pandasnumpy~200MNumerical computingpypi.org/project/numpybeautifulsoup4~100MHTML parsingpypi.org/project/beautifulsoup4yfinance~50MYahoo Finance APIpypi.org/project/yfinancelxml~60MXML/HTML processorpypi.org/project/lxml
✅ Industry Standard: Used by millions of developers worldwide ✅ Well Maintained: Active development and security updates ✅ Open Source: Full source code available for inspection ✅ Pinned Versions: Exact versions specified to prevent surprises ✅ No Credentials: None of these packages require API keys or secrets
Quick verification steps (for paranoid users):
bash
# 1. Review package info on PyPI
# Visit each package link above and check:
# - Recent update date
# - Number of releases
# - Maintainer information
# - Download statistics
# 2. Check package reputation
pip show yfinance # After install, view metadata
pip show requests
pip show pandas
# 3. Verify no unexpected dependencies
pip install -r requirements.txt --dry-run
# Review the dependency tree before actual install
After installing, verify packages loaded correctly:
bash
# Test imports (should complete without network activity)
python3 -c "import yfinance; import requests; import pandas; import numpy; print('✓ All packages loaded')"
# Verify no unexpected files
pip list | grep -E "yfinance|requests|pandas|numpy|beautifulsoup4|lxml"
Standard PyPI supply-chain risk applies (common to all Python projects):
Mitigations in place:
Additional steps you can take:
python3 -m venv venvpip list --outdatedMarketFormatExampleUS StocksTICKERAAPL, MSFTCryptoTICKER-USDBTC-USD, ETH-USDA-shares (SZ)CODE.SZ002168.SZA-shares (SH)CODE.SS600519.SSHong KongCODE.HK0700.HK
bash
# View main script
cat scripts/stock_analyzer.py
# Check for POST (should be empty)
grep -r "requests.post" scripts/
# Check for subprocess (should be empty)
grep -r "subprocess\|os.system" scripts/
bash
pip install -r requirements.txt
bash
mkdir -p ~/.clawdbot/skills/research-analyst/
Minimal bundle excludes advanced features:
For full version: https://github.com/ZhenRobotics/openclaw-research-analyst
MIT-0 (Public Domain) - Free to use, modify, redistribute. No attribution required.
https://spdx.org/licenses/MIT-0.html
⚠️ NOT FINANCIAL ADVICE
Informational purposes only. Not investment advice. Do your own research.
Minimal bundle - Core features only:
Removed (vs full version):
Built for OpenClaw 🦞