Python developers -- what broker and api do you use?

This page summarizes the projects mentioned and recommended in the original post on /r/algotrading

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • backtesting.py

    :mag_right: :chart_with_upwards_trend: :snake: :moneybag: Backtest trading strategies in Python.

  • We chose backtesting.py for a backtesting framework. There are several to choose from but that one seems like the most well-supported and actively worked on at the moment.

  • Alpaca-API

    The Alpaca API is a developer interface for trading operations and market data reception through the Alpaca platform.

  • Alpaca: https://alpaca.markets/

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • alpaca-py

    The Official Python SDK for Alpaca API

  • Alpaca, as mentioned before, is pretty easy. They have a python client (https://alpaca.markets/docs/python-sdk/) that's pretty good. Free trades on equities is nice. The problem with alpaca is that their free equity data is 15min delayed. I've also found their margin accounts to be hard to use programmatically so I only trade long with them. They have crypto but their commissions are high.

  • IBC

    Automation of Interactive Brokers TWS. You can download the latest release here: https://github.com/ibcalpha/ibc/releases/latest

  • Interactive Brokers has been the best I've found for that. You do have to use their platform, but that allows you to focus more on writing your algos and less on re-inventing security and such. There are solutions out there to keep the gateway connected. see: https://github.com/IbcAlpha/IBC

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts