graph LR
Core_Orchestration_Engine_COE_["Core Orchestration Engine (COE)"]
User_Interface_Configuration_UIC_["User Interface & Configuration (UIC)"]
Exchange_Gateway_Integration_EGI_["Exchange & Gateway Integration (EGI)"]
Market_Intelligence_Data_MID_["Market Intelligence & Data (MID)"]
Trading_Logic_Order_Management_TLOM_["Trading Logic & Order Management (TLOM)"]
Performance_Reporting_PR_["Performance & Reporting (PR)"]
Core_Orchestration_Engine_COE_ -- "orchestrates" --> User_Interface_Configuration_UIC_
Core_Orchestration_Engine_COE_ -- "initializes" --> Exchange_Gateway_Integration_EGI_
Core_Orchestration_Engine_COE_ -- "initializes" --> Market_Intelligence_Data_MID_
Core_Orchestration_Engine_COE_ -- "manages" --> Trading_Logic_Order_Management_TLOM_
Core_Orchestration_Engine_COE_ -- "sends events to" --> Performance_Reporting_PR_
User_Interface_Configuration_UIC_ -- "configures" --> Core_Orchestration_Engine_COE_
User_Interface_Configuration_UIC_ -- "configures" --> Exchange_Gateway_Integration_EGI_
User_Interface_Configuration_UIC_ -- "configures" --> Trading_Logic_Order_Management_TLOM_
Performance_Reporting_PR_ -- "reports to" --> User_Interface_Configuration_UIC_
Exchange_Gateway_Integration_EGI_ -- "reports events to" --> Core_Orchestration_Engine_COE_
Exchange_Gateway_Integration_EGI_ -- "feeds" --> Market_Intelligence_Data_MID_
Exchange_Gateway_Integration_EGI_ -- "updates" --> Trading_Logic_Order_Management_TLOM_
Trading_Logic_Order_Management_TLOM_ -- "requests" --> Exchange_Gateway_Integration_EGI_
Exchange_Gateway_Integration_EGI_ -- "reports to" --> Performance_Reporting_PR_
Market_Intelligence_Data_MID_ -- "feeds" --> Trading_Logic_Order_Management_TLOM_
Market_Intelligence_Data_MID_ -- "feeds" --> Performance_Reporting_PR_
Trading_Logic_Order_Management_TLOM_ -- "reports to" --> User_Interface_Configuration_UIC_
Trading_Logic_Order_Management_TLOM_ -- "reports to" --> Performance_Reporting_PR_
Performance_Reporting_PR_ -- "reports to" --> User_Interface_Configuration_UIC_
click Core_Orchestration_Engine_COE_ href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/hummingbot/Core_Orchestration_Engine_COE_.md" "Details"
click User_Interface_Configuration_UIC_ href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/hummingbot/User_Interface_Configuration_UIC_.md" "Details"
click Exchange_Gateway_Integration_EGI_ href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/hummingbot/Exchange_Gateway_Integration_EGI_.md" "Details"
click Performance_Reporting_PR_ href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/hummingbot/Performance_Reporting_PR_.md" "Details"
High-Level Data Flow Overview of the hummingbot project, analyzed through its Control Flow Graph (CFG) and source code, structured into core architectural components.
Core Orchestration Engine (COE) [Expand]
The central orchestrator of the Hummingbot application. It manages the bot's lifecycle, initializes core services, dispatches system-wide events, and coordinates the overall operation of all other components.
Related Classes/Methods:
hummingbot/client/hummingbot_application.py(1:1)hummingbot/core/clock.pyx(1:1)hummingbot/core/network_base.py(1:1)
User Interface & Configuration (UIC) [Expand]
Provides the interactive command-line interface (CLI) for users to interact with the bot, input commands, and view real-time status updates and logs. It also handles loading, saving, validating, and migrating all application and strategy configurations, including sensitive API keys and global settings.
Related Classes/Methods:
hummingbot/client/ui/hummingbot_cli.py(1:1)hummingbot/client/ui/completer.py(1:1)hummingbot/client/config/config_helpers.py(1:1)hummingbot/client/config/client_config_map.py(1:1)hummingbot/client/config/security.py(1:1)
Exchange & Gateway Integration (EGI) [Expand]
Provides standardized interfaces for interacting with various centralized exchanges (CEX) and decentralized exchanges (DEX) for both spot and perpetual markets. It handles order placement, cancellation, balance updates, and adheres to trading rules, including low-level API communication and rate limiting.
Related Classes/Methods:
hummingbot/connector/exchange_py_base.py(1:1)hummingbot/connector/derivative_base.py(1:1)hummingbot/connector/exchange/binance/binance_exchange.py(1:1)hummingbot/core/gateway/gateway_http_client.py(1:1)hummingbot/connector/gateway/gateway_base.py(1:1)hummingbot/core/web_assistant/web_assistants_factory.py(1:1)hummingbot/core/web_assistant/rest_assistant.py(1:1)hummingbot/core/web_assistant/ws_assistant.py(1:1)hummingbot/core/api_throttler/async_throttler.py(1:1)
Aggregates and processes external market data, such as historical candles, real-time prices, and order book depth. It also provides real-time and historical exchange rate conversions between different assets, crucial for cross-market calculations and strategy logic.
Related Classes/Methods:
hummingbot/data_feed/market_data_provider.py(1:1)hummingbot/data_feed/candles_feed/candles_base.py(1:1)hummingbot/data_feed/coin_gecko_data_feed/coin_gecko_data_feed.py(1:1)hummingbot/core/data_type/order_book_tracker.py(1:1)hummingbot/core/data_type/user_stream_tracker.py(1:1)hummingbot/core/rate_oracle/rate_oracle.py(1:1)hummingbot/core/rate_oracle/sources/rate_source_base.py(1:1)
Implements various pre-defined algorithmic trading strategies (V1) and provides a modular framework for advanced strategies (V2). It tracks the lifecycle and state of all active orders placed by the bot, ensuring accurate order status, and manages the storage and retrieval of historical trading data.
Related Classes/Methods:
hummingbot/strategy/pure_market_making/pure_market_making.pyx(1:1)hummingbot/strategy/amm_arb/amm_arb.py(1:1)hummingbot/strategy_v2/strategy_v2_base.py(1:1)hummingbot/strategy_v2/controllers/controller_base.py(1:1)hummingbot/strategy_v2/executors/executor_base.py(1:1)hummingbot/connector/client_order_tracker.py(1:1)hummingbot/core/data_type/in_flight_order.py(1:1)hummingbot/model/sql_connection_manager.py(1:1)hummingbot/model/trade_fill.py(1:1)hummingbot/model/order.py(1:1)
Performance & Reporting (PR) [Expand]
Manages the logging of all bot operations, errors, and performance metrics. It provides mechanisms for sending user notifications, tracks consolidated user asset balances across exchanges, and includes a backtesting engine for simulating strategies with historical data.
Related Classes/Methods:
hummingbot/logger/logger.py(1:1)hummingbot/logger/log_server_client.py(1:1)hummingbot/notifier/notifier_base.py(1:1)hummingbot/user/user_balances.py(1:1)hummingbot/remote_iface/mqtt.py(1:1)hummingbot/strategy_v2/backtesting/backtesting_engine_base.py(1:1)hummingbot/strategy_v2/backtesting/backtesting_data_provider.py(1:1)