https://github.com/gbeced/basana
A Python async and event driven framework for algorithmic trading, with a focus on crypto currencies.
https://github.com/gbeced/basana
algorithmic-trading asyncio backtesting binance cryptocurrency trading-algorithms trading-bot
Last synced: 13 days ago
JSON representation
A Python async and event driven framework for algorithmic trading, with a focus on crypto currencies.
- Host: GitHub
- URL: https://github.com/gbeced/basana
- Owner: gbeced
- License: other
- Created: 2023-03-04T01:03:17.000Z (about 2 years ago)
- Default Branch: develop
- Last Pushed: 2025-02-18T02:19:04.000Z (about 2 months ago)
- Last Synced: 2025-03-18T06:54:08.218Z (28 days ago)
- Topics: algorithmic-trading, asyncio, backtesting, binance, cryptocurrency, trading-algorithms, trading-bot
- Language: Python
- Homepage:
- Size: 1.5 MB
- Stars: 685
- Watchers: 16
- Forks: 89
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-quant - basana - A Python async and event driven framework for algorithmic trading, with a focus on crypto currencies. (Python / Trading & Backtesting)
- awesome-systematic-trading - basana - commit/gbeced/basana/master)  | Python | - A Python async and event driven framework for algorithmic trading, with a focus on crypto currencies. (Backtest + live trading / Crypto currency focus)
- awesome-quant - basana
- awesome-quant - basana
README
[](https://github.com/gbeced/basana/actions/workflows/runtests.yml)
[](https://badge.fury.io/py/basana)
[](https://basana.readthedocs.io/en/latest/)
[](https://opensource.org/licenses/Apache-2.0)
[](https://pepy.tech/project/basana)# Basana
**Basana** is a Python **async and event driven** framework for **algorithmic trading**, with a focus on **crypto currencies**.
## Key Features
* Backtesting exchange so you can try your trading strategies before using real funds.
* Live trading at [Binance](https://www.binance.com/) and [Bitstamp](https://www.bitstamp.net/) crypto currency exchanges.
* Asynchronous I/O and event driven.## Getting Started
### Installation
The examples use [TALIpp](https://github.com/nardew/talipp) for the technical indicators, pandas and statsmodels.
```
$ pip install basana[charts] talipp pandas statsmodels
```### Backtest a pairs trading strategy
1. Download and unzip [samples](https://github.com/gbeced/basana/releases/download/1.7/samples.zip).
2. Download historical data for backtesting
```
$ python -m basana.external.binance.tools.download_bars -c BCH/USDT -p 1h -s 2021-12-01 -e 2021-12-26 -o binance_bchusdt_hourly.csv
$ python -m basana.external.binance.tools.download_bars -c CVC/USDT -p 1h -s 2021-12-01 -e 2021-12-26 -o binance_cvcusdt_hourly.csv
```3. Run the backtest
```
$ python -m samples.backtest_pairs_trading
```
The Basana repository comes with a number of [examples](./samples) you can experiment with or use as a template for your own projects:
**Note that these examples are provided for educational purposes only. Use at your own risk.**
## Documentation
[https://basana.readthedocs.io/en/latest/](https://basana.readthedocs.io/en/latest/)
## Help
You can seek help with using Basana in the discussion area on [GitHub](https://github.com/gbeced/basana/discussions).