Hummingbot v1.20.0 Release Notes¶
Released on October 02, 2023
Introduction¶
We're thrilled to present Hummingbot version 1.20.0! This latest iteration introduces the V2 strategy framework which enables backtest-able, multi-bot strategies. For developers and advanced users, the Hummingbot Python Library has been rolled out. We've also integrated CoinCap as a new rate oracle source and expanded the list of connectors with Woo X and Kujira.
Repository | Description | GitHub Release | DockerHub Release |
---|---|---|---|
Hummingbot | Core Trading Engine | v1.20.0 |
version-1.20.0 |
Gateway | DEX Connector Middleware | v1.20.0 |
version-1.20.0 |
To update to the latest version, clone the latest hummingbot/deploy-examples
repository and use the hummingbot-update.sh
script under the /bash_scripts
folder or run the following Docker command to pull the latest image:
New Start Command
If you're using the source version, use the ./start
command to launch Hummingbot.
Monthly Community Call¶
Join the Wednesday Oct 4th community call on Discord to learn about the new features in this release and other Hummingbot news.
Here is the recording of the event:
For more community events, check out the Hummingbot Events Calendar.
V2 Strategy Framework¶
Hummingbot's V2 Strategy Framework is officially released!
The new V2 Strategy Framework significantly expands Hummingbot's capabilities, allowing users to create modular, backtestable, and sophisticated strategies. Unlike the monolithic V1 strategies, V2 Strategies are designed to be highly adaptable, allowing seamless integration of various components. Whether you're a technical expert or a trading novice, you can easily create, backtest, and deploy strategies via Dashboard.
We're introducing specialized templates for different trading paradigms, starting with Directional and Market Making strategies. These new strategy templates allow users to combine different composable components:
- Candles: These structure both historical and real-time market data into OHLCV format, generating refined signals for trading decisions.
- Controllers: These orchestrate the overall strategy, deciding which Executors to deploy or adjust based on signals generated by Candles.
- Executors: These are the operational elements that handle precise trade execution, adapt to market changes, and manage the order lifecycle.
Watch this video for a preview:
Pull Request: #6520
New Dashboard Features¶
Under Active Development
Dashboard is slated for incorporation into official Hummingbot releases before end of this year, but it is still under active development and new features and improvements are being added continuously. We highly encourage user feedback at this stage; feel free to share your thoughts and suggestions on Discord or Github. If you're excited to explore its capabilities, check out the beta.
Additions to Dashboard in the past month include:
- Enhanced Strategy Performance: #68 revamped the Strategy Performance page, adding many charting and visualization components. Thanks to tomasgaudino for this contribution! 🙏
- Docker Error Fix: #64 fixed a bug with the Docker version of Dashboard.
- Backtesting and Bot Deployment: #69 incorporated the Hummingbot Library, adapted backtesting engine to use it, saves configuration files for the trials selected, and allowed users for deploy instances with multiple saved controller configs.
- Master Bot Credentials: #62 lets you use a single set of credentials to manage all your bot instances, streamlining the setup process.
- Bot Status: #63 added a specialized parser that neatly formats the status of running bots, making it easier to monitor their activity.
Hummingbot Library¶
We are excited to announce that Hummingbot is now available as a Python library, enabling more flexible usage and customization for developers!
To try it out, install the library into your Python environment with:
After installation is complete, enter your Python shell and run these commands to fetch historical OHLVC candles for BTC-USDT on Binance Futures for the past 30 days into a candles_test.csv
file:
import asyncio
from hummingbot.data_feed.candles_feed.candles_factory import CandlesFactory, CandlesConfig
async def collect_candles():
candles = CandlesFactory.get_candle(CandlesConfig(connector="binance_perpetual", trading_pair="BTC-USDT", interval="3m", max_records=1440))
candles.start()
while not candles.is_ready:
print(f"Candles not ready yet! Missing {candles._candles.maxlen - len(candles._candles)}")
await asyncio.sleep(1)
df = candles.candles_df
df.to_csv("candles_test.csv", index=False)
asyncio.run(collect_candles())
Pull Request: #6576
Update Cython version to 3.0¶
This upgrade not only brings in the latest features and bug fixes from Cython:
-
Modified the environment.yml dependencies to upgrade Cython to the latest 3.0 version (to move out from the alpha version the project is currently depending on).
-
Upgrading to the latest version allow Hummingbot to include all latest bugfixes. It will also allow the community to add the new functionality included in Cython 3.0 to generate a compiled Cythonized version of a pure Python module by just adding some Cython decorators to classes/functions.
Pull Request: #6560
Thanks to aarmoa for this contribution! 🙏
New Chain and DEX Connector: Kujira¶
Kujira is a layer 1 ecosystem built on cosmos, blockchain known for its interoperability. Kujira Fin, is a decentralized order book exchange. It uses BOW
as the market maker for liquidity. They claim no risk of impermanent loss with low gas fees and maker/taker fees.
See Kujira for the chain docs and Kujira Fin for the exchange connector docs.
Snapshot Proposal: https://snapshot.org/#/hbot-prp.eth/proposal/0x7dbd4a6f3cc7460ca6f56415a57b9727ca7a9227be625efdc4e71dee3d0d0781
Thanks to funttastic and yourtrading-ai for this contribution! 🙏
New CEX Connector: Woo X¶
Launched in 2019, WOO X is a trading platform featuring deep liquidity, low trading costs and powerful tools & analytics. Some of you may also know us from our decentralized swap product WOOFi
, which is one of the most-used cross-chain swaps with over half a million unique monthly active wallets.
Pull Requests: #6380
Snapshot Proposal: https://snapshot.org/#/hbot-prp.eth/proposal/0x46c15f8b9cbbd97ebc8b83340bd748d5f68e84082d24383b91abdc3d8b9168c6
Thanks to waterquarks for this contribution! 🙏
New Rate Oracle Source: CoinCap¶
This update introduces the CoinCap rate source to the rate oracle, offering an alternative to CoinGecko with price streaming capabilities.
Users can obtain an API key here.
Pull Request:#6534
Thanks to CoinAlpha for this contribution! 🙏
Other Updates¶
Hummingbot¶
- #6525 Refactored MEXC spot connector to the latest standard Thanks to yancong001 for this fix! 🙏
- #6530 Fixed issue with Gate.io showing inconsistent order amount Thanks to yancong001 for this fix! 🙏
- #6536 Fixed bug with DyDx market orders Thanks to yancong001 for this fix! 🙏
- #6551 Fixed issue with Gate.io derivative position error Thanks to yancong001 for this fix! 🙏
- #6552 Refactored Injective to use v2 rate limits Thanks to aarmoa for this contribution! 🙏
- #6556 Removed restriction of the diff cover lib
- #6558 Refactored Polkadex to use v2 API Thanks to CoinAlpha for this fix! 🙏
- #6565 Refactored Injective cpnnector configuration to use SDK v0.8 Thanks to aarmoa for this contribution! 🙏
- #6566 Modified
start
command to use quickstart arguments - #6571 Fixed issue with DyDx market order accuracy Thanks to yancong001 for this fix! 🙏
- #6573 Fixed Bitmart order detail Thanks to yancong001 for this fix! 🙏
- #6578 Fixed incorrect position size for market orders in Kucoin Perpetual Thanks to yancong001 for this fix! 🙏
Gateway¶
- #196 Added a check for
.pem
files in the Gateway setup script