fetch_funding_rate_history是CCXT库中的一个方法,用于获取加密货币交易所的资金费率历史记录。资金费率是交易所为维持永续合约价格与标的资产价格之间的差异而收取的费用。该方法返回一个包含资金费率历史记录的数组,每个元素都是一个字典,包含以下键值对:timestamp、symbol、rate、nextFundingTime和openInterest²。
当你在交易数字货币时,资金费率是一个非常重要的指标。资金费率是一种机制,用于平衡合约交易市场中的多头和空头。如果市场上多头比空头多,那么多头将向空头支付资金费率;反之亦然。资金费率可以帮助你了解市场的情况,以便更好地做出决策。
以币安为例进行初始化
import ccxt
exchange = ccxt.binance({
"apikey":"**************************",
"secret": "**************************",
"timeout": 300000,
"enableRateLimit": True,
})
CCXT库可用于访问多个加密货币交易所的API,包括Binance、Bitfinex、BitMEX、Bittrex、CEX.IO、CoinbasePro、Deribit、FTX、Gate.io、Gemini、HitBTC、Huobi、Kraken、KuCoin、OKEx等。
这里的apikey和secret是你在币安交易所创建API密钥时生成的。timeout参数是指请求超时时间,单位为毫秒。enableRateLimit参数是指是否启用速率限制,即是否启用API调用速率限制
CCXT是一个JavaScript/Python/PHP开发库,用于数字货币的交易与电子商务,支持众多的比特币/以太币/山寨币交易市场和商户API它封装了全世界绝大多数的交易所API,可以让开发者在一个统一的接口下,快速地对接各大交易所,方便快捷地进行数字货币交易。
接下来用到一个名为fetch_funding_rate_history方法
通过接口获取的时间信息采用的是国际标准时间,与app中的时间可能存在时差并不是返回的信息有错。可以通过转化使数据和当前时区app中数据一致。
data = exchange.fetch_funding_rate_history(symbol, limit=3)
if data:
for d in data[::-1]: #data[::-1]反转序列
"""
例如“2023-03-15T06:43:43Z”。 该代码将字母“T”替换为空格“”,将字母“Z”替换为空字符串“”。
这会将日期和时间的格式更改为类似“2023 - 03 - 15 06: 43:43”的格式。 然后,它使用[:-4]
切掉最后四个字符,返回除最后四个字符之外的所有内容。 这会删除时间的秒部分,只留下“2023 - 03 - 15
06: 43”。
"""
stime = d["datetime"].replace("T"," ").replace("Z","")[:-4]
#strptime()此方法将表示日期和时间的字符串转换为日期时间对象,这是一种可以存储日期和时间信息的数据类型。
s_time2 = datetime.datetime.strptime(stime, "%Y-%m-%d %H:%M:%S")
"""
设为东八区时区tzinfo是一个抽象基类,用于表示datetime对象的时区信息。
它有一个方法utcoffset,用于返回datetime对象与UTC时间的偏移量。如果datetime对象没有tzinfo属性,
那么它被认为是无时区的(naive),否则它被认为是有时区的(aware)
"""
cst_tz = pytz.timezone("Asia/Shanghai")
cst_now = s_time2.replace(tzinfo=pytz.utc).astimezone(cst_tz)
cst_now_no_tz = cst_now.replace(tzinfo=None)
time_list.append(cst_now_no_tz)
fundingrate_list.append(d["fundingRate"])
symbol_list.append(d["symbol"])
文章为作者独立观点,不代表股票交易接口观点