Skip to content

Technical Analysis Indicators - Pandas TA Classic is an easy to use Python 3 Pandas Extension with 200+ Indicators and Candlestick Patterns

License

Notifications You must be signed in to change notification settings

xgboosted/pandas-ta-classic

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 141 indicators and utility functions and 62 TA Lib candlestick patterns (203 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.

🎯 Key Features

  • 203 Technical Indicators: 141 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

  • 141 Technical Indicators & Utilities across 9 categories (Candles, Momentum, Overlap, Trend, Volume, etc.)
  • 62 TA Lib Candlestick Patterns for comprehensive pattern recognition
  • 203 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/

Quick Links

🐍 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.

About

Technical Analysis Indicators - Pandas TA Classic is an easy to use Python 3 Pandas Extension with 200+ Indicators and Candlestick Patterns

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project