staskh/trading_skills3 files

Technical Analysis

Compute technical indicators like RSI, MACD, Bollinger Bands, SMA, EMA for a stock. Use when user asks about technical analysis, indicators, RSI, MACD, moving averages, overbought/oversold, or chart analysis.

Specification
Skill ID
staskh/trading_skills/technical-analysis
Publisher
staskh
Repository
trading_skills
Installs
0
Files
3
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

staskh/trading_skills/technical-analysisInstalls these files
  • SKILL.md
  • scripts/correlation.py
  • scripts/technicals.py

What this skill tells the agent

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.

Use this skill in a project

Open any RiverX project, search the Skills panel for staskh/trading_skills/technical-analysis, and install it in one click.

Use this skill