Skip to content

Welcome to pyalgotrading Documentation!

Visit the Tutorial

Visit the API


Official Python Package for Algorithmic Trading APIs powered by AlgoBulls!


  • Powered by the AlgoBulls Platform
  • Everything related to Algorithmic Trading Strategies!
    • Create & upload strategies on the AlgoBulls Platform
    • Free pool of Strategies are available separately at pyalgostrategypool!
    • Support for all 150+ Technical Indicators provided by TA-Lib
    • Support for multiple candlesticks patterns - Japanese OHLC, Renko, Heikin-Ashi, Linebreak
    • Support for multiple candle inntervals - 1 minute, 3 minutes, 5 minutes, 10 minutes, 15 minutes, 30 minutes, 1 hour, 1 day.
    • Support for Regular Orders and Bracket Orders
    • Support for INTRADAY and DELIVERY orders
  • Support for Backtesting
  • Support for Paper Trading
  • Support for Real Trading
  • Support for multiple brokers for Real Trading
    • Currently supported brokers - Zerodha
    • Coming soon - AliceBlue, Mastertrust
    • More on the way!
  • Real-time Logs for Backtesting, Paper Trading, Real Trading
  • Multiple real-time Reports available for Backtesting, Paper Trading and Real Trading -
    • Profit-n-Loss report (PnL report)
    • Statistics of (PnL report)
    • Order History for each order with state transitions & timestamps
  • Plot Candlestick charts using

Backtesting, Paper Trading and Real Trading can be performed on the same strategy code base!


You can find the docs here.


  • Python Support: Python 3.6+.
  • Python Requirements: See requirements.txt.
  • We recommend you to use the latest version of Python (v3.8+) to enjoy better performance benefits, especially for pandas. (For Python 3.6, the latest supported Pandas version is v0.25.3. For Python 3.8, the latest supported version is v1.0.x)


Package can be easily installed using pip -

pip install pyalgotrading

Support / Getting Help

  • Bug Reporting / New Feature Request: Please create a new issue here on GitHub.
  • Discussion Forum: Coming Soon!
  • Additional Support: If none of the above help, please contact

Contribution Guidelines

Here’s how we suggest you go about proposing a change to this project:

  1. Fork this project to your account.
  2. Create a branch for the change you intend to make.
  3. Make your changes to your fork.
  4. Send a pull request from your fork’s branch to our master branch.





Last update: