Skip to content
All library documents

Hummingbot 1.12.0: Bot Orchestration and Hedge Strategy Updates

Article Hummingbot docs

Summary

These release notes describe Hummingbot version 1.12.0, including the first phase of a module for controlling multiple bot instances remotely. The design uses MQTT messaging between bots and a broker, enabling remote commands such as starting or stopping bots, changing strategy configuration and balance limits, and importing configurations. A web interface is described for issuing commands and viewing bot status, heartbeat information, and PnL history. The release also updates the hedge strategy: matching is based on the underlying asset, and hedge pricing uses mid-price instead of VWAP when estimating a limit order price.

Other changes include connector and strategy adjustments following community polls, a new exchange connector and Cosmos chain support, and manual token approval options in Gateway. These notes document product capabilities and implementation changes rather than test results or trading outcomes. They do not establish that orchestration improves returns, nor do they explain the hedge strategy's full rules or quantify the impact of using mid-price. Users still need to account for slippage when placing limit orders.

Key ideas

  • The orchestration module uses MQTT for remote control and monitoring of multiple bot instances.
  • Remote commands include starting, stopping, importing, and configuring bots.
  • The hedge strategy matches pairs by base asset and uses mid-price for hedge price calculation.
  • The release adds token approval options and support for a Cosmos chain base.
  • The notes describe software changes but provide no evidence of trading performance.

Tags

Full text
# Release Notes - Version 1.12.0


# Release Notes - Version 1.12.0

*Released on January 27, 2023*

- **Install via Docker**: [Linux](../installation/hummingbot-client.md) | [Windows](../installation/hummingbot-client.md) | [macOS](../installation/hummingbot-client.md) | [Raspberry Pi](../installation/hummingbot-client.md)

We are very excited to ship the January 2023 Hummingbot release (v1.12.0) today! See below for the highlights in this release.

## Epoch 3 Polls Changes

Recently, we finished the first set of Polls, a new initiative that lets HBOT holders decide how the Foundation allocates its engineering bandwidth and developer bounties across the components in the Hummingbot codebase. Based on the results of the Polls, below are the outline of the changes made initially in this release.  

- Adjusted the documentation pages for each [Exchange Connector](../exchanges/index.md) and [Strategy](../strategies/index.md)
- Removed exchange connectors that did not meet the Minimum Voting Power Threshold from the codebase
- Removed `Fixed Grid` and `Arbitrage` strategies since they did not meet the Minimum Voting Power Threshold
- Running the `connect` command reflects the CEX connector tiers (Gold, Silver, Bronze), also a new command was added `gateway list` to display all available DEX connectors and their tiers

