Packages
Generates country- and subdivision-specific government holiday calendars on demand, supporting 250 country codes with optional language localization and holiday categories.
Fetches financial and market data from Yahoo Finance's public APIs, including ticker information, historical prices, and live streaming data.
However, do not use it for commercial applications or high-volume data collection without confirming compliance with Yahoo's terms of service.
Provides elementary financial functions (IRR, NPV, PMT, and others) that were deprecated and removed from NumPy, offering a dedicated replacement for financial calculations.
However, given the aging status (no releases since 2019) and unclear compatibility with modern Python and recent numpy versions, verify that it works with your target…
CCXT is a unified API library for connecting to and trading on more than 100 cryptocurrency exchanges and prediction markets, supporting both REST and WebSocket protocols with normalized cross-exchange data access.
Official Python client for accessing live and historical market data from Databento, supporting multiple asset classes, schemas, and data formats with normalized message structures.
Install it if you need programmatic access to Databento's historical or live market data; skip it if you don't have a Databento account or need data from a different…
EdgarTools parses SEC EDGAR filings into typed Python objects and pandas DataFrames, extracting financial statements, insider trades, fund holdings, and other filing types with a consistent API.
The main gotcha is that you must provide an email to the SEC with every request, but that is a documented requirement.
Provides over 150 technical analysis indicators and 60 candlestick patterns for financial data, optimized with numba and numpy, and integrated as a pandas DataFrame extension.
However, the Beta status, 334-day maintenance gap, and unclear license terms warrant caution—verify the license for your use case and be prepared for potential…
mplfinance provides matplotlib-based visualization for financial market data, enabling candlestick charts, OHLC plots, and technical analysis overlays from pandas DataFrames.
However, do not rely on it for active bug fixes or new features—test compatibility with your matplotlib and pandas versions before production use, and consider it a…
Provides a Python async/sync interface to Interactive Brokers' Trader Workstation API, automating connection management and data synchronization with live market data.
However, proceed with caution: the repository is archived and unmaintained since March 2024.
ib_async provides a Python interface to Interactive Brokers' Trader Workstation and IB Gateway, enabling programmatic access to market data, order placement, and portfolio management through an async-first API.
Install it if you need programmatic access to IB's trading and market data APIs.
A Python client for the SEC-API.io service that provides programmatic access to SEC EDGAR filings, exhibits, and structured financial data covering 20+ million filings and 1.1M+ entities since 1993.
Official Python client for the Kite Connect trading API, enabling real-time order execution, portfolio management, and live market data streaming via REST and WebSocket.
Install it if you are building a trading application on the Zerodha platform.
QuantStats computes portfolio performance metrics (Sharpe ratio, volatility, drawdown, win rate) and generates visualizations and HTML tearsheets for analyzing investment returns.
TickFlow is a Python client for accessing market data across Chinese A-shares, ETFs, US stocks, and Hong Kong stocks through the TickFlow API, offering both free historical daily candles and paid real-time quotes and intraday data.
Technical provides a collection of technical indicators and utilities for financial analysis, designed to work with Freqtrade trading strategies and pandas dataframes.
Provides 130+ technical analysis indicators and candlestick patterns for financial data analysis, callable directly on Pandas DataFrames or as standalone functions.
However, maintenance is aging (last release 319 days ago), so verify that the indicator set and accuracy meet your specific requirements before relying on it for…
NautilusTrader is a Rust-native event-driven trading engine that runs research backtests and live trading strategies using the same deterministic code, with Python as the control plane for strategy logic.
Fetches real-time and historical stock, cryptocurrency, forex, and technical indicator data from the Alpha Vantage API, returning results as JSON, pandas DataFrames, or CSV.
Install it if you need to pull stock, crypto, or forex data into Python; skip it only if you prefer lower-level HTTP control or a different data source.
Downloads SEC EDGAR company filings by ticker or CIK, supporting all SEC filing types with optional date filtering and amendment inclusion.
Pandas TA Classic provides 193 technical indicators and 62 native candlestick patterns as a Pandas DataFrame extension, enabling technical analysis workflows without requiring TA-Lib.
Install it if you need technical analysis indicators in pandas workflows and want to avoid TA-Lib compilation or licensing complexity.
PyPortfolioOpt implements portfolio optimization methods including mean-variance optimization, Black-Litterman allocation, and Hierarchical Risk Parity to compute optimal asset allocations based on expected returns and risk models.
Install it if you need to compute optimal asset allocations from expected returns and risk estimates.
Backtesting.py lets you define and test trading strategies against historical price data, then visualize results and performance metrics like Sharpe ratio, drawdown, and win rate.
Renders line charts as ASCII art in the console using box-drawing characters, with automatic scaling and support for multiple series and colors.
Unofficial wrapper for the Charles Schwab API that provides programmatic access to authentication, quotes, options chains, streaming data, trade execution, and account information.
However, be aware that the last release was 410 days ago, paper trading and historical options pricing are not supported, and you must have a Schwab developer account…
Shioaji is a trading API for Taiwan's financial markets that provides native Python bindings, HTTP endpoints, and a CLI for placing orders and subscribing to real-time market data for stocks, futures, options, and combo orders.
Install it if you have a Sinopac trading account and need programmatic access to stocks, futures, or options.
Provides REST and WebSocket clients for trading on Kraken's Spot and Futures markets, plus a command-line interface for direct API access.
xbbg is a Bloomberg client for Python that provides high-level helpers for BDP, BDS, BDH, intraday bars, ticks, BQL, and related analytics, backed by a Rust engine with support for sync and async APIs and multiple output backends.
Lumibot is a Python framework for building, backtesting, and running algorithmic trading strategies and AI agents across stocks, options, crypto, futures, and forex using a single codebase that works identically in backtest and live trading.
Riskfolio-Lib builds optimized investment portfolios using mathematical models—mean-variance, risk parity, hierarchical clustering, and Black-Litterman approaches—with support for 26+ risk measures and constraints on leverage, turnover, and cardinality.
A Python client library for Angel Broking's REST API that enables real-time stock market order execution, session management, and market data retrieval through HTTP endpoints.
However, the dormant maintenance status (553 days since last release) and unclear license are significant concerns—verify that the library still works with Angel…
Vnstock fetches Vietnamese stock market data—historical prices, financial statements, company profiles, indices, and macroeconomic indicators—via a unified Python API and returns it as pandas DataFrames.
However, verify the custom noncommercial license against your intended use; commercial applications require explicit permission.
Parses, generates, and converts Open Financial Exchange (OFX) data in both OFXv1 (SGML) and OFXv2 (XML) formats, including Quicken's QFX variant, for importing and exporting financial transaction data.
However, its GPL-3.0-only license is a hard blocker for proprietary or closed-source applications—only install if your project can adopt GPL-3.0 or you have an…
skfolio is a Python library for portfolio optimization and risk management that integrates with scikit-learn to build, tune, cross-validate, and stress-test portfolio models using a unified interface.
Install it if you need portfolio optimization; skip it if you only need basic mean-variance calculations or prefer a different API.
Downsamples time series data using the Largest-Triangle-Three-Buckets algorithm to reduce visually redundant points while preserving overall shape, built on numpy.
Freqtrade is a Python-based cryptocurrency trading bot that automates trading across major exchanges, with backtesting, strategy optimization via machine learning, and control via Telegram or web UI.