SKILL.md
Technical Analysis
Compute technical indicators using pandas-ta. Supports multi-symbol analysis and earnings data.
Instructions
Note: If
uvis 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
Crossovers
indicators.macd.crossover- Most recent MACD line/signal crossover, ornull:
- 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;nullif none).
indicators.ema also reports ema9 and ema21 alongside ema12/ema26.
Interpretation
- RSI > 70 = overbought, RSI < 30 = oversold
- MACD crossover = momentum shift;
crossover.days_agoof 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 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,TLT
Dependencies
numpypandaspandas-tayfinance
Timezone
All timestamps and time-based calculations must use the America/NewYork timezone. All JSON output must include generatedat (NY time string) and data_delay fields.