Skip to content


Folders and files

Last commit message
Last commit date

Latest commit

Repository files navigation

馃挩 Rapidly build and deploy quantitative models for stocks, crypto, and forex 馃殌

View DocsOur WebsiteJoin Our NewsletterGetting Started

Why Blankly?

Blankly is an ecosystem for algotraders enabling anyone to build, monetize and scale their trading algorithms for stocks, crypto, futures or forex. The same code can be backtested, paper traded, sandbox tested and run live by simply changing a single line. Develop locally then deploy, iterate and share using the blankly platform.

The blankly package is designed to be extremely precise in both simulation and live trading. The engineering considerations for highly accurate simulation are described here

Getting started is easy - just pip install blankly and blankly init.

Check out our website and our docs.

Trade Stocks, Crypto, Futures, and Forex

from blankly import Alpaca, CoinbasePro

stocks = Alpaca()
crypto = CoinbasePro()
futures = BinanceFutures()

# Easily perform the same actions across exchanges & asset types
stocks.interface.market_order('AAPL', 'buy', 1)
crypto.interface.market_order('BTC-USD', 'buy', 1)
# Full futures feature set

Backtest your trades, events, websockets, and custom data

import blankly
This example shows how backtest over tweets

class TwitterBot(blankly.Model):
    def main(self, args):
        while self.has_data:

    def event(self, type_: str, data: str):
        # Now check if it's a tweet about Tesla
        if 'tsla' in data.lower() or 'gme' in data.lower():
            # Buy, sell or evaluate your portfolio

if __name__ == "__main__":
    exchange = blankly.Alpaca()
    model = TwitterBot(exchange)

    # Add the tweets json here
    # Now add some underlying prices at 1 month
    model.backtester.add_prices('TSLA', '1h', start_date='3/20/22', stop_date='4/15/22')

    # Backtest or run live
    print(model.backtest(args=None, initial_values={'USD': 10000}))

Check out alternative data examples here

Accurate Backtest Holdings

Go Live in One Line

Seamlessly run your model live!

# Just turn this
# Into this

Dates, times, and scheduling adjust on the backend to make the experience instant.



  1. First install Blankly using pip. Blankly is hosted on PyPi.
$ pip install blankly
  1. Next, just run:
$ blankly init

This will initialize your working directory.

The command will create the files keys.json, settings.json, backtest.json, blankly.json and an example script called

If you don't want to use our init command, you can find the same files in the examples folder under settings.json and keys_example.json

  1. From there, insert your API keys from your exchange into the generated keys.json file or take advantage of the CLI keys prompt.

More information can be found on our docs

Directory format

The working directory format should have at least these files:


Additional Info

Make sure you're using a supported version of python. The module is currently tested on these versions:

  • Python 3.7
  • Python 3.8
  • Python 3.9
  • Python 3.10

For more info, and ways to do more advanced things, check out our getting started docs.

Supported Exchanges

Exchange Live Trading Websockets Paper Trading Backtesting
Coinbase Pro 馃煝 馃煝 馃煝 馃煝
Binance 馃煝 馃煝 馃煝 馃煝
Alpaca 馃煝 馃煝 馃煝 馃煝
OANDA 馃煝 馃煝 馃煝
FTX 馃煝 馃煝 馃煝 馃煝
KuCoin 馃煝 馃煝 馃煝 馃煝
Binance Futures 馃煝 馃煝 馃煝 馃煝
FTX Futures 馃煛 馃煛 馃煝 馃煝
Okx 馃煝 馃煝 馃煝 馃煝
Kraken 馃煛 馃煛 馃煛 馃煛
Keyless Backtesting 馃煝
TD Ameritrade 馃敶 馃敶 馃敶 馃敶
Webull 馃敶 馃敶 馃敶 馃敶
Robinhood 馃敶 馃敶 馃敶 馃敶

馃煝 = working

馃煛 = in development, some or most features are working

馃敶 = planned but not yet in development

RSI Example

We have a pre-built cookbook examples that implement strategies such as RSI, MACD, and the Golden Cross found in our examples.

Other Info

Subscribe to our news!


Please report any bugs or issues on the GitHub's Issues page.


Trading is risky. We are not responsible for losses incurred using this software, software fitness for any particular purpose, or responsibility for any issues or bugs. This is free software.


If you would like to support the project, pull requests are welcome.


Blankly is distributed under the LGPL License. See the LICENSE for more details.

New updates every day 馃挭.

Art by DALL路E 2 - "Robots playfully trading stocks synthwave"