跳转至内容

在 Derive 上使用 Hummingbot 运行交易机器人

cover

欢迎来到新的 Derive Hummingbot 连接器指南,这是您使用 Hummingbot 集成和在 Derive 去中心化衍生品平台交易的综合资源。Derive 由创新的 Derive Chain 提供支持,并基于 OP Stack 构建,可实现高吞吐量和低成本结算,通过无缝入职、强大的自托管以及期权、永续合约和结构化产品的高级风险管理重新定义链上交易。

在本指南中,我们将引导您将 Derive 账户连接到 Hummingbot 并设置自动化交易机器人以利用这些前沿功能。让我们开始吧!

添加资金并获取 Derive API 密钥

在开始使用 Hummingbot 在 Derive 上交易之前,您需要设置钱包,将其连接到 Derive 平台,存入资金并配置 API 访问。本节将引导您完成这些准备账户以进行自动化交易的基本步骤。

Derive 支持多种钱包,如 Rabby Wallet、Coinbase 钱包、Ledger 等,但本指南中我们将使用MetaMask,这是最流行的以太坊钱包之一。MetaMask 允许用户通过浏览器扩展或移动应用与 Derive 进行交互。

安装 MetaMask

确保已安装并设置 MetaMask

如果您还没有,请下载并安装 MetaMask 浏览器扩展或移动应用。创建新钱包或导入现有钱包。

将 MetaMask 钱包连接到 Derive

打开您的网络浏览器并前往 https://derive.xyz/。在 Derive 主页上,点击 "连接钱包" 按钮,通常位于页面右上角。

image

从可用选项列表中选择 "MetaMask"

image

MetaMask 将打开一个弹出窗口,要求您确认连接。

image

钱包连接后,Derive 将提示您签署一条消息以验证您是钱包的所有者。

image image

如果您已阅读并同意条款,请勾选两个复选框,然后点击"同意并继续"

image

充值资金

钱包连接后,您需要将代币存入您的 Derive 账户。存入 USDC、ETH、BTC 和其他代币以开始交易期权和永续合约。确保您有足够的余额来覆盖至少最低交易金额 + 手续费。

image

注册会话密钥

连接后,点击页面左侧的开发者链接。如果您没有看到,请返回主页,然后点击开发者。点击注册会话密钥,然后输入您的 Metamask 钱包的公钥地址。您需要在 Metamask 中确认签名请求。

image image

完成此操作后,请注意几件事,我们需要这些来连接 Hummingbot,第一件事是 Derive 钱包地址,第二件事是 子账户 ID

image

获取 Metamask 钱包私钥

  • 点击您账户旁边的三个点,然后点击账户详情

  • 在账户详情页面,点击"显示私钥"

  • 输入您的钱包密码并点击"确认"

  • 点击Hold以显示私钥来展示您的私钥

image

一旦可用,请复制私钥并安全地存储在安全位置。您稍后需要此密钥来连接到Hummingbot。

使用Derive与Hummingbot客户端

仪表板兼容性通知

由于Hummingbot库中的依赖冲突,Derive目前无法通过Hummingbot仪表板使用。在解决此问题之前,请按照以下说明使用独立命令行客户端(Docker或源代码安装)设置Derive。

以下说明将引导您将Derive凭据添加到独立的Hummingbot命令行客户端。

Docker设置

克隆Hummingbot仓库

git clone https://github.com/hummingbot/hummingbot

编辑docker-compose.yml

导航到hummingbot项目目录并使用VSCode等IDE或文本编辑器打开docker-compose.yml文件。

更新镜像行

hummingbot服务下找到以image:开头的行。根据您想要最新稳定版还是开发版进行修改:

对于最新稳定版:

image: hummingbot/hummingbot:latest

对于开发版:

image: hummingbot/hummingbot:development

启动Docker容器

更新镜像行后,克隆仓库并启动Hummingbot Docker容器:

cd hummingbotdocker compose up -d

附加到Hummingbot容器

Hummingbot现在应该在后台运行。使用以下命令附加到正在运行的实例:

docker attach hummingbot

继续添加API密钥

Hummingbot运行后,请按照下面"向Hummingbot添加密钥"部分的步骤连接您的Derive账户。

