Giter Club home page Giter Club logo

Hummingbot


License Twitter Youtube Discord

Hummingbot is an open source framework that helps you build automated trading strategies, or bots that run on cryptocurrency exchanges.

This code is free and publicly available under the Apache 2.0 open source license!

Why Hummingbot?

  • Both CEX and DEX connectors: Hummingbot supports connectors to centralized exchanges like Binance and KuCoin, as well as decentralized exchanges like Uniswap and PancakeSwap on various blockchains (Ethereum, BNB Chain, etc).
  • Cutting edge strategy framework: Our new V2 Strategies framework allows you to compose powerful, backtestable, multi-venue, multi-timeframe stategies of any type
  • Secure local client: Hummingbot is a local client software that you install and run on your own devices or cloud virtual machines. It encrypts your API keys and private keys and never exposes them to any third parties.
  • Community focus: Hummingbot is driven by a global community of quant traders and developers who maintain the connectors and contribute strategies to the codebase.

Help us democratize high-frequency trading and make powerful trading algorithms accessible to everyone in the world!

Quick Links

  • Website and Docs: Official Hummingbot website and documentation
  • Installation: Install Hummingbot on various platforms
  • FAQs: Answers to all your burning questions
  • Botcamp: Learn how build your own custom HFT strategy in Hummingbot with our hands-on bootcamp!
  • Newsletter: Get our monthly newletter whenever we ship a new release
  • Discord: The main gathering spot for the global Hummingbot community
  • YouTube: Videos that teach you how to get the most of of Hummingbot
  • Twitter: Get the latest announcements about Hummingbot
  • Snapshot: Participate in monthly polls that decide which components should be prioritized

Getting Started

Install with Docker

We recommend installing Hummingbot using Docker if you want the simplest, easiest installation method and don't need to modify the Hummingbot codebase.

Prerequesites:

  • MacOS 10.12.6+ / Linux (Ubuntu 20.04+, Debian 10+) / Windows 10+
  • Memory: 4 GB RAM per instance
  • Storage: 5 GB HDD space per instance
  • Install Docker Compose
git clone https://github.com/hummingbot/hummingbot
cd hummingbot
docker compose up -d
docker attach hummingbot

Install from Source

We recommend installing Hummingbot from source if you want to customize or extend the Hummingbot codebase, build new components like connectors or strategies, and/or learn how Hummingbot works at a deeper, technical level.

Prerequesites:

  • MacOS 10.12.6+ / Linux (Ubuntu 20.04+, Debian 10+)
  • Memory: 4 GB RAM per instance
  • Storage: 3 GB HDD space per instance
  • Install Anaconda or Miniconda
git clone https://github.com/hummingbot/hummingbot
cd hummingbot
./install
conda activate hummingbot
./compile
./start

See Installation for detailed guides for each OS.

Architecture

Hummingbot architecture features modular components that can be maintained and extended by individual community members.

Strategies and Scripts

A Hummingbot strategy is an ongoing process that executes an algorithmic trading strategy. It is constructed as a user-defined program that uses an underlying framework to abstracts low-level operations:

V2 Strategies: The latest and most advanced way to create strategies in Hummingbot, V2 strategies are built using composable elements known as Controllers and PositionExecutors. These elements can be mixed and matched, offering a modular approach to strategy creation and making the development process faster and more efficient.

Scripts: For those who are looking for a lightweight solution, Hummingbot provides scripting support. These are single-file strategies that are quick to implement and can be an excellent starting point for those new to algorithmic trading. Check out the /scripts folder for all Script examples included in the codebase.

V1 Strategies: Templatized programs templates for various algorithmic trading strategies that expose a set of user-defined parameters, allowing you to customize the strategy's behavior. While these V1 strategies were Hummingbot's original method of defining strategies and have been superceded by V2 Strategies and Scripts, the strategies below are still often used:

Connectors

Hummingbot connectors standardize trading logic and order types across different types of exchanges and blockchain networks. Each connector's code is contained in modularized folders in the Hummingbot and/or Gateway codebases.

Currently, the Hummingbot codebase contains 50+ connectors of the following types:

  • CEX: Centralized exchanges take custody of user assets, i.e. Binance, Kucoin, etc.
  • DEX: Decentralized exchanges are platforms in which user assets are stored non-custodially in smart contracts, i.e. dYdX, Uniswap, etc.
  • Chain: Layer 1 blockchain ecosystems such as Ethereum, BNB Chain, Avalanche, etc.

Each exchange has one or more connectors in the Hummingbot codebase that supports a specific market type that the exchange supports:

  • spot: Connectors to central limit order book (CLOB) exchanges that trade spot markets
  • perp: Connectors to central limit order book (CLOB) exchanges that trade perpetual swap markets
  • amm: Connectors to decentralized exchanges that use the Automatic Market Maker (AMM) methodology

Quarterly Polls allow HBOT holders decide how maintenance bandwidth and development bounties are allocated toward the connectors in the codebase.

Sponsors & Partners

The Hummingbot Foundation, supported by its sponsors, partners and backers, is dedicated to fostering a robust, community-driven ecosystem for algorithmic crypto trading.

Sponsors

Exchange Partners

For more information about the support provided by these partners, see the financial reports provided in HBOT Tracker.

Other Hummingbot Repos

  • Dashboard: Community pages that help you create, backtest, deploy, and manage Hummingbot instances
  • Gateway: API middleware for DEX connectors
  • Deploy Examples: Deploy Hummingbot in various configurations with Docker
  • Hummingbot Site: Official documentation for Hummingbot - we welcome contributions here too!
  • Awesome Hummingbot: All the Hummingbot links
  • Brokers: Different brokers that can be used to communicate with multiple instances of Hummingbot

Contributions

Hummingbot belongs to its community, so we welcome contributions! Please review these guidelines first.

To have your exchange connector or other pull request merged into the codebase, please submit a New Connector Proposal or Pull Request Proposal, following these guidelines. Note that you will need some amount of HBOT tokens in your Ethereum wallet to submit a proposal.

Legal

Hummingbot Foundation's Projects

bot-battle icon bot-battle

This repository will be useful to compute the results of the Bot Battle at the end of each BotCamp Cohort

brokers icon brokers

This repository contains different brokers that can be used to communicate multiple instances of Hummingbot, or send information to the bots.

dashboard icon dashboard

Application that helps you create, backtest, deploy, and manage Hummingbot instances

deploy-examples icon deploy-examples

This repository provides various examples of how to deploy Hummingbot using Docker.

docker-manager icon docker-manager

This repository provides a set of functionalities for managing Docker containers in the context of the specified use case.

gateway icon gateway

Middleware that standardizes DEX API endpoints on different blockchain networks

hbui icon hbui

The Hummingbot Design System

helper icon helper

๐Ÿงข Hummingbot Helper is an AI assistant that helps users craft advanced trading strategies, understand the codebase and docs, and control their bot instances! ๐Ÿš€

hummingbot icon hummingbot

Open source software that helps you create and deploy high-frequency crypto trading bots

hummingbot-site icon hummingbot-site

The official website for Hummingbot Foundation and documentation site for Hummingbot

pm icon pm

Project Management for Hummingbot Community Meetings with Agenda

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.