CCXT是数据货币的量化交易框架,封装了市面上很多交易所的API接口,提供统一的API接口,是数字货币量化交易常用的开发框架。
交易所行情数据主要是K线数据,主要是开盘价、最高价、最低价、收盘价和交易量以及时间。这个四个价格和交易量是我们作为量化交易的基础,也是我们产生CTA交易策略的信号依据。
Bitmex交易所是目前市面上交易量最大的比特币期货交易所,交易量和交易深度非常大,最大提供100倍杠杆,是很多数字量化团队首选的交易所。
获取交易所行情数据的代码如下:
# 引入pandas框架
import pandas as pd
import time
# 引入ccxt框架, 通过pip install ccxt 可以进行安装
#ccxt 的github地址为: https://github.com/ccxt/ccxt
import ccxt
# 初始化bitme交易所对象
bitmex = ccxt.bitmex()
# 请求的candles个数
limit = 500
# 当前时间
current_time =int( time.time()//60 * 60 * 1000) # 毫秒
print(current_time)
# 获取请求开始的时间
since_time = current_time - limit * 60 * 1000
# 'BTC/USD' 比特币对美元的交易对,或者ETH/USD 以太坊对美元的交易对.
data = bitmex.fetch_ohlcv(symbol='BTC/USD', limit=500, since=since_time)
df = pd.DataFrame(data)
df = df.rename(columns={0: 'open_time', 1: 'open', 2: 'high', 3: 'low', 4: 'close', 5: 'volume'})
# 时间转换成北京时间
df['open_time'] = pd.to_datetime(df['open_time'], unit='ms') + pd.Timedelta(hours=8)
# 设置index
df = df.set_index('open_time', drop=True)
# 保存成csv文件
df.to_csv('bitmex_data.csv') # comma seperate Value
print(df)