Skip to main content

Technical Analysis Indicators - Pandas TA Classic is an easy to use Python 3 Pandas Extension with a comprehensive collection of indicators and TA-Lib patterns.

Project description

Pandas TA Classic

Pandas TA Classic - Technical Analysis Library

license Build Status Documentation Python Version PyPi Version Package Status Downloads Stars Forks Used By Contributors

Example Chart

Pandas TA Classic is an easy-to-use library that leverages the Pandas package with 150 indicators and utility functions and 62 TA Lib candlestick patterns (212 total). Many commonly used indicators are included, such as: Simple Moving Average (sma), Moving Average Convergence Divergence (macd), Hull Exponential Moving Average (hma), Bollinger Bands (bbands), On-Balance Volume (obv), Aroon & Aroon Oscillator (aroon), Squeeze (squeeze) and many more.

This is the classic/community maintained version of the popular pandas-ta library.

📖 New to Pandas TA Classic?

Get started quickly with our comprehensive guides:

  • 🚀 Quickstart Guide - Installation, your first indicators, and common workflows
  • 📚 Tutorials - Step-by-step tutorials for real-world use cases:
    • Moving Average Crossover Strategy
    • Building Custom Indicator Strategies
    • Backtesting with Performance Metrics
    • Integrating with VectorBT
    • Multi-Timeframe Analysis
    • Creating Custom Indicators
    • Candlestick Pattern Recognition

Complete documentation: 🔗 https://xgboosted.github.io/pandas-ta-classic/

🎯 Key Features

  • 212 Technical Indicators: 150 indicators + 62 TA-Lib candlestick patterns
  • Native Candlestick Patterns: 5 patterns (cdl_doji, cdl_inside, cdl_z, cdl_pattern, ha) work without TA-Lib
  • Automatic Versioning: Version management via git tags using setuptools-scm
  • Modern Package Management: Full support for both uv and pip
  • Production Ready: Stable status with comprehensive test coverage
  • Active Development: Regular updates with community contributions

🚀 Quick Start

Installation

The library supports both modern uv and traditional pip package managers.

Stable Release

Using uv (recommended - faster):

uv pip install pandas-ta-classic

Using pip:

pip install pandas-ta-classic

Latest Version

Using uv:

uv pip install git+https://github.com/xgboosted/pandas-ta-classic

Using pip:

pip install -U git+https://github.com/xgboosted/pandas-ta-classic

Development Installation

Using uv:

# Clone the repository
git clone https://github.com/xgboosted/pandas-ta-classic.git
cd pandas-ta-classic

# Install with all dependencies
uv pip install -e ".[all]"

# Or install specific dependency groups:
uv pip install -e ".[dev]"      # Development tools
uv pip install -e ".[optional]" # Optional features like TA-Lib

Using pip:

# Clone the repository
git clone https://github.com/xgboosted/pandas-ta-classic.git
cd pandas-ta-classic

# Install with all dependencies
pip install -e ".[all]"

# Or install specific dependency groups:
pip install -e ".[dev]"      # Development tools
pip install -e ".[optional]" # Optional features like TA-Lib

Basic Usage

import pandas as pd
import pandas_ta_classic as ta

# Load your data
df = pd.read_csv("path/to/symbol.csv")
# OR if you have yfinance installed
df = df.ta.ticker("aapl")

# Calculate indicators
df.ta.sma(length=20, append=True)        # Simple Moving Average
df.ta.rsi(append=True)                   # Relative Strength Index  
df.ta.macd(append=True)                  # MACD
df.ta.bbands(append=True)                # Bollinger Bands

# Or run a strategy with multiple indicators
df.ta.strategy("CommonStrategy")         # Runs commonly used indicators

📊 Features

  • 150 Technical Indicators & Utilities across 9 categories (Candles, Momentum, Overlap, Trend, Volume, etc.)
  • 62 TA Lib Candlestick Patterns for comprehensive pattern recognition
  • 212 Total Indicators & Patterns - the most comprehensive Python TA library
  • Dynamic Category Discovery - automatically detects all available indicators from the filesystem
  • Strategy System with multiprocessing support for bulk indicator processing
  • Pandas DataFrame Extension for seamless integration (df.ta.indicator())
  • TA Lib Integration - automatically uses TA Lib versions when available
  • Vectorbt Integration - compatible with popular backtesting framework
  • Custom Indicators - easily create and chain your own indicators

📚 Documentation

Complete documentation is available at: 🔗 https://xgboosted.github.io/pandas-ta-classic/

📖 Learning Resources

Start Here:

  • 🚀 Quickstart Guide - Get up and running in minutes
  • 📚 Tutorials - Step-by-step guides for common workflows
  • 📓 Examples - Jupyter notebooks with real examples

Reference Documentation:

🐍 Python Version Support

Pandas TA Classic follows a rolling support policy for the latest stable Python version plus 4 preceding minor versions.

Note: Python version support is dynamically managed via CI/CD workflows. When new Python versions are released, the library automatically updates to support the latest 5 minor versions. Check the CI workflow LATEST_PYTHON_VERSION for the current configuration.

Note: TA Lib installation enables all candlestick patterns:

  • Using uv: uv pip install TA-Lib
  • Using pip: pip install TA-Lib

🤝 Contributing

We welcome contributions! Please see our contributing guidelines and issues page.

Reporting Issues

  • Check existing issues first
  • Provide reproducible code examples
  • Include relevant error messages and data samples

📋 Changelog

For detailed information about changes, improvements, and new features, please see the CHANGELOG.md file.

🔗 Sources

Original TA-LIB | TradingView | Sierra Chart | MQL5 | FM Labs | Pro Real Code | User 42

❤️ Support

If you find this library helpful, please consider:

Sponsor

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pandas_ta_classic-0.3.78-py3-none-any.whl (261.2 kB view details)

Uploaded Python 3

File details

Details for the file pandas_ta_classic-0.3.78-py3-none-any.whl.

File metadata

File hashes

Hashes for pandas_ta_classic-0.3.78-py3-none-any.whl
Algorithm Hash digest
SHA256 f168bed7f52eef6f4df629971586a1852d8eec76301e184642878998b1992a50
MD5 96420e546c40cd62ec7761af144a976a
BLAKE2b-256 e25a753b20971abc1b038232b9a60c2ac2049372e339079275153eb27bb7dc40

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page