Basana
A Python async and event driven framework for algorithmic trading, with a focus on crypto currencies.
Install / Use
npx skills add gbeced/basanaInstalls into whichever agent you are using.
README
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, Bitstamp and 100+ crypto currency exchanges via CCXT integration.
- Asynchronous I/O and event driven.
Getting Started
Installation
$ pip install basana[charts,ccxt]
The examples use TALIpp for the technical indicators, pandas, statsmodels and also Textual if you want to run the Binance order book mirror.
$ pip install talipp pandas statsmodels textual
Download and unzip samples or clone the GitHub repository.
Backtest a pairs trading strategy
-
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 -
Run the backtest
$ python -m samples.backtest_pairs_trading

Binance Order Book mirror
The following example demonstrates how to maintain a synchronized local copy of a Binance order book using Basana's event-driven architecture. It initializes the order book from a REST API snapshot, then continuously updates it with real-time diffs from a WebSocket stream while periodically verifying consistency against fresh snapshots to handle potential synchronization issues.

Use the following command to run the example:
$ python -m samples.binance_order_book_mirror
The mirroring code can be found here.
The Basana repository comes with a number of examples 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/
Help
You can seek help with using Basana in the discussion area on GitHub.
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.6kCommit, push, and open a PR