源代码设置

克隆仓库

git clone https://github.com/hummingbot/hummingbot.git

运行安装

克隆仓库后,通过运行install命令安装Hummingbot依赖项:

cd hummingbot./install

激活Conda环境并编译

激活conda环境并编译Hummingbot:

conda activate hummingbot./compile

启动Hummingbot

运行以下命令来启动Hummingbot:

./start

向Hummingbot添加密钥

要将Hummingbot连接到Derive的永续市场,您需要Derive钱包地址、子账户ID和您的Metamask钱包私钥。

在Hummingbot客户端内,运行以下命令开始连接过程:

connect derive_perpetual

您将被提示输入您的凭据:

 输入您的DerivePerpetual钱包地址 >>> 输入您的钱包私钥 >>> 输入您的子账户ID >>>

如果凭据正确,您将看到以下确认消息:

您现在已经连接到 derive_perpetual

要验证连接,请在 Hummingbot 客户端内运行 balance 命令,检查显示的余额是否与您的 Derive 账户匹配:

balance

image

运行策略

在这个示例中,我们将使用 bollinger_v1 方向性交易控制器。

创建控制器配置

从 Hummingbot 客户端内运行 create 命令来配置控制器:

create --controller-config directional_trading.bollinger_v1

创建配置:

系统将提示您提供各种配置参数。请根据您的偏好自由调整设置:

  • 选择 derive_perpetual 作为您想要交易的交易所名称。
输入用于交易的报价资产总额 >>>输入要交易的交易所名称 >>> derive_perpetual输入要交易的交易对 >>>输入每边的最大执行器数量 >>>设置用于交易的杠杆 >>>输入止损 >>>输入止盈 >>>输入时间限制(秒) >>>输入止盈的订单类型 >>>输入追踪止损作为 activation_price, trailing delta >>>
  • 当提示输入带有蜡烛图数据的连接器时,请确保选择一个不同于 derive 的连接器,因为它目前不支持蜡烛图数据源。

输入蜡烛图数据的连接器,留空则使用与连接器相同的交易所:输入蜡烛图数据的交易对,留空则使用与连接器相同的交易对:
image

  • 配置完成后,为控制器配置命名或使用默认名称:

image

创建脚本配置

  • 接下来我们必须为 v2_with_controllers 通用脚本创建脚本配置来运行我们的控制器配置。

  • 要创建脚本配置,请使用以下命令:

create --script-config v2_with_controllers
  • 确保输入我们之前创建的控制器配置的文件名

image

  • 最后,为脚本配置命名

image

启动策略

要启动策略,请使用以下命令。注意 - 如果您的配置文件有不同的文件名,则替换下面的配置名称

start --script v2_with_controllers.py --conf conf_v2_with_controllers_1.yml

image

监控策略

您可以通过检查日志中的任何错误并运行 status 命令来查看当前订单状态来监控您的机器人。如果需要,您可以关闭日志窗格以获得更清晰的状态视图。

该策略设计为在价格接近布林带下轨时下达买入订单(表示超卖状态),在价格达到布林带上轨时下达卖出订单(表示超买状态)。由于机器人在执行交易前会等待有利条件,因此您可能需要等待一段时间才能看到它下达首个订单。

状态

image

停止机器人

要停止机器人,请使用stop命令。请注意,机器人需要一些时间来创建订单以平仓。

stop

image

有关V2策略或其他可用控制器的更多详细信息,请查看V2策略文档的控制器部分。请注意,由于Derive仅支持单向模式,某些使用对冲模式的V2策略可能无法与该控制器正确配合使用。

已知问题

  • Derive速率限制 - 系统使用固定窗口算法强制执行速率限制,每5秒补充一次请求配额以维持系统稳定性。做市商可通过联系支持团队申请获得更高的速率限制。

附加信息:杠杆

在使用永续期货交易所时,杠杆是指您的头寸规模相对于您提供的抵押品的大小。具体计算方式如下:

\[ \text{杠杆} = \frac{\text{abs(名义价值)}}{\text{抵押品(净期权)}} \]

有关Derive上如何计算杠杆的详细信息,请参见其官方杠杆文档