币安 API 怎么开 第一行 Python 代码看行情
API 让你用代码自动化交易本文教你创建 API Key 写第一行 Python 调币安行情。
API 是量化和自动化的钥匙。先在 币安官网 注册,下载 币安官方APP(iOS 见 iOS安装教程)。
API 是什么
Application Programming Interface。让你的程序代替你的手指调用币安所有功能:
- 查行情
- 下单
- 撤单
- 查持仓
- 转账(受限)
创建 API Key
步骤
- 登录币安网页
- 头像 → API 管理
- 创建新 API Key
- 选系统生成 API → 输入 2FA → 命名
- 完成
会生成两个东西:
- API Key(公开标识)
- Secret Key(私密签名)
Secret Key 只显示一次,必须保存。
权限设置
每个 Key 可以选权限:
- 启用现货 + 杠杆交易
- 启用合约
- 启用提币
- 启用杠杆借币
新手最低权限:只开"读"。
不要给提币权限。提币权限即便在 IP 白名单内也是高风险。
IP 白名单
强烈建议绑定固定 IP。只有从这个 IP 来的请求才生效。
家里 / 公司固定 IP 适合。动态 IP 用 VPS 中转。
第一行 Python
import requests
r = requests.get('https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT')
print(r.json())
输出:{'symbol': 'BTCUSDT', 'price': '63500.5'}
不需要 API Key 的公开行情接口最简单。
鉴权请求
下单等私有接口需要签名。Python:
import time, hmac, hashlib, requests
api_key = 'YOUR_KEY'
secret = 'YOUR_SECRET'
ts = int(time.time() * 1000)
params = f'symbol=BTCUSDT×tamp={ts}'
sig = hmac.new(secret.encode(), params.encode(), hashlib.sha256).hexdigest()
url = f'https://api.binance.com/api/v3/account?{params}&signature={sig}'
r = requests.get(url, headers={'X-MBX-APIKEY': api_key})
print(r.json())
返回你的现货账户余额。
常用 Python 库
不要从零开始:
python-binance:最流行的 SDKccxt:通用多交易所库binance-connector-python:官方 SDK
from binance.client import Client
client = Client(api_key, secret)
print(client.get_account())
代码量减半。
限速
币安 API 有限速:
- 公开行情:1200 weight/min
- 私有:120 weight/10s
超限会被临时封 IP。
权重不同接口不同。下单 1 次 = 1 weight,查持仓也是。
常见错误
1. -1021 时间戳错误
服务器时间与你电脑差 > 5 秒。同步系统时间。
2. -2010 余额不够
下单时余额不够。检查账户。
3. -2011 撤单失败
订单已成交或不存在。
4. -1003 IP 限速
请求过频。降速。
REST vs WebSocket
| 用途 | REST | WebSocket |
|---|---|---|
| 一次性请求 | 是 | 否 |
| 实时数据流 | 否 | 是 |
| K 线快照 | 是 | 否 |
| 行情推送 | 否 | 是 |
量化策略多数 REST + WS 混用。
WebSocket 例子
import websocket
ws = websocket.WebSocketApp('wss://stream.binance.com:9443/ws/btcusdt@trade',
on_message=lambda ws, msg: print(msg))
ws.run_forever()
每一笔 BTC/USDT 成交都推送给你。
测试网
币安提供 Testnet:
- testnet.binance.vision(现货)
- testnet.binancefuture.com(合约)
用假币练习不怕亏。新手必去先玩。
API 风控
1. 每个 Key 单独管理
不同策略不同 Key。出问题只删那一个。
2. 备份 + 加密
Secret Key 用密码管理器存。不要明文写代码。
3. 永远不开提币
除非真有自动提币需求且想清楚了。
4. 审计
每周看一次 API 列表,删掉不用的 Key。
API 用途
- 量化策略(自动开平仓)
- 监控(资产变化推送)
- 自动套利
- 数据分析(拉历史 K 线)
- 跟单(API 复制别人交易)
- 自定义指标 / 提醒
学习路径
- 先在 testnet 跑 Hello World
- 用 SDK 拉行情
- 写一个简单的"价格 < X 通知"脚本
- 实盘小资金小杠杆试一个简单策略
- 优化 + 增加风控
- 投入正经资金
常见问题
问:API 要 KYC 吗? 答:账户 KYC 即可。API 本身不需要再认证。
问:API 收手续费吗? 答:跟普通下单一样的费率。VIP 等级照样适用。
问:API 能用 BNB 抵扣吗? 答:可以。账户级开关。
问:能用 API 替代 APP 完全自动化吗? 答:可以。但你必须懂代码 + 风控。
问:API 会被监控吗? 答:交易数据当然在币安系统里。但你的代码逻辑只在你的服务器。
延伸阅读
API 是程序员的杀手锏。从 testnet 开始练,6 个月后你就能写出自己的小策略。