Giter VIP home page Giter VIP logo

hummingbot-site's Introduction

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.

Prerequisites:

  • 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.

Prerequisites:

  • 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-site's People

Contributors

cardosofede avatar crimsonjacket avatar danilo-araujo-silva avatar david-hummingbot avatar dennisocana avatar faouzijedidi1 avatar fengtality avatar gaugau3000 avatar genecheon avatar geneuinely07 avatar gmach avatar han-qiu avatar jeremykono avatar leastchaos avatar martinkou avatar mementorc avatar mfavareto-vitra avatar mhrvth avatar mlguys avatar nikspz avatar nkhrs avatar ojuswizard avatar petioptrv avatar phbrgnomo avatar r-k-h avatar rapcmia avatar robhbot avatar squidfunk avatar waterquarks avatar whoareyou40 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

hummingbot-site's Issues

Broken Link in Linux Installation Guide

Describe the bug

Dear Hummingbot Support Team,

I hope this message finds you well. I would like to bring to your attention a small issue I encountered while following the Linux installation guide on your website.

In the section titled "Launch Hummingbot" under the Linux installation guide (https://hummingbot.org/installation/linux/), there is a link to the Quickstart Guide that appears to be broken. The link provided is https://hummingbot.org/installation/getting-started/custom-script/index.md, which leads to a 404 error.

Steps to reproduce

  1. Visit the Hummingbot Linux installation guide: https://hummingbot.org/installation/linux/

  2. Scroll down to the section titled "Launch Hummingbot."

  3. Within this section, there is a link to the Quickstart Guide. The link is provided as follows: https://hummingbot.org/installation/getting-started/custom-script/index.md

  4. Click on the provided link to access the Quickstart Guide.

  5. Observe that the link leads to a 404 error page, indicating that the content at the specified URL is not found.

Release version

1.23

Type of installation

Source

Attach required files

No response

[Feedback] Using Dashboard to Deploy and Backtest Strategies - Part 2 - /academy-content/using-dashboard-to-deploy-and-backtest-strategies---part-2/

Hello! i have already posted this on the hummingbot discord, whenever I set 'AUTH_SYSTEM_ENABLED = True' and then stop the Dashboard and restarting it, i encounter this error after executing 'make run'.

"DeprecationError: Likely deprecation error, the 'form_name' parameter has been replaced with the 'fields' parameter. For further information please refer to https://github.com/mkhorasani/Streamlit-Authenticator?tab=readme-ov-file#2-creating-a-login-widget

Traceback:
File "/home/vago/miniconda3/envs/dashboard/lib/python3.10/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 535, in _run_script
exec(code, module.dict)
File "/home/vago/hummingBot/dashboard/main.py", line 119, in
name, authentication_status, username = st.session_state.authenticator.login('Login', 'main')
File "/home/vago/miniconda3/envs/dashboard/lib/python3.10/site-packages/streamlit_authenticator/authenticate.py", line 241, in login
raise DeprecationError("""Likely deprecation error, the 'form_name' parameter has been replaced"

hummingbot.org - Limited Strategies Displayed in What strategies can you build with Hummingbot

URL: https://hummingbot.org/#what-strategies-can-you-build-with-hummingbot

limited display of strategies, contrary to the expected behavior.

Steps to Reproduce:

  1. Go to https://hummingbot.org/#what-strategies-can-you-build-with-hummingbot
  2. Review the strategies available as promoted to create by botcamp

Expected Behavior:

Upon entering the What strategies can you build with Hummingbot?, I anticipated seeing a variety of strategies available for Botcamp. The expected outcome was to have multiple strategies displayed for users to explore.

Actual Behavior:
only one YouTube video was shown in this section, making it not possible to access and check other strategies.

Screenshots/Additional Information:

image

[BUG] Server start error after update

I updated the CoinAlpha fork of the Insiders build to latest. Afterwards, I got this when running mkdocs serve.

I created a new conda environment with only the mkdocs-material dependencies to try this:

# create new conda environment
(base) ➜ conda create -n mkdocs

# activate new environment
(base) ➜ conda activate mkdocs

# install pip
(mkdocs) ➜ conda install pip

# install mkdocs-material-insiders and dependencies
(mkdocs) ➜ pip install git+ssh://[email protected]/CoinAlpha/mkdocs-material-insiders

# install revision date plugin
(mkdocs)  ➜ pip install mkdocs-git-revision-date-plugin

# run server
(mkdocs) ➜  hummingbot-site git:(maintenance) ✗ mkdocs serve
INFO     -  Building documentation...
INFO     -  Cleaning site directory
ERROR    -  Error reading page 'maintenance/agreements.md': 'Regular'
Traceback (most recent call last):
  File "/Users/feng/anaconda3/envs/mkdocs/bin/mkdocs", line 8, in <module>
    sys.exit(cli())
  File "/Users/feng/anaconda3/envs/mkdocs/lib/python3.9/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/Users/feng/anaconda3/envs/mkdocs/lib/python3.9/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/Users/feng/anaconda3/envs/mkdocs/lib/python3.9/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/feng/anaconda3/envs/mkdocs/lib/python3.9/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/feng/anaconda3/envs/mkdocs/lib/python3.9/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/Users/feng/anaconda3/envs/mkdocs/lib/python3.9/site-packages/mkdocs/__main__.py", line 177, in serve_command
    serve.serve(dev_addr=dev_addr, livereload=livereload, **kwargs)
  File "/Users/feng/anaconda3/envs/mkdocs/lib/python3.9/site-packages/mkdocs/commands/serve.py", line 54, in serve
    config = builder()
  File "/Users/feng/anaconda3/envs/mkdocs/lib/python3.9/site-packages/mkdocs/commands/serve.py", line 49, in builder
    build(config, live_server=live_server, dirty=dirty)
  File "/Users/feng/anaconda3/envs/mkdocs/lib/python3.9/site-packages/mkdocs/commands/build.py", line 292, in build
    _populate_page(file.page, config, files, dirty)
  File "/Users/feng/anaconda3/envs/mkdocs/lib/python3.9/site-packages/mkdocs/commands/build.py", line 170, in _populate_page
    page.markdown = config['plugins'].run_event(
  File "/Users/feng/anaconda3/envs/mkdocs/lib/python3.9/site-packages/mkdocs/plugins.py", line 102, in run_event
    result = method(item, **kwargs)
  File "/Users/feng/anaconda3/envs/mkdocs/lib/python3.9/site-packages/material/plugins/social/plugin.py", line 120, in on_page_markdown
    image = self.__render_card(site_name, title, description)
  File "/Users/feng/anaconda3/envs/mkdocs/lib/python3.9/site-packages/material/plugins/social/plugin.py", line 144, in __render_card
    font = ImageFont.truetype(self.font["Bold"], 36)
  File "/Users/feng/anaconda3/envs/mkdocs/lib/python3.9/site-packages/material/plugins/social/plugin.py", line 345, in <lambda>
    return defaultdict(lambda: font["Regular"], font)
KeyError: 'Regular'

Glossary?

Since there's a lot of trading and technical jargon involved with Hummingbot, I would love to allow users to hover over a definition of a phrase and look up the definition. I think we would use this for common abbreviations and trading terms.

In the MkDocs for Material docs, it mentions using Snippets to load an abbreviations.md file on each page.

Would it be possible to create a file like that and automatically append it every page on the site? Not sure if it's feasible or if it would slow down performance drastically, so this is just an idea.

Obsolete gateway links in multiple documentation pages

The gateway page in Hummingbot docs have been relocated to /gateway/, but a few pages are still carrying the old link (i.e. /protocols/gateway/).

(base) martin_kou@Dweomerheart:~/Development/hummingbot-site$ git grep "protocols/gateway"
docs/exchanges/balancer.md:First, follow the instructions to install and run [Hummingbot Gateway](/protocols/gateway/).
docs/exchanges/pangolin.md:1. Follow the instructions to install and run [Hummingbot Gateway V2](/protocols/gateway/).
docs/exchanges/uniswap.md:1. Follow the instructions to install and run [Hummingbot Gateway V2](/protocols/gateway/).
docs/strategies/amm-arbitrage.md:Hummingbot will be accessing `amm` exchanges via Gateway V2 from v1.4.0. If you are looking for instructions on how to configure `amm` exchanges, refer to the [Gateway V2](/protocols/gateway/) and the [`amm`](/exchanges/#amm) specific setup instructions.
docs/strategies/celo-arbitrage.md:    Currently, this strategy requires users to install the `celo-cli` tool alongside Hummingbot. In the future, CoinAlpha plans to add a Celo connector to [Gateway](/protocols/gateway) so that the generic `amm_arb` strategy works with Celo.

All the links above should be updated to /gateway/.

Mobile search is broken

Due to the blurred header in the CSS, the mobile search displays no results. I've found a hacky workaround for this:

/* Fix mobile search with blurred header 
   Causes a delay when opening search, not optimal */
[data-md-scrolllock] .md-header,
[data-md-scrolllock] .md-tabs {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

Grid Strategy Experiment

Description

Create a content that describes a strategy experiment on a grid-style trading strategy, similar to Strategy Experiment #1:

  • Create a custom Hummingbot script implements a strategy similar to the original Fixed Grid strategy
  • The script should conduct a strategy experiment similar to the one in the blog post above - formulate a hypothesis, define the pair/exchange, and define a success/failure outcome
  • Run the grid bot with a small amount of real capital for at least 7 days
  • Submit link to draft blog post or video in this issue

Bounty

  • Sponsor: Hummingbot Foundation
  • Budget: HGP-33
  • Bounty: 100,000 HBOT
  • Developer share: 100% - Paid upon publication
  • Status: Assigned to rkc2000, author of the fixed-grid stategy

Directional Strategy Experiment

Description

Create a content that describes a directional strategy experiment, similar to Strategy Experiment #1:

  • Create a custom Hummingbot script that uses the new, simplified directional strategy framework
  • As examples, refer to the 3 directional strategy scripts in development branch: directional_strategy_rsi.py, directional_strategy_rsi_spot.py, directional_strategy_macd_bb.py
  • The script should conduct a strategy experiment similar to the one in the blog post above - formulate a hypothesis, define the pair/exchange, and define a success/failure outcome
  • Run the bot with a small amount of real capital for at least 7 days
  • Submit link to draft blog post or video in this issue

Bounty

  • Sponsor: Hummingbot Foundation
  • Budget: HGP-33
  • Bounty: 100,000 HBOT OR 500 USDT
  • Developer share: 100% - Paid upon publication
  • Status: Open

`hummingbot.connector.connector` is inaccurate

The official documentation section for Connectors says

hummingbot.connector.connector.uniswap.uniswap_connector is the market connector module for Uniswap.

However there does not appear to be a connector folder in hummingbot.connector, and ctrl-f'ing for uniswap_connector does not return anything.

Orchestration Module Demo Video

Description

HGP-33 (https://snapshot.org/#/hbot.eth/proposal/0x743f6d94a36dd4a70ab0bb64648c229f538ae0ff3ddd56da0fe47d90d2d920f7) allocated 1M HBOT toward community incentives for creating content and hosting events related to Hummingbot.

Under this proposal, the Foundation is assigning two bounties to the Orchestration Module creator TheHolyRoger to create videos that show how to set up and use the following integrations that use the new Orchestration Module :

  • RogerThat: TradingView integration with Hummingbot
  • HomeAssistant integration with Hummingbot

Bounty

Sponsor: Hummingbot Foundation
Bounty amount: 100,000 HBOT
Developer portion: 100%
Status: Assigned to TheHolyRoger

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.