graph LR
Cerebro["Cerebro"]
Strategy["Strategy"]
Data_Feed["Data Feed"]
Broker["Broker"]
Indicator["Indicator"]
Analyzer["Analyzer"]
Cerebro -- "orchestrates" --> Strategy
Cerebro -- "processes" --> Data_Feed
Cerebro -- "interacts with" --> Broker
Cerebro -- "collects results from" --> Analyzer
Strategy -- "receives data from" --> Cerebro
Strategy -- "places orders via" --> Broker
Strategy -- "utilizes" --> Indicator
Data_Feed -- "supplies data to" --> Cerebro
Data_Feed -- "feeds" --> Indicator
Broker -- "executes orders for" --> Strategy
Broker -- "reports status to" --> Cerebro
Indicator -- "processes data from" --> Data_Feed
Indicator -- "provides signals to" --> Strategy
Analyzer -- "collects data from" --> Cerebro
Analyzer -- "outputs results to" --> Cerebro
click Cerebro href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//backtrader/Cerebro.md" "Details"
click Strategy href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//backtrader/Strategy.md" "Details"
click Data_Feed href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//backtrader/Data_Feed.md" "Details"
click Broker href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//backtrader/Broker.md" "Details"
click Indicator href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//backtrader/Indicator.md" "Details"
click Analyzer href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//backtrader/Analyzer.md" "Details"
The backtrader architecture is built around a core set of components that interact to simulate or execute trading strategies.
The central orchestrator and execution engine of backtrader. It manages the lifecycle of all other components, including data feeds, strategies, brokers, analyzers, and observers, driving the simulation or live trading process by advancing time and coordinating interactions.
Related Classes/Methods:
Encapsulates the user's trading logic. Users define their buy/sell rules, indicator usage, and order management within a Strategy subclass. It reacts to new market data and interacts with the Broker to place orders.
Related Classes/Methods:
Provides time-series market data (e.g., OHLCV bars, ticks) to Cerebro and subsequently to Strategies and Indicators. It handles loading data from various sources (CSV, Pandas DataFrames, live feeds) and manages data synchronization.
Related Classes/Methods:
backtrader.feed(1:1)backtrader.feeds.csvfeed(1:1)backtrader.feeds.pandafeed(1:1)
Simulates or connects to a real trading account. It manages cash, portfolio value, and the execution of trading orders. It processes order requests from Strategies and notifies them of order status changes and trade executions.
Related Classes/Methods:
backtrader.broker(1:1)backtrader.brokers.backbroker(1:1)
Implements technical analysis calculations (e.g., Moving Averages, MACD, RSI). Indicators operate on Data Feeds or other Indicators, producing new data series that Strategies can use.
Related Classes/Methods:
Calculates and aggregates various performance metrics and statistics of the trading strategy during or after a backtest. Analyzers are attached to Cerebro or Strategy and process data as the simulation runs.
Related Classes/Methods: