stock-analysis

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Stock Analysis (v5.0)

股票分析(v5.0)

Analyze US stocks and cryptocurrencies using Yahoo Finance data. Includes portfolio management, crypto support, and periodic analysis.
利用Yahoo Finance数据分析美股和加密货币。包含投资组合管理、加密货币支持以及定期分析功能。

Quick Start

快速开始

IMPORTANT: Pass ONLY the stock ticker symbol(s) as arguments. Do NOT add extra text, headers, or formatting in the command.
Analyze a single ticker:
bash
uv run {baseDir}/scripts/analyze_stock.py AAPL
uv run {baseDir}/scripts/analyze_stock.py MSFT --output json
Compare multiple tickers:
bash
uv run {baseDir}/scripts/analyze_stock.py AAPL MSFT GOOGL
重要提示: 仅传入股票代码作为参数。请勿在命令中添加额外文本、标题或格式。
分析单个代码:
bash
uv run {baseDir}/scripts/analyze_stock.py AAPL
uv run {baseDir}/scripts/analyze_stock.py MSFT --output json
对比多个代码:
bash
uv run {baseDir}/scripts/analyze_stock.py AAPL MSFT GOOGL

Cryptocurrency Analysis (v5.0)

加密货币分析(v5.0)

Analyze top 20 cryptocurrencies by market cap:
bash
uv run {baseDir}/scripts/analyze_stock.py BTC-USD
uv run {baseDir}/scripts/analyze_stock.py ETH-USD SOL-USD
Supported Cryptos: BTC-USD, ETH-USD, BNB-USD, SOL-USD, XRP-USD, ADA-USD, DOGE-USD, AVAX-USD, DOT-USD, MATIC-USD, LINK-USD, ATOM-USD, UNI-USD, LTC-USD, BCH-USD, XLM-USD, ALGO-USD, VET-USD, FIL-USD, NEAR-USD
Crypto Analysis Dimensions:
  • Market cap (large/mid/small classification)
  • Category (Smart Contract L1, DeFi, Payment, etc.)
  • BTC correlation (30-day)
  • Momentum (RSI, price range)
  • Market context (VIX, general market regime)
分析市值前20的加密货币:
bash
uv run {baseDir}/scripts/analyze_stock.py BTC-USD
uv run {baseDir}/scripts/analyze_stock.py ETH-USD SOL-USD
支持的加密货币: BTC-USD, ETH-USD, BNB-USD, SOL-USD, XRP-USD, ADA-USD, DOGE-USD, AVAX-USD, DOT-USD, MATIC-USD, LINK-USD, ATOM-USD, UNI-USD, LTC-USD, BCH-USD, XLM-USD, ALGO-USD, VET-USD, FIL-USD, NEAR-USD
加密货币分析维度:
  • 市值(大盘/中盘/小盘分类)
  • 类别(智能合约Layer1、DeFi、支付等)
  • 与BTC的相关性(30天)
  • 动量(RSI、价格区间)
  • 市场环境(VIX、整体市场状态)

Portfolio Management (v5.0)

投资组合管理(v5.0)

Create and manage portfolios with mixed assets (stocks + crypto):
bash
undefined
创建并管理混合资产投资组合(股票+加密货币):
bash
undefined

Create portfolio

创建投资组合

uv run {baseDir}/scripts/portfolio.py create "My Portfolio"
uv run {baseDir}/scripts/portfolio.py create "My Portfolio"

Add assets

添加资产

uv run {baseDir}/scripts/portfolio.py add AAPL --quantity 100 --cost 150.00 uv run {baseDir}/scripts/portfolio.py add BTC-USD --quantity 0.5 --cost 40000 --portfolio "My Portfolio"
uv run {baseDir}/scripts/portfolio.py add AAPL --quantity 100 --cost 150.00 uv run {baseDir}/scripts/portfolio.py add BTC-USD --quantity 0.5 --cost 40000 --portfolio "My Portfolio"

View holdings with current P&L

查看持仓及当前盈亏

uv run {baseDir}/scripts/portfolio.py show
uv run {baseDir}/scripts/portfolio.py show

Update/remove assets

更新/移除资产

uv run {baseDir}/scripts/portfolio.py update AAPL --quantity 150 uv run {baseDir}/scripts/portfolio.py remove BTC-USD
uv run {baseDir}/scripts/portfolio.py update AAPL --quantity 150 uv run {baseDir}/scripts/portfolio.py remove BTC-USD

