Hummingbot 2023 技术路线图¶

本文描述了 Hummingbot 基金会计划在未来一年内实施的技术变更。请注意,这些变更将受 HBOT 治理机制以及 Hummingbot 社区的批准所约束。
从机器人到框架¶
自 2019 年发布以来,开源的 Hummingbot 软件客户端已大幅成长和演进。
最初只是一个仅支持少数交易所的简单做市机器人,如今 Hummingbot 已成为一个功能强大且复杂的代码库,支持 40 多个中心化和去中心化交易所、13 种以上的策略,以及诸如费率预言机、Telegram 集成等辅助模块和其他组件。

Hummingbot 社区拥有数百名每日活跃用户,他们产生数百万的交易量,并为许多代币提供流动性,这支由量化交易员和开发者组成的全球社区,正在使用和维护这一共同拥有的开源代码库,规模虽小但力量强大。
Hummingbot 已从一个简单的做市机器人演变为一个可扩展的软件框架,使你能够构建和执行强大的跨平台算法交易策略。
我们对社区成员利用 Hummingbot 所实现的成果感到惊叹。在 Hummingbot Miner 排行榜上长期位居前列的用户,大多运行的是经过定制的 Hummingbot 分支版本。
因此,Hummingbot 基金会明年的总体目标是扩大能够通过脚本(Scripts)来自定义和创建自己策略的技术型 Hummingbot 用户群体,而不仅仅是运行现成的策略模板。
2023 年技术优先事项

来源:Andy Holmes
1. 扩展主要交易所连接器的功能¶
正如我们在最近的文章中提到的,我们计划利用 HBOT 治理机制,让社区决定每种类型(CEX 和 DEX)中排名第一(黄金级)以及第 2 至第 4 名(白银级)的交易所。
一月份首次投票后,我们将开始集中维护资源于黄金级交易所,将其技术标准提升至黄金级别,并添加交易所 API 支持的所有主要接口,例如:
- 所有订单类型
- 借贷功能
- 存取款功能
- 质押/流动性提供
Hummingbot 基金会将负责维护黄金级交易所,并为其添加上述接口,同时为白银级交易所设立开发者悬赏任务。
2. 优化 Hummingbot 代码库¶
新的治理流程旨在限制我们持续的维护带宽,以便在此方面腾出资源进行改进。投票过程结束后,我们将从代码库中移除未达到最低投票门槛的交易所连接器和策略。
目前,Gateway 模块是作为 Hummingbot 代码仓库中的一个文件夹构建的。我们计划将 Gateway 拆分到另一个独立的仓库中,并通过 git submodule 的方式导入。
此外,由于更简洁的代码库更易于维护,我们将重新评估 Hummingbot 代码库的其他方面,并致力于将整体代码库规模减少 30%。
3. 扩展脚本框架¶
Hummingbot Botcamp 的首批学员已展现出 Hummingbot 的真正潜力:让用户能够使用脚本构建简单而强大的自定义交易策略。在最近的版本中,开源代码库中已有 13 个脚本示例,我们计划每月持续增加更多示例。
明年,我们计划通过以下方式扩展脚本功能:
使脚本能与 Gateway 协同工作
许多用户询问脚本如何使用 Gateway 模块中的 DEX 连接器。我们目前正在开发相关示例,并计划将其添加到接下来的几个版本中。
方向性策略框架
Hummingbot 最初专注于做市策略,但该框架所具备的功能也使其非常适合运行方向性交易策略。虽然你已经可以使用 Hummingbot 构建自定义的方向性策略,但我们将会创建一组模块,用于自动化生成信号、执行交易以及分析方向性策略的表现。
涉及的模块包括:
- 执行机器人: 接收基于本地规则的信号,创建新仓位并控制三个止损机制:(1) 止损,(2) 止盈,(3) 时间限制。执行后,机器人可将交易状态和历史发送至其他目标系统。
- 信号分析:展示机器人执行信号的相关信息的仪表板,例如:胜率/败率、最大回撤、盈亏(P&L)等。
- 信号工厂:一个可选模块,允许用户使用订单簿数据生成信号,并将信号发送至一个代理服务,该服务开放通道供其他机器人订阅并进行交易。我们已收到大量交易员和开发者对这类策略的兴趣咨询。
OHLC 生成器 + 技术指标
许多交易员和 Hummingbot 开发者希望在策略中加入技术指标。
目前,在 Hummingbot 中实现这一功能的唯一方法是使用跟踪型指标(即机器人按每次价格变动收集的数据),但这种方法不适合蜡烛图指标,因为后者需要获取历史数据来构建所需的 OHLC 数据(开盘价、最高价、最低价、收盘价)。
因此,我们将推出 OHLC 生成器项目,允许用户使用多个 OHLC 数据(基于时间或成交量)初始化其策略。此外,我们计划支持第三方库如 ta-lib,以便用户计算和创建各种技术指标。
使脚本可配置化
策略(Strategies) 的优点之一是你可以定义配置 .yml 文件,使用户可以通过 CLI 或编辑文件来更改参数。然而,缺点是策略需要编写大量样板代码,例如编写 start.py 文件以及定义策略的初始化逻辑。
另一方面,脚本(Scripts) 允许用户在一个文件中轻松创建策略,但目前不支持定义配置文件。为了兼顾两者优势,我们计划定义一种新的策略/脚本类型,既能使用配置文件,又能保留现有脚本那种简单、基于 Python 的用户体验。
4. 支持外部模块,如编排管理¶
从社区交流中可以明显看出,用户希望代码库能朝向“多机器人协同管理”和“程序化控制机器人”的方向发展。
目前,与机器人交互的唯一方式是使用 CLI 或 Telegram 集成功能。这些方案不适合需要管理大量机器人的用户,原因如下:
- 如果使用命令行界面(CLI),用户必须访问每个机器人实例并在其中更改参数。
- 如果使用 Telegram 集成,用户必须为每个机器人创建 API 密钥,并将这些密钥添加到每个机器人的配置文件中。
几个月前,社区向两位社区开发者 klpanagi 和 TheHolyRoger 授予了 200 万 HBOT 的奖金,用于构建一个编排模块。
该解决方案包含一个 Web 界面,用户可以通过该界面查看所有正在运行的机器人、每个机器人的性能表现,并能够执行客户端当前支持的所有命令(如启动、停止、更换策略等)。该实现方案包括一个类似 Broker 的消息中间件(如 MQTT、Kafka、RabbitMQ 等),以实现此 Web 应用程序与各个客户端之间的通信。
该团队已提交了一个 草稿拉取请求,社区中的任何人都可以自由测试并在 GitHub 的 PR 中留下反馈!
我们计划保持 Hummingbot 核心代码库的轻量化,并与社区团队合作,支持诸如编排功能之类的外部模块。如果有团队希望设计并维护可与 Hummingbot 配合使用的类似外部组件,请告知我们。
通往 Hummingbot 2.0 的道路

随着 Hummingbot 逐步发展为一个强大的跨平台算法交易策略创建框架,我们认为未来某个时间点应发布一个里程碑式的版本——Hummingbot 2.0,可能在 2023 年底实现。
您认为 Hummingbot 2.0 应该包含哪些功能?
 
                