Documentation Index
Fetch the complete documentation index at: https://mintlify.com/hummingbot/hummingbot/llms.txt
Use this file to discover all available pages before exploring further.
Introduction
Hummingbot provides powerful frameworks for developing custom trading strategies. Whether you’re building simple market-making bots or complex algorithmic trading systems, Hummingbot offers flexible approaches to suit your needs.Development Approaches
There are three main ways to develop custom strategies in Hummingbot:1. Custom Scripts
The simplest approach for beginners. Scripts extendStrategyV2Base and implement custom trading logic.
Quick Start
- Minimal boilerplate code
- Direct market access
- Ideal for simple strategies
Use Cases
- Simple PMM strategies
- Price monitoring
- Basic arbitrage
2. Strategy V2 Framework
A modular architecture combining Controllers and Executors for complex strategies.The V2 framework separates strategy logic (Controllers) from order execution (Executors), enabling reusable components and easier testing.
- Controllers: Implement strategy logic and generate trading signals
- Executors: Handle order execution, position management, and risk controls
- RunnableBase: Base class providing lifecycle management
3. Traditional Strategies
Legacy strategy format (V1) using Cython for performance-critical components.Architecture Overview
Core Concepts
RunnableBase
All V2 components inherit fromRunnableBase, which provides:
- Lifecycle management:
start(),stop(), status tracking - Control loop: Asynchronous task execution at configurable intervals
- Event handling:
on_start(),on_stop(),control_task()
Configuration
All strategies and controllers use Pydantic models for type-safe configuration:Market Data
Access real-time market data through:- Connectors: Direct exchange integration
- Candles Feed: OHLCV candlestick data
- Market Data Provider: Unified data access layer
Development Workflow
Choose Your Approach
Start with Scripts for simple strategies, or use V2 framework for complex logic
Write Strategy Logic
Implement
on_tick() for Scripts or determine_executor_actions() for ControllersNext Steps
Custom Scripts
Learn to build simple strategies with minimal code
Strategy V2 Framework
Explore the modular V2 architecture
Controllers
Implement strategy logic with Controllers
Executors
Manage order execution and positions
Resources
- Hummingbot Foundation Discord - Get help from the community
- GitHub Repository - Browse source code and examples
- BotCamp - Interactive training program for strategy developers