Custom trading module using Binance API
Project description
BinanceTrading
BinanceTrading is a custom trading library using the Binance API for executing or backtesting trading strategies. It is hardcoded to only trade coins against USD Tether.
Installation
Use the package manager pip to install.
pip install binancetrading
If you are on windows, follow these instructions to be able to use Binance websocket client.
Usage
To use this library it is necesary to have Binance API keys, it is also possible to work with Binance Testnet keys. Here we store them as environment variables.
Get the current coin balances in the account.
import os
from binancetrading import Account
API = os.environ.get('BINANCE_API')
SECRET = os.environ.get('BINANCE_SECRET')
account = Account(API, SECRET, paper_trade=False, apiurl='https://api.binance.com')
balances = account.account_balances()
print(balances)
Print the last ten 1 minute candlesticks of BTCUSDT.
from binancetrading import Exchange
exchange = Exchange()
data = exchange.kline_df('BTC', '1m', 10)
print(data)
See more examples.
Modules
Account
The account class is where all the relevant account data is stored like cash and token positions. It has methods to retrieve balances and these are updated if a trade is made.
Exchange
The exchange module is responsible for retrieving data from the Binance API using websockets and requests. It is also responsible for executing trades.
Trading bot
To trade and test stragies it is necessary to create an instance of an trading bot, which will retrieve data from the exchange and execute orders given by the strategy. These trades are made by an account instance.
Strategies
The strategies module contains the trading strategies to use. These are basic starting points and it is encouraged to implement own strategies. These should follow the TradingStrategy abstract base class.
Backtesting
The backtesting module is to make an event driven trading strategy backtest. It also prints price charts with entry and exit points given by the strategy.
Further development
Include an strategy optimizer module to optimize the parameters of a trading strategy using backtest results.
Make order size a percentage of current holdings or dependant on the trading strategy.
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file binancetrading-0.0.1.tar.gz
.
File metadata
- Download URL: binancetrading-0.0.1.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f08cbd5ea3ccc43bbf582d1de7771d363360920ad5acb0152a32f55d85f5255 |
|
MD5 | 7f149467f4fddaf8846301762c19d562 |
|
BLAKE2b-256 | ff5c0ae05302837427b4e8dd8407a7d23dad04aa53e59be2553264669f2c52e5 |
File details
Details for the file binancetrading-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: binancetrading-0.0.1-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc28e29d4d5c44f73614b9a91c0afdae693975c257431d860242248784d4fab6 |
|
MD5 | 4645dd4314010b2ea3f26f277904b803 |
|
BLAKE2b-256 | e6409d4cd63778dc250d298826c072691e12bc62589c4949047e011fa565383a |