Skip to content

Release Notes - Version 1.0.0

Released on January 27, 2022

We are very excited to ship the first official Hummingbot release (v1.0.0) today!

This release contains significant improvements to the avellaneda strategies, major updates of Binance and Binance Perpetual connectors, discontinue of the Binary build, and improved documentation for both Avellaneda and Perpetual market making strategies as well as developer documentation for perpetual connectors.

Binance and Binance Perpetual Improvement

We have refactored binance and binance_perpetual with the best practices of a Hummingbot connector. Going forward, these connecotrs will be the standard for spot and perpetual type exchange connectors, respectively. Community developers who want to integrate an exchange into Hummingbot should use these two connectors as references.

Updates to these connectors include:

  • Refactored from Cython to pure Python code
  • Removed dependency from python-binance library and implemented all interactions by directly consuming the official API
  • Adapted all REST API interactions to use the recently developed web assistant
  • Changed implementation of data source classes to use only one WebSocket connection and use only one shared connection in all places wherever possible
  • All consumptions of the API are regulated by the user of the API throttler for both REST and WebSocket API
  • Used the newly developed orders tracker to manage inflight orders
  • Stopped using ad-hoc logic to translate from exchange token-pair notation and vice versa. Connectors now keep track of the mapping base on the information provided by the exchange and the tokens composing each pair
  • Added docstrings for the “interface” methods that users of the class will use

Some exclusive parameters for Binance have also been removed, following the major update to the Binance connector. These commands are no longer available: pnl, open_orders, trades, and binance_markets.

Changes can be seen here for Binance and Binance Perpetual.

Discontinued Binary Support

We previously announced in the version 0.46 release notes about discontinuing binary installers. In this release, we have removed and cleaned up the codebase anything related to supporting binary installation, however, users can continue to use the older version of binaries available until version 0.46. that can be downloaded from the installation page.

New users who want to test and try out Hummingbot can launch an instance of Test Drive.

Improved Avellaneda Market Making (Part 2)

We are making improvements to the initial implementation of the Avellaneda-Stoikov strategy. In this release, we added improvements specifically to the infinite time horizon, making more sense for crypto markets since they run 24/7. The original strategy was invented for stock markets which are only active during certain trading hours.

Users can now set an infinite time horizon. Additionally, users can specify the strategy to run from time to time every day, or from one date to another date, making the strategy more flexible. For example, users can schedule the strategy to run only during a mining campaign or schedule it to only run during hours when the user is awake to keep an eye on it.

Three different use cases are possible in the current implementation:

  • A: The trader wants to run the bot 24/7, creating orders as long as the bot is running (infinite_time)
  • B: The trader wants to run the bot only during a defined time during the day (daily_trading_time)
  • C: The trader wants to run the bot 24 hours, but until a certain date (fixed_end_date)

More details are described in the Github issue #4650.

Developer Updates

  • Replaced websockets library with aiohttp in Bitmart, Coinbase Pro, and Kraken connector
  • Rework the Time factor (T) on the Avellaneda strategy to allow an infinite time horizon
  • Implement changes to mexc connector
  • Deprecate MarketBase abstract class

Bug Fixes

  • #2084 Fixed incorrect trade fees recorded for some connectors
  • #4712 Fixed for the bottom nav bar, which freezes and stops updating
  • #4738 Fixed the NoOpenForCancel error which causes untracked fills in Ascendex. Thanks to zappra for this fix! 🙏
  • #4815 Fixed parsing errors on some trading pairs for Beaxy and HitBTC
  • #4828 No printing in the output pane after status --live is terminated
  • #4869 Fixed Avellaneda Market Making order refresh tolerance not working
  • #4894 Top bid is assigned top ask in Cross Exchange Market Making
  • $4914 Fixed randomly appearing RunTimeWarning on the log pane
  • #4923 Fixed trade monitor freezing
  • #4998 Fixed the argument -h and --help they now print help for the particular command, and these options are also being displayed in dropdown menus