要解决这个问题,你可以使用币安的API来获取订单簿的数据,并使用一个时间序列图来显示订单簿的规模随时间的增长。下面是一个示例代码:
import requests
import matplotlib.pyplot as plt
# 使用币安的API获取订单簿数据
def get_orderbook(symbol):
url = f"https://api.binance.com/api/v3/depth?symbol={symbol}"
response = requests.get(url)
orderbook = response.json()
return orderbook
# 获取订单簿的时间序列数据
def get_orderbook_size_over_time(symbol, interval):
orderbook_sizes = []
url = f"https://api.binance.com/api/v1/klines?symbol={symbol}&interval={interval}"
response = requests.get(url)
klines = response.json()
for kline in klines:
orderbook = get_orderbook(symbol)
bid_volume = sum([float(bid[1]) for bid in orderbook['bids']])
ask_volume = sum([float(ask[1]) for ask in orderbook['asks']])
orderbook_sizes.append(bid_volume + ask_volume)
return orderbook_sizes
# 绘制时间序列图
def plot_orderbook_size_over_time(symbol, interval):
orderbook_sizes = get_orderbook_size_over_time(symbol, interval)
plt.plot(orderbook_sizes)
plt.xlabel('Time')
plt.ylabel('Orderbook Size')
plt.title(f"Orderbook Size of {symbol} over Time")
plt.show()
# 例子: 绘制币安BTCUSDT交易对每小时的订单簿规模随时间的增长
plot_orderbook_size_over_time('btcusdt', '1h')
这个示例代码中,我们首先定义了一个get_orderbook
函数来获取币安订单簿数据。然后,我们定义了一个get_orderbook_size_over_time
函数来获取给定交易对和时间间隔的订单簿规模随时间的增长数据。最后,我们使用plot_orderbook_size_over_time
函数来绘制时间序列图。在示例中,我们绘制了币安BTCUSDT交易对每小时的订单簿规模随时间的增长。你可以根据需要修改交易对和时间间隔来获取不同的数据和绘制不同的图表。
上一篇:变点检测