List/delete portfolios

列出/删除投资组合

uv run {baseDir}/scripts/portfolio.py list uv run {baseDir}/scripts/portfolio.py delete "My Portfolio"

**Portfolio Storage:** `~/.clawdbot/skills/stock-analysis/portfolios.json`
uv run {baseDir}/scripts/portfolio.py list uv run {baseDir}/scripts/portfolio.py delete "My Portfolio"

**投资组合存储路径:** `~/.clawdbot/skills/stock-analysis/portfolios.json`

Portfolio Analysis (v5.0)

投资组合分析(v5.0)

Analyze all assets in a portfolio with optional period returns:
bash
undefined
分析投资组合中的所有资产,可选择查看定期收益:
bash
undefined

Analyze portfolio

分析投资组合

uv run {baseDir}/scripts/analyze_stock.py --portfolio "My Portfolio"
uv run {baseDir}/scripts/analyze_stock.py --portfolio "My Portfolio"

With period returns (daily/weekly/monthly/quarterly/yearly)

查看定期收益(每日/每周/每月/每季度/每年)

uv run {baseDir}/scripts/analyze_stock.py --portfolio "My Portfolio" --period weekly uv run {baseDir}/scripts/analyze_stock.py -p "My Portfolio" --period monthly

**Portfolio Summary includes:**
- Total cost, current value, P&L
- Period return (if specified)
- Concentration warnings (>30% in single asset)
- Recommendation summary (BUY/HOLD/SELL counts)

**Examples:**
- ✅ CORRECT: `uv run {baseDir}/scripts/analyze_stock.py BAC`
- ✅ CORRECT: `uv run {baseDir}/scripts/analyze_stock.py BTC-USD`
- ❌ WRONG: `uv run {baseDir}/scripts/analyze_stock.py === BANK OF AMERICA (BAC) - Q4 2025 EARNINGS ===`
- ❌ WRONG: `uv run {baseDir}/scripts/analyze_stock.py "Bank of America"`

Use the ticker symbol only (e.g., BAC, not "Bank of America"). For crypto, use the -USD suffix (e.g., BTC-USD).
uv run {baseDir}/scripts/analyze_stock.py --portfolio "My Portfolio" --period weekly uv run {baseDir}/scripts/analyze_stock.py -p "My Portfolio" --period monthly

**投资组合摘要包含:**
- 总成本、当前市值、盈亏
- 定期收益(若指定)
- 集中度警告(单一资产占比>30%)
- 建议摘要(买入/持有/卖出数量统计)

**示例:**
- ✅ 正确:`uv run {baseDir}/scripts/analyze_stock.py BAC`
- ✅ 正确:`uv run {baseDir}/scripts/analyze_stock.py BTC-USD`
- ❌ 错误:`uv run {baseDir}/scripts/analyze_stock.py === BANK OF AMERICA (BAC) - Q4 2025 EARNINGS ===`
- ❌ 错误:`uv run {baseDir}/scripts/analyze_stock.py "Bank of America"`

仅使用代码(如BAC,而非“Bank of America”)。加密货币需使用-USD后缀(如BTC-USD)。

Analysis Components

分析组件

The script evaluates eight key dimensions:
  1. Earnings Surprise (30% weight): Actual vs expected EPS, revenue beats/misses
  2. Fundamentals (20% weight): P/E ratio, profit margins, revenue growth, debt levels
  3. Analyst Sentiment (20% weight): Consensus ratings, price target vs current price
  4. Historical Patterns (10% weight): Past earnings reactions, volatility
  5. Market Context (10% weight): VIX, SPY/QQQ trends, market regime
  6. Sector Performance (15% weight): Stock vs sector comparison, sector trends
  7. Momentum (15% weight): RSI, 52-week range, volume, relative strength
  8. Sentiment Analysis (10% weight): Fear/Greed Index, short interest, VIX term structure, insider trading, put/call ratio
Sentiment Sub-Indicators:
  • Fear & Greed Index (CNN): Contrarian signal (extreme fear = buy opportunity, extreme greed = caution)
  • Short Interest: High shorts + squeeze potential = bullish; justified shorts = bearish
  • VIX Term Structure: Contango = complacency/bullish; backwardation = stress/bearish
  • Insider Activity: Net buying/selling from SEC Form 4 filings (90-day window)
  • Put/Call Ratio: High ratio = excessive fear/bullish; low ratio = complacency/bearish
