如何使用Python 设置和使用Binance API - 桑鸟网
文章推薦指數: 80 %
介绍; 创建您的币安API 密钥; 使用Python 连接到币安客户端; 使用币安API; 获取所有硬币价格; 获取历史价格; 可视化数据; 结论 ...
桑鸟网
为您推荐
资讯
开源软件库
文档
小组
应用
如何使用Python设置和使用BinanceAPI
用于在Python中设置和使用BinanceAPI以使用预定义规则回测策略、绘制数据或实时交易。
Python
Python
BinanceAPI
大哥不抽烟
发表日期:2021-11-05
Like
8
Collect
49
Share
Errorcorrection
文章索引
第I部分:分步教程,用于在Python中设置和使用BinanceAPI以使用预定义规则回测策略、绘制数据或实时交易。
介绍
创建您的币安API密钥
使用Python连接到币安客户端
使用币安API
获取所有硬币价格
获取历史价格
可视化数据
结论
介绍
在Python中设置和使用BinanceAPI以使用预定义规则回测策略、绘制数据或实时交易的分步教程。
本部分(第一部分)将介绍如何创建API密钥、连接到BinanceAPI并获取可用于交易的资产的当前价格。
我们还将看到如何将历史数据用于以后的回测策略。
第二部分将介绍如何下现货订单和未来订单。
如何关闭这些交易并获得有关它们的信息。
第三部分将介绍如何创建实时流数据流,以便能够每秒获得特定资产的新实时价格。
创建您的币安密钥
连接到Binance并转到API管理以创建密钥对:
币安API管理
并创建您的API密钥对:
创建API密钥
选择您想要的选项和您想要使用的限制。
请注意不要共享您的API密钥,尤其是在您的密钥已启用未来或撤销的情况下。
API密钥的选项
您需要的重要信息是您的API密钥和您的秘密密钥。
这两个将在我们的python程序中使用。
使用Python连接到币安客户端
现在您已拥有密钥,您已准备好进行后续步骤。
为了轻松使用和管理BinanceAPI,我们将使用一个Python库。
使用以下命令安装它:
pipinstallpython-binance
#andthenimportitinyourpythonfilewith
frombinance.clientimportClient
然后我们将库导入python文件并连接到Binance客户端。
要连接到客户端,只需定义您的API和密钥变量并执行客户端功能。
frompython-binanceimportClient
api_key="yourapikey"
api_secret="yourapisecretkey"
client=Client(api_key,api_secret)
要验证您的密钥是否正确以及您是否已连接到Binance,请执行此功能以ping服务器。
如果这返回一个空字典,这意味着一切都是正确的,您已准备好进行下一步。
print(client.ping())
#ifit'sreturn"{}"allisgood,you'rereadyfornextstep
使用币安API
现在我们已连接到Binance客户端。
因此,我们可以使用API来获取有关特定资产的数据来回测策略,或者只是执行一些交易。
以下是您可能经常使用的一些有用功能。
获取所有硬币行情和价格
此函数将返回一个列表,其中包含可在平台上交易的所有代币及其价格。
info=client.get_all_tickers()
输出示例:
[{'symbol':'ETHBTC','price':'0.07284200'},{'symbol':'LTCBTC','price':'0.00322200'},{'symbol':'BNBBTC','price':'0.00885500'}........]
为了处理这些数据,我们将使用python库pandas将这些存储在DataFrame中。
这将有助于操纵。
只需使用以下命令在python文档中安装和导入pandas:
pipinstallpandas
我们将只添加几行代码来选择列的数据类型,并在DataFrame中添加一个索引。
importpandasaspddf=pd.DataFrame(client.get_all_tickers())
df=df.set_index("symbol")
df["price"]=df["price"].astype("float")
df.index=df.index.astype("string")print(df)
这是输出表:
symbolpriceETHBTC0.073483
LTCBTC0.003261
BNBBTC0.008944
NEOBTC0.000749
QTUMETH0.003475
......
NUAUD1.227500
NURUB65.840000
REEFTRY0.353900
REEFBIDR521.200000
SHIBDOGE0.000238
要隔离精确资产的特定价格,只需使用:
print(df.loc["BTCUSDT])
输出:
price62228.99
Name:BTCUSDT,dtype:float64
获取历史价格
如果您想使用特定资产的历史价格来回测策略或仅将其绘制在图表上,则此功能至关重要。
我们将在以后的文章中介绍如何回测策略以找到最佳参数。
要执行此函数,我们将指定资产、开始日期、结束日期和时间范围。
时间范围将是两个价格数据之间的差值。
importpandasaspdasset="BTCUSDT"
start="2021.10.1"
end="2021.11.1"
timeframe="1d"
df=pd.DataFrame(assert,timeframe,start,end)
这将返回一个包含2021年10月1日至2021年11月1日之间资产(BTC/USDT)所有数据的表格,时间范围为1天。
为了清理一下并有一个漂亮的表,我建议添加这几行。
这些将选择DataFrame中感兴趣的列并将数据转换为可读格式。
df=pd.DataFrame(client.get_historical_klines(asset,timeframe,start,end))
df=df.iloc[:,:6]
df.columns=["Date","Open","High","Low","Close","Volume"]
df=df.set_index("Date")
df.index=pd.to_datetime(df.index,unit="ms")
df=df.astype("float")
print(df)
您现在有一个漂亮的表格,其中包含日期、开盘价、最高价、最低价、收盘价和执行量。
这些数据对于制定策略和计算一些技术指标至关重要,我们将在不久的将来使用它们。
这是输出的示例:
DateOpenHighLowCloseVolume2021-10-0143820.0148495.0043283.0348141.6166244.874920
2021-10-0248141.6048336.5947430.1847634.9030508.981310
2021-10-0347634.8949228.0847088.0048200.0130825.056010
2021-10-0448200.0149536.1246891.0049224.9446796.493720
2021-10-0549224.9351886.3049022.4051471.9952125.667930
2021-10-0651471.9955750.0050382.4155315.0079877.545181
2021-10-0755315.0055332.3153357.0053785.2254917.377660
2021-10-0853785.2256100.0053617.6153951.4346160.257850
2021-10-0953955.6755489.0053661.6754949.7255177.080130
可视化数据
如果您想轻松地可视化您刚刚从BinanceAPI恢复的DataFrame,这是一种简单的方法:
安装并导入mplfinance库:
pipinstallmplfinance
然后将其导入到您的Python代码中。
然后,您只需使用mpl库绘制DataFrame即可获得漂亮的资产图,如果您想更改图的设计,请参阅mplfinance库的文档。
importmplfinanceasmpl
#InsertthecodeforthecreationoftheDataFramethatweseeearlier
mpl.plot(df,type='candle')
这是输出和漂亮的图表:
mplfinance的简单图
在此选项中,您可以轻松添加一些技术指标,例如一些简单的移动平均线和交易量图:
mpl.plot(df,type='candle',volume=True,mav=7)
带体积的图形和带mplfinance的SMA7
结论
我们已经了解了如何使用Python创建API密钥并连接到BinanceAPI。
我们现在可以轻松获得资产的历史数据来回测策略,我们将在以后的文章中看到如何做到这一点。
按照本指南轻松创建您的交易机器人。
谢谢阅读。
TOP
介绍
创建您的币安密钥
使用Python连接到币安客户端
使用币安API
获取所有硬币行情和价格
获取历史价格
可视化数据
结论
延伸文章資訊
- 1PYTHON Binance API 教學- 1. 介紹- 核心引擎學院
有了它,您可以編寫程式自動擷取數據,並自訂你的條件策略,自動化執行交易。 使用Binance API 的好處. Binance 幣安在加密貨幣(Crypto) 交易方面已成為市場領導者。
- 2【從零開始建立你的交易策略Part1】—資料與idea - Medium
舉例來說,BTC/USDT這個交易對,我們能夠在幣安用API直接取得 ... python-binance,再去幣安的帳號管理內取得你的API key,就能套用進去直接使用囉!
- 3幣安Binance 程式交易API 設定教學 - 量化通
幣安Binance 程式交易API 設定教學– 量化交易虛擬貨幣x MultiCharts. 上篇文章我們講到如何在幣安開戶,並且進行身分驗證。在進行程式交易串接前, ...
- 4Python Binance API 教學- 3. API 函數使用 - 核心引擎學院
- 5如何使用Python 设置和使用Binance API - 桑鸟网
介绍; 创建您的币安API 密钥; 使用Python 连接到币安客户端; 使用币安API; 获取所有硬币价格; 获取历史价格; 可视化数据; 结论 ...