In order to download and display binance candlestick bars in jupyter notebook we will need the following packages:
pip install mplfinance pip install python-binance pip install plotly
Also you would need to get API keys from binance Binance API management .
We will download and display two candle stick charts for ETH futures, one using mplfinance library, and another using plotly.
We will use 1 minute ETHUSDT futures data.
from binance.client import Client from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot import cufflinks as cf cf.go_offline() init_notebook_mode(connected=True) import pandas as pd import datetime as dt import matplotlib.pyplot as plt %matplotlib inline from dateutil import parser import math import os.path import time import plotly.graph_objects as go from datetime import datetime import mplfinance as mpf binance_api_key = '<YOUR API KEY>' binance_api_secret = '<YOUR API SECRET>' binsizes = {"1m": 1, "5m": 5, "1h": 60, "1d": 1440} batch_size = 750 binance = Client(api_key=binance_api_key, api_secret=binance_api_secret,) def binanceklines(symbol='ETHUSDT',interval='1m',limit=500,since="1 day ago UTC"): klines = binance.futures_klines(symbol='ETHUSDT',interval={'1m':Client.KLINE_INTERVAL_1MINUTE,'5m':Client.KLINE_INTERVAL_5MINUTE}[interval],since=since,limit=limit) data = pd.DataFrame(klines, columns = ['ts', 'o', 'h', 'l', 'c', 'v', 'close_time', 'quote_av', 'trades', 'tb_base_av', 'tb_quote_av', 'ignore' ]) data=data.apply(pd.to_numeric) data['ts'] = pd.to_datetime(data['ts'], unit='ms') data=data.set_index('ts') return data df=binanceklines(limit=None) fig = go.Figure(data=[go.Candlestick(x=df.index,open=df['o'],high=df['h'],low=df['l'],close=df['c'])]) fig.show() plt.rcParams["figure.figsize"] = (10,8) mpf.plot(df.rename(columns={'o':'Open','h':'High','l':'Low','c':'Close','v':'Volume'}).apply(pd.to_numeric),type='bars',volume=True,mav=(20,40),figscale=3,style='charles')
This results in:
The advantage of plotly chart is that it’s more interactive.
In case your are interested to 10% binance promo code discount on binance trading fees, you can use the following code: WFH7DYED