
Technical Analysis
- 464 installs
- 319 repo stars
- Updated August 4, 2026
- staskh/trading_skills
technical-analysis is a Claude Agent skill that runs Python CLI scripts to compute RSI, MACD, Bollinger Bands, moving averages, and price correlation matrices from ticker symbols for developers who need programmatic mark
About
technical-analysis is a Claude Agent skill from the staskh/trading_skills repository that drives two Python CLI scripts—technicals.py and correlation.py—to fetch Yahoo Finance history via yfinance and compute outputs with pandas-ta. A developer passes one or more ticker symbols plus an optional period (1mo, 3mo, 6mo, or 1y) and receives JSON with RSI, MACD, Bollinger Bands, SMA, EMA, ATR, ADX, buy/sell signals, volatility, Sharpe ratio, and optional earnings dates; a second command builds a pairwise correlation matrix from a minimum of two symbols for diversification and pair-trading research. The skill ships as part of a 25-skill trading analysis library requiring Python 3.12+ and uv. Reach for technical-analysis when you need indicator scans or correlation checks inside Claude Code or Cursor without opening a separate charting platform or spreadsheet.
- CLI wrappers compute technical indicators with configurable historical period (default 3mo)
- Multi-symbol mode via comma-separated tickers on a single invocation
- Dedicated correlation CLI for diversification and pair-trading analysis (minimum two symbols)
- JSON output includes generated_at timestamp and documented 15min data_delay field
- Built on trading_skills.technicals and trading_skills.correlation Python modules
Technical Analysis by the numbers
- 464 all-time installs (skills.sh)
- +9 installs in the week ending Jul 27, 2026 (Skillselion tracking)
- Ranked #219 of 1,106 Finance & Trading skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/staskh/trading_skills --skill technical-analysisAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 464 |
|---|---|
| repo stars | ★ 319 |
| Last updated | August 4, 2026 |
| Repository | staskh/trading_skills ↗ |
How do you compute RSI and correlation from tickers?
Compute technical indicators and price correlation matrices from ticker symbols for diversification and pair-trading research.
Who is it for?
Python developers building trading agents or evaluating portfolio diversification who want RSI, MACD, and correlation data as structured JSON from Claude Code or Cursor.
Skip if: Developers who need live order execution, proprietary data feeds, or chart rendering should skip technical-analysis because it only returns delayed Yahoo Finance JSON analysis.
When should I use this skill?
A developer asks for RSI, MACD, moving averages, overbought/oversold signals, or price correlation between two or more ticker symbols.
What you get
JSON reports with indicator values, buy/sell signals, risk metrics, and a pairwise price correlation matrix.
- JSON indicator report
- correlation matrix JSON
- buy/sell signal summary
By the numbers
- bundles 2 Python CLI scripts
- computes 7 technical indicators via pandas-ta
- supports 4 historical periods (1mo, 3mo, 6mo, 1y)
Files
Technical Analysis
Compute technical indicators using pandas-ta. Supports multi-symbol analysis and earnings data.
Instructions
Note: Ifuvis not installed orpyproject.tomlis not found, replaceuv run pythonwithpythonin 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.,AAPLorAAPL,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 changeindicators- Computed values for each indicatorrisk_metrics- Volatility (annualized %) and Sharpe ratiosignals- Buy/sell signals based on indicator levelsearnings- Upcoming date and EPS history (if--earnings)
Multiple symbols returns:
results- Array of individual symbol results
Interpretation
- RSI > 70 = overbought, RSI < 30 = oversold
- MACD crossover = momentum shift
- 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 analyzedperiod- Time period usedcorrelation_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,TLTDependencies
numpypandaspandas-tayfinance
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.
#!/usr/bin/env python3
# ABOUTME: CLI wrapper for price correlation computation.
# ABOUTME: Use for portfolio diversification analysis and pair trading.
import argparse
import json
from trading_skills.correlation import compute_correlation
from trading_skills.utils import generated_at_str
def main():
parser = argparse.ArgumentParser(description="Compute price correlation matrix")
parser.add_argument("symbols", help="Comma-separated ticker symbols (min 2)")
parser.add_argument("--period", default="3mo", help="Historical period (default: 3mo)")
args = parser.parse_args()
symbols = [s.strip().upper() for s in args.symbols.split(",")]
result = compute_correlation(symbols, args.period)
result["generated_at"] = generated_at_str()
result["data_delay"] = "15min"
print(json.dumps(result, indent=2))
if __name__ == "__main__":
main()
#!/usr/bin/env python3
# ABOUTME: CLI wrapper for technical indicator computation.
# ABOUTME: Supports multi-symbol analysis and earnings data.
import argparse
import json
from trading_skills.technicals import compute_indicators, compute_multi_symbol
from trading_skills.utils import generated_at_str
def main():
parser = argparse.ArgumentParser(description="Compute technical indicators")
parser.add_argument("symbol", help="Ticker symbol (comma-separated for multiple)")
parser.add_argument("--period", default="3mo", help="Historical period")
parser.add_argument("--indicators", default=None, help="Comma-separated indicators")
parser.add_argument("--earnings", action="store_true", help="Include earnings data")
args = parser.parse_args()
indicators = args.indicators.split(",") if args.indicators else None
# Parse symbols
symbols = [s.strip().upper() for s in args.symbol.split(",")]
if len(symbols) == 1:
result = compute_indicators(symbols[0], args.period, indicators, args.earnings)
else:
result = compute_multi_symbol(symbols, args.period, indicators, args.earnings)
result["generated_at"] = generated_at_str()
result["data_delay"] = "15min"
print(json.dumps(result, indent=2))
if __name__ == "__main__":
main()
Related skills
How it compares
Pick technical-analysis when you need indicator values and correlation matrices as agent-consumable JSON inside Claude Code or Cursor, rather than interactive charting or broker order placement.
FAQ
What indicators does technical-analysis compute?
technical-analysis computes seven pandas-ta indicators—RSI, MACD, Bollinger Bands, SMA, EMA, ATR, and ADX—via technicals.py. Output JSON also includes buy/sell signals, annualized volatility, Sharpe ratio, and optional upcoming earnings dates when --earnings is passed.
How many symbols does correlation analysis require?
technical-analysis correlation.py requires a minimum of two comma-separated ticker symbols. The script returns a nested correlation_matrix dict covering all symbol pairs for a chosen period (1mo, 3mo, 6mo, or 1y, default 3mo) using Yahoo Finance price history.
What do you need to run technical-analysis locally?
technical-analysis requires Python 3.12+, the uv package manager, and the trading-skills dependency from staskh/trading_skills. Commands use uv run python scripts/technicals.py SYMBOL and uv run python scripts/correlation.py SYMBOLS from the skill directory.