
Technical Analysis
Compute technical indicators and price correlation matrices from ticker symbols for diversification and pair-trading research.
Overview
technical-analysis is an agent skill for the Grow phase that computes technical indicators and price correlation matrices for tickers via CLI.
Install
npx skills add https://github.com/staskh/trading_skills --skill technical-analysisWhat is this skill?
- 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
- Default historical period 3mo
- Documented 15min data_delay on outputs
Adoption & trust: 1 installs on skills.sh; 244 GitHub stars; trending (+100% hot-view momentum).
What problem does it solve?
You need consistent indicator and correlation numbers across symbols without manually copying values from a charting UI.
Who is it for?
Builders automating equity or ETF research with Python CLIs and agent-invoked market analytics.
Skip if: Live order execution, fundamental filings analysis, or crypto on-chain metrics not covered by the trading_skills modules.
When should I use this skill?
You need JSON technical indicators or a correlation matrix for comma-separated ticker symbols over a defined period.
What do I get? / Deliverables
You get JSON indicator bundles and correlation matrices with timestamps you can paste into research notes, bots, or portfolio review workflows.
- JSON indicator report per symbol or batch
- JSON correlation matrix for symbol sets
Recommended Skills
Journey fit
Grow is the canonical shelf because the skill supports ongoing market analytics and portfolio-style decisions after you have symbols to track. Analytics subphase matches correlation matrices, multi-symbol indicators, and JSON outputs for downstream dashboards or agents.
How it compares
CLI market-math integration, not a full backtesting framework or brokerage MCP server.
Common Questions / FAQ
Who is technical-analysis for?
Solo builders shipping trading assistants, personal dashboards, or CLI tools who want agents to run standard technicals and correlations on demand.
When should I use technical-analysis?
Use it during Grow analytics when reviewing positions, checking diversification across holdings, or screening multiple tickers with the same indicator set.
Is technical-analysis safe to install?
It runs local Python and likely fetches market data over the network; review the Security Audits panel on this page and treat API keys and broker credentials as out of scope for this skill.
SKILL.md
READMESKILL.md - Technical Analysis
#!/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() --- name: technical-analysis description: 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. dependencies: ["trading-skills"] --- # 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. ```bash 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 ## 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 ```bash # Single symbol with all indicators uv run py