mcpField
T
technical-analysis

technical-analysis

github.com/staskhData & databases397587 installsUpdated 2d ago
Repository

About technical-analysis

A command-line skill for analyzing stock indicators, earnings, risk metrics, and correlations across ticker symbols. It is intended for financial research and portfolio diversification analysis.

Key features

  1. 01Technical indicators and crossover signals
  2. 02Multi-symbol analysis
  3. 03Risk metrics and earnings data
  4. 04Price correlation matrices

Use cases

  1. 01Reviewing a ticker’s momentum and volatility
  2. 02Comparing indicators across several stocks
  3. 03Checking portfolio diversification through correlations

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/staskh/trading_skills --skill technical-analysis

After installing, type/technical-analysisin Claude Code to confirm it loaded.

Bundled filesscripts/correlation.pyscripts/technicals.py

Details

From the project README

Technical Analysis

Compute technical indicators using pandas-ta. Supports multi-symbol analysis and earnings data.

Instructions

Note: If uv is not installed or pyproject.toml is not found, replace uv run python with python in all commands below.

uv run python scripts/technicals.py SYMBOL [--period PERIOD] [--indicators INDICATORS] [--earnings]

Arguments

  • SYMBOL - Ticker symbol or comma-separated list (e.g., AAPL or AAPL,MSFT,GOOGL)
  • --period - Historical period: 1mo, 3mo, 6mo, 1y (default: 3mo)
  • --indicators - Comma-separated list: rsi,macd,bb,sma,ema,atr,adx (default: all)
  • --earnings - Include earnings data (upcoming date + history)

Output

Single symbol returns:

  • price - Current price and recent change
  • indicators - Computed values for each indicator
  • risk_metrics - Volatility (annualized %) and Sharpe ratio
  • signals - Buy/sell signals based on indicator levels
  • earnings - Upcoming date and EPS history (if --earnings)

Multiple symbols returns:

  • results - Array of individual symbol results
Crossovers
  • indicators.macd.crossover - Most recent MACD line/signal crossover, or null:
    • direction - "up" (MACD crossed above signal = bullish) or "down" (crossed below = bearish)
    • days_ago - Trading bars since the crossover (0 = happened on the most recent bar)
  • indicators.ema.crossover - Most recent EMA9/EMA21 crossover (same shape; null if none). indicators.ema also reports ema9 and ema21 alongside ema12/ema26.

Interpretation

  • RSI > 70 = overbought, RSI < 30 = oversold
  • MACD crossover = momentum shift; crossover.days_ago of 0-5 = fresh signal
  • EMA9/21 crossover confirms short-term momentum; MACD typically leads, EMA confirms
  • Price near Bollinger Band = potential reversal
  • Golden cross (SMA20 > SMA50) = bullish
  • ADX > 25 = strong trend
  • Sharpe ratio > 1 = good risk-adjusted returns, > 2 = excellent
  • Volatility (annualized) = standard deviation of returns scaled to annual basis

Examples

# Single symbol with all indicators
uv run python scripts/technicals.py AAPL

# Multiple symbols
uv run python scripts/technicals.py AAPL,MSFT,GOOGL

# With earnings data
uv run python scripts/technicals.py NVDA --earnings

# Specific indicators only
uv run python scripts/technicals.py TSLA --indicators rsi,macd

Correlation Analysis

Compute price correlation matrix between multiple symbols for diversification analysis.

Instructions

uv run python scripts/correlation.py SYMBOLS [--period PERIOD]

Arguments

  • SYMBOLS - Comma-separated ticker symbols (minimum 2)
  • --period - Historical period: 1mo, 3mo, 6mo, 1y (default: 3mo)

Output

  • symbols - List of symbols analyzed
  • period - Time period used
  • correlation_matrix - Nested dict with correlation values between all pairs

Interpretation

  • Correlation near 1.0 = highly correlated (move together)
  • Correlation near -1.0 = negatively correlated (move opposite)
  • Correlation near 0 = uncorrelated (independent movement)
  • For diversification, prefer low/negative correlations

Examples

# Portfolio correlation
uv run python scripts/correlation.py AAPL,MSFT,GOOGL,AMZN

# Sector comparison
uv run python scripts/correlation.py XLF,XLK,XLE,XLV --period 6mo

# Check hedge effectiveness
uv run python scripts/correlation.py SPY,GLD,TLT

Dependencies

  • numpy
  • pandas
  • pandas-ta
  • yfinance

Timezone

All timestamps and time-based calculations must use the America/New_York timezone. All JSON output must include generated_at (NY time string) and data_delay fields.

Comments

Markdown supported