<< All versions

Skill v1.0.0

currentAutomated scan100/100
24mlight/stockclaw/technical-indicators
──Details
PublishedOctober 20, 2026 at 08:24 AM
Content Hashsha256:8eaffcc0609aebff...
Git SHAbb8dee84e973
──Files
Files (1 file, 2.3 KB)
SKILL.md2.3 KBactive
SKILL.md · 111 lines · 2.3 KB

version: "1.0.0" name: technical-indicators description: Calculate technical analysis indicators for stock market analysis


Technical Indicators Calculator

Quick guide for calculating technical indicators using Python and pandas-ta.

Quick Start

python
import yfinance as yf
import pandas_ta as ta
df = yf.download('AAPL', period='1y')
df['RSI'] = ta.rsi(df['Close'], length=14)
print(df[['Close', 'RSI']].tail())

Key Indicators

1. RSI (Relative Strength Index)

python
df['RSI'] = ta.rsi(df['Close'], length=14)
# RSI > 70: overbought | RSI < 30: oversold

2. SMA (Simple Moving Average)

python
df['SMA_50'] = ta.sma(df['Close'], length=50)
# Golden Cross: SMA_50 > SMA_200
# Death Cross: SMA_50 < SMA_200

3. EMA (Exponential Moving Average)

python
df['EMA_12'] = ta.ema(df['Close'], length=12)

4. MACD

python
macd = ta.macd(df['Close'])
# MACD > Signal: bullish | MACD < Signal: bearish

5. Bollinger Bands

python
bbands = ta.bbands(df['Close'], length=20)
# Price > Upper: overbought | Price < Lower: oversold

6. ADX (Trend Strength)

python
adx = ta.adx(df['High'], df['Low'], df['Close'], length=14)
# ADX > 25: strong trend | ADX < 20: weak trend

7. ATR (Volatility)

python
df['ATR'] = ta.atr(df['High'], df['Low'], df['Close'], length=14)

8. Stochastic Oscillator

python
stoch = ta.stoch(df['High'], df['Low'], df['Close'], length=14)

9. OBV (On-Balance Volume)

python
df['OBV'] = ta.obv(df['Close'], df['Volume'])

Complete Example

python
import yfinance as yf
import pandas as pd
import pandas_ta as ta
# Fetch data
ticker = 'AAPL'
df = yf.download(ticker, period='2y')
# Calculate multiple indicators
df['RSI'] = ta.rsi(df['Close'], length=14)
df['SMA_20'] = ta.sma(df['Close'], length=20)
df['SMA_50'] = ta.sma(df['Close'], length=50)
df['EMA_12'] = ta.ema(df['Close'], length=12)
# MACD
macd = ta.macd(df['Close'])
df = pd.concat([df, macd], axis=1)
# Bollinger Bands
bbands = ta.bbands(df['Close'], length=20)
df = pd.concat([df, bbands], axis=1)
# ATR
df['ATR'] = ta.atr(df['High'], df['Low'], df['Close'], length=14)
print(df[['Close', 'RSI', 'SMA_20', 'SMA_50', 'ATR']].tail())

Resources

  • pandas-ta: https://pandas-ta.readthedocs.io/
  • yfinance: https://github.com/ranaroussi/yfinance
  • TA-Lib: https://ta-lib.org/
All versions