pandas-ta — скилл для Claude Code: что делает и как установить
Скилл учит агента рассчитывать более 130 индикаторов технического анализа для крипторынка через библиотеку pandas-ta прямо в коде.
npx skills add agiprolabs/claude-trading-skills --skill pandas-ta -a claude-codeЧто делает pandas-ta
Скилл объясняет агенту работу с библиотекой pandas-ta, расширяющей датафреймы через свойство df.ta. Он содержит шаблоны вызова трендовых, импульсных и объёмных индикаторов: RSI, MACD, SuperTrend, полос Боллинджера и других. Также помощник получает синтаксис класса ta.Strategy для одновременного расчёта нескольких метрик в одном вызове.
Для запуска кода нужны Python-пакеты pandas-ta, pandas и httpx. Имена колонок в датафрейме OHLCV обязаны быть в нижнем регистре: open, high, low, close, volume. Если назвать колонку Close с заглавной буквы, расчёт сломается. Для временных индикаторов вроде VWAP индекс обязательно должен быть DatetimeIndex.
В правилах учтена специфика криптовалют: непрерывная круглосуточная торговля и резкая волатильность. Для крипты скилл советует расширять множитель SuperTrend до 3–4 и задавать стандартное отклонение 2.5–3 для полос Боллинджера. На токенах с низкой капитализацией индикаторы объёма врут из-за тонких стаканов, поэтому скилл рекомендует опираться на цену.
Какие задачи решает
- рассчитать технические индикаторы на датафрейме свечей
- собрать пакетную стратегию с вычислением RSI, MACD и полос Боллинджера
- очистить данные OHLCV от пропусков перед расчётами
- скорректировать параметры индикаторов под волатильность крипторынка
Примеры запросов агенту
- Посчитай RSI(14) и полосы Боллинджера для часового графика BTC через pandas-ta
- Собери стратегию через ta.Strategy с индикаторами SuperTrend и EMA(20, 50)
- Очисти датафрейм от пропусков и рассчитай VWAP с DatetimeIndex
Как установить pandas-ta
1Через Skills CLI (Vercel)
npx skills add agiprolabs/claude-trading-skills --skill pandas-ta -a claude-code2Вручную: положить файлы
~/.claude/skills/pandas-ta/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/pandas-ta/
1Через Skills CLI (Vercel)
npx skills add agiprolabs/claude-trading-skills --skill pandas-ta -a codex2Вручную: положить файлы
.agents/skills/pandas-ta/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add agiprolabs/claude-trading-skills --skill pandas-ta -a cursor2Вручную: положить файлы
.cursor/skills/pandas-ta/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install agiprolabs/claude-trading-skills pandas-ta2Вручную: положить файлы
.github/skills/pandas-ta/SKILL.md1Через Skills CLI (Vercel)
npx skills add agiprolabs/claude-trading-skills --skill pandas-ta -a gemini-cli2Командой платформы
gemini skills install https://github.com/agiprolabs/claude-trading-skills --path skills/pandas-taВручную: положить файлы
.devin/skills/pandas-ta/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add agiprolabs/claude-trading-skills --skill pandas-ta -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о pandas-ta
Как установить pandas-ta в Claude Code?
Выполните команду npx skills add agiprolabs/claude-trading-skills --skill pandas-ta -a claude-code. Для работы Python-кода также понадобятся библиотеки: uv pip install pandas-ta pandas httpx.
Что делает скилл pandas-ta?
Он предоставляет агенту готовые инструкции и примеры по расчёту более 130 индикаторов через синтаксис df.ta. Агент сразу применяет правильные имена колонок и учитывает круглосуточный режим криптоторгов.
Какие требования к структуре таблицы предъявляет pandas-ta?
Колонки должны называться строго строчными буквами: open, high, low, close, volume. Для индикаторов вроде VWAP индекс таблицы обязательно должен быть в формате DatetimeIndex.
Исходный текст
SKILL.md · MIT
---
name: pandas-ta
description: Technical analysis with 130+ indicators using pandas-ta for crypto market data
---
# pandas-ta — Technical Analysis for Crypto Markets
pandas-ta is a Python library that extends pandas DataFrames with 130+ technical analysis indicators accessible via `df.ta`. It covers trend, momentum, volatility, volume, and overlap indicator categories — all callable with a single method on any OHLCV DataFrame.
## Installation
```bash
uv pip install pandas-ta pandas httpx
```
## Quick Start
```python
import pandas as pd
import pandas_ta as ta
# Assume df is a DataFrame with columns: open, high, low, close, volume
# All lowercase column names required
# Single indicator
df["rsi"] = df.ta.rsi(length=14)
df["atr"] = df.ta.atr(length=14)
# Multiple indicators via strategy
df.ta.strategy(ta.Strategy(
name="Quick Check",
ta=[
{"kind": "rsi", "length": 14},
{"kind": "macd", "fast": 12, "slow": 26, "signal": 9},
{"kind": "bbands", "length": 20, "std": 2.0},
]
))
```
## OHLCV DataFrame Format
pandas-ta expects a DataFrame with lowercase column names:
```python
import pandas as pd
df = pd.DataFrame({
"open": [...],
"high": [...],
"low": [...],
"close": [...],
"volume": [...]
}, index=pd.DatetimeIndex([...]))
```
**Important**: Set the index to a `DatetimeIndex` for time-aware indicators like VWAP. Column names must be lowercase (`close`, not `Close`).
### Handling Missing Data
```python
# Drop rows with NaN in OHLCV columns
df = df.dropna(subset=["open", "high", "low", "close", "volume"])
# Forward-fill small gaps (1-2 bars max)
df = df.ffill(limit=2)
# Verify no zero-volume bars for volume indicators
df = df[df["volume"] > 0]
```
## Core Indicator Categories
### Trend Indicators
Identify market direction and trend strength.
| Indicator | Call | Key Signal |
|-----------|------|------------|
| SMA | `df.ta.sma(length=20)` | Price above = bullish |
| EMA | `df.ta.ema(length=20)` | Faster than SMA, less lag |
| SuperTrend | `df.ta.supertrend(length=10, multiplier=3)` | Direction column: 1=bull, -1=bear |
| Ichimoku | `df.ta.ichimoku()` | Returns tuple of (span, lines) DataFrames |
| VWMA | `df.ta.vwma(length=20)` | Volume-weighted price trend |
| HMA | `df.ta.hma(length=20)` | Minimal lag, smooth trend |
| ADX | `df.ta.adx(length=14)` | >25 = trending, <20 = ranging |
### Momentum Indicators
Measure speed and magnitude of price changes.
| Indicator | Call | Key Signal |
|-----------|------|------------|
| RSI | `df.ta.rsi(length=14)` | >70 overbought, <30 oversold |
| MACD | `df.ta.macd(fast=12, slow=26, signal=9)` | Histogram crossover = entry |
| Stochastic | `df.ta.stoch(k=14, d=3, smooth_k=3)` | >80 overbought, <20 oversold |
| CCI | `df.ta.cci(length=20)` | >100 overbought, <-100 oversold |
| Williams %R | `df.ta.willr(length=14)` | >-20 overbought, <-80 oversold |
| ROC | `df.ta.roc(length=10)` | Positive = upward momentum |
| MFI | `df.ta.mfi(length=14)` | Money flow version of RSI |
### Volatility Indicators
Measure price dispersion and expected range.
| Indicator | Call | Key Signal |
|-----------|------|------------|
| Bollinger Bands | `df.ta.bbands(length=20, std=2)` | Squeeze = breakout pending |
| ATR | `df.ta.atr(length=14)` | Position sizing, stop placement |
| Keltner Channels | `df.ta.kc(length=20, scalar=1.5)` | BB inside KC = squeeze |
| Donchian Channels | `df.ta.donchian(lower_length=20, upper_length=20)` | Breakout detection |
### Volume Indicators
Confirm price moves with volume analysis.
| Indicator | Call | Key Signal |
|-----------|------|------------|
| OBV | `df.ta.obv()` | Divergence from price = reversal |
| VWAP | `df.ta.vwap()` | Intraday fair value (needs DatetimeIndex) |
| CMF | `df.ta.cmf(length=20)` | >0 accumulation, <0 distribution |
| AD | `df.ta.ad()` | Accumulation/Distribution line |
## Strategy Class
Run multiple indicators in a single call using `ta.Strategy`:
```python
import pandas_ta as ta
# Built-in "All" strategy runs every indicator
df.ta.strategy(ta.AllStrategy)
# Custom strategy
my_strategy = ta.Strategy(
name="Crypto Scalp",
description="Fast indicators for crypto scalping",
ta=[
{"kind": "ema", "length": 9},
{"kind": "ema", "length": 21},
{"kind": "rsi", "length": 7},
{"kind": "stoch", "k": 5, "d": 3, "smooth_k": 3},
{"kind": "atr", "length": 7},
{"kind": "bbands", "length": 10, "std": 2.0},
{"kind": "obv"},
]
)
df.ta.strategy(my_strategy)
```
### Named Strategy Patterns
```python
# Trend following
trend_strategy = ta.Strategy(
name="Trend",
ta=[
{"kind": "ema", "length": 20},
{"kind": "ema", "length": 50},
{"kind": "adx", "length": 14},
{"kind": "supertrend", "length": 10, "multiplier": 3},
{"kind": "atr", "length": 14},
]
)
# Mean reversion
reversion_strategy = ta.Strategy(
name="Mean Reversion",
ta=[
{"kind": "rsi", "length": 14},
{"kind": "bbands", "length": 20, "std": 2.0},
{"kind": "stoch", "k": 14, "d": 3, "smooth_k": 3},
{"kind": "cci", "length": 20},
]
)
# Momentum
momentum_strategy = ta.Strategy(
name="Momentum",
ta=[
{"kind": "macd", "fast": 12, "slow": 26, "signal": 9},
{"kind": "rsi", "length": 14},
{"kind": "obv"},
{"kind": "roc", "length": 10},
{"kind": "mfi", "length": 14},
]
)
```
## Crypto-Specific Considerations
### 24/7 Markets
- No session gaps — indicators that rely on open/close of sessions behave differently
- VWAP resets at midnight UTC by default; consider anchored VWAP for custom periods
- Weekend data is continuous — no Monday gap effects
### High Volatility Adjustments
- **Bollinger Bands**: Use 2.5-3x standard deviation instead of the default 2x
- **RSI periods**: Shorter periods (7-10) capture faster crypto cycles
- **ATR**: Use for dynamic stop-losses; crypto ATR is typically 2-5x equity ATR
- **SuperTrend multiplier**: 3-4x for crypto vs 2-3x for equities
### Low-Cap Token Considerations
- Volume indicators (OBV, CMF, MFI) are unreliable with thin order books
- Prefer price-based indicators (RSI, BBands, SuperTrend) for low-liquidity tokens
- ATR-based position sizing is critical — wide spreads amplify losses
- Wash trading inflates volume; cross-reference with on-chain data
### Timeframe Selection
| Timeframe | Use Case | Recommended Indicators |
|-----------|----------|----------------------|
| 1m-5m | Scalping, PumpFun | RSI(5-7), EMA(5,13), ATR(5) |
| 15m-1h | Day trading | MACD, RSI(14), BBands, EMA(20,50) |
| 4h-1d | Swing trading | SuperTrend, ADX, EMA(50,200) |
| 1w | Position trading | SMA(20,50), RSI(14), monthly VWAP |
## Common Indicator Combinations
### Trend Following
```python
# EMA crossover + ADX confirmation + SuperTrend direction
ema_fast = df.ta.ema(length=20)
ema_slow = df.ta.ema(length=50)
adx_df = df.ta.adx(length=14)
st_df = df.ta.supertrend(length=10, multiplier=3)
bullish = (
(ema_fast > ema_slow) &
(adx_df["ADX_14"] > 25) &
(st_df["SUPERTd_10_3.0"] == 1)
)
```
### Mean Reversion
```python
# RSI oversold + price at lower BB + Stochastic oversold
rsi = df.ta.rsi(length=14)
bb = df.ta.bbands(length=20, std=2.5)
stoch = df.ta.stoch(k=14, d=3, smooth_k=3)
buy_signal = (
(rsi < 30) &
(df["close"] <= bb["BBL_20_2.5"]) &
(stoch["STOCHk_14_3_3"] < 20)
)
```
### Momentum Confirmation
```python
# MACD histogram positive + RSI above 50 + OBV rising
macd = df.ta.macd(fast=12, slow=26, signal=9)
rsi = df.ta.rsi(length=14)
obv = df.ta.obv()
momentum_bull = (
(macd["MACDh_12_26_9"] > 0) &
(rsi > 50) &
(obv > obv.shift(1))
)
```
### Volatility Breakout (BB Squeeze)
```python
# Bollinger Band width contracting + volume spike
bb = df.ta.bbands(length=20, std=2.0)
atr = df.ta.atr(length=14)
vol_sma = df["volume"].rolling(20).mean()
bb_width = (bb["BBU_20_2.0"] - bb["BBL_20_2.0"]) / bb["BBM_20_2.0"]
squeeze = bb_width < bb_width.rolling(120).quantile(0.1)
vol_spike = df["volume"] > (vol_sma * 2.0)
breakout_setup = squeeze & vol_spike
```
## Integration with Other Skills
- **birdeye-api**: Fetch OHLCV data → feed into pandas-ta for indicator computation
- **vectorbt**: Use pandas-ta indicators as signal inputs for backtesting
- **trading-visualization**: Plot indicator overlays on price charts
- **slippage-modeling**: Combine ATR with slippage estimates for realistic execution modeling
- **position-sizing**: Use ATR-based sizing from pandas-ta output
## Files
### References
- `references/indicator_guide.md` — Top 20 crypto indicators with syntax, parameters, and interpretation
- `references/strategy_patterns.md` — Pre-built strategy combinations for scalping, day trading, and swing trading
- `references/common_pitfalls.md` — Common mistakes with technical indicators in crypto markets
### Scripts
- `scripts/compute_indicators.py` — Fetch OHLCV data and compute standard indicator set with signal summary
- `scripts/multi_indicator_scan.py` — Run multiple strategy profiles and score current signal alignment
© agiprolabs · MIT · agiprolabs/claude-trading-skills