输入/搜索内容
内置函数
结构体
内置变量与常量
通用约定
交易所
能力矩阵
中心化交易所
AscendEx
Backpack
BigONE
币安
Bitfinex
bitFlyer
Bitget
Bithumb
Bitstamp
Bybit
Coincheck
Coinone
CoinW
Crypto.com
DeepCoin
Deribit
DigiFinex
Gate
Gemini
HashKey
HitBTC
火币
Korbit
Kraken
库币
LBank
MEXC
OKX
Poloniex
Upbit
WEEX
WOO X
Zaif
去中心化交易所
预测市场
证券与期货
链上与自定义接入

币本位(反向)永续与交割合约、USDC线性永续与交割合约、差价组合合约(future_combo),以及期权与组合期权。

名称与配置

exchange.GetName():Futures_Deribit(期货)。

配置项必填
Access Key是
Secret Key是

交易对与合约代码

交易对示例:BTC_USD、ETH_USD、BTC_USDC、XRP_USDC

计价币决定合约类型:BTC_USD、ETH_USD为币本位(反向)合约,原生代码形如BTC-PERPETUAL;BTC_USDC、XRP_USDC等为USDC线性合约,原生代码形如BTC_USDC-PERPETUAL(Deribit的线性合约代码本身带下划线)。

合约代码说明
swap永续合约。
today按日到期的交割合约中最近到期的一张(Deribit的日合约)。
tomorrow按日到期的交割合约中第二近的一张。
this_week周合约中最近到期的一张。
next_week周合约中第二近的一张。
month月度合约(含季月)中最近到期的一张。
quarter3、6、9、12月到期的月度合约中最近的一张,但跳过month已指向的那张。
next_quarter同上季月序列中的第二张。
third_quarter同上季月序列中的第三张。
fourth_quarter同上季月序列中的第四张。

交割合约代码不在本地按日期推算,而是按Deribit合约列表的到期周期(日、周、月)和到期时间排序选取(列表缓存10分钟);该周期没有挂出对应序号的合约时报错。

差价组合合约(future_combo)写成"远期代码,近期代码",两个代码以英文逗号分隔,例如"quarter,swap"、"next_week,swap"、"next_quarter,this_week"、"month,next_week";远期一腿必须是交割代码,近期一腿可以是交割代码或swap,对应Deribit的BTC-FS-25DEC26_PERP一类组合合约。组合合约只用于币本位交易对(BTC_USD、ETH_USD),在USDC等线性交易对上写组合代码会报错。

原生合约代码示例:BTC-30JUL26、BTC_USDC-30JUL26、BTC-FS-25DEC26_PERP

任何交割或组合合约都可以直接写Deribit的原生代码(日期为日月年缩写),超出上述代码范围的远期合约就用这种写法,例如交易对BTC_USD、合约代码BTC-30JUL26。查询结果中映射不回上述代码的合约也以原生代码返回。

函数支持差异

不支持(调用时报错并返回空值):exchange.SetMarginLevel。

以回退方式支持:

  • exchange.GetRecords:原生周期为1分钟、3分钟、5分钟、10分钟、15分钟、30分钟、1小时、2小时、3小时、6小时、12小时、1天;其它周期由托管者合成。

保证金、账户与模拟盘

保证金模式:Deribit按币种的保证金账户统一计算保证金,没有逐合约的保证金模式和杠杆设置:exchange.SetMarginLevel()不支持,exchange.IO("cross", ...)报错。exchange.GetPositions()的MarginLevel取Deribit持仓返回的杠杆,期权持仓为0;Margin为初始保证金与维持保证金之和。

持仓模式:每个合约只有一个净持仓(单向持仓),exchange.IO("dual", ...)报错。

账户:exchange.GetAssets()按币种(BTC、ETH、USDC、USDT等)分别返回余额,各币种以自身计价,不折算汇总。

模拟盘:配置里没有模拟盘选项。使用Deribit测试网时,填入测试网的API Key,并在策略开始时调用exchange.IO("base", "https://test.deribit.com")切换接口地址。

期权

设置期权合约后即可获取行情、下单、撤单、查询持仓,BTC、ETH期权的下单量单位是币数。

  • exchange.GetMarkets()不传参数时列出全部期权与组合期权;传入期权品种时只查期权。
  • exchange.GetTickers()只返回期货(永续、交割),不含期权和组合合约,期权行情用exchange.GetTicker()逐个获取。
  • 期权不支持exchange.GetFundings()。
  • 查询范围USD.option为BTC、ETH期权,USDC.option为USDC结算期权,均包含组合期权。

期权代码示例:BTC-25DEC26-100000-C、SOL_USDC-25DEC26-148-C、XRP_USDC-27NOV26-2d3-P、BTC_USDC-CS-11OCT26-82500_83000

期权代码为Deribit原生代码:标的-到期日(日月年缩写)-行权价-C/P,C为看涨、P为看跌,行权价的小数点写作d(如2d3即2.3)。BTC、ETH期权以币结算,交易对设置为BTC_USD、ETH_USD,完整品种代码形如BTC_USD.BTC-25DEC26-100000-C;USDC结算的期权代码自带_USDC,交易对设置为对应的_USDC交易对,例如SOL_USDC.SOL_USDC-25DEC26-148-C。组合期权(如BTC-CS-6SEP24-57000_57500、BTC-PCAL-20SEP24_13SEP24-55000)同样直接写原生代码。

注意事项
  • 下单量单位:币本位(反向)合约是USD金额(BTC-PERPETUAL最小10且为10的倍数),USDC线性合约与期权是币数。exchange.GetMarkets()的CtVal恒为1,最小下单量与精度以MinQty、AmountPrecision为准。
  • exchange.GetFundings()传具体永续合约品种(如BTC_USD.swap)返回该合约当前一条;不传参数时按当前合约的计价币查询该计价币的全部永续(如USD.swap为BTC、ETH币本位永续,USDC.swap为全部USDC线性永续),也可直接传这类范围。费率取Deribit按8小时折算的current_interest。Deribit没有批量资金费率接口,范围查询每个永续发一次请求,USDC.swap有一百多个永续、耗时十几秒,频繁调用请传具体品种。交割合约、期权与组合合约没有资金费率,传入会报错。
  • 条件单只支持止盈、止损单,不支持OCO;支持exchange.ModifyConditionOrder()。触发价默认按最新成交价,可在附加参数中传trigger(mark_price、index_price)改用标记价格或指数价格。
  • exchange.GetHistoryOrders()、exchange.GetHistoryConditionOrders()按品种查询,不支持since参数(传了会报错),返回最近的记录。
  • 范围查询USD.swap、USD.futures等的USD覆盖BTC、ETH币本位合约;差价组合合约的范围是USD.futures_combo。当前合约为组合合约时,不传参数默认USD.futures_combo(含以原生代码返回的远月组合);USD.futures不含组合合约。