Skip to content

Release Notes - Version 0.46.0

Released on December 1, 2021

We are very excited to ship the December 2021 Hummingbot release (v0.46.0) today! This release contains significant improvements to the avellaneda and perpetual_market_making strategies, new connectors to MEXC and WazirX, and a brand-new approach to paper trading!

v0.46 will be the last beta release of Hummingbot. Going forward, the Hummingbot Foundation will begin to enact a process that enables the community to participate in deciding what’s included in each Hummingbot release.

To mark this shift to a new community-oriented direction for Hummingbot, the next release will be Hummingbot 1.0 and is planned for mid-January 2022.

Discontinue Binary Support

In this release, we added a package dependency required for improving Avellaneda Market Making strategy and for its calculations to work correctly. This change is incompatible with Windows operating system which caused issues building the binary installer or the strategy not being usable.

Currently, loopring and dydx_perpetual connectors as well as amm_arbitrage strategy, do not work with binary versions and we have encountered other similar issues in previous releases caused by these incompatibilities. After this release, we will deprecate and no longer support binary versions.

New users who want to test and try out Hummingbot can launch an instance of our Test Drive from https://hummingbot.io/en/test-drive/.

Reworked Paper Trade Mode

Paper trading now only supports Binance, KuCoin, AscendEX, and Gate.io exchange. The main objective of paper trade mode is to allow new users to test and familiarize themselves with Hummingbot's basic operations (e.g. creating / importing a strategy, checking available balances, checking bot status, etc.) before risking real assets.

As our codebase grows, the current design will not be able to support all strategies and connectors. Several exchanges also do not provide endpoints that we require for a paper trade bot's performance to be the same as actual trading.

To enable paper trading, users will now have to select paper trade exchanges when configuring a strategy. Read more about Paper Trade in our documentation.

Improved Avellaneda Market Making (Part 1)

We are making improvements to the initial implementation of the Avellenada-Stoikov strategy. In this release, we fixed the greek parameters gamma (risk factor), eta (shape factor), and kappa (liquidity factor) to use the calculation of its original design.

Some advanced parameters were added and we removed those that were not a requirement for the strategy to behave correctly. The updated list of parameters can be found in Avellaneda Market Making documentation.

In the next release, we will rework the time factor to allow an infinite time horizon as described in Github issue #4650.

Simplified Perpetual Market Making

The strategy is now written in pure Python code to make it easier for developers in our community to debug and build on top of its code for future enhancements. We also removed some rarely used advanced parameters (or not used at all) inherited from Pure Market Making that were not required for this strategy to run.

Some other changes and improvements are:

  • Changed to LIMIT order type to allow taker orders when crossing the order book
  • Profit taking is always on by default instead of having a trailing stop loss feature
  • Added a stop loss order retry logic
  • Unit tests were added to cover the entire strategy

More detailed information on these changes can be found in Github issue #4565 and updated Perpetual Market Making documentation.

New Spot Connector: MEXC Global

Launched in April 2018, MEXC Global is a centralized cryptocurrency exchange registered in Seychelles. The exchange supports USD, GBP, EUR, AUD and VND deposit and withdrawal.

More information about the connector in MEXC documentation.

New Spot Connector: WazirX

Launched in 2018, WazirX aims to make crypto accessible to everyone in India, with over 400,000 users and an average app rating of 4.6. WazirX is a part of the Binance ecosystem and was acquired by Binance in November 2019.

More information about the connector in WazirX documentation.

Client UI Improvements

  • #4519 Added text margins in the main layout
  • #4273 Added a graphical appearance to command parameters
  • Inspired by zappra's pull request submission #3154, running order_book --live command will show a live output of the order book in a tab in the logs pane

We will continue to work on adding more features that can be displayed in the tabs. Please feel free to submit a feature request for any suggestions.

Developer Updates

  • Deprecated dydx spot connector
  • Introduced a new functionality to allow more accurate sizing of the collateral required for perpetual orders. More information in #4573
  • Replace the use of aioconsole to start the debug console for the client with the use of ptpython from the prompt-toolkit project due to GPL license incompatibility
  • Allow get_active_campaigns function that retrieves liquidity mining campaign information from the miner API to parse tokens from binance, kucoin, ascend_ex. This should display the same status messages for current active campaigns with Miner when using Liquidity Mining strategy
  • Replace websockets library with aiohttp in probit connector
  • Extracted API-call functionality into a helper class to handle both REST and WS API calls, currently added to gate_io connector
  • Removed NetworkStatus class in network_base, keeping the definition of the class only in network_iterator core component. Thanks to blakephillips for this contribution! 🙏
  • Packages are automatically detected instead of manually listing out the sub-packages in setup.py
  • GateIoAPIOrderBookDataSource now uses a single websocket connection to open as little websocket connection as possible. More information in #4562

Bug Fixes

  • #3697 Fixed issue with TWAP strategy where the order_step_size accepts a value larger than target_asset_amount
  • #3970 Fixed DupNewCoid error for ascend_ex
  • #4192 Fixed dydx_perpetual connector's _update_account_positions function
  • #4514 Fixed dydx_perpetual connector's no funding payment notification
  • #4559 Fixed issue with TWAP strategy accepting invalid inputs
  • #4647 Fixed the issue for gate_io connector where the bot keeps trying to find the order and prevents the creation of new orders resulting in the Order not found in inflight orders error
  • #4756 Fixed memory leaks and order book desynchronization

Last update: 2021-12-17