Weights auto-normalize if some components unavailable.
Special Timing Checks:
  • Pre-earnings warning (< 14 days): Recommends HOLD instead of BUY
  • Post-earnings spike detection (> 15% in 5 days): Flags "gains priced in"
  • Overbought conditions (RSI > 70 + near 52w high): Reduces confidence
脚本评估8个关键维度:
  1. 收益超预期(权重30%):实际EPS与预期EPS对比、营收达标/未达标情况
  2. 基本面(权重20%):市盈率、利润率、营收增长、债务水平
  3. 分析师情绪(权重20%):一致评级、目标价与当前价格对比
  4. 历史模式(权重10%):过往收益反应、波动率
  5. 市场环境(权重10%):VIX、SPY/QQQ走势、市场状态
  6. 板块表现(权重15%):个股与板块对比、板块趋势
  7. 动量(权重15%):RSI、52周价格区间、成交量、相对强度
  8. 情绪分析(权重10%):恐惧/贪婪指数、空头持仓、VIX期限结构、内部交易、认沽/认购比率
情绪子指标:
  • CNN恐惧与贪婪指数:逆向信号(极度恐惧=买入机会,极度贪婪=需谨慎)
  • 空头持仓:高空头+轧空潜力=看涨;合理空头=看跌
  • VIX期限结构:远期升水=市场自满/看涨;远期贴水=市场压力/看跌
  • 内部交易:SEC Form 4文件中的净买入/卖出(90天窗口)
  • 认沽/认购比率:高比率=过度恐惧/看涨;低比率=市场自满/看跌
若部分组件数据不可用,权重会自动归一化。
特殊时机检查:
  • 收益前警告(<14天):建议持有而非买入
  • 收益后暴涨检测(5天内涨幅>15%):标记“涨幅已反映在价格中”
  • 超买状态(RSI>70+接近52周高点):降低置信度

Timing Warnings & Risk Flags

时机警告与风险标记

The script detects high-risk scenarios:
脚本可检测高风险场景:

Earnings Timing

收益时机

  • Pre-Earnings Period: If earnings < 14 days away, BUY signals become HOLD
  • Post-Earnings Spike: If stock up > 15% in 5 days after earnings, warns "gains may be priced in"
  • 收益前阶段:若距离收益发布不足14天,买入信号转为持有
  • 收益后暴涨:若收益发布后5天内股价涨幅>15%,警告“涨幅可能已反映在价格中”

Technical Risk

技术风险

  • Overbought Conditions: RSI > 70 + near 52-week high = high-risk entry
  • 超买状态:RSI>70+接近52周高点=高风险入场时机

Market Risk

市场风险

  • High VIX: Market fear (VIX > 30) reduces confidence in BUY signals
  • Risk-Off Mode (v4.0.0): When safe-havens (GLD, TLT, UUP) rise together, reduces BUY confidence by 30%
    • Detects flight to safety across gold, treasuries, and USD
    • Triggers when GLD ≥ +2%, TLT ≥ +1%, UUP ≥ +1% (5-day change)
  • 高VIX:市场恐慌(VIX>30)会降低买入信号的置信度
  • 避险模式(v4.0.0):当避险资产(GLD、TLT、UUP)同时上涨时,买入信号置信度降低30%
    • 检测黄金、国债、美元的集体避险行为
    • 触发条件:GLD≥+2%、TLT≥+1%、UUP≥+1%(5日涨跌幅)

Sector Risk

板块风险

  • Sector Weakness: Stock may look good but sector is rotating out
  • 板块走弱:个股表现良好但板块正在被资金抛弃

Geopolitical Risk (v4.0.0)

地缘政治风险(v4.0.0)

The script now scans breaking news (last 24h) for crisis keywords and automatically flags affected stocks:
  • Taiwan Conflict: Semiconductors (NVDA, AMD, TSM, INTC, etc.) → 30% confidence penalty
  • China Tensions: Tech/Consumer (AAPL, QCOM, NKE, SBUX, etc.) → 30% confidence penalty
  • Russia-Ukraine: Energy/Materials (XOM, CVX, MOS, CF, etc.) → 30% confidence penalty
  • Middle East: Oil/Defense (XOM, LMT, RTX, etc.) → 30% confidence penalty
  • Banking Crisis: Financials (JPM, BAC, WFC, C, etc.) → 30% confidence penalty
