Welcome to the Hummingbot Docker Installation Quickstart Guide
This guide is tailored to introduce you to the process of installing and deploying Hummingbot using the deploy-examples repository, which leverages Docker Compose for deployment. You will learn step-by-step how to set up and run Hummingbot in a Docker environment, enabling you to efficiently manage and scale your trading strategies.
In the above video, Fede goes through the different ways to deploy Hummingbot using the deploy-examples repo, but in this tutorial we will focus on using the simple_hummingbot_compose example which is a good starting point for beginners. Once you are familiar with the basics then you can explore using the other deploy examples and choose one which meets your needs.
Install Docker: This guide provides a straightforward approach to installing Docker, offering step-by-step instructions to ensure a successful setup for both beginners and experienced users.
Hummingbot Interface: Uncover the essentials of the Hummingbot interface, including layout and navigation, to efficiently manage your trading bots.
Running a Script: Learn how to effectively launch and orchestrate multiple trading bots, with insights into running scripts for optimal performance.
Connecting API Keys: Master the crucial process of integrating API keys with Hummingbot, setting the stage for seamless live trading across various exchanges. This guide provides essential insights and step-by-step instructions to ensure secure and efficient API key setup for enhanced trading experiences.
The deploy-examples repository contains several folders, each with different compose files for various scenarios (e.g., using autostart, Hummingbot with Gateway, etc.). For now, we will focus on the simple_hummingbot_compose example.
Use the following command to change your current working directory to the correct folder:
Hummingbot operates through a Command Line Interface (CLI), a text-based system ideal for automated cryptocurrency trading. Unlike graphical interfaces, CLIs rely on text commands to function. Let's dive into how to use it effectively.
If you are using Hummingbot for the first time, the system will prompt you to create a password. There are no character requirements, although we recommend using a strong password for additional security.
The password in Hummingbot encrypts sensitive data such as API keys, secret keys, and wallet private keys. For security reasons, the password is only stored locally in encrypted form, and we do not have access to it.
After you set a password you should now be in the main Hummingbot screen
Let's use the simple_pmm_example_config.py script. This is a configurable script which will create orders for a token pair in paper trading mode. For configurable scripts, the first step is to create a config file. Here's how to create one:
create --script-config simple_pmm_example_config
When you use the create --script-config and press SPACE Hummingbot will display available scripts in the scripts folder, as shown below.
If you don't see any scripts under the /scripts folder, run these commands in the terminal to make them appear:
Select the simple_pmm_example_config.py script and press ENTER.
You will then be guided to configure the settings. At this stage, you may modify the options or simply hit ENTER to accept the default values. After finalizing the configuration, name the config file and press ENTER to save it.
Once the config is saved we can now launch the script. Enter the command below to launch the script!
In the Hummingbot run the connect command for the exchange we want to connect to. In this case for Binance use the command below -
You should get a prompt to enter in your API keys - you can use the following commands below to paste them into the Hummingbot terminal. Note that CTRL + V doesn't work and you'll get a Pyperclip error in the log panel if you try to use it.
SHIFT + RMB (right-mouse button)
SHIFT + INS
After entering your API keys you should get a success message if everything went through okay. You can also confirm by running the connect command again and check that both columns next to Binance are showing Yes.
Now your Binance API keys are connected to Hummingbot. Repeat these steps for other exchanges as needed.
If you're serious about delving deeper and enhancing your trading bot capabilities, consider Botcamp, a professional training program for market makers and algo traders. This comprehensive program combines new content modules and live sessions each month to help you understand the intricacies of the market. You'll learn to create and backtest market making strategies, directional trading, and other strategies using Dashboard.
Most importantly, you'll gain hands-on experience with Bot Battles, Botcamp's monthly bot trading competitions. It's a great opportunity to measure your progress and learn from others. In addition, joining the Botcamp community allows you to expand your professional network, form teams to compete together, and share insights.
Thank you once again for joining us on this journey. I hope the knowledge you've gained here serves you well in your trading endeavors. All the best with your future trading bot projects!
Welcome to the Hummingbot Dashboard Quickstart Guide!
While Hummingbot started as a simple CLI-based market making bot in 2019, today it has evolved into a flexible platform that helps you create, backtest, optimize and deploy all types of algorithmic trading strategies.
This guide shows you the basics of how to use the new Hummingbot Dashboard application to create and deploy strategies at scale. Whether you're a seasoned trader or just starting out, this tutorial will provide you with the tools and knowledge to maximize your trading potential.
Managing Bots: Explore the process of executing and assessing bot strategies within the Hummingbot Dashboard for optimized trading.
Analyzing Bot Performance: Grasp the fundamentals of formulating a robust trading strategy and fine-tuning it for maximum efficiency and profitability.
Backtesting and Optimization: Dive into the intricacies of evaluating the effectiveness of your strategies using historical data, ensuring they align with your trading objectives.
Deploying Strategies: Gain comprehensive insights into the process of testing strategies against past market data (backtesting), and optimizing them based on the results to achieve optimal trading outcomes.
Conclusion and Next Steps: Familiarize yourself with the steps to roll out multiple trading configurations seamlessly, ensuring a smooth transition from testing to live trading environments.
It's a good practice to ensure your Linux system is up-to-date. Updating your system ensures that you have the latest security patches, bug fixes, and system improvements, reducing potential conflicts or issues during installation.
Anaconda is a powerful distribution of Python and R for scientific computing and data science. It's vital for managing different environments for your projects. Download the installer for your environment from the Anaconda website and then run it.
For example, here is how to download and run the Linux installer:
Follow the prompts on the installer screens. If you are unsure about any setting, accept the defaults. You can change them later.
To make the changes take effect, close and then re-open your Terminal window. Afterwards, run the conda command from your path:
You should see a response similar to:
usage: conda [-h] [-V] command ...
conda is a tool for managing and deploying applications, environments and packages.
clean Remove unused packages and caches.
compare Compare packages between conda environments.
Docker is a platform that allows you to develop, ship, and run applications inside containers. It's necessary for ensuring that the dashboard runs in a consistent environment. If Docker isn't installed on your system, click here to follow the installation guide.
The easiest way to install Docker is to install Docker Desktop, which includes Docker Compose along with Docker Engine and Docker CLI which are Compose prerequisites. Here are links to installers for each major OS:
Hummingbot Dashboard is open-source, allowing anyone to access, modify, and contribute to its codebase. To get started, visit the project repository on GitHub at the following link: hummingbot/dashboard.
Once you've cloned the repository and navigated into its root directory, it's time to create a Conda environment. This environment ensures that all the required dependencies for the dashboard are installed and isolated from other projects. Run the following commands:
With the environment activated, initiate the dashboard with:
It might take a while to load the dashboard for the first time. Subsequent launches will typically be faster. Once the dashboard is up, open a web browser and navigate to https://localhost:8501 to view it.
While the method works for 1-2 users, it might be cumbersome if numerous users interact with Dashboard.
Instead, you can edit the preauthorized section in credentials.yml. This method below allows you to whitelist a list of emails and allow users to set their own passwords. Each user is added to the credentials file.
Define a whitelist of emails authorized to access the dashboard.
In the pre_authorized: section of `credentials.yml``, add the emails of users who will be pre-authorized to register and create their credentials.
Once logged in, you have the freedom to navigate through the various sections of the dashboard. However, to log out securely, ensure you return to the main Hummingbot Dashboard page and click the logout button. This ensures optimal security for your credentials and the dashboard's functionality.
The Master Bot plays a pivotal role in the credential management process in Hummingbot. It serves as a centralized location where exchange API keys and the scripts/strategies available to new bots are securely stored. When spawning new bots from the dashboard, they inherit the encrypted keys and available scripts/strategies from the Master Bot.
In the future, plans are in place to introduce additional bot profiles. Each profile can possess different API keys and available scripts, enabling users to specify the profile they want to use when spawning a new bot.
The process of integrating credentials and leveraging available scripts is streamlined to ensure both security and efficiency. Whether you're editing scripts directly in the dashboard or using an external IDE, remember to save your changes to any scripts you modify.
If you make modifications in the dashboard's editor, use Apply button to apply changes, and then Ctrl + S to save.
On the instances page, to the right, you'll notice the Hummingbot broker. Before creating any bot, it's essential to start this broker. This component is responsible for enabling communication between the dashboard and the bot, facilitating commands such as starting or stopping a strategy.
Below the instances page, the file explorer allows users to view and modify the specific scripts or files for each bot they create. Each bot has its distinct set of scripts that can be adapted to fit specific trading requirements or strategies.