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
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.
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
LIMITorder 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
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 --livecommand 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.
- Introduced a new functionality to allow more accurate sizing of the collateral required for perpetual orders. More information in #4573
- Replace the use of
aioconsoleto start the debug console for the client with the use of
ptpythonfrom the prompt-toolkit project due to GPL license incompatibility
get_active_campaignsfunction that retrieves liquidity mining campaign information from the miner API to parse tokens from
ascend_ex. This should display the same status messages for current active campaigns with Miner when using Liquidity Mining strategy
- Extracted API-call functionality into a helper class to handle both REST and WS API calls, currently added to
network_base, keeping the definition of the class only in
network_iteratorcore component. Thanks to blakephillips for this contribution! 🙏
- Packages are automatically detected instead of manually listing out the sub-packages in
GateIoAPIOrderBookDataSourcenow uses a single websocket connection to open as little websocket connection as possible. More information in #4562
- #3697 Fixed issue with TWAP strategy where the
order_step_sizeaccepts a value larger than
- #3970 Fixed
- #4192 Fixed
- #4514 Fixed
no funding paymentnotification
- #4559 Fixed issue with TWAP strategy accepting invalid inputs
- #4647 Fixed the issue for
gate_ioconnector where the bot keeps trying to find the order and prevents the creation of new orders resulting in the
Order not found in inflight orderserror
- #4756 Fixed memory leaks and order book desynchronization