Hummingbot 2023 技术路线图¶
本文描述了 Hummingbot 基金会计划在未来一年内实施的技术变更。请注意,这些变更将受 HBOT 治理和 Hummingbot 社区的批准。
从机器人到框架¶
自 2019 年发布以来,开源 Hummingbot 软件客户端已经大幅发展和演进。
最初只是一个仅支持少数交易所的简单做市机器人,如今 Hummingbot 已经成为一个强大而复杂的代码库,具有连接到 40 多个中心化和去中心化交易所的连接器、13 多种策略以及 Rate Oracle、Telegram 集成等辅助模块。
拥有数百名日活跃用户,他们 产生数百万的交易量 并 为许多代币提供流动性, Hummingbot 社区是一个虽小却强大的全球量化交易员和开发者团队,他们使用和维护这个共享的社区拥有的代码库。
Hummingbot 已从一个简单的做市机器人演进为一个可扩展的软件框架,使您可以构建和执行强大的跨场所算法交易策略。
我们对社区能够用 Hummingbot 构建的内容感到惊讶。在 Hummingbot Miner 排行榜上持续排名前列的用户大多运行的是定制的 Hummingbot 分支。
因此,Hummingbot 基金会明年的总体目标是增加能够通过 Scripts 定制和创建自己策略的技术型 Hummingbot 用户数量,而不是仅仅运行现成的策略模板。
2023 年技术优先事项
来源: Andy Holmes
1. 扩展顶级交易所连接器的功能¶
正如我们在 最近的文章 中提到的,我们计划利用 HBOT 治理机制让社区决定每种类型交易所(CEX 和 DEX)的顶级 1 个(黄金)和 2-4 个(白银)交易所。
在 1 月的首次投票后,我们将开始专注于黄金交易所的维护工作,将它们在技术上提升到黄金标准,同时为交易所 API 中支持的所有主要端点添加支持,例如:
- 所有订单类型
- 借贷
- 存取款
- 质押/流动性提供
Hummingbot 基金会将维护黄金交易所并向其中添加上述端点,同时为白银交易所创建开发者赏金。
2. 优化 Hummingbot 代码库¶
新的治理流程旨在限制我们持续的维护带宽,以便我们有能力建设改进。在投票过程之后,我们将从代码库中移除不满足最低投票阈值的交易所连接器和策略。
目前,Gateway 模块在 Hummingbot 代码仓库中以文件夹形式构建。我们计划将 Gateway 移至另一个仓库并使用 git submodule 导入它。
此外,由于更简单的代码库更容易维护,我们将重新评估 Hummingbot 代码库的其他方面,并力求将整体代码库规模减少 30%。
3. 扩展 Scripts 框架¶
Hummingbot Botcamp 的首批参与者表明,Hummingbot 的真正强大之处在于允许人们使用 Scripts 构建简单而强大的自定义交易策略。在最近的版本中,开源代码库中现在已有 13 个 Script 示例,我们计划每月增加更多。
明年,我们计划通过以下方式扩展 Scripts:
使 Scripts 能够与 Gateway 配合工作
许多用户询问 Scripts 如何使用 Gateway 模块中的 DEX 连接器。我们目前正在开发示例,并计划在接下来的几个版本中添加这些示例。
方向性框架
Hummingbot 最初专注于做市策略,但该框架提供的功能使其非常适合运行方向性策略。虽然您已经可以使用 Hummingbot 构建自定义的方向性策略,但我们将创建一套模块来自动化方向性交易策略的信号生成、执行和分析。
涉及的模块有:
- 执行机器人: 接收基于本地规则的信号的机器人,创建新仓位并控制三个障碍:(1)止损,(2)止盈和(3)时间限制。执行后,机器人可以将交易状态和历史记录发送到其他目的地。
- 信号分析: 显示与机器人执行的信号相关的信息的仪表板,如:盈亏比率、最大回撤、盈亏等。
- 信号工厂: 可选模块,允许用户使用订单簿数据生成信号,并将信号发送到开启频道的代理,其他机器人可以订阅这些频道并进行交易。我们已收到许多对这类策略感兴趣的交易者和开发者的询问。
OHLC 生成器 + 指标
许多交易者和 Hummingbot 开发者都希望在他们的策略中添加指标。
目前,使用 Hummingbot 实现此目标的唯一方法是使用滞后指标(机器人收集的每跳价格数据),但这种解决方案不适合蜡烛图指标,因为您必须获取历史数据来构建所需的 OHLC。
这就是为什么其中一个项目将是 OHLC 生成器,它将允许用户使用多个 OHLC(基于时间或成交量)初始化他们的策略。此外,我们计划支持第三方库如 ta-lib,以便用户可以计算和创建各种指标。
使脚本可配置
Strategies 的优点之一是您可以定义配置 .yml
文件,允许用户通过 CLI 或编辑文件来更改参数。然而,缺点是 Strategies 需要您添加大量样板代码,例如编写 start.py
文件和定义策略的初始化。
另一方面,Scripts 允许用户在一个文件中轻松创建策略,但目前不允许用户定义配置文件。为了两全其美,我们计划定义一个新的 Strategies/Scripts 类,它将使用配置文件,并具有现有 Scripts 简单的基于 Python 的用户体验。
4. 支持外部模块如编排¶
从社区会议中可以明显看出,协调多个机器人和以编程方式控制机器人是他们希望代码库扩展的方向。
目前,与机器人交互的唯一方法是使用 CLI 或 Telegram 集成。这些解决方案不适合想要管理大量机器人的用户,因为:
- 如果使用 CLI,用户必须访问每个机器人实例并在那里更改参数。
- 如果使用 Telegram 集成,用户必须为每个机器人创建 API 密钥,并将这些密钥添加到每个机器人的 conf 文件中。
几个月前,社区向两位社区开发者 klpanagi 和 TheHolyRoger 授予了一笔 200 万 HBOT 悬赏,用于构建一个编排模块。
该提案包括一个 Web 界面,用户可以在其中查看所有正在运行的机器人、每个机器人的性能,并且还能够执行客户端当前支持的所有命令(启动、停止、更改策略等)。该实现包括一个类似 Broker 的组件(MQTT、Kafka、RabitMQ 等),它将允许此 Web 应用程序与每个客户端之间进行通信。
团队已提交了一个 草稿拉取请求,社区中的任何人都可以自由测试并在 Github PR 上留下反馈!
我们计划保持核心 Hummingbot 代码库的轻量级,并与社区团队合作以支持编排等外部模块。如果有团队希望设计并维护与 Hummingbot 协同工作的类似外部组件,请告知我们。
通往 Hummingbot 2.0 的道路
来源: Karsten Wurth
随着 Hummingbot 演变为一个强大的跨平台算法交易策略创建框架,我们相信在未来某个时候应该有一个里程碑版本 Hummingbot 2.0,可能在 2023 年底。
您认为 Hummingbot 2.0 应该包含哪些功能?