If a ticker is not in the affected list but its sector is exposed, applies a 15% confidence penalty.
Example Alert:
⚠️ SECTOR RISK: Tech supply chain and consumer market exposure (detected: china, tariff)
脚本现在会扫描过去24小时的突发新闻,查找危机关键词,并自动标记受影响的股票:
  • 台海冲突:半导体板块(NVDA、AMD、TSM、INTC等)→ 置信度扣减30%
  • 中美紧张局势:科技/消费板块(AAPL、QCOM、NKE、SBUX等)→ 置信度扣减30%
  • 俄乌冲突:能源/材料板块(XOM、CVX、MOS、CF等)→ 置信度扣减30%
  • 中东局势:石油/国防板块(XOM、LMT、RTX等)→ 置信度扣减30%
  • 银行业危机:金融板块(JPM、BAC、WFC、C等)→ 置信度扣减30%
若代码不在受影响列表但其板块暴露于风险中,置信度扣减15%。
示例警报:
⚠️ 板块风险:科技供应链与消费市场暴露风险(检测到关键词:中国、关税)

Breaking News Alerts (v4.0.0)

突发新闻警报(v4.0.0)

  • Scans Google News RSS for crisis keywords (war, recession, sanctions, disasters, etc.)
  • Displays up to 2 breaking news alerts in caveats (last 24 hours)
  • Uses 1-hour cache to avoid excessive API calls
  • 扫描Google News RSS获取危机关键词(战争、衰退、制裁、灾难等)
  • 在警告部分显示最多2条过去24小时的突发新闻
  • 使用1小时缓存避免过度调用API

Output Format

输出格式

Default (text): Concise buy/hold/sell signal with 3-5 bullet points and caveats
JSON: Structured data with scores, metrics, and raw data for further analysis
默认(文本):简洁的买入/持有/卖出信号,附带3-5个要点及警告
JSON:结构化数据,包含评分、指标及原始数据,便于进一步分析

Limitations

局限性

  • Data freshness: Yahoo Finance may lag 15-20 minutes
  • Sentiment data staleness:
    • Short interest data lags ~2 weeks (FINRA reporting schedule)
    • Insider trades may lag filing by 2-3 days
    • VIX term structure only updates during futures trading hours
  • Breaking news limitations (v4.0.0):
    • Google News RSS may lag by 15-60 minutes
    • Keyword matching may have false positives/negatives
    • Does not analyze sentiment, only detects keywords
    • 1-hour cache means alerts may be slightly stale
  • Missing data: Not all stocks have analyst coverage, options chains, or complete fundamentals
  • Execution time: 3-5s per stock with async parallel fetching and caching (shared indicators cached for 1h)
  • Disclaimer: All outputs include prominent "not financial advice" warning
  • US markets only: Non-US tickers may have incomplete data
  • 数据新鲜度:Yahoo Finance的数据可能滞后15-20分钟
  • 情绪数据时效性
    • 空头持仓数据滞后约2周(FINRA报告周期)
    • 内部交易数据可能滞后提交时间2-3天
    • VIX期限结构仅在期货交易时段更新
  • 突发新闻局限性(v4.0.0)
    • Google News RSS可能滞后15-60分钟
    • 关键词匹配可能存在误报/漏报
    • 仅检测关键词,不分析新闻情绪
    • 1小时缓存可能导致警报略有滞后
  • 数据缺失:并非所有股票都有分析师覆盖、期权链或完整基本面数据
  • 执行时间:通过异步并行获取和缓存,每只股票执行时间3-5秒(共享指标缓存1小时)
  • 免责声明:所有输出均包含显著的“非财务建议”警告
  • 仅支持美股:非美股代码可能数据不完整

Error Handling

错误处理

The script gracefully handles:
  • Invalid tickers → Clear error message
  • Missing analyst data → Signal based on available metrics only
  • API failures → Retry with exponential backoff, fail after 3 attempts
脚本可优雅处理以下情况:
  • 无效代码→清晰的错误提示
  • 分析师数据缺失→仅基于可用指标生成信号
  • API调用失败→指数退避重试,3次尝试后失败