Hummingbot 2.2.0: Arbitrage, Grid Trading, and Volume Backtesting
Summary
Hummingbot version 2.2.0 adds two trading controllers to its V2 framework. The Arbitrage controller is designed to trade price differences between spot venues, including automated market makers and central limit order books. It supports configurable exchange or oracle price feeds, spread thresholds, position limits, and cooldowns. It can also work with spot and perpetual markets. A separate GridStrike controller manages orders across configured price ranges and can adjust those ranges using current market data.
The release also adds Solana and Jupiter connectivity, Hyperliquid spot support, and reports improvements to the backtesting engine, candle processing, and connector reliability. These notes describe software capabilities and maintenance changes rather than trading results. They give no performance data, validation methodology, transaction cost estimates, or evidence that the controllers are profitable. Traders would need to evaluate execution, fees, market conditions, and risk controls for their own venues and strategies.
Key ideas
- The Arbitrage controller detects spreads between two supported spot venues and manages order execution.
- Its configuration includes price sources, minimum spreads, position limits, and cooldown periods.
- The GridStrike controller places and manages orders within configurable price ranges.
- Solana and Jupiter support enables strategies that connect those venues with other supported exchanges.
- The release reports backtesting and data-processing improvements but provides no evidence of strategy profitability.
Tags
Full text
# Hummingbot v2.2.0 Release Notes
# Hummingbot v2.2.0 Release Notes
*Released on December 26, 2024*
| Repository | Description | GitHub Release | DockerHub Release |
|------------|-------------|----------------|-------------------|
| [Hummingbot](https://github.com/hummingbot/hummingbot) | Core Client | [`v2.2.0`](https://github.com/hummingbot/hummingbot/releases/tag/v2.2.0) | [`version-2.2.0`](https://hub.docker.com/r/hummingbot/hummingbot/tags?name=version-2.2.0) |
| [Gateway](https://github.com/hummingbot/gateway) | DEX Middleware | [`v2.2.0`](https://github.com/hummingbot/gateway/releases/tag/v2.2.0) | [`version-2.2.0`](https://hub.docker.com/r/hummingbot/gateway/tags?name=version-2.2.0) |
!!! note
The [Dashboard](https://github.com/hummingbot/dashboard), [Backend-API](https://github.com/hummingbot/backend-api), and [Deploy](https://github.com/hummingbot/deploy) repositories will now follow a continuous deployment model without fixed version releases. This approach allows for more frequent updates and improved maintainability of these components.
## How to Update
### Docker
Re-run the [Deploy](https://github.com/hummingbot/deploy) setup script:
```bash
git clone https://github.com/hummingbot/deploy.git
cd deploy
bash setup.sh
```
For individual images, exit running containers, pull the latest images, and restart:
```bash
docker compose down
docker pull hummingbot/hummingbot:latest
docker compose up -d
```
### Source
Update the branches of each repo to this release by running:
```bash
git pull origin master # Hummingbot
git pull origin main # Gateway
```
Afterwards, follow the instructions to re-install dependencies and compile the codebase for each repository. See [Install Hummingbot from Source](../installation/hummingbot-client.md) and [Install Gateway from Source](../gateway/installation.md).
## Release Highlights
### New Solana and Jupiter DEX Connectors
In this release, [Hummingbot #7334](https://github.com/hummingbot/hummingbot/pull/7334) & [Gateway #374](https://github.com/hummingbot/gateway/pull/374) introduces new connectors for the Solana blockchain and the Jupiter DEX aggregator to the Gateway middleware, along with a Solana class in the Hummingbot client to interface with them.
Users can now use the Arbitrage Controller (see below) or the [AMM arbitrage](../strategies/v1-strategies/amm-arbitrage.md) V1 strategy to run arbitrage strategies between Jupiter and other Hummingbot-supported exchanges. See the [Jupiter](../exchanges/gateway/jupiter.md) documentation for more information.
### New Hyperliquid Spot Connector
This release adds support for Hyperliquid spot markets in [Hummingbot #7282](https://github.com/hummingbot/hummingbot/pull/7282), funded by the Hyperliquid Connector Pot voted by the HBOT token holders in quarterly polls. See the [Hyperliquid](../exchanges/hyperliquid.md) documentation for more information.
**Thanks to [isreallee82](https://github.com/isreallee82) for this contribution! 🙏**
### New Arbitrage Controller
The new **Arbitrage** controller is a revamped V2 version of our legacy arbitrage strategies. It enables high-performance arbitrage trading between any two spot exchanges (AMM or CLOB), using the new `ArbitrageExecutor` component to manage order execution.
The strategy includes several key features:
- Configurable price feeds from both exchange rates and external oracles
- Automatic spread detection and order placement
- Support for both spot and perpetual markets
- Comprehensive risk management capabilities including minimum spread requirements, maximum position sizes, and cooldown periods between trades
- The enhanced rate oracle system allows flexible sourcing of price data from multiple feeds to ensure reliable arbitrage opportunities
### New GridStrike Controller
Similarly, rhe new **GridStrike** Strategy V2 controller introduces a classic grid strategy to the V2 framework that allows users to create and maintain a grid of orders within specified price ranges, and uses the new `GridExecutor` component to manage them.
The strategy includes several key features:
- Automatic grid range adjustment based on real-time market data
- Visual configuration tools for viewing and modifying grid ranges on charts
- Support for up to 5 independent grid ranges with customizable settings
- Comprehensive risk management capabilities including price bounds, time limits, and minimum spread requirements
Pull Requests: [Hummingbot #7285](https://github.com/hummingbot/hummingbot/pull/7285) | [Backend-API #46](https://github.com/hummingbot/backend-api/pull/46) | [Dashboard #190](https://github.com/hummingbot/dashboard/pull/190).
### Improvements to Existing Exchange Connectors
- **Dexalot**: The `dexalot` connector has been upgraded to the latest API version in [#7291](https://github.com/hummingbot/hummingbot/pull/7291). **Thanks to [yancong001](https://github.com/yancong001) for this contribution! 🙏**
- **Bybit**: Improved the `bybit_perpetual` balance fetching in [#7279](https://github.com/hummingbot/hummingbot/pull/7279). **Thanks to [tomasgaudino](https://github.com/tomasgaudino) for this fix! 🙏**
- **Binance**: Fixed the `binance` websocket reconnection issue in [#7310](https://github.com/hummingbot/hummingbot/pull/7310). **Thanks to [komposter](https://github.com/komposter) for this fix! 🙏**
- **Hyperliquid**: The issue with the `hyperliquid` auth exemption for public data has been fixed in [#7328](https://github.com/hummingbot/hummingbot/pull/7328). **Thanks to [isreallee82](https://github.com/isreallee82) for this fix! 🙏**
### General Improvements
- **Enhanced Backtesting Engine**: Improved simulation accuracy and performance [Hummingbot #7307](https://github.com/hummingbot/hummingbot/pull/7307)
- **Performance Observability**: Backend-API endpoints were added to enable better performance monitoring [Backend-API #36](https://github.com/hummingbot/backend-api/pull/36).
- **Better Candles Data Processing**: Added improvements that enhanced the processing of candlestick data in [#7276](https://github.com/hummingbot/hummingbot/pull/7276).
- **Better `status` Output for Directional Script**: Improved the `status` output for the sample directional script in [#7341](https://github.com/hummingbot/hummingbot/pull/7341).
### Other Updates
**Hummingbot**
- [#7289](https://github.com/hummingbot/hummingbot/pull/7289) - Fixed hard coded symbols in `simple_xemm` script
- [#7319](https://github.com/hummingbot/hummingbot/pull/7319) - Added gas variables to `amm-arb` strategy
**Gateway**
- [#370](https://github.com/hummingbot/gateway/pull/370) - Fixed poll route for approvals on `base` network
- [#371](https://github.com/hummingbot/gateway/pull/371) - Improved `pancakeSwap` V2 pool fetching
**Backend-API**
- [#36](https://github.com/hummingbot/backend-api/pull/36) - Added performance page endpoints **Thanks to [tomasgaudino](https://github.com/tomasgaudino) for this fix! 🙏**
- [#37](https://github.com/hummingbot/backend-api/pull/37) - Enhanced observability and security
- [#47](https://github.com/hummingbot/backend-api/pull/47) - Added manage accounts router **Thanks to [tomasgaudino](https://github.com/tomasgaudino) for this fix! 🙏**
- [#49](https://github.com/hummingbot/backend-api/pull/49) - Used new backtesting interface
**Dashboard**
- [#184](https://github.com/hummingbot/dashboard/pull/184) - Added Strategy Performance v2 page **Thanks to [tomasgaudino](https://github.com/tomasgaudino) for this fix! 🙏**
- [#188](https://github.com/hummingbot/dashboard/pull/188) - Added Backend API security and minor fixes
- [#215](https://github.com/hummingbot/dashboard/pull/215) - Fixed missing executor handling in Performance page **Thanks to [tomasgaudino](https://github.com/tomasgaudino) for this fix! 🙏**
**Quants-Lab**
- [#12](https://github.com/hummingbot/quants-lab/pull/12) - Added Backend API securityShown 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.