For more details of the Epoch 3 poll results check out this [blog post](https://hummingbot.org/blog/posts/epoch-3-polls-recap/).

## Orchestration Module Phase I

Last year, the community [voted](https://snapshot.org/#/hbot-ip.eth/proposal/0x23e5e5ec459daea8bcb2228b2e18bc081d4b12cb5067d7a9f9efe157cc05ce16) to allocate a bounty to fund development of an orchestration module that lets users control multiples instances of Hummingbot. See [this Notion doc](https://www.notion.so/hummingbot-foundation/Bot-Orchestration-fcac18bd90d74b0ebca9b260617522f0) for an overview of the project.

Phase 1 will provide a clean communication and messaging layer and allow for remote control and monitoring of multi-bot environments in a distributed context. Meaning that bots can "live" on different machines and infrastructures (e.g. having a bot local and another bot on AWS).

To achieve this approach, Phase 1 implements an MQTT layer for bots to connect remotely to message brokers, as a single point of reference, using asynchronous bidirectional communication channels (push/pull). In this architecture, bots can be considered as clients to the overall environment. Bot scaling is seamless and does not require any further setup, anyone can connect any number of bots the a message broker (e.g. RabbitMQ, EMQX etc) without any other dependencies.

**Outline of the features included in Phase I**

- Interface to execute remote commands -
    `Start` , `Stop` , `Import` , `Config strategy`, `Balance` , `Change balance limits`

- All these commands can be called using an unified web application that also receives the following information from the bots - `Heartbeat - Status`, `PNL - History`

- The configuration of the broker in the client should be in the `conf_client.yml` file

See this [page](https://www.notion.so/hummingbot-foundation/Bot-Orchestration-fcac18bd90d74b0ebca9b260617522f0) for a requirements doc for this project and past discussions.

**Thanks to [klpanagi](https://github.com/klpanagi) and [TheHolyRoger](https://github.com/TheHolyRoger) for your work! 🙏**

## `hedge` Strategy Updates

Key changes:

- Add more info to facilitate debugging.
- Refactor the status screen and add more information and log
- Fixed position name referring to True and False to ONE-WAY and HEDGE
- Fixed issues related to typing
- For hedge by amount,
    a. change the matching of pairs from the match by trading pair to match by base asset
    b. change hedge price calculation for hedge by the amount to use mid-price instead of VWAP price.
    i. This is mainly used to calculate the market price to put since hummingbot only allows limit orders. Users can still increase slippage to guarantee their trade is made.

**Thanks to [leastchaos](https://github.com/leastchaos) for this contribution! 🙏**

## New Exchange Connector: CI-EX

Centurion Invest Exchange (CI-EX)'s vision is to bring avant-gardist investment tools and instruments into one platform, bridging the fiat and forex world with cryptocurrency through multiple services. See the CI-EX documentation for more information.

**Thanks to [CoinAlpha](https://coinalpha.com) for this contribution! 🙏**

## New Gateway Chain: Cosmos

This release adds a Cosmos chain base that can be used to add other Cosmos-based chains and connectors like Sifchain.

See the Cosmos documentation for more information.

**Thanks to [pecuniafinance](https://pecuniafinance.com/) for this contribution! 🙏**

## Gateway UX improvements

We've added multiple ways users can approve tokens for spending on Gateway in this pull request

- [6005](https://github.com/hummingbot/hummingbot/pull/6005) Added methods to approve tokens

  - Using the `approve-token` command
  - Approve manually using the DEX interface
  - Approve manually using Etherscan

See the [Gateway Setup](../gateway/installation.md) documentation page for more information on how to approve tokens.

Also removed the auto approval method from Gateway and added the `btc.b` token to the tokenlist

- [5997](https://github.com/hummingbot/hummingbot/pull/5997) Removed auto approval from `gateway_evm_amm`
- [6016](https://github.com/hummingbot/hummingbot/pull/6016) Added the `btc.b` token to the Avalanche tokenlist

## Other Fixes and Updates

- [4922](https://github.com/hummingbot/hummingbot/pull/4922) Removed duplicated property in the `PMM` strategy **Thanks to [takuya29](https://github.com/takuya29) for this fix! 🙏**
- [5499](https://github.com/hummingbot/hummingbot/pull/5499) Fixed issue with the time display in Hummingbot **Thanks to [theomaniac](https://github.com/theomaniac) for this fix! 🙏**
- [5976](https://github.com/hummingbot/hummingbot/pull/5976) Refactored the `Binance perpetual` connector to the latest standards **Thanks to [yancong001](https://github.com/yancong001) for this fix! 🙏**
- [5982](https://github.com/hummingbot/hummingbot/pull/5982) Fixed issue with the custom API feature not working in the `PMM` strategy
- [5999](https://github.com/hummingbot/hummingbot/pull/5999) Fixed issue with the `import` command crashing when given `file_name` is wrong **Thanks to [klpanagi](https://github.com/klpanagi) for this fix! 🙏**
- [6008](https://github.com/hummingbot/hummingbot/pull/6008) Removed the `suspend` and `restore` feature from the `start` and `exit` commands **Thanks to [klpanagi](https://github.com/klpanagi) for this fix! 🙏**
- [6011](https://github.com/hummingbot/hummingbot/pull/6011) Fixed issue with `Gate.io` delay in updating the total balance **Thanks to [supervik](https://github.com/supervik) for this fix! 🙏**

Shown in full with attribution under the source's licence. Licence: Apache-2.0

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.