Custom trading module using Binance API
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.
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.
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.
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 the last ten 1 minute candlesticks of BTCUSDT.
from binancetrading import Exchange
exchange = Exchange()
data = exchange.kline_df('BTC', '1m', 10)
See more examples.
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.
The exchange module is responsible for retrieving data from the Binance API using websockets and requests. It is also responsible for executing trades.
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.
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.
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.
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.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for binancetrading-0.0.1-py3-none-